diff --git a/backend/services/jobengine.py b/backend/services/jobengine.py index da5130f..de2dc96 100644 --- a/backend/services/jobengine.py +++ b/backend/services/jobengine.py @@ -147,12 +147,13 @@ def attach_download_progress(job_id: str, local_dir: str, total_bytes: int) -> N threading.Thread(target=_watch, daemon=True).start() -def start_job(args: list[str], label: str, env: dict | None = None, on_done=None, sudo_password: str | None = None) -> str: +def start_job(args: list[str], label: str, env: dict | None = None, on_done=None, + sudo_password: str | None = None, group: str | None = None) -> str: job_id = uuid.uuid4().hex[:12] # Mask password in log if present in args log_args = list(args) JOBS[job_id] = { - "id": job_id, "label": label, "state": "queued", + "id": job_id, "label": label, "state": "queued", "group": group, "log": ["$ " + " ".join(shlex.quote(a) for a in log_args)], "returncode": None, "started_at": time.time(), "finished_at": None, } @@ -162,6 +163,15 @@ def start_job(args: list[str], label: str, env: dict | None = None, on_done=None return job_id +def active_in_group(group: str) -> dict | None: + """Erster laufender/wartender Job einer Gruppe (z.B. 'maintenance'), sonst None. + Basis für den Wartungs-Riegel: nur EIN System-Update gleichzeitig.""" + for j in JOBS.values(): + if j.get("group") == group and j.get("state") in ("running", "queued"): + return j + return None + + def cancel_job(job_id: str) -> bool: job = JOBS.get(job_id) if not job or job["state"] in ("done", "failed", "canceled"): diff --git a/backend/services/maintenance.py b/backend/services/maintenance.py index 36feccc..ef4c379 100644 --- a/backend/services/maintenance.py +++ b/backend/services/maintenance.py @@ -476,19 +476,32 @@ def check_updates_job(sudo_password: str | None = None) -> dict: return {"ok": True, "job_id": job_id} +def _maintenance_busy() -> dict | None: + """Wartungs-Riegel: nur EIN binär-/dienst-veränderndes Update gleichzeitig. Verhindert + Doppelklick UND parallele Updates aus zwei Tabs/Sessions (racende .bak-Sicherung/Restarts).""" + if j := jobengine.active_in_group("maintenance"): + return {"ok": False, "status": "busy", "running": j.get("label")} + return None + + def os_update_job(sudo_password: str | None = None) -> dict: + if busy := _maintenance_busy(): + return busy if err := check_sudo_needs_password(sudo_password): return err # Nach dem apt-Upgrade den Stack funktional prüfen (Job wird rot, wenn etwas kaputt ging). cmd = ("sudo apt-get update && sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y " f"&& bash {STACK_POSTCHECK}") - job_id = jobengine.start_job(["bash", "-c", cmd], "OS-Update (apt)", sudo_password=sudo_password) + job_id = jobengine.start_job(["bash", "-c", cmd], "OS-Update (apt)", + group="maintenance", sudo_password=sudo_password) return {"ok": True, "job_id": job_id} def engine_update_job(sudo_password: str | None = None) -> dict | None: if not ENGINE_UPDATE_CMD: return None + if busy := _maintenance_busy(): + return busy if err := check_sudo_needs_password(sudo_password): return err @@ -500,13 +513,15 @@ def engine_update_job(sudo_password: str | None = None) -> dict | None: # neuen Build → on_done (Cache leeren) läuft nur dann; bei Rollback (Exit 1/2) bleibt das Badge. job_id = jobengine.start_job(["bash", "-c", ENGINE_UPDATE_CMD], "Engine-Update (llama.cpp Vulkan)", - on_done=on_done, sudo_password=sudo_password) + group="maintenance", on_done=on_done, sudo_password=sudo_password) return {"ok": True, "job_id": job_id} def swap_update_job(sudo_password: str | None = None) -> dict | None: if not SWAP_UPDATE_CMD: return None + if busy := _maintenance_busy(): + return busy if err := check_sudo_needs_password(sudo_password): return err @@ -518,7 +533,7 @@ def swap_update_job(sudo_password: str | None = None) -> dict | None: # Version → on_done (Cache leeren) läuft nur dann; bei Rollback (Exit 1/2) bleibt das Badge. job_id = jobengine.start_job(["bash", "-c", SWAP_UPDATE_CMD], "Router-Update (llama-swap)", - on_done=on_done, sudo_password=sudo_password) + group="maintenance", on_done=on_done, sudo_password=sudo_password) return {"ok": True, "job_id": job_id} @@ -526,6 +541,8 @@ def hermes_update_job() -> dict: """Hermes-Agent aktualisieren wie die CLI (`hermes update` = git pull + Deps), danach den Gateway neu starten. Davor ein Sicherheits-Backup (unser deploy/backup.sh). Kein sudo (alles im User-Space). Läuft als Hintergrund-Job (kann ~1 Min dauern).""" + if busy := _maintenance_busy(): + return busy git = system.find_hermes_agent_git() path = (git or {}).get("path") or os.path.expanduser("~/.hermes/hermes-agent") py = os.path.join(path, "venv", "bin", "python") @@ -540,7 +557,8 @@ def hermes_update_job() -> dict: def on_done(): _comp_cache.update(ts=0.0, data=[]) # Update-Status neu berechnen lassen - job_id = jobengine.start_job(["bash", "-c", cmd], "Hermes-Agent-Update", on_done=on_done) + job_id = jobengine.start_job(["bash", "-c", cmd], "Hermes-Agent-Update", + group="maintenance", on_done=on_done) return {"ok": True, "job_id": job_id} diff --git a/frontend/dist/assets/GraphView-BME1XOMT.js b/frontend/dist/assets/GraphView-lIt3W4GI.js similarity index 99% rename from frontend/dist/assets/GraphView-BME1XOMT.js rename to frontend/dist/assets/GraphView-lIt3W4GI.js index 27010cf..176e0ae 100644 --- a/frontend/dist/assets/GraphView-BME1XOMT.js +++ b/frontend/dist/assets/GraphView-lIt3W4GI.js @@ -1,4 +1,4 @@ -import{g as bi,r as ce,j as H,R as rr,S as nr,a as Ut,T as ar}from"./index-CWx_Bgrw.js";var et={exports:{}},zt;function or(){if(zt)return et.exports;zt=1;var n=typeof Reflect=="object"?Reflect:null,i=n&&typeof n.apply=="function"?n.apply:function(b,R,A){return Function.prototype.apply.call(b,R,A)},t;n&&typeof n.ownKeys=="function"?t=n.ownKeys:Object.getOwnPropertySymbols?t=function(b){return Object.getOwnPropertyNames(b).concat(Object.getOwnPropertySymbols(b))}:t=function(b){return Object.getOwnPropertyNames(b)};function e(p){console&&console.warn&&console.warn(p)}var r=Number.isNaN||function(b){return b!==b};function a(){a.init.call(this)}et.exports=a,et.exports.once=D,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var o=10;function s(p){if(typeof p!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof p)}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(p){if(typeof p!="number"||p<0||r(p))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+p+".");o=p}}),a.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(b){if(typeof b!="number"||b<0||r(b))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+b+".");return this._maxListeners=b,this};function u(p){return p._maxListeners===void 0?a.defaultMaxListeners:p._maxListeners}a.prototype.getMaxListeners=function(){return u(this)},a.prototype.emit=function(b){for(var R=[],A=1;A0&&(P=R[0]),P instanceof Error)throw P;var V=new Error("Unhandled error."+(P?" ("+P.message+")":""));throw V.context=P,V}var z=F[b];if(z===void 0)return!1;if(typeof z=="function")i(z,this,R);else for(var g=z.length,K=y(z,g),A=0;A0&&P.length>G&&!P.warned){P.warned=!0;var V=new Error("Possible EventEmitter memory leak detected. "+P.length+" "+String(b)+" listeners added. Use emitter.setMaxListeners() to increase limit");V.name="MaxListenersExceededWarning",V.emitter=p,V.type=b,V.count=P.length,e(V)}return p}a.prototype.addListener=function(b,R){return h(this,b,R,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(b,R){return h(this,b,R,!0)};function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l(p,b,R){var A={fired:!1,wrapFn:void 0,target:p,type:b,listener:R},G=d.bind(A);return G.listener=R,A.wrapFn=G,G}a.prototype.once=function(b,R){return s(R),this.on(b,l(this,b,R)),this},a.prototype.prependOnceListener=function(b,R){return s(R),this.prependListener(b,l(this,b,R)),this},a.prototype.removeListener=function(b,R){var A,G,F,P,V;if(s(R),G=this._events,G===void 0)return this;if(A=G[b],A===void 0)return this;if(A===R||A.listener===R)--this._eventsCount===0?this._events=Object.create(null):(delete G[b],G.removeListener&&this.emit("removeListener",b,A.listener||R));else if(typeof A!="function"){for(F=-1,P=A.length-1;P>=0;P--)if(A[P]===R||A[P].listener===R){V=A[P].listener,F=P;break}if(F<0)return this;F===0?A.shift():w(A,F),A.length===1&&(G[b]=A[0]),G.removeListener!==void 0&&this.emit("removeListener",b,V||R)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(b){var R,A,G;if(A=this._events,A===void 0)return this;if(A.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):A[b]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete A[b]),this;if(arguments.length===0){var F=Object.keys(A),P;for(G=0;G=0;G--)this.removeListener(b,R[G]);return this};function f(p,b,R){var A=p._events;if(A===void 0)return[];var G=A[b];return G===void 0?[]:typeof G=="function"?R?[G.listener||G]:[G]:R?T(G):y(G,G.length)}a.prototype.listeners=function(b){return f(this,b,!0)},a.prototype.rawListeners=function(b){return f(this,b,!1)},a.listenerCount=function(p,b){return typeof p.listenerCount=="function"?p.listenerCount(b):c.call(p,b)},a.prototype.listenerCount=c;function c(p){var b=this._events;if(b!==void 0){var R=b[p];if(typeof R=="function")return 1;if(R!==void 0)return R.length}return 0}a.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]};function y(p,b){for(var R=new Array(b),A=0;An++}function me(){const n=arguments;let i=null,t=-1;return{[Symbol.iterator](){return this},next(){let e=null;do{if(i===null){if(t++,t>=n.length)return{done:!0};i=n[t][Symbol.iterator]()}if(e=i.next(),e.done){i=null;continue}break}while(!0);return e}}}function Le(){return{[Symbol.iterator](){return this},next(){return{done:!0}}}}class Lt extends Error{constructor(i){super(),this.name="GraphError",this.message=i}}class k extends Lt{constructor(i){super(i),this.name="InvalidArgumentsGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,k.prototype.constructor)}}class C extends Lt{constructor(i){super(i),this.name="NotFoundGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,C.prototype.constructor)}}class I extends Lt{constructor(i){super(i),this.name="UsageGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,I.prototype.constructor)}}function _i(n,i){this.key=n,this.attributes=i,this.clear()}_i.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.undirectedLoops=0,this.directedLoops=0,this.in={},this.out={},this.undirected={}};function Ti(n,i){this.key=n,this.attributes=i,this.clear()}Ti.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.directedLoops=0,this.in={},this.out={}};function Si(n,i){this.key=n,this.attributes=i,this.clear()}Si.prototype.clear=function(){this.undirectedDegree=0,this.undirectedLoops=0,this.undirected={}};function Ge(n,i,t,e,r){this.key=i,this.attributes=r,this.undirected=n,this.source=t,this.target=e}Ge.prototype.attach=function(){let n="out",i="in";this.undirected&&(n=i="undirected");const t=this.source.key,e=this.target.key;this.source[n][e]=this,!(this.undirected&&t===e)&&(this.target[i][t]=this)};Ge.prototype.attachMulti=function(){let n="out",i="in";const t=this.source.key,e=this.target.key;this.undirected&&(n=i="undirected");const r=this.source[n],a=r[e];if(typeof a>"u"){r[e]=this,this.undirected&&t===e||(this.target[i][t]=this);return}a.previous=this,this.next=a,r[e]=this,this.target[i][t]=this};Ge.prototype.detach=function(){const n=this.source.key,i=this.target.key;let t="out",e="in";this.undirected&&(t=e="undirected"),delete this.source[t][i],delete this.target[e][n]};Ge.prototype.detachMulti=function(){const n=this.source.key,i=this.target.key;let t="out",e="in";this.undirected&&(t=e="undirected"),this.previous===void 0?this.next===void 0?(delete this.source[t][i],delete this.target[e][n]):(this.next.previous=void 0,this.source[t][i]=this.next,this.target[e][n]=this.next):(this.previous.next=this.next,this.next!==void 0&&(this.next.previous=this.previous))};const Ri=0,Ai=1,hr=2,xi=3;function ye(n,i,t,e,r,a,o){let s,u,h,d;if(e=""+e,t===Ri){if(s=n._nodes.get(e),!s)throw new C(`Graph.${i}: could not find the "${e}" node in the graph.`);h=r,d=a}else if(t===xi){if(r=""+r,u=n._edges.get(r),!u)throw new C(`Graph.${i}: could not find the "${r}" edge in the graph.`);const l=u.source.key,f=u.target.key;if(e===l)s=u.target;else if(e===f)s=u.source;else throw new C(`Graph.${i}: the "${e}" node is not attached to the "${r}" edge (${l}, ${f}).`);h=a,d=o}else{if(u=n._edges.get(e),!u)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`);t===Ai?s=u.source:s=u.target,h=r,d=a}return[s,h,d]}function dr(n,i,t){n.prototype[i]=function(e,r,a){const[o,s]=ye(this,i,t,e,r,a);return o.attributes[s]}}function lr(n,i,t){n.prototype[i]=function(e,r){const[a]=ye(this,i,t,e,r);return a.attributes}}function cr(n,i,t){n.prototype[i]=function(e,r,a){const[o,s]=ye(this,i,t,e,r,a);return o.attributes.hasOwnProperty(s)}}function fr(n,i,t){n.prototype[i]=function(e,r,a,o){const[s,u,h]=ye(this,i,t,e,r,a,o);return s.attributes[u]=h,this.emit("nodeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:u}),this}}function gr(n,i,t){n.prototype[i]=function(e,r,a,o){const[s,u,h]=ye(this,i,t,e,r,a,o);if(typeof h!="function")throw new k(`Graph.${i}: updater should be a function.`);const d=s.attributes,l=h(d[u]);return d[u]=l,this.emit("nodeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:u}),this}}function pr(n,i,t){n.prototype[i]=function(e,r,a){const[o,s]=ye(this,i,t,e,r,a);return delete o.attributes[s],this.emit("nodeAttributesUpdated",{key:o.key,type:"remove",attributes:o.attributes,name:s}),this}}function vr(n,i,t){n.prototype[i]=function(e,r,a){const[o,s]=ye(this,i,t,e,r,a);if(!J(s))throw new k(`Graph.${i}: provided attributes are not a plain object.`);return o.attributes=s,this.emit("nodeAttributesUpdated",{key:o.key,type:"replace",attributes:o.attributes}),this}}function mr(n,i,t){n.prototype[i]=function(e,r,a){const[o,s]=ye(this,i,t,e,r,a);if(!J(s))throw new k(`Graph.${i}: provided attributes are not a plain object.`);return Z(o.attributes,s),this.emit("nodeAttributesUpdated",{key:o.key,type:"merge",attributes:o.attributes,data:s}),this}}function yr(n,i,t){n.prototype[i]=function(e,r,a){const[o,s]=ye(this,i,t,e,r,a);if(typeof s!="function")throw new k(`Graph.${i}: provided updater is not a function.`);return o.attributes=s(o.attributes),this.emit("nodeAttributesUpdated",{key:o.key,type:"update",attributes:o.attributes}),this}}const br=[{name:n=>`get${n}Attribute`,attacher:dr},{name:n=>`get${n}Attributes`,attacher:lr},{name:n=>`has${n}Attribute`,attacher:cr},{name:n=>`set${n}Attribute`,attacher:fr},{name:n=>`update${n}Attribute`,attacher:gr},{name:n=>`remove${n}Attribute`,attacher:pr},{name:n=>`replace${n}Attributes`,attacher:vr},{name:n=>`merge${n}Attributes`,attacher:mr},{name:n=>`update${n}Attributes`,attacher:yr}];function wr(n){br.forEach(function({name:i,attacher:t}){t(n,i("Node"),Ri),t(n,i("Source"),Ai),t(n,i("Target"),hr),t(n,i("Opposite"),xi)})}function Er(n,i,t){n.prototype[i]=function(e,r){let a;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+e,s=""+r;if(r=arguments[2],a=oe(this,o,s,t),!a)throw new C(`Graph.${i}: could not find an edge for the given path ("${o}" - "${s}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,a=this._edges.get(e),!a)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}return a.attributes[r]}}function _r(n,i,t){n.prototype[i]=function(e){let r;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>1){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const a=""+e,o=""+arguments[1];if(r=oe(this,a,o,t),!r)throw new C(`Graph.${i}: could not find an edge for the given path ("${a}" - "${o}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,r=this._edges.get(e),!r)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}return r.attributes}}function Tr(n,i,t){n.prototype[i]=function(e,r){let a;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+e,s=""+r;if(r=arguments[2],a=oe(this,o,s,t),!a)throw new C(`Graph.${i}: could not find an edge for the given path ("${o}" - "${s}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,a=this._edges.get(e),!a)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}return a.attributes.hasOwnProperty(r)}}function Sr(n,i,t){n.prototype[i]=function(e,r,a){let o;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>3){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const s=""+e,u=""+r;if(r=arguments[2],a=arguments[3],o=oe(this,s,u,t),!o)throw new C(`Graph.${i}: could not find an edge for the given path ("${s}" - "${u}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,o=this._edges.get(e),!o)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}return o.attributes[r]=a,this.emit("edgeAttributesUpdated",{key:o.key,type:"set",attributes:o.attributes,name:r}),this}}function Rr(n,i,t){n.prototype[i]=function(e,r,a){let o;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>3){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const s=""+e,u=""+r;if(r=arguments[2],a=arguments[3],o=oe(this,s,u,t),!o)throw new C(`Graph.${i}: could not find an edge for the given path ("${s}" - "${u}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,o=this._edges.get(e),!o)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}if(typeof a!="function")throw new k(`Graph.${i}: updater should be a function.`);return o.attributes[r]=a(o.attributes[r]),this.emit("edgeAttributesUpdated",{key:o.key,type:"set",attributes:o.attributes,name:r}),this}}function Ar(n,i,t){n.prototype[i]=function(e,r){let a;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+e,s=""+r;if(r=arguments[2],a=oe(this,o,s,t),!a)throw new C(`Graph.${i}: could not find an edge for the given path ("${o}" - "${s}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,a=this._edges.get(e),!a)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}return delete a.attributes[r],this.emit("edgeAttributesUpdated",{key:a.key,type:"remove",attributes:a.attributes,name:r}),this}}function xr(n,i,t){n.prototype[i]=function(e,r){let a;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+e,s=""+r;if(r=arguments[2],a=oe(this,o,s,t),!a)throw new C(`Graph.${i}: could not find an edge for the given path ("${o}" - "${s}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,a=this._edges.get(e),!a)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}if(!J(r))throw new k(`Graph.${i}: provided attributes are not a plain object.`);return a.attributes=r,this.emit("edgeAttributesUpdated",{key:a.key,type:"replace",attributes:a.attributes}),this}}function Cr(n,i,t){n.prototype[i]=function(e,r){let a;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+e,s=""+r;if(r=arguments[2],a=oe(this,o,s,t),!a)throw new C(`Graph.${i}: could not find an edge for the given path ("${o}" - "${s}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,a=this._edges.get(e),!a)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}if(!J(r))throw new k(`Graph.${i}: provided attributes are not a plain object.`);return Z(a.attributes,r),this.emit("edgeAttributesUpdated",{key:a.key,type:"merge",attributes:a.attributes,data:r}),this}}function kr(n,i,t){n.prototype[i]=function(e,r){let a;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+e,s=""+r;if(r=arguments[2],a=oe(this,o,s,t),!a)throw new C(`Graph.${i}: could not find an edge for the given path ("${o}" - "${s}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,a=this._edges.get(e),!a)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}if(typeof r!="function")throw new k(`Graph.${i}: provided updater is not a function.`);return a.attributes=r(a.attributes),this.emit("edgeAttributesUpdated",{key:a.key,type:"update",attributes:a.attributes}),this}}const Dr=[{name:n=>`get${n}Attribute`,attacher:Er},{name:n=>`get${n}Attributes`,attacher:_r},{name:n=>`has${n}Attribute`,attacher:Tr},{name:n=>`set${n}Attribute`,attacher:Sr},{name:n=>`update${n}Attribute`,attacher:Rr},{name:n=>`remove${n}Attribute`,attacher:Ar},{name:n=>`replace${n}Attributes`,attacher:xr},{name:n=>`merge${n}Attributes`,attacher:Cr},{name:n=>`update${n}Attributes`,attacher:kr}];function Lr(n){Dr.forEach(function({name:i,attacher:t}){t(n,i("Edge"),"mixed"),t(n,i("DirectedEdge"),"directed"),t(n,i("UndirectedEdge"),"undirected")})}const Gr=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Fr(n,i,t,e){let r=!1;for(const a in i){if(a===e)continue;const o=i[a];if(r=t(o.key,o.attributes,o.source.key,o.target.key,o.source.attributes,o.target.attributes,o.undirected),n&&r)return o.key}}function Nr(n,i,t,e){let r,a,o,s=!1;for(const u in i)if(u!==e){r=i[u];do{if(a=r.source,o=r.target,s=t(r.key,r.attributes,a.key,o.key,a.attributes,o.attributes,r.undirected),n&&s)return r.key;r=r.next}while(r!==void 0)}}function lt(n,i){const t=Object.keys(n),e=t.length;let r,a=0;return{[Symbol.iterator](){return this},next(){do if(r)r=r.next;else{if(a>=e)return{done:!0};const o=t[a++];if(o===i){r=void 0;continue}r=n[o]}while(!r);return{done:!1,value:{edge:r.key,attributes:r.attributes,source:r.source.key,target:r.target.key,sourceAttributes:r.source.attributes,targetAttributes:r.target.attributes,undirected:r.undirected}}}}}function Pr(n,i,t,e){const r=i[t];if(!r)return;const a=r.source,o=r.target;if(e(r.key,r.attributes,a.key,o.key,a.attributes,o.attributes,r.undirected)&&n)return r.key}function Ir(n,i,t,e){let r=i[t];if(!r)return;let a=!1;do{if(a=e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected),n&&a)return r.key;r=r.next}while(r!==void 0)}function ct(n,i){let t=n[i];if(t.next!==void 0)return{[Symbol.iterator](){return this},next(){if(!t)return{done:!0};const r={edge:t.key,attributes:t.attributes,source:t.source.key,target:t.target.key,sourceAttributes:t.source.attributes,targetAttributes:t.target.attributes,undirected:t.undirected};return t=t.next,{done:!1,value:r}}};let e=!1;return{[Symbol.iterator](){return this},next(){return e===!0?{done:!0}:(e=!0,{done:!1,value:{edge:t.key,attributes:t.attributes,source:t.source.key,target:t.target.key,sourceAttributes:t.source.attributes,targetAttributes:t.target.attributes,undirected:t.undirected}})}}}function Or(n,i){if(n.size===0)return[];if(i==="mixed"||i===n.type)return Array.from(n._edges.keys());const t=i==="undirected"?n.undirectedSize:n.directedSize,e=new Array(t),r=i==="undirected",a=n._edges.values();let o=0,s,u;for(;s=a.next(),s.done!==!0;)u=s.value,u.undirected===r&&(e[o++]=u.key);return e}function Ci(n,i,t,e){if(i.size===0)return;const r=t!=="mixed"&&t!==i.type,a=t==="undirected";let o,s,u=!1;const h=i._edges.values();for(;o=h.next(),o.done!==!0;){if(s=o.value,r&&s.undirected!==a)continue;const{key:d,attributes:l,source:f,target:c}=s;if(u=e(d,l,f.key,c.key,f.attributes,c.attributes,s.undirected),n&&u)return d}}function Ur(n,i){if(n.size===0)return Le();const t=i!=="mixed"&&i!==n.type,e=i==="undirected",r=n._edges.values();return{[Symbol.iterator](){return this},next(){let a,o;for(;;){if(a=r.next(),a.done)return a;if(o=a.value,!(t&&o.undirected!==e))break}return{value:{edge:o.key,attributes:o.attributes,source:o.source.key,target:o.target.key,sourceAttributes:o.source.attributes,targetAttributes:o.target.attributes,undirected:o.undirected},done:!1}}}}function Gt(n,i,t,e,r,a){const o=i?Nr:Fr;let s;if(t!=="undirected"&&(e!=="out"&&(s=o(n,r.in,a),n&&s)||e!=="in"&&(s=o(n,r.out,a,e?void 0:r.key),n&&s))||t!=="directed"&&(s=o(n,r.undirected,a),n&&s))return s}function zr(n,i,t,e){const r=[];return Gt(!1,n,i,t,e,function(a){r.push(a)}),r}function $r(n,i,t){let e=Le();return n!=="undirected"&&(i!=="out"&&typeof t.in<"u"&&(e=me(e,lt(t.in))),i!=="in"&&typeof t.out<"u"&&(e=me(e,lt(t.out,i?void 0:t.key)))),n!=="directed"&&typeof t.undirected<"u"&&(e=me(e,lt(t.undirected))),e}function Ft(n,i,t,e,r,a,o){const s=t?Ir:Pr;let u;if(i!=="undirected"&&(typeof r.in<"u"&&e!=="out"&&(u=s(n,r.in,a,o),n&&u)||typeof r.out<"u"&&e!=="in"&&(e||r.key!==a)&&(u=s(n,r.out,a,o),n&&u))||i!=="directed"&&typeof r.undirected<"u"&&(u=s(n,r.undirected,a,o),n&&u))return u}function Br(n,i,t,e,r){const a=[];return Ft(!1,n,i,t,e,r,function(o){a.push(o)}),a}function Mr(n,i,t,e){let r=Le();return n!=="undirected"&&(typeof t.in<"u"&&i!=="out"&&e in t.in&&(r=me(r,ct(t.in,e))),typeof t.out<"u"&&i!=="in"&&e in t.out&&(i||t.key!==e)&&(r=me(r,ct(t.out,e)))),n!=="directed"&&typeof t.undirected<"u"&&e in t.undirected&&(r=me(r,ct(t.undirected,e))),r}function Hr(n,i){const{name:t,type:e,direction:r}=i;n.prototype[t]=function(a,o){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return[];if(!arguments.length)return Or(this,e);if(arguments.length===1){a=""+a;const s=this._nodes.get(a);if(typeof s>"u")throw new C(`Graph.${t}: could not find the "${a}" node in the graph.`);return zr(this.multi,e==="mixed"?this.type:e,r,s)}if(arguments.length===2){a=""+a,o=""+o;const s=this._nodes.get(a);if(!s)throw new C(`Graph.${t}: could not find the "${a}" source node in the graph.`);if(!this._nodes.has(o))throw new C(`Graph.${t}: could not find the "${o}" target node in the graph.`);return Br(e,this.multi,r,s,o)}throw new k(`Graph.${t}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`)}}function Wr(n,i){const{name:t,type:e,direction:r}=i,a="forEach"+t[0].toUpperCase()+t.slice(1,-1);n.prototype[a]=function(h,d,l){if(!(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)){if(arguments.length===1)return l=h,Ci(!1,this,e,l);if(arguments.length===2){h=""+h,l=d;const f=this._nodes.get(h);if(typeof f>"u")throw new C(`Graph.${a}: could not find the "${h}" node in the graph.`);return Gt(!1,this.multi,e==="mixed"?this.type:e,r,f,l)}if(arguments.length===3){h=""+h,d=""+d;const f=this._nodes.get(h);if(!f)throw new C(`Graph.${a}: could not find the "${h}" source node in the graph.`);if(!this._nodes.has(d))throw new C(`Graph.${a}: could not find the "${d}" target node in the graph.`);return Ft(!1,e,this.multi,r,f,d,l)}throw new k(`Graph.${a}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`)}};const o="map"+t[0].toUpperCase()+t.slice(1);n.prototype[o]=function(){const h=Array.prototype.slice.call(arguments),d=h.pop();let l;if(h.length===0){let f=0;e!=="directed"&&(f+=this.undirectedSize),e!=="undirected"&&(f+=this.directedSize),l=new Array(f);let c=0;h.push((y,w,T,D,m,S,p)=>{l[c++]=d(y,w,T,D,m,S,p)})}else l=[],h.push((f,c,y,w,T,D,m)=>{l.push(d(f,c,y,w,T,D,m))});return this[a].apply(this,h),l};const s="filter"+t[0].toUpperCase()+t.slice(1);n.prototype[s]=function(){const h=Array.prototype.slice.call(arguments),d=h.pop(),l=[];return h.push((f,c,y,w,T,D,m)=>{d(f,c,y,w,T,D,m)&&l.push(f)}),this[a].apply(this,h),l};const u="reduce"+t[0].toUpperCase()+t.slice(1);n.prototype[u]=function(){let h=Array.prototype.slice.call(arguments);if(h.length<2||h.length>4)throw new k(`Graph.${u}: invalid number of arguments (expecting 2, 3 or 4 and got ${h.length}).`);if(typeof h[h.length-1]=="function"&&typeof h[h.length-2]!="function")throw new k(`Graph.${u}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`);let d,l;h.length===2?(d=h[0],l=h[1],h=[]):h.length===3?(d=h[1],l=h[2],h=[h[0]]):h.length===4&&(d=h[2],l=h[3],h=[h[0],h[1]]);let f=l;return h.push((c,y,w,T,D,m,S)=>{f=d(f,c,y,w,T,D,m,S)}),this[a].apply(this,h),f}}function jr(n,i){const{name:t,type:e,direction:r}=i,a="find"+t[0].toUpperCase()+t.slice(1,-1);n.prototype[a]=function(u,h,d){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return!1;if(arguments.length===1)return d=u,Ci(!0,this,e,d);if(arguments.length===2){u=""+u,d=h;const l=this._nodes.get(u);if(typeof l>"u")throw new C(`Graph.${a}: could not find the "${u}" node in the graph.`);return Gt(!0,this.multi,e==="mixed"?this.type:e,r,l,d)}if(arguments.length===3){u=""+u,h=""+h;const l=this._nodes.get(u);if(!l)throw new C(`Graph.${a}: could not find the "${u}" source node in the graph.`);if(!this._nodes.has(h))throw new C(`Graph.${a}: could not find the "${h}" target node in the graph.`);return Ft(!0,e,this.multi,r,l,h,d)}throw new k(`Graph.${a}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`)};const o="some"+t[0].toUpperCase()+t.slice(1,-1);n.prototype[o]=function(){const u=Array.prototype.slice.call(arguments),h=u.pop();return u.push((l,f,c,y,w,T,D)=>h(l,f,c,y,w,T,D)),!!this[a].apply(this,u)};const s="every"+t[0].toUpperCase()+t.slice(1,-1);n.prototype[s]=function(){const u=Array.prototype.slice.call(arguments),h=u.pop();return u.push((l,f,c,y,w,T,D)=>!h(l,f,c,y,w,T,D)),!this[a].apply(this,u)}}function Vr(n,i){const{name:t,type:e,direction:r}=i,a=t.slice(0,-1)+"Entries";n.prototype[a]=function(o,s){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return Le();if(!arguments.length)return Ur(this,e);if(arguments.length===1){o=""+o;const u=this._nodes.get(o);if(!u)throw new C(`Graph.${a}: could not find the "${o}" node in the graph.`);return $r(e,r,u)}if(arguments.length===2){o=""+o,s=""+s;const u=this._nodes.get(o);if(!u)throw new C(`Graph.${a}: could not find the "${o}" source node in the graph.`);if(!this._nodes.has(s))throw new C(`Graph.${a}: could not find the "${s}" target node in the graph.`);return Mr(e,r,u,s)}throw new k(`Graph.${a}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`)}}function qr(n){Gr.forEach(i=>{Hr(n,i),Wr(n,i),jr(n,i),Vr(n,i)})}const Kr=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function ut(){this.A=null,this.B=null}ut.prototype.wrap=function(n){this.A===null?this.A=n:this.B===null&&(this.B=n)};ut.prototype.has=function(n){return this.A!==null&&n in this.A||this.B!==null&&n in this.B};function Oe(n,i,t,e,r){for(const a in e){const o=e[a],s=o.source,u=o.target,h=s===t?u:s;if(i&&i.has(h.key))continue;const d=r(h.key,h.attributes);if(n&&d)return h.key}}function Nt(n,i,t,e,r){if(i!=="mixed"){if(i==="undirected")return Oe(n,null,e,e.undirected,r);if(typeof t=="string")return Oe(n,null,e,e[t],r)}const a=new ut;let o;if(i!=="undirected"){if(t!=="out"){if(o=Oe(n,null,e,e.in,r),n&&o)return o;a.wrap(e.in)}if(t!=="in"){if(o=Oe(n,a,e,e.out,r),n&&o)return o;a.wrap(e.out)}}if(i!=="directed"&&(o=Oe(n,a,e,e.undirected,r),n&&o))return o}function Yr(n,i,t){if(n!=="mixed"){if(n==="undirected")return Object.keys(t.undirected);if(typeof i=="string")return Object.keys(t[i])}const e=[];return Nt(!1,n,i,t,function(r){e.push(r)}),e}function Ue(n,i,t){const e=Object.keys(t),r=e.length;let a=0;return{[Symbol.iterator](){return this},next(){let o=null;do{if(a>=r)return n&&n.wrap(t),{done:!0};const s=t[e[a++]],u=s.source,h=s.target;if(o=u===i?h:u,n&&n.has(o.key)){o=null;continue}}while(o===null);return{done:!1,value:{neighbor:o.key,attributes:o.attributes}}}}}function Zr(n,i,t){if(n!=="mixed"){if(n==="undirected")return Ue(null,t,t.undirected);if(typeof i=="string")return Ue(null,t,t[i])}let e=Le();const r=new ut;return n!=="undirected"&&(i!=="out"&&(e=me(e,Ue(r,t,t.in))),i!=="in"&&(e=me(e,Ue(r,t,t.out)))),n!=="directed"&&(e=me(e,Ue(r,t,t.undirected))),e}function Xr(n,i){const{name:t,type:e,direction:r}=i;n.prototype[t]=function(a){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return[];a=""+a;const o=this._nodes.get(a);if(typeof o>"u")throw new C(`Graph.${t}: could not find the "${a}" node in the graph.`);return Yr(e==="mixed"?this.type:e,r,o)}}function Jr(n,i){const{name:t,type:e,direction:r}=i,a="forEach"+t[0].toUpperCase()+t.slice(1,-1);n.prototype[a]=function(h,d){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return;h=""+h;const l=this._nodes.get(h);if(typeof l>"u")throw new C(`Graph.${a}: could not find the "${h}" node in the graph.`);Nt(!1,e==="mixed"?this.type:e,r,l,d)};const o="map"+t[0].toUpperCase()+t.slice(1);n.prototype[o]=function(h,d){const l=[];return this[a](h,(f,c)=>{l.push(d(f,c))}),l};const s="filter"+t[0].toUpperCase()+t.slice(1);n.prototype[s]=function(h,d){const l=[];return this[a](h,(f,c)=>{d(f,c)&&l.push(f)}),l};const u="reduce"+t[0].toUpperCase()+t.slice(1);n.prototype[u]=function(h,d,l){if(arguments.length<3)throw new k(`Graph.${u}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`);let f=l;return this[a](h,(c,y)=>{f=d(f,c,y)}),f}}function Qr(n,i){const{name:t,type:e,direction:r}=i,a=t[0].toUpperCase()+t.slice(1,-1),o="find"+a;n.prototype[o]=function(h,d){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return;h=""+h;const l=this._nodes.get(h);if(typeof l>"u")throw new C(`Graph.${o}: could not find the "${h}" node in the graph.`);return Nt(!0,e==="mixed"?this.type:e,r,l,d)};const s="some"+a;n.prototype[s]=function(h,d){return!!this[o](h,d)};const u="every"+a;n.prototype[u]=function(h,d){return!this[o](h,(f,c)=>!d(f,c))}}function en(n,i){const{name:t,type:e,direction:r}=i,a=t.slice(0,-1)+"Entries";n.prototype[a]=function(o){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return Le();o=""+o;const s=this._nodes.get(o);if(typeof s>"u")throw new C(`Graph.${a}: could not find the "${o}" node in the graph.`);return Zr(e==="mixed"?this.type:e,r,s)}}function tn(n){Kr.forEach(i=>{Xr(n,i),Jr(n,i),Qr(n,i),en(n,i)})}function tt(n,i,t,e,r){const a=e._nodes.values(),o=e.type;let s,u,h,d,l,f;for(;s=a.next(),s.done!==!0;){let c=!1;if(u=s.value,o!=="undirected"){d=u.out;for(h in d){l=d[h];do f=l.target,c=!0,r(u.key,f.key,u.attributes,f.attributes,l.key,l.attributes,l.undirected),l=l.next;while(l)}}if(o!=="directed"){d=u.undirected;for(h in d)if(!(i&&u.key>h)){l=d[h];do f=l.target,f.key!==h&&(f=l.source),c=!0,r(u.key,f.key,u.attributes,f.attributes,l.key,l.attributes,l.undirected),l=l.next;while(l)}}t&&!c&&r(u.key,null,u.attributes,null,null,null,null)}}function rn(n,i){const t={key:n};return Ei(i.attributes)||(t.attributes=Z({},i.attributes)),t}function nn(n,i,t){const e={key:i,source:t.source.key,target:t.target.key};return Ei(t.attributes)||(e.attributes=Z({},t.attributes)),n==="mixed"&&t.undirected&&(e.undirected=!0),e}function an(n){if(!J(n))throw new k('Graph.import: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if(!("key"in n))throw new k("Graph.import: serialized node is missing its key.");if("attributes"in n&&(!J(n.attributes)||n.attributes===null))throw new k("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.")}function on(n){if(!J(n))throw new k('Graph.import: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if(!("source"in n))throw new k("Graph.import: serialized edge is missing its source.");if(!("target"in n))throw new k("Graph.import: serialized edge is missing its target.");if("attributes"in n&&(!J(n.attributes)||n.attributes===null))throw new k("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.");if("undirected"in n&&typeof n.undirected!="boolean")throw new k("Graph.import: invalid undirectedness information. Undirected should be boolean or omitted.")}const sn=ur(),un=new Set(["directed","undirected","mixed"]),Bt=new Set(["domain","_events","_eventsCount","_maxListeners"]),hn=[{name:n=>`${n}Edge`,generateKey:!0},{name:n=>`${n}DirectedEdge`,generateKey:!0,type:"directed"},{name:n=>`${n}UndirectedEdge`,generateKey:!0,type:"undirected"},{name:n=>`${n}EdgeWithKey`},{name:n=>`${n}DirectedEdgeWithKey`,type:"directed"},{name:n=>`${n}UndirectedEdgeWithKey`,type:"undirected"}],dn={allowSelfLoops:!0,multi:!1,type:"mixed"};function ln(n,i,t){if(t&&!J(t))throw new k(`Graph.addNode: invalid attributes. Expecting an object but got "${t}"`);if(i=""+i,t=t||{},n._nodes.has(i))throw new I(`Graph.addNode: the "${i}" node already exist in the graph.`);const e=new n.NodeDataClass(i,t);return n._nodes.set(i,e),n.emit("nodeAdded",{key:i,attributes:t}),e}function Mt(n,i,t){const e=new n.NodeDataClass(i,t);return n._nodes.set(i,e),n.emit("nodeAdded",{key:i,attributes:t}),e}function ki(n,i,t,e,r,a,o,s){if(!e&&n.type==="undirected")throw new I(`Graph.${i}: you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead.`);if(e&&n.type==="directed")throw new I(`Graph.${i}: you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead.`);if(s&&!J(s))throw new k(`Graph.${i}: invalid attributes. Expecting an object but got "${s}"`);if(a=""+a,o=""+o,s=s||{},!n.allowSelfLoops&&a===o)throw new I(`Graph.${i}: source & target are the same ("${a}"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`);const u=n._nodes.get(a),h=n._nodes.get(o);if(!u)throw new C(`Graph.${i}: source node "${a}" not found.`);if(!h)throw new C(`Graph.${i}: target node "${o}" not found.`);const d={key:null,undirected:e,source:a,target:o,attributes:s};if(t)r=n._edgeKeyGenerator();else if(r=""+r,n._edges.has(r))throw new I(`Graph.${i}: the "${r}" edge already exists in the graph.`);if(!n.multi&&(e?typeof u.undirected[o]<"u":typeof u.out[o]<"u"))throw new I(`Graph.${i}: an edge linking "${a}" to "${o}" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option.`);const l=new Ge(e,r,u,h,s);n._edges.set(r,l);const f=a===o;return e?(u.undirectedDegree++,h.undirectedDegree++,f&&(u.undirectedLoops++,n._undirectedSelfLoopCount++)):(u.outDegree++,h.inDegree++,f&&(u.directedLoops++,n._directedSelfLoopCount++)),n.multi?l.attachMulti():l.attach(),e?n._undirectedSize++:n._directedSize++,d.key=r,n.emit("edgeAdded",d),r}function cn(n,i,t,e,r,a,o,s,u){if(!e&&n.type==="undirected")throw new I(`Graph.${i}: you cannot merge/update a directed edge to an undirected graph. Use the #.mergeEdge/#.updateEdge or #.addUndirectedEdge instead.`);if(e&&n.type==="directed")throw new I(`Graph.${i}: you cannot merge/update an undirected edge to a directed graph. Use the #.mergeEdge/#.updateEdge or #.addDirectedEdge instead.`);if(s){if(u){if(typeof s!="function")throw new k(`Graph.${i}: invalid updater function. Expecting a function but got "${s}"`)}else if(!J(s))throw new k(`Graph.${i}: invalid attributes. Expecting an object but got "${s}"`)}a=""+a,o=""+o;let h;if(u&&(h=s,s=void 0),!n.allowSelfLoops&&a===o)throw new I(`Graph.${i}: source & target are the same ("${a}"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`);let d=n._nodes.get(a),l=n._nodes.get(o),f,c;if(!t&&(f=n._edges.get(r),f)){if((f.source.key!==a||f.target.key!==o)&&(!e||f.source.key!==o||f.target.key!==a))throw new I(`Graph.${i}: inconsistency detected when attempting to merge the "${r}" edge with "${a}" source & "${o}" target vs. ("${f.source.key}", "${f.target.key}").`);c=f}if(!c&&!n.multi&&d&&(c=e?d.undirected[o]:d.out[o]),c){const m=[c.key,!1,!1,!1];if(u?!h:!s)return m;if(u){const S=c.attributes;c.attributes=h(S),n.emit("edgeAttributesUpdated",{type:"replace",key:c.key,attributes:c.attributes})}else Z(c.attributes,s),n.emit("edgeAttributesUpdated",{type:"merge",key:c.key,attributes:c.attributes,data:s});return m}s=s||{},u&&h&&(s=h(s));const y={key:null,undirected:e,source:a,target:o,attributes:s};if(t)r=n._edgeKeyGenerator();else if(r=""+r,n._edges.has(r))throw new I(`Graph.${i}: the "${r}" edge already exists in the graph.`);let w=!1,T=!1;d||(d=Mt(n,a,{}),w=!0,a===o&&(l=d,T=!0)),l||(l=Mt(n,o,{}),T=!0),f=new Ge(e,r,d,l,s),n._edges.set(r,f);const D=a===o;return e?(d.undirectedDegree++,l.undirectedDegree++,D&&(d.undirectedLoops++,n._undirectedSelfLoopCount++)):(d.outDegree++,l.inDegree++,D&&(d.directedLoops++,n._directedSelfLoopCount++)),n.multi?f.attachMulti():f.attach(),e?n._undirectedSize++:n._directedSize++,y.key=r,n.emit("edgeAdded",y),[r,!0,w,T]}function xe(n,i){n._edges.delete(i.key);const{source:t,target:e,attributes:r}=i,a=i.undirected,o=t===e;a?(t.undirectedDegree--,e.undirectedDegree--,o&&(t.undirectedLoops--,n._undirectedSelfLoopCount--)):(t.outDegree--,e.inDegree--,o&&(t.directedLoops--,n._directedSelfLoopCount--)),n.multi?i.detachMulti():i.detach(),a?n._undirectedSize--:n._directedSize--,n.emit("edgeDropped",{key:i.key,attributes:r,source:t.key,target:e.key,undirected:a})}class j extends wi.EventEmitter{constructor(i){if(super(),i=Z({},dn,i),typeof i.multi!="boolean")throw new k(`Graph.constructor: invalid 'multi' option. Expecting a boolean but got "${i.multi}".`);if(!un.has(i.type))throw new k(`Graph.constructor: invalid 'type' option. Should be one of "mixed", "directed" or "undirected" but got "${i.type}".`);if(typeof i.allowSelfLoops!="boolean")throw new k(`Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got "${i.allowSelfLoops}".`);const t=i.type==="mixed"?_i:i.type==="directed"?Ti:Si;ae(this,"NodeDataClass",t);const e="geid_"+sn()+"_";let r=0;const a=()=>{let o;do o=e+r++;while(this._edges.has(o));return o};ae(this,"_attributes",{}),ae(this,"_nodes",new Map),ae(this,"_edges",new Map),ae(this,"_directedSize",0),ae(this,"_undirectedSize",0),ae(this,"_directedSelfLoopCount",0),ae(this,"_undirectedSelfLoopCount",0),ae(this,"_edgeKeyGenerator",a),ae(this,"_options",i),Bt.forEach(o=>ae(this,o,this[o])),he(this,"order",()=>this._nodes.size),he(this,"size",()=>this._edges.size),he(this,"directedSize",()=>this._directedSize),he(this,"undirectedSize",()=>this._undirectedSize),he(this,"selfLoopCount",()=>this._directedSelfLoopCount+this._undirectedSelfLoopCount),he(this,"directedSelfLoopCount",()=>this._directedSelfLoopCount),he(this,"undirectedSelfLoopCount",()=>this._undirectedSelfLoopCount),he(this,"multi",this._options.multi),he(this,"type",this._options.type),he(this,"allowSelfLoops",this._options.allowSelfLoops),he(this,"implementation",()=>"graphology")}_resetInstanceCounters(){this._directedSize=0,this._undirectedSize=0,this._directedSelfLoopCount=0,this._undirectedSelfLoopCount=0}hasNode(i){return this._nodes.has(""+i)}hasDirectedEdge(i,t){if(this.type==="undirected")return!1;if(arguments.length===1){const e=""+i,r=this._edges.get(e);return!!r&&!r.undirected}else if(arguments.length===2){i=""+i,t=""+t;const e=this._nodes.get(i);return e?e.out.hasOwnProperty(t):!1}throw new k(`Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}hasUndirectedEdge(i,t){if(this.type==="directed")return!1;if(arguments.length===1){const e=""+i,r=this._edges.get(e);return!!r&&r.undirected}else if(arguments.length===2){i=""+i,t=""+t;const e=this._nodes.get(i);return e?e.undirected.hasOwnProperty(t):!1}throw new k(`Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}hasEdge(i,t){if(arguments.length===1){const e=""+i;return this._edges.has(e)}else if(arguments.length===2){i=""+i,t=""+t;const e=this._nodes.get(i);return e?typeof e.out<"u"&&e.out.hasOwnProperty(t)||typeof e.undirected<"u"&&e.undirected.hasOwnProperty(t):!1}throw new k(`Graph.hasEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}directedEdge(i,t){if(this.type==="undirected")return;if(i=""+i,t=""+t,this.multi)throw new I("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");const e=this._nodes.get(i);if(!e)throw new C(`Graph.directedEdge: could not find the "${i}" source node in the graph.`);if(!this._nodes.has(t))throw new C(`Graph.directedEdge: could not find the "${t}" target node in the graph.`);const r=e.out&&e.out[t]||void 0;if(r)return r.key}undirectedEdge(i,t){if(this.type==="directed")return;if(i=""+i,t=""+t,this.multi)throw new I("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");const e=this._nodes.get(i);if(!e)throw new C(`Graph.undirectedEdge: could not find the "${i}" source node in the graph.`);if(!this._nodes.has(t))throw new C(`Graph.undirectedEdge: could not find the "${t}" target node in the graph.`);const r=e.undirected&&e.undirected[t]||void 0;if(r)return r.key}edge(i,t){if(this.multi)throw new I("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.edge: could not find the "${i}" source node in the graph.`);if(!this._nodes.has(t))throw new C(`Graph.edge: could not find the "${t}" target node in the graph.`);const r=e.out&&e.out[t]||e.undirected&&e.undirected[t]||void 0;if(r)return r.key}areDirectedNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areDirectedNeighbors: could not find the "${i}" node in the graph.`);return this.type==="undirected"?!1:t in e.in||t in e.out}areOutNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areOutNeighbors: could not find the "${i}" node in the graph.`);return this.type==="undirected"?!1:t in e.out}areInNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areInNeighbors: could not find the "${i}" node in the graph.`);return this.type==="undirected"?!1:t in e.in}areUndirectedNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areUndirectedNeighbors: could not find the "${i}" node in the graph.`);return this.type==="directed"?!1:t in e.undirected}areNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areNeighbors: could not find the "${i}" node in the graph.`);return this.type!=="undirected"&&(t in e.in||t in e.out)||this.type!=="directed"&&t in e.undirected}areInboundNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areInboundNeighbors: could not find the "${i}" node in the graph.`);return this.type!=="undirected"&&t in e.in||this.type!=="directed"&&t in e.undirected}areOutboundNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areOutboundNeighbors: could not find the "${i}" node in the graph.`);return this.type!=="undirected"&&t in e.out||this.type!=="directed"&&t in e.undirected}inDegree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.inDegree: could not find the "${i}" node in the graph.`);return this.type==="undirected"?0:t.inDegree}outDegree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.outDegree: could not find the "${i}" node in the graph.`);return this.type==="undirected"?0:t.outDegree}directedDegree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.directedDegree: could not find the "${i}" node in the graph.`);return this.type==="undirected"?0:t.inDegree+t.outDegree}undirectedDegree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.undirectedDegree: could not find the "${i}" node in the graph.`);return this.type==="directed"?0:t.undirectedDegree}inboundDegree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.inboundDegree: could not find the "${i}" node in the graph.`);let e=0;return this.type!=="directed"&&(e+=t.undirectedDegree),this.type!=="undirected"&&(e+=t.inDegree),e}outboundDegree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.outboundDegree: could not find the "${i}" node in the graph.`);let e=0;return this.type!=="directed"&&(e+=t.undirectedDegree),this.type!=="undirected"&&(e+=t.outDegree),e}degree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.degree: could not find the "${i}" node in the graph.`);let e=0;return this.type!=="directed"&&(e+=t.undirectedDegree),this.type!=="undirected"&&(e+=t.inDegree+t.outDegree),e}inDegreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.inDegreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);return this.type==="undirected"?0:t.inDegree-t.directedLoops}outDegreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.outDegreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);return this.type==="undirected"?0:t.outDegree-t.directedLoops}directedDegreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.directedDegreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);return this.type==="undirected"?0:t.inDegree+t.outDegree-t.directedLoops*2}undirectedDegreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.undirectedDegreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);return this.type==="directed"?0:t.undirectedDegree-t.undirectedLoops*2}inboundDegreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.inboundDegreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);let e=0,r=0;return this.type!=="directed"&&(e+=t.undirectedDegree,r+=t.undirectedLoops*2),this.type!=="undirected"&&(e+=t.inDegree,r+=t.directedLoops),e-r}outboundDegreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.outboundDegreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);let e=0,r=0;return this.type!=="directed"&&(e+=t.undirectedDegree,r+=t.undirectedLoops*2),this.type!=="undirected"&&(e+=t.outDegree,r+=t.directedLoops),e-r}degreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.degreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);let e=0,r=0;return this.type!=="directed"&&(e+=t.undirectedDegree,r+=t.undirectedLoops*2),this.type!=="undirected"&&(e+=t.inDegree+t.outDegree,r+=t.directedLoops*2),e-r}source(i){i=""+i;const t=this._edges.get(i);if(!t)throw new C(`Graph.source: could not find the "${i}" edge in the graph.`);return t.source.key}target(i){i=""+i;const t=this._edges.get(i);if(!t)throw new C(`Graph.target: could not find the "${i}" edge in the graph.`);return t.target.key}extremities(i){i=""+i;const t=this._edges.get(i);if(!t)throw new C(`Graph.extremities: could not find the "${i}" edge in the graph.`);return[t.source.key,t.target.key]}opposite(i,t){i=""+i,t=""+t;const e=this._edges.get(t);if(!e)throw new C(`Graph.opposite: could not find the "${t}" edge in the graph.`);const r=e.source.key,a=e.target.key;if(i===r)return a;if(i===a)return r;throw new C(`Graph.opposite: the "${i}" node is not attached to the "${t}" edge (${r}, ${a}).`)}hasExtremity(i,t){i=""+i,t=""+t;const e=this._edges.get(i);if(!e)throw new C(`Graph.hasExtremity: could not find the "${i}" edge in the graph.`);return e.source.key===t||e.target.key===t}isUndirected(i){i=""+i;const t=this._edges.get(i);if(!t)throw new C(`Graph.isUndirected: could not find the "${i}" edge in the graph.`);return t.undirected}isDirected(i){i=""+i;const t=this._edges.get(i);if(!t)throw new C(`Graph.isDirected: could not find the "${i}" edge in the graph.`);return!t.undirected}isSelfLoop(i){i=""+i;const t=this._edges.get(i);if(!t)throw new C(`Graph.isSelfLoop: could not find the "${i}" edge in the graph.`);return t.source===t.target}addNode(i,t){return ln(this,i,t).key}mergeNode(i,t){if(t&&!J(t))throw new k(`Graph.mergeNode: invalid attributes. Expecting an object but got "${t}"`);i=""+i,t=t||{};let e=this._nodes.get(i);return e?(t&&(Z(e.attributes,t),this.emit("nodeAttributesUpdated",{type:"merge",key:i,attributes:e.attributes,data:t})),[i,!1]):(e=new this.NodeDataClass(i,t),this._nodes.set(i,e),this.emit("nodeAdded",{key:i,attributes:t}),[i,!0])}updateNode(i,t){if(t&&typeof t!="function")throw new k(`Graph.updateNode: invalid updater function. Expecting a function but got "${t}"`);i=""+i;let e=this._nodes.get(i);if(e){if(t){const a=e.attributes;e.attributes=t(a),this.emit("nodeAttributesUpdated",{type:"replace",key:i,attributes:e.attributes})}return[i,!1]}const r=t?t({}):{};return e=new this.NodeDataClass(i,r),this._nodes.set(i,e),this.emit("nodeAdded",{key:i,attributes:r}),[i,!0]}dropNode(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.dropNode: could not find the "${i}" node in the graph.`);let e;if(this.type!=="undirected"){for(const r in t.out){e=t.out[r];do xe(this,e),e=e.next;while(e)}for(const r in t.in){e=t.in[r];do xe(this,e),e=e.next;while(e)}}if(this.type!=="directed")for(const r in t.undirected){e=t.undirected[r];do xe(this,e),e=e.next;while(e)}this._nodes.delete(i),this.emit("nodeDropped",{key:i,attributes:t.attributes})}dropEdge(i){let t;if(arguments.length>1){const e=""+arguments[0],r=""+arguments[1];if(t=oe(this,e,r,this.type),!t)throw new C(`Graph.dropEdge: could not find the "${e}" -> "${r}" edge in the graph.`)}else if(i=""+i,t=this._edges.get(i),!t)throw new C(`Graph.dropEdge: could not find the "${i}" edge in the graph.`);return xe(this,t),this}dropDirectedEdge(i,t){if(arguments.length<2)throw new I("Graph.dropDirectedEdge: it does not make sense to try and drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new I("Graph.dropDirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");i=""+i,t=""+t;const e=oe(this,i,t,"directed");if(!e)throw new C(`Graph.dropDirectedEdge: could not find a "${i}" -> "${t}" edge in the graph.`);return xe(this,e),this}dropUndirectedEdge(i,t){if(arguments.length<2)throw new I("Graph.dropUndirectedEdge: it does not make sense to drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new I("Graph.dropUndirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");const e=oe(this,i,t,"undirected");if(!e)throw new C(`Graph.dropUndirectedEdge: could not find a "${i}" -> "${t}" edge in the graph.`);return xe(this,e),this}clear(){this._edges.clear(),this._nodes.clear(),this._resetInstanceCounters(),this.emit("cleared")}clearEdges(){const i=this._nodes.values();let t;for(;t=i.next(),t.done!==!0;)t.value.clear();this._edges.clear(),this._resetInstanceCounters(),this.emit("edgesCleared")}getAttribute(i){return this._attributes[i]}getAttributes(){return this._attributes}hasAttribute(i){return this._attributes.hasOwnProperty(i)}setAttribute(i,t){return this._attributes[i]=t,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:i}),this}updateAttribute(i,t){if(typeof t!="function")throw new k("Graph.updateAttribute: updater should be a function.");const e=this._attributes[i];return this._attributes[i]=t(e),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:i}),this}removeAttribute(i){return delete this._attributes[i],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:i}),this}replaceAttributes(i){if(!J(i))throw new k("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=i,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this}mergeAttributes(i){if(!J(i))throw new k("Graph.mergeAttributes: provided attributes are not a plain object.");return Z(this._attributes,i),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:i}),this}updateAttributes(i){if(typeof i!="function")throw new k("Graph.updateAttributes: provided updater is not a function.");return this._attributes=i(this._attributes),this.emit("attributesUpdated",{type:"update",attributes:this._attributes}),this}updateEachNodeAttributes(i,t){if(typeof i!="function")throw new k("Graph.updateEachNodeAttributes: expecting an updater function.");if(t&&!$t(t))throw new k("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const e=this._nodes.values();let r,a;for(;r=e.next(),r.done!==!0;)a=r.value,a.attributes=i(a.key,a.attributes);this.emit("eachNodeAttributesUpdated",{hints:t||null})}updateEachEdgeAttributes(i,t){if(typeof i!="function")throw new k("Graph.updateEachEdgeAttributes: expecting an updater function.");if(t&&!$t(t))throw new k("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const e=this._edges.values();let r,a,o,s;for(;r=e.next(),r.done!==!0;)a=r.value,o=a.source,s=a.target,a.attributes=i(a.key,a.attributes,o.key,s.key,o.attributes,s.attributes,a.undirected);this.emit("eachEdgeAttributesUpdated",{hints:t||null})}forEachAdjacencyEntry(i){if(typeof i!="function")throw new k("Graph.forEachAdjacencyEntry: expecting a callback.");tt(!1,!1,!1,this,i)}forEachAdjacencyEntryWithOrphans(i){if(typeof i!="function")throw new k("Graph.forEachAdjacencyEntryWithOrphans: expecting a callback.");tt(!1,!1,!0,this,i)}forEachAssymetricAdjacencyEntry(i){if(typeof i!="function")throw new k("Graph.forEachAssymetricAdjacencyEntry: expecting a callback.");tt(!1,!0,!1,this,i)}forEachAssymetricAdjacencyEntryWithOrphans(i){if(typeof i!="function")throw new k("Graph.forEachAssymetricAdjacencyEntryWithOrphans: expecting a callback.");tt(!1,!0,!0,this,i)}nodes(){return Array.from(this._nodes.keys())}forEachNode(i){if(typeof i!="function")throw new k("Graph.forEachNode: expecting a callback.");const t=this._nodes.values();let e,r;for(;e=t.next(),e.done!==!0;)r=e.value,i(r.key,r.attributes)}findNode(i){if(typeof i!="function")throw new k("Graph.findNode: expecting a callback.");const t=this._nodes.values();let e,r;for(;e=t.next(),e.done!==!0;)if(r=e.value,i(r.key,r.attributes))return r.key}mapNodes(i){if(typeof i!="function")throw new k("Graph.mapNode: expecting a callback.");const t=this._nodes.values();let e,r;const a=new Array(this.order);let o=0;for(;e=t.next(),e.done!==!0;)r=e.value,a[o++]=i(r.key,r.attributes);return a}someNode(i){if(typeof i!="function")throw new k("Graph.someNode: expecting a callback.");const t=this._nodes.values();let e,r;for(;e=t.next(),e.done!==!0;)if(r=e.value,i(r.key,r.attributes))return!0;return!1}everyNode(i){if(typeof i!="function")throw new k("Graph.everyNode: expecting a callback.");const t=this._nodes.values();let e,r;for(;e=t.next(),e.done!==!0;)if(r=e.value,!i(r.key,r.attributes))return!1;return!0}filterNodes(i){if(typeof i!="function")throw new k("Graph.filterNodes: expecting a callback.");const t=this._nodes.values();let e,r;const a=[];for(;e=t.next(),e.done!==!0;)r=e.value,i(r.key,r.attributes)&&a.push(r.key);return a}reduceNodes(i,t){if(typeof i!="function")throw new k("Graph.reduceNodes: expecting a callback.");if(arguments.length<2)throw new k("Graph.reduceNodes: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.");let e=t;const r=this._nodes.values();let a,o;for(;a=r.next(),a.done!==!0;)o=a.value,e=i(e,o.key,o.attributes);return e}nodeEntries(){const i=this._nodes.values();return{[Symbol.iterator](){return this},next(){const t=i.next();if(t.done)return t;const e=t.value;return{value:{node:e.key,attributes:e.attributes},done:!1}}}}export(){const i=new Array(this._nodes.size);let t=0;this._nodes.forEach((r,a)=>{i[t++]=rn(a,r)});const e=new Array(this._edges.size);return t=0,this._edges.forEach((r,a)=>{e[t++]=nn(this.type,a,r)}),{options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops},attributes:this.getAttributes(),nodes:i,edges:e}}import(i,t=!1){if(i instanceof j)return i.forEachNode((u,h)=>{t?this.mergeNode(u,h):this.addNode(u,h)}),i.forEachEdge((u,h,d,l,f,c,y)=>{t?y?this.mergeUndirectedEdgeWithKey(u,d,l,h):this.mergeDirectedEdgeWithKey(u,d,l,h):y?this.addUndirectedEdgeWithKey(u,d,l,h):this.addDirectedEdgeWithKey(u,d,l,h)}),this;if(!J(i))throw new k("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(i.attributes){if(!J(i.attributes))throw new k("Graph.import: invalid attributes. Expecting a plain object.");t?this.mergeAttributes(i.attributes):this.replaceAttributes(i.attributes)}let e,r,a,o,s;if(i.nodes){if(a=i.nodes,!Array.isArray(a))throw new k("Graph.import: invalid nodes. Expecting an array.");for(e=0,r=a.length;e{const a=Z({},e.attributes);e=new t.NodeDataClass(r,a),t._nodes.set(r,e)}),t}copy(i){if(i=i||{},typeof i.type=="string"&&i.type!==this.type&&i.type!=="mixed")throw new I(`Graph.copy: cannot create an incompatible copy from "${this.type}" type to "${i.type}" because this would mean losing information about the current graph.`);if(typeof i.multi=="boolean"&&i.multi!==this.multi&&i.multi!==!0)throw new I("Graph.copy: cannot create an incompatible copy by downgrading a multi graph to a simple one because this would mean losing information about the current graph.");if(typeof i.allowSelfLoops=="boolean"&&i.allowSelfLoops!==this.allowSelfLoops&&i.allowSelfLoops!==!0)throw new I("Graph.copy: cannot create an incompatible copy from a graph allowing self loops to one that does not because this would mean losing information about the current graph.");const t=this.emptyCopy(i),e=this._edges.values();let r,a;for(;r=e.next(),r.done!==!0;)a=r.value,ki(t,"copy",!1,a.undirected,a.key,a.source.key,a.target.key,Z({},a.attributes));return t}toJSON(){return this.export()}toString(){return"[object Graph]"}inspect(){const i={};this._nodes.forEach((a,o)=>{i[o]=a.attributes});const t={},e={};this._edges.forEach((a,o)=>{const s=a.undirected?"--":"->";let u="",h=a.source.key,d=a.target.key,l;a.undirected&&h>d&&(l=h,h=d,d=l);const f=`(${h})${s}(${d})`;o.startsWith("geid_")?this.multi&&(typeof e[f]>"u"?e[f]=0:e[f]++,u+=`${e[f]}. `):u+=`[${o}]: `,u+=f,t[u]=a.attributes});const r={};for(const a in this)this.hasOwnProperty(a)&&!Bt.has(a)&&typeof this[a]!="function"&&typeof a!="symbol"&&(r[a]=this[a]);return r.attributes=this._attributes,r.nodes=i,r.edges=t,ae(r,"constructor",this.constructor),r}}typeof Symbol<"u"&&(j.prototype[Symbol.for("nodejs.util.inspect.custom")]=j.prototype.inspect);hn.forEach(n=>{["add","merge","update"].forEach(i=>{const t=n.name(i),e=i==="add"?ki:cn;n.generateKey?j.prototype[t]=function(r,a,o){return e(this,t,!0,(n.type||this.type)==="undirected",null,r,a,o,i==="update")}:j.prototype[t]=function(r,a,o,s){return e(this,t,!1,(n.type||this.type)==="undirected",r,a,o,s,i==="update")}})});wr(j);Lr(j);qr(j);tn(j);class Di extends j{constructor(i){const t=Z({type:"directed"},i);if("multi"in t&&t.multi!==!1)throw new k("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(t.type!=="directed")throw new k('DirectedGraph.from: inconsistent "'+t.type+'" type in given options!');super(t)}}class Li extends j{constructor(i){const t=Z({type:"undirected"},i);if("multi"in t&&t.multi!==!1)throw new k("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(t.type!=="undirected")throw new k('UndirectedGraph.from: inconsistent "'+t.type+'" type in given options!');super(t)}}class Gi extends j{constructor(i){const t=Z({multi:!0},i);if("multi"in t&&t.multi!==!0)throw new k("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");super(t)}}class Fi extends j{constructor(i){const t=Z({type:"directed",multi:!0},i);if("multi"in t&&t.multi!==!0)throw new k("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(t.type!=="directed")throw new k('MultiDirectedGraph.from: inconsistent "'+t.type+'" type in given options!');super(t)}}class Ni extends j{constructor(i){const t=Z({type:"undirected",multi:!0},i);if("multi"in t&&t.multi!==!0)throw new k("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(t.type!=="undirected")throw new k('MultiUndirectedGraph.from: inconsistent "'+t.type+'" type in given options!');super(t)}}function Fe(n){n.from=function(i,t){const e=Z({},i.options,t),r=new n(e);return r.import(i),r}}Fe(j);Fe(Di);Fe(Li);Fe(Gi);Fe(Fi);Fe(Ni);j.Graph=j;j.DirectedGraph=Di;j.UndirectedGraph=Li;j.MultiGraph=Gi;j.MultiDirectedGraph=Fi;j.MultiUndirectedGraph=Ni;j.InvalidArgumentsGraphError=k;j.NotFoundGraphError=C;j.UsageGraphError=I;var ft,Ht;function Pi(){return Ht||(Ht=1,ft=function(i){return i!==null&&typeof i=="object"&&typeof i.addUndirectedEdgeWithKey=="function"&&typeof i.dropNode=="function"&&typeof i.multi=="boolean"}),ft}var ze={},Wt;function fn(){if(Wt)return ze;Wt=1;function n(e){return typeof e!="number"||isNaN(e)?1:e}function i(e,r){var a={},o=function(h){return typeof h>"u"?r:h};typeof r=="function"&&(o=r);var s=function(h){return o(h[e])},u=function(){return o(void 0)};return typeof e=="string"?(a.fromAttributes=s,a.fromGraph=function(h,d){return s(h.getNodeAttributes(d))},a.fromEntry=function(h,d){return s(d)}):typeof e=="function"?(a.fromAttributes=function(){throw new Error("graphology-utils/getters/createNodeValueGetter: irrelevant usage.")},a.fromGraph=function(h,d){return o(e(d,h.getNodeAttributes(d)))},a.fromEntry=function(h,d){return o(e(h,d))}):(a.fromAttributes=u,a.fromGraph=u,a.fromEntry=u),a}function t(e,r){var a={},o=function(h){return typeof h>"u"?r:h};typeof r=="function"&&(o=r);var s=function(h){return o(h[e])},u=function(){return o(void 0)};return typeof e=="string"?(a.fromAttributes=s,a.fromGraph=function(h,d){return s(h.getEdgeAttributes(d))},a.fromEntry=function(h,d){return s(d)},a.fromPartialEntry=a.fromEntry,a.fromMinimalEntry=a.fromEntry):typeof e=="function"?(a.fromAttributes=function(){throw new Error("graphology-utils/getters/createEdgeValueGetter: irrelevant usage.")},a.fromGraph=function(h,d){var l=h.extremities(d);return o(e(d,h.getEdgeAttributes(d),l[0],l[1],h.getNodeAttributes(l[0]),h.getNodeAttributes(l[1]),h.isUndirected(d)))},a.fromEntry=function(h,d,l,f,c,y,w){return o(e(h,d,l,f,c,y,w))},a.fromPartialEntry=function(h,d,l,f){return o(e(h,d,l,f))},a.fromMinimalEntry=function(h,d){return o(e(h,d))}):(a.fromAttributes=u,a.fromGraph=u,a.fromEntry=u,a.fromMinimalEntry=u),a}return ze.createNodeValueGetter=i,ze.createEdgeValueGetter=t,ze.createEdgeWeightGetter=function(e){return t(e,n)},ze}var gt,jt;function gn(){if(jt)return gt;jt=1;var n=0,i=1,t=2,e=3,r=4,a=5,o=6,s=7,u=8,h=9,d=0,l=1,f=2,c=0,y=1,w=2,T=3,D=4,m=5,S=6,p=7,b=8,R=3,A=10,G=3,F=9,P=10;return gt=function(z,g,K){var te,x,v,$,W,X,ie,Y,N,Ne,re=g.length,tr=K.length,Pe=z.adjustSizes,ir=z.barnesHutTheta*z.barnesHutTheta,qe,q,B,M,fe,U,O,E=[];for(v=0;vYe?(Ee-=(Ke-Ye)/2,Re=Ee+Ke):(we-=(Ye-Ke)/2,Se=we+Ye),E[0+c]=-1,E[0+y]=(we+Se)/2,E[0+w]=(Ee+Re)/2,E[0+T]=Math.max(Se-we,Re-Ee),E[0+D]=-1,E[0+m]=-1,E[0+S]=0,E[0+p]=0,E[0+b]=0,te=1,v=0;v=0){g[v+n]=0)if(U=Math.pow(g[v+n]-E[x+p],2)+Math.pow(g[v+i]-E[x+b],2),Ne=E[x+T],4*Ne*Ne/U0?(O=q*g[v+o]*E[x+S]/U,g[v+t]+=B*O,g[v+e]+=M*O):U<0&&(O=-q*g[v+o]*E[x+S]/Math.sqrt(U),g[v+t]+=B*O,g[v+e]+=M*O):U>0&&(O=q*g[v+o]*E[x+S]/U,g[v+t]+=B*O,g[v+e]+=M*O),x=E[x+D],x<0)break;continue}else{x=E[x+m];continue}else{if(X=E[x+c],X>=0&&X!==v&&(B=g[v+n]-g[X+n],M=g[v+i]-g[X+i],U=B*B+M*M,Pe===!0?U>0?(O=q*g[v+o]*g[X+o]/U,g[v+t]+=B*O,g[v+e]+=M*O):U<0&&(O=-q*g[v+o]*g[X+o]/Math.sqrt(U),g[v+t]+=B*O,g[v+e]+=M*O):U>0&&(O=q*g[v+o]*g[X+o]/U,g[v+t]+=B*O,g[v+e]+=M*O)),x=E[x+D],x<0)break;continue}else for(q=z.scalingRatio,$=0;$0?(O=q*g[$+o]*g[W+o]/U/U,g[$+t]+=B*O,g[$+e]+=M*O,g[W+t]-=B*O,g[W+e]-=M*O):U<0&&(O=100*q*g[$+o]*g[W+o],g[$+t]+=B*O,g[$+e]+=M*O,g[W+t]-=B*O,g[W+e]-=M*O)):(U=Math.sqrt(B*B+M*M),U>0&&(O=q*g[$+o]*g[W+o]/U/U,g[$+t]+=B*O,g[$+e]+=M*O,g[W+t]-=B*O,g[W+e]-=M*O));for(N=z.gravity/z.scalingRatio,q=z.scalingRatio,v=0;v0&&(O=q*g[v+o]*N):U>0&&(O=q*g[v+o]*N/U),g[v+t]-=B*O,g[v+e]-=M*O;for(q=1*(z.outboundAttractionDistribution?qe:1),ie=0;ie0&&(O=-q*fe*Math.log(1+U)/U/g[$+o]):U>0&&(O=-q*fe*Math.log(1+U)/U):z.outboundAttractionDistribution?U>0&&(O=-q*fe/g[$+o]):U>0&&(O=-q*fe)):(U=Math.sqrt(Math.pow(B,2)+Math.pow(M,2)),z.linLogMode?z.outboundAttractionDistribution?U>0&&(O=-q*fe*Math.log(1+U)/U/g[$+o]):U>0&&(O=-q*fe*Math.log(1+U)/U):z.outboundAttractionDistribution?(U=1,O=-q*fe/g[$+o]):(U=1,O=-q*fe)),U>0&&(g[$+t]+=B*O,g[$+e]+=M*O,g[W+t]-=B*O,g[W+e]-=M*O);var Ze,Ie,Xe,_e,Je,Qe;if(Pe===!0)for(v=0;vP&&(g[v+t]=g[v+t]*P/Ze,g[v+e]=g[v+e]*P/Ze),Ie=g[v+o]*Math.sqrt((g[v+r]-g[v+t])*(g[v+r]-g[v+t])+(g[v+a]-g[v+e])*(g[v+a]-g[v+e])),Xe=Math.sqrt((g[v+r]+g[v+t])*(g[v+r]+g[v+t])+(g[v+a]+g[v+e])*(g[v+a]+g[v+e]))/2,_e=.1*Math.log(1+Xe)/(1+Math.sqrt(Ie)),Je=g[v+n]+g[v+t]*(_e/z.slowDown),g[v+n]=Je,Qe=g[v+i]+g[v+e]*(_e/z.slowDown),g[v+i]=Qe);else for(v=0;v=0)?{message:"the `scalingRatio` setting should be a number >= 0."}:"strongGravityMode"in t&&typeof t.strongGravityMode!="boolean"?{message:"the `strongGravityMode` setting should be a boolean."}:"gravity"in t&&!(typeof t.gravity=="number"&&t.gravity>=0)?{message:"the `gravity` setting should be a number >= 0."}:"slowDown"in t&&!(typeof t.slowDown=="number"||t.slowDown>=0)?{message:"the `slowDown` setting should be a number >= 0."}:"barnesHutOptimize"in t&&typeof t.barnesHutOptimize!="boolean"?{message:"the `barnesHutOptimize` setting should be a boolean."}:"barnesHutTheta"in t&&!(typeof t.barnesHutTheta=="number"&&t.barnesHutTheta>=0)?{message:"the `barnesHutTheta` setting should be a number >= 0."}:null},ge.graphToByteArrays=function(t,e){var r=t.order,a=t.size,o={},s,u=new Float32Array(r*n),h=new Float32Array(a*i);return s=0,t.forEachNode(function(d,l){o[d]=s,u[s]=l.x,u[s+1]=l.y,u[s+2]=0,u[s+3]=0,u[s+4]=0,u[s+5]=0,u[s+6]=1,u[s+7]=1,u[s+8]=l.size||1,u[s+9]=l.fixed?1:0,s+=n}),s=0,t.forEachEdge(function(d,l,f,c,y,w,T){var D=o[f],m=o[c],S=e(d,l,f,c,y,w,T);u[D+6]+=S,u[m+6]+=S,h[s]=D,h[s+1]=m,h[s+2]=S,s+=i}),{nodes:u,edges:h}},ge.assignLayoutChanges=function(t,e,r){var a=0;t.updateEachNodeAttributes(function(o,s){return s.x=e[a],s.y=e[a+1],a+=n,r?r(o,s):s})},ge.readGraphPositions=function(t,e){var r=0;t.forEachNode(function(a,o){e[r]=o.x,e[r+1]=o.y,r+=n})},ge.collectLayoutChanges=function(t,e,r){for(var a=t.nodes(),o={},s=0,u=0,h=e.length;s2e3,strongGravityMode:!0,gravity:.05,scalingRatio:10,slowDown:1+Math.log(h)}}var s=a.bind(null,!1);return s.assign=a.bind(null,!0),s.inferSettings=o,vt=s,vt}var yn=mn();const it=bi(yn);function bn(n,i){if(typeof n!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var e=t.call(n,i);if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}function je(n){var i=bn(n,"string");return typeof i=="symbol"?i:i+""}function Q(n,i){if(!(n instanceof i))throw new TypeError("Cannot call a class as a function")}function Yt(n,i){for(var t=0;tn.length)&&(i=n.length);for(var t=0,e=Array(i);t0&&(P=R[0]),P instanceof Error)throw P;var V=new Error("Unhandled error."+(P?" ("+P.message+")":""));throw V.context=P,V}var z=F[b];if(z===void 0)return!1;if(typeof z=="function")i(z,this,R);else for(var g=z.length,K=y(z,g),A=0;A0&&P.length>G&&!P.warned){P.warned=!0;var V=new Error("Possible EventEmitter memory leak detected. "+P.length+" "+String(b)+" listeners added. Use emitter.setMaxListeners() to increase limit");V.name="MaxListenersExceededWarning",V.emitter=p,V.type=b,V.count=P.length,e(V)}return p}a.prototype.addListener=function(b,R){return h(this,b,R,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(b,R){return h(this,b,R,!0)};function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function l(p,b,R){var A={fired:!1,wrapFn:void 0,target:p,type:b,listener:R},G=d.bind(A);return G.listener=R,A.wrapFn=G,G}a.prototype.once=function(b,R){return s(R),this.on(b,l(this,b,R)),this},a.prototype.prependOnceListener=function(b,R){return s(R),this.prependListener(b,l(this,b,R)),this},a.prototype.removeListener=function(b,R){var A,G,F,P,V;if(s(R),G=this._events,G===void 0)return this;if(A=G[b],A===void 0)return this;if(A===R||A.listener===R)--this._eventsCount===0?this._events=Object.create(null):(delete G[b],G.removeListener&&this.emit("removeListener",b,A.listener||R));else if(typeof A!="function"){for(F=-1,P=A.length-1;P>=0;P--)if(A[P]===R||A[P].listener===R){V=A[P].listener,F=P;break}if(F<0)return this;F===0?A.shift():w(A,F),A.length===1&&(G[b]=A[0]),G.removeListener!==void 0&&this.emit("removeListener",b,V||R)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(b){var R,A,G;if(A=this._events,A===void 0)return this;if(A.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):A[b]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete A[b]),this;if(arguments.length===0){var F=Object.keys(A),P;for(G=0;G=0;G--)this.removeListener(b,R[G]);return this};function f(p,b,R){var A=p._events;if(A===void 0)return[];var G=A[b];return G===void 0?[]:typeof G=="function"?R?[G.listener||G]:[G]:R?T(G):y(G,G.length)}a.prototype.listeners=function(b){return f(this,b,!0)},a.prototype.rawListeners=function(b){return f(this,b,!1)},a.listenerCount=function(p,b){return typeof p.listenerCount=="function"?p.listenerCount(b):c.call(p,b)},a.prototype.listenerCount=c;function c(p){var b=this._events;if(b!==void 0){var R=b[p];if(typeof R=="function")return 1;if(R!==void 0)return R.length}return 0}a.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]};function y(p,b){for(var R=new Array(b),A=0;An++}function me(){const n=arguments;let i=null,t=-1;return{[Symbol.iterator](){return this},next(){let e=null;do{if(i===null){if(t++,t>=n.length)return{done:!0};i=n[t][Symbol.iterator]()}if(e=i.next(),e.done){i=null;continue}break}while(!0);return e}}}function Le(){return{[Symbol.iterator](){return this},next(){return{done:!0}}}}class Lt extends Error{constructor(i){super(),this.name="GraphError",this.message=i}}class k extends Lt{constructor(i){super(i),this.name="InvalidArgumentsGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,k.prototype.constructor)}}class C extends Lt{constructor(i){super(i),this.name="NotFoundGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,C.prototype.constructor)}}class I extends Lt{constructor(i){super(i),this.name="UsageGraphError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,I.prototype.constructor)}}function _i(n,i){this.key=n,this.attributes=i,this.clear()}_i.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.undirectedDegree=0,this.undirectedLoops=0,this.directedLoops=0,this.in={},this.out={},this.undirected={}};function Ti(n,i){this.key=n,this.attributes=i,this.clear()}Ti.prototype.clear=function(){this.inDegree=0,this.outDegree=0,this.directedLoops=0,this.in={},this.out={}};function Si(n,i){this.key=n,this.attributes=i,this.clear()}Si.prototype.clear=function(){this.undirectedDegree=0,this.undirectedLoops=0,this.undirected={}};function Ge(n,i,t,e,r){this.key=i,this.attributes=r,this.undirected=n,this.source=t,this.target=e}Ge.prototype.attach=function(){let n="out",i="in";this.undirected&&(n=i="undirected");const t=this.source.key,e=this.target.key;this.source[n][e]=this,!(this.undirected&&t===e)&&(this.target[i][t]=this)};Ge.prototype.attachMulti=function(){let n="out",i="in";const t=this.source.key,e=this.target.key;this.undirected&&(n=i="undirected");const r=this.source[n],a=r[e];if(typeof a>"u"){r[e]=this,this.undirected&&t===e||(this.target[i][t]=this);return}a.previous=this,this.next=a,r[e]=this,this.target[i][t]=this};Ge.prototype.detach=function(){const n=this.source.key,i=this.target.key;let t="out",e="in";this.undirected&&(t=e="undirected"),delete this.source[t][i],delete this.target[e][n]};Ge.prototype.detachMulti=function(){const n=this.source.key,i=this.target.key;let t="out",e="in";this.undirected&&(t=e="undirected"),this.previous===void 0?this.next===void 0?(delete this.source[t][i],delete this.target[e][n]):(this.next.previous=void 0,this.source[t][i]=this.next,this.target[e][n]=this.next):(this.previous.next=this.next,this.next!==void 0&&(this.next.previous=this.previous))};const Ri=0,Ai=1,hr=2,xi=3;function ye(n,i,t,e,r,a,o){let s,u,h,d;if(e=""+e,t===Ri){if(s=n._nodes.get(e),!s)throw new C(`Graph.${i}: could not find the "${e}" node in the graph.`);h=r,d=a}else if(t===xi){if(r=""+r,u=n._edges.get(r),!u)throw new C(`Graph.${i}: could not find the "${r}" edge in the graph.`);const l=u.source.key,f=u.target.key;if(e===l)s=u.target;else if(e===f)s=u.source;else throw new C(`Graph.${i}: the "${e}" node is not attached to the "${r}" edge (${l}, ${f}).`);h=a,d=o}else{if(u=n._edges.get(e),!u)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`);t===Ai?s=u.source:s=u.target,h=r,d=a}return[s,h,d]}function dr(n,i,t){n.prototype[i]=function(e,r,a){const[o,s]=ye(this,i,t,e,r,a);return o.attributes[s]}}function lr(n,i,t){n.prototype[i]=function(e,r){const[a]=ye(this,i,t,e,r);return a.attributes}}function cr(n,i,t){n.prototype[i]=function(e,r,a){const[o,s]=ye(this,i,t,e,r,a);return o.attributes.hasOwnProperty(s)}}function fr(n,i,t){n.prototype[i]=function(e,r,a,o){const[s,u,h]=ye(this,i,t,e,r,a,o);return s.attributes[u]=h,this.emit("nodeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:u}),this}}function gr(n,i,t){n.prototype[i]=function(e,r,a,o){const[s,u,h]=ye(this,i,t,e,r,a,o);if(typeof h!="function")throw new k(`Graph.${i}: updater should be a function.`);const d=s.attributes,l=h(d[u]);return d[u]=l,this.emit("nodeAttributesUpdated",{key:s.key,type:"set",attributes:s.attributes,name:u}),this}}function pr(n,i,t){n.prototype[i]=function(e,r,a){const[o,s]=ye(this,i,t,e,r,a);return delete o.attributes[s],this.emit("nodeAttributesUpdated",{key:o.key,type:"remove",attributes:o.attributes,name:s}),this}}function vr(n,i,t){n.prototype[i]=function(e,r,a){const[o,s]=ye(this,i,t,e,r,a);if(!J(s))throw new k(`Graph.${i}: provided attributes are not a plain object.`);return o.attributes=s,this.emit("nodeAttributesUpdated",{key:o.key,type:"replace",attributes:o.attributes}),this}}function mr(n,i,t){n.prototype[i]=function(e,r,a){const[o,s]=ye(this,i,t,e,r,a);if(!J(s))throw new k(`Graph.${i}: provided attributes are not a plain object.`);return Z(o.attributes,s),this.emit("nodeAttributesUpdated",{key:o.key,type:"merge",attributes:o.attributes,data:s}),this}}function yr(n,i,t){n.prototype[i]=function(e,r,a){const[o,s]=ye(this,i,t,e,r,a);if(typeof s!="function")throw new k(`Graph.${i}: provided updater is not a function.`);return o.attributes=s(o.attributes),this.emit("nodeAttributesUpdated",{key:o.key,type:"update",attributes:o.attributes}),this}}const br=[{name:n=>`get${n}Attribute`,attacher:dr},{name:n=>`get${n}Attributes`,attacher:lr},{name:n=>`has${n}Attribute`,attacher:cr},{name:n=>`set${n}Attribute`,attacher:fr},{name:n=>`update${n}Attribute`,attacher:gr},{name:n=>`remove${n}Attribute`,attacher:pr},{name:n=>`replace${n}Attributes`,attacher:vr},{name:n=>`merge${n}Attributes`,attacher:mr},{name:n=>`update${n}Attributes`,attacher:yr}];function wr(n){br.forEach(function({name:i,attacher:t}){t(n,i("Node"),Ri),t(n,i("Source"),Ai),t(n,i("Target"),hr),t(n,i("Opposite"),xi)})}function Er(n,i,t){n.prototype[i]=function(e,r){let a;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+e,s=""+r;if(r=arguments[2],a=oe(this,o,s,t),!a)throw new C(`Graph.${i}: could not find an edge for the given path ("${o}" - "${s}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,a=this._edges.get(e),!a)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}return a.attributes[r]}}function _r(n,i,t){n.prototype[i]=function(e){let r;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>1){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const a=""+e,o=""+arguments[1];if(r=oe(this,a,o,t),!r)throw new C(`Graph.${i}: could not find an edge for the given path ("${a}" - "${o}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,r=this._edges.get(e),!r)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}return r.attributes}}function Tr(n,i,t){n.prototype[i]=function(e,r){let a;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+e,s=""+r;if(r=arguments[2],a=oe(this,o,s,t),!a)throw new C(`Graph.${i}: could not find an edge for the given path ("${o}" - "${s}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,a=this._edges.get(e),!a)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}return a.attributes.hasOwnProperty(r)}}function Sr(n,i,t){n.prototype[i]=function(e,r,a){let o;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>3){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const s=""+e,u=""+r;if(r=arguments[2],a=arguments[3],o=oe(this,s,u,t),!o)throw new C(`Graph.${i}: could not find an edge for the given path ("${s}" - "${u}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,o=this._edges.get(e),!o)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}return o.attributes[r]=a,this.emit("edgeAttributesUpdated",{key:o.key,type:"set",attributes:o.attributes,name:r}),this}}function Rr(n,i,t){n.prototype[i]=function(e,r,a){let o;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>3){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const s=""+e,u=""+r;if(r=arguments[2],a=arguments[3],o=oe(this,s,u,t),!o)throw new C(`Graph.${i}: could not find an edge for the given path ("${s}" - "${u}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,o=this._edges.get(e),!o)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}if(typeof a!="function")throw new k(`Graph.${i}: updater should be a function.`);return o.attributes[r]=a(o.attributes[r]),this.emit("edgeAttributesUpdated",{key:o.key,type:"set",attributes:o.attributes,name:r}),this}}function Ar(n,i,t){n.prototype[i]=function(e,r){let a;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+e,s=""+r;if(r=arguments[2],a=oe(this,o,s,t),!a)throw new C(`Graph.${i}: could not find an edge for the given path ("${o}" - "${s}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,a=this._edges.get(e),!a)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}return delete a.attributes[r],this.emit("edgeAttributesUpdated",{key:a.key,type:"remove",attributes:a.attributes,name:r}),this}}function xr(n,i,t){n.prototype[i]=function(e,r){let a;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+e,s=""+r;if(r=arguments[2],a=oe(this,o,s,t),!a)throw new C(`Graph.${i}: could not find an edge for the given path ("${o}" - "${s}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,a=this._edges.get(e),!a)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}if(!J(r))throw new k(`Graph.${i}: provided attributes are not a plain object.`);return a.attributes=r,this.emit("edgeAttributesUpdated",{key:a.key,type:"replace",attributes:a.attributes}),this}}function Cr(n,i,t){n.prototype[i]=function(e,r){let a;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+e,s=""+r;if(r=arguments[2],a=oe(this,o,s,t),!a)throw new C(`Graph.${i}: could not find an edge for the given path ("${o}" - "${s}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,a=this._edges.get(e),!a)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}if(!J(r))throw new k(`Graph.${i}: provided attributes are not a plain object.`);return Z(a.attributes,r),this.emit("edgeAttributesUpdated",{key:a.key,type:"merge",attributes:a.attributes,data:r}),this}}function kr(n,i,t){n.prototype[i]=function(e,r){let a;if(this.type!=="mixed"&&t!=="mixed"&&t!==this.type)throw new I(`Graph.${i}: cannot find this type of edges in your ${this.type} graph.`);if(arguments.length>2){if(this.multi)throw new I(`Graph.${i}: cannot use a {source,target} combo when asking about an edge's attributes in a MultiGraph since we cannot infer the one you want information about.`);const o=""+e,s=""+r;if(r=arguments[2],a=oe(this,o,s,t),!a)throw new C(`Graph.${i}: could not find an edge for the given path ("${o}" - "${s}").`)}else{if(t!=="mixed")throw new I(`Graph.${i}: calling this method with only a key (vs. a source and target) does not make sense since an edge with this key could have the other type.`);if(e=""+e,a=this._edges.get(e),!a)throw new C(`Graph.${i}: could not find the "${e}" edge in the graph.`)}if(typeof r!="function")throw new k(`Graph.${i}: provided updater is not a function.`);return a.attributes=r(a.attributes),this.emit("edgeAttributesUpdated",{key:a.key,type:"update",attributes:a.attributes}),this}}const Dr=[{name:n=>`get${n}Attribute`,attacher:Er},{name:n=>`get${n}Attributes`,attacher:_r},{name:n=>`has${n}Attribute`,attacher:Tr},{name:n=>`set${n}Attribute`,attacher:Sr},{name:n=>`update${n}Attribute`,attacher:Rr},{name:n=>`remove${n}Attribute`,attacher:Ar},{name:n=>`replace${n}Attributes`,attacher:xr},{name:n=>`merge${n}Attributes`,attacher:Cr},{name:n=>`update${n}Attributes`,attacher:kr}];function Lr(n){Dr.forEach(function({name:i,attacher:t}){t(n,i("Edge"),"mixed"),t(n,i("DirectedEdge"),"directed"),t(n,i("UndirectedEdge"),"undirected")})}const Gr=[{name:"edges",type:"mixed"},{name:"inEdges",type:"directed",direction:"in"},{name:"outEdges",type:"directed",direction:"out"},{name:"inboundEdges",type:"mixed",direction:"in"},{name:"outboundEdges",type:"mixed",direction:"out"},{name:"directedEdges",type:"directed"},{name:"undirectedEdges",type:"undirected"}];function Fr(n,i,t,e){let r=!1;for(const a in i){if(a===e)continue;const o=i[a];if(r=t(o.key,o.attributes,o.source.key,o.target.key,o.source.attributes,o.target.attributes,o.undirected),n&&r)return o.key}}function Nr(n,i,t,e){let r,a,o,s=!1;for(const u in i)if(u!==e){r=i[u];do{if(a=r.source,o=r.target,s=t(r.key,r.attributes,a.key,o.key,a.attributes,o.attributes,r.undirected),n&&s)return r.key;r=r.next}while(r!==void 0)}}function lt(n,i){const t=Object.keys(n),e=t.length;let r,a=0;return{[Symbol.iterator](){return this},next(){do if(r)r=r.next;else{if(a>=e)return{done:!0};const o=t[a++];if(o===i){r=void 0;continue}r=n[o]}while(!r);return{done:!1,value:{edge:r.key,attributes:r.attributes,source:r.source.key,target:r.target.key,sourceAttributes:r.source.attributes,targetAttributes:r.target.attributes,undirected:r.undirected}}}}}function Pr(n,i,t,e){const r=i[t];if(!r)return;const a=r.source,o=r.target;if(e(r.key,r.attributes,a.key,o.key,a.attributes,o.attributes,r.undirected)&&n)return r.key}function Ir(n,i,t,e){let r=i[t];if(!r)return;let a=!1;do{if(a=e(r.key,r.attributes,r.source.key,r.target.key,r.source.attributes,r.target.attributes,r.undirected),n&&a)return r.key;r=r.next}while(r!==void 0)}function ct(n,i){let t=n[i];if(t.next!==void 0)return{[Symbol.iterator](){return this},next(){if(!t)return{done:!0};const r={edge:t.key,attributes:t.attributes,source:t.source.key,target:t.target.key,sourceAttributes:t.source.attributes,targetAttributes:t.target.attributes,undirected:t.undirected};return t=t.next,{done:!1,value:r}}};let e=!1;return{[Symbol.iterator](){return this},next(){return e===!0?{done:!0}:(e=!0,{done:!1,value:{edge:t.key,attributes:t.attributes,source:t.source.key,target:t.target.key,sourceAttributes:t.source.attributes,targetAttributes:t.target.attributes,undirected:t.undirected}})}}}function Or(n,i){if(n.size===0)return[];if(i==="mixed"||i===n.type)return Array.from(n._edges.keys());const t=i==="undirected"?n.undirectedSize:n.directedSize,e=new Array(t),r=i==="undirected",a=n._edges.values();let o=0,s,u;for(;s=a.next(),s.done!==!0;)u=s.value,u.undirected===r&&(e[o++]=u.key);return e}function Ci(n,i,t,e){if(i.size===0)return;const r=t!=="mixed"&&t!==i.type,a=t==="undirected";let o,s,u=!1;const h=i._edges.values();for(;o=h.next(),o.done!==!0;){if(s=o.value,r&&s.undirected!==a)continue;const{key:d,attributes:l,source:f,target:c}=s;if(u=e(d,l,f.key,c.key,f.attributes,c.attributes,s.undirected),n&&u)return d}}function Ur(n,i){if(n.size===0)return Le();const t=i!=="mixed"&&i!==n.type,e=i==="undirected",r=n._edges.values();return{[Symbol.iterator](){return this},next(){let a,o;for(;;){if(a=r.next(),a.done)return a;if(o=a.value,!(t&&o.undirected!==e))break}return{value:{edge:o.key,attributes:o.attributes,source:o.source.key,target:o.target.key,sourceAttributes:o.source.attributes,targetAttributes:o.target.attributes,undirected:o.undirected},done:!1}}}}function Gt(n,i,t,e,r,a){const o=i?Nr:Fr;let s;if(t!=="undirected"&&(e!=="out"&&(s=o(n,r.in,a),n&&s)||e!=="in"&&(s=o(n,r.out,a,e?void 0:r.key),n&&s))||t!=="directed"&&(s=o(n,r.undirected,a),n&&s))return s}function zr(n,i,t,e){const r=[];return Gt(!1,n,i,t,e,function(a){r.push(a)}),r}function $r(n,i,t){let e=Le();return n!=="undirected"&&(i!=="out"&&typeof t.in<"u"&&(e=me(e,lt(t.in))),i!=="in"&&typeof t.out<"u"&&(e=me(e,lt(t.out,i?void 0:t.key)))),n!=="directed"&&typeof t.undirected<"u"&&(e=me(e,lt(t.undirected))),e}function Ft(n,i,t,e,r,a,o){const s=t?Ir:Pr;let u;if(i!=="undirected"&&(typeof r.in<"u"&&e!=="out"&&(u=s(n,r.in,a,o),n&&u)||typeof r.out<"u"&&e!=="in"&&(e||r.key!==a)&&(u=s(n,r.out,a,o),n&&u))||i!=="directed"&&typeof r.undirected<"u"&&(u=s(n,r.undirected,a,o),n&&u))return u}function Br(n,i,t,e,r){const a=[];return Ft(!1,n,i,t,e,r,function(o){a.push(o)}),a}function Mr(n,i,t,e){let r=Le();return n!=="undirected"&&(typeof t.in<"u"&&i!=="out"&&e in t.in&&(r=me(r,ct(t.in,e))),typeof t.out<"u"&&i!=="in"&&e in t.out&&(i||t.key!==e)&&(r=me(r,ct(t.out,e)))),n!=="directed"&&typeof t.undirected<"u"&&e in t.undirected&&(r=me(r,ct(t.undirected,e))),r}function Hr(n,i){const{name:t,type:e,direction:r}=i;n.prototype[t]=function(a,o){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return[];if(!arguments.length)return Or(this,e);if(arguments.length===1){a=""+a;const s=this._nodes.get(a);if(typeof s>"u")throw new C(`Graph.${t}: could not find the "${a}" node in the graph.`);return zr(this.multi,e==="mixed"?this.type:e,r,s)}if(arguments.length===2){a=""+a,o=""+o;const s=this._nodes.get(a);if(!s)throw new C(`Graph.${t}: could not find the "${a}" source node in the graph.`);if(!this._nodes.has(o))throw new C(`Graph.${t}: could not find the "${o}" target node in the graph.`);return Br(e,this.multi,r,s,o)}throw new k(`Graph.${t}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`)}}function Wr(n,i){const{name:t,type:e,direction:r}=i,a="forEach"+t[0].toUpperCase()+t.slice(1,-1);n.prototype[a]=function(h,d,l){if(!(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)){if(arguments.length===1)return l=h,Ci(!1,this,e,l);if(arguments.length===2){h=""+h,l=d;const f=this._nodes.get(h);if(typeof f>"u")throw new C(`Graph.${a}: could not find the "${h}" node in the graph.`);return Gt(!1,this.multi,e==="mixed"?this.type:e,r,f,l)}if(arguments.length===3){h=""+h,d=""+d;const f=this._nodes.get(h);if(!f)throw new C(`Graph.${a}: could not find the "${h}" source node in the graph.`);if(!this._nodes.has(d))throw new C(`Graph.${a}: could not find the "${d}" target node in the graph.`);return Ft(!1,e,this.multi,r,f,d,l)}throw new k(`Graph.${a}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`)}};const o="map"+t[0].toUpperCase()+t.slice(1);n.prototype[o]=function(){const h=Array.prototype.slice.call(arguments),d=h.pop();let l;if(h.length===0){let f=0;e!=="directed"&&(f+=this.undirectedSize),e!=="undirected"&&(f+=this.directedSize),l=new Array(f);let c=0;h.push((y,w,T,D,m,S,p)=>{l[c++]=d(y,w,T,D,m,S,p)})}else l=[],h.push((f,c,y,w,T,D,m)=>{l.push(d(f,c,y,w,T,D,m))});return this[a].apply(this,h),l};const s="filter"+t[0].toUpperCase()+t.slice(1);n.prototype[s]=function(){const h=Array.prototype.slice.call(arguments),d=h.pop(),l=[];return h.push((f,c,y,w,T,D,m)=>{d(f,c,y,w,T,D,m)&&l.push(f)}),this[a].apply(this,h),l};const u="reduce"+t[0].toUpperCase()+t.slice(1);n.prototype[u]=function(){let h=Array.prototype.slice.call(arguments);if(h.length<2||h.length>4)throw new k(`Graph.${u}: invalid number of arguments (expecting 2, 3 or 4 and got ${h.length}).`);if(typeof h[h.length-1]=="function"&&typeof h[h.length-2]!="function")throw new k(`Graph.${u}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`);let d,l;h.length===2?(d=h[0],l=h[1],h=[]):h.length===3?(d=h[1],l=h[2],h=[h[0]]):h.length===4&&(d=h[2],l=h[3],h=[h[0],h[1]]);let f=l;return h.push((c,y,w,T,D,m,S)=>{f=d(f,c,y,w,T,D,m,S)}),this[a].apply(this,h),f}}function jr(n,i){const{name:t,type:e,direction:r}=i,a="find"+t[0].toUpperCase()+t.slice(1,-1);n.prototype[a]=function(u,h,d){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return!1;if(arguments.length===1)return d=u,Ci(!0,this,e,d);if(arguments.length===2){u=""+u,d=h;const l=this._nodes.get(u);if(typeof l>"u")throw new C(`Graph.${a}: could not find the "${u}" node in the graph.`);return Gt(!0,this.multi,e==="mixed"?this.type:e,r,l,d)}if(arguments.length===3){u=""+u,h=""+h;const l=this._nodes.get(u);if(!l)throw new C(`Graph.${a}: could not find the "${u}" source node in the graph.`);if(!this._nodes.has(h))throw new C(`Graph.${a}: could not find the "${h}" target node in the graph.`);return Ft(!0,e,this.multi,r,l,h,d)}throw new k(`Graph.${a}: too many arguments (expecting 1, 2 or 3 and got ${arguments.length}).`)};const o="some"+t[0].toUpperCase()+t.slice(1,-1);n.prototype[o]=function(){const u=Array.prototype.slice.call(arguments),h=u.pop();return u.push((l,f,c,y,w,T,D)=>h(l,f,c,y,w,T,D)),!!this[a].apply(this,u)};const s="every"+t[0].toUpperCase()+t.slice(1,-1);n.prototype[s]=function(){const u=Array.prototype.slice.call(arguments),h=u.pop();return u.push((l,f,c,y,w,T,D)=>!h(l,f,c,y,w,T,D)),!this[a].apply(this,u)}}function Vr(n,i){const{name:t,type:e,direction:r}=i,a=t.slice(0,-1)+"Entries";n.prototype[a]=function(o,s){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return Le();if(!arguments.length)return Ur(this,e);if(arguments.length===1){o=""+o;const u=this._nodes.get(o);if(!u)throw new C(`Graph.${a}: could not find the "${o}" node in the graph.`);return $r(e,r,u)}if(arguments.length===2){o=""+o,s=""+s;const u=this._nodes.get(o);if(!u)throw new C(`Graph.${a}: could not find the "${o}" source node in the graph.`);if(!this._nodes.has(s))throw new C(`Graph.${a}: could not find the "${s}" target node in the graph.`);return Mr(e,r,u,s)}throw new k(`Graph.${a}: too many arguments (expecting 0, 1 or 2 and got ${arguments.length}).`)}}function qr(n){Gr.forEach(i=>{Hr(n,i),Wr(n,i),jr(n,i),Vr(n,i)})}const Kr=[{name:"neighbors",type:"mixed"},{name:"inNeighbors",type:"directed",direction:"in"},{name:"outNeighbors",type:"directed",direction:"out"},{name:"inboundNeighbors",type:"mixed",direction:"in"},{name:"outboundNeighbors",type:"mixed",direction:"out"},{name:"directedNeighbors",type:"directed"},{name:"undirectedNeighbors",type:"undirected"}];function ut(){this.A=null,this.B=null}ut.prototype.wrap=function(n){this.A===null?this.A=n:this.B===null&&(this.B=n)};ut.prototype.has=function(n){return this.A!==null&&n in this.A||this.B!==null&&n in this.B};function Oe(n,i,t,e,r){for(const a in e){const o=e[a],s=o.source,u=o.target,h=s===t?u:s;if(i&&i.has(h.key))continue;const d=r(h.key,h.attributes);if(n&&d)return h.key}}function Nt(n,i,t,e,r){if(i!=="mixed"){if(i==="undirected")return Oe(n,null,e,e.undirected,r);if(typeof t=="string")return Oe(n,null,e,e[t],r)}const a=new ut;let o;if(i!=="undirected"){if(t!=="out"){if(o=Oe(n,null,e,e.in,r),n&&o)return o;a.wrap(e.in)}if(t!=="in"){if(o=Oe(n,a,e,e.out,r),n&&o)return o;a.wrap(e.out)}}if(i!=="directed"&&(o=Oe(n,a,e,e.undirected,r),n&&o))return o}function Yr(n,i,t){if(n!=="mixed"){if(n==="undirected")return Object.keys(t.undirected);if(typeof i=="string")return Object.keys(t[i])}const e=[];return Nt(!1,n,i,t,function(r){e.push(r)}),e}function Ue(n,i,t){const e=Object.keys(t),r=e.length;let a=0;return{[Symbol.iterator](){return this},next(){let o=null;do{if(a>=r)return n&&n.wrap(t),{done:!0};const s=t[e[a++]],u=s.source,h=s.target;if(o=u===i?h:u,n&&n.has(o.key)){o=null;continue}}while(o===null);return{done:!1,value:{neighbor:o.key,attributes:o.attributes}}}}}function Zr(n,i,t){if(n!=="mixed"){if(n==="undirected")return Ue(null,t,t.undirected);if(typeof i=="string")return Ue(null,t,t[i])}let e=Le();const r=new ut;return n!=="undirected"&&(i!=="out"&&(e=me(e,Ue(r,t,t.in))),i!=="in"&&(e=me(e,Ue(r,t,t.out)))),n!=="directed"&&(e=me(e,Ue(r,t,t.undirected))),e}function Xr(n,i){const{name:t,type:e,direction:r}=i;n.prototype[t]=function(a){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return[];a=""+a;const o=this._nodes.get(a);if(typeof o>"u")throw new C(`Graph.${t}: could not find the "${a}" node in the graph.`);return Yr(e==="mixed"?this.type:e,r,o)}}function Jr(n,i){const{name:t,type:e,direction:r}=i,a="forEach"+t[0].toUpperCase()+t.slice(1,-1);n.prototype[a]=function(h,d){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return;h=""+h;const l=this._nodes.get(h);if(typeof l>"u")throw new C(`Graph.${a}: could not find the "${h}" node in the graph.`);Nt(!1,e==="mixed"?this.type:e,r,l,d)};const o="map"+t[0].toUpperCase()+t.slice(1);n.prototype[o]=function(h,d){const l=[];return this[a](h,(f,c)=>{l.push(d(f,c))}),l};const s="filter"+t[0].toUpperCase()+t.slice(1);n.prototype[s]=function(h,d){const l=[];return this[a](h,(f,c)=>{d(f,c)&&l.push(f)}),l};const u="reduce"+t[0].toUpperCase()+t.slice(1);n.prototype[u]=function(h,d,l){if(arguments.length<3)throw new k(`Graph.${u}: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.`);let f=l;return this[a](h,(c,y)=>{f=d(f,c,y)}),f}}function Qr(n,i){const{name:t,type:e,direction:r}=i,a=t[0].toUpperCase()+t.slice(1,-1),o="find"+a;n.prototype[o]=function(h,d){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return;h=""+h;const l=this._nodes.get(h);if(typeof l>"u")throw new C(`Graph.${o}: could not find the "${h}" node in the graph.`);return Nt(!0,e==="mixed"?this.type:e,r,l,d)};const s="some"+a;n.prototype[s]=function(h,d){return!!this[o](h,d)};const u="every"+a;n.prototype[u]=function(h,d){return!this[o](h,(f,c)=>!d(f,c))}}function en(n,i){const{name:t,type:e,direction:r}=i,a=t.slice(0,-1)+"Entries";n.prototype[a]=function(o){if(e!=="mixed"&&this.type!=="mixed"&&e!==this.type)return Le();o=""+o;const s=this._nodes.get(o);if(typeof s>"u")throw new C(`Graph.${a}: could not find the "${o}" node in the graph.`);return Zr(e==="mixed"?this.type:e,r,s)}}function tn(n){Kr.forEach(i=>{Xr(n,i),Jr(n,i),Qr(n,i),en(n,i)})}function tt(n,i,t,e,r){const a=e._nodes.values(),o=e.type;let s,u,h,d,l,f;for(;s=a.next(),s.done!==!0;){let c=!1;if(u=s.value,o!=="undirected"){d=u.out;for(h in d){l=d[h];do f=l.target,c=!0,r(u.key,f.key,u.attributes,f.attributes,l.key,l.attributes,l.undirected),l=l.next;while(l)}}if(o!=="directed"){d=u.undirected;for(h in d)if(!(i&&u.key>h)){l=d[h];do f=l.target,f.key!==h&&(f=l.source),c=!0,r(u.key,f.key,u.attributes,f.attributes,l.key,l.attributes,l.undirected),l=l.next;while(l)}}t&&!c&&r(u.key,null,u.attributes,null,null,null,null)}}function rn(n,i){const t={key:n};return Ei(i.attributes)||(t.attributes=Z({},i.attributes)),t}function nn(n,i,t){const e={key:i,source:t.source.key,target:t.target.key};return Ei(t.attributes)||(e.attributes=Z({},t.attributes)),n==="mixed"&&t.undirected&&(e.undirected=!0),e}function an(n){if(!J(n))throw new k('Graph.import: invalid serialized node. A serialized node should be a plain object with at least a "key" property.');if(!("key"in n))throw new k("Graph.import: serialized node is missing its key.");if("attributes"in n&&(!J(n.attributes)||n.attributes===null))throw new k("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.")}function on(n){if(!J(n))throw new k('Graph.import: invalid serialized edge. A serialized edge should be a plain object with at least a "source" & "target" property.');if(!("source"in n))throw new k("Graph.import: serialized edge is missing its source.");if(!("target"in n))throw new k("Graph.import: serialized edge is missing its target.");if("attributes"in n&&(!J(n.attributes)||n.attributes===null))throw new k("Graph.import: invalid attributes. Attributes should be a plain object, null or omitted.");if("undirected"in n&&typeof n.undirected!="boolean")throw new k("Graph.import: invalid undirectedness information. Undirected should be boolean or omitted.")}const sn=ur(),un=new Set(["directed","undirected","mixed"]),Bt=new Set(["domain","_events","_eventsCount","_maxListeners"]),hn=[{name:n=>`${n}Edge`,generateKey:!0},{name:n=>`${n}DirectedEdge`,generateKey:!0,type:"directed"},{name:n=>`${n}UndirectedEdge`,generateKey:!0,type:"undirected"},{name:n=>`${n}EdgeWithKey`},{name:n=>`${n}DirectedEdgeWithKey`,type:"directed"},{name:n=>`${n}UndirectedEdgeWithKey`,type:"undirected"}],dn={allowSelfLoops:!0,multi:!1,type:"mixed"};function ln(n,i,t){if(t&&!J(t))throw new k(`Graph.addNode: invalid attributes. Expecting an object but got "${t}"`);if(i=""+i,t=t||{},n._nodes.has(i))throw new I(`Graph.addNode: the "${i}" node already exist in the graph.`);const e=new n.NodeDataClass(i,t);return n._nodes.set(i,e),n.emit("nodeAdded",{key:i,attributes:t}),e}function Mt(n,i,t){const e=new n.NodeDataClass(i,t);return n._nodes.set(i,e),n.emit("nodeAdded",{key:i,attributes:t}),e}function ki(n,i,t,e,r,a,o,s){if(!e&&n.type==="undirected")throw new I(`Graph.${i}: you cannot add a directed edge to an undirected graph. Use the #.addEdge or #.addUndirectedEdge instead.`);if(e&&n.type==="directed")throw new I(`Graph.${i}: you cannot add an undirected edge to a directed graph. Use the #.addEdge or #.addDirectedEdge instead.`);if(s&&!J(s))throw new k(`Graph.${i}: invalid attributes. Expecting an object but got "${s}"`);if(a=""+a,o=""+o,s=s||{},!n.allowSelfLoops&&a===o)throw new I(`Graph.${i}: source & target are the same ("${a}"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`);const u=n._nodes.get(a),h=n._nodes.get(o);if(!u)throw new C(`Graph.${i}: source node "${a}" not found.`);if(!h)throw new C(`Graph.${i}: target node "${o}" not found.`);const d={key:null,undirected:e,source:a,target:o,attributes:s};if(t)r=n._edgeKeyGenerator();else if(r=""+r,n._edges.has(r))throw new I(`Graph.${i}: the "${r}" edge already exists in the graph.`);if(!n.multi&&(e?typeof u.undirected[o]<"u":typeof u.out[o]<"u"))throw new I(`Graph.${i}: an edge linking "${a}" to "${o}" already exists. If you really want to add multiple edges linking those nodes, you should create a multi graph by using the 'multi' option.`);const l=new Ge(e,r,u,h,s);n._edges.set(r,l);const f=a===o;return e?(u.undirectedDegree++,h.undirectedDegree++,f&&(u.undirectedLoops++,n._undirectedSelfLoopCount++)):(u.outDegree++,h.inDegree++,f&&(u.directedLoops++,n._directedSelfLoopCount++)),n.multi?l.attachMulti():l.attach(),e?n._undirectedSize++:n._directedSize++,d.key=r,n.emit("edgeAdded",d),r}function cn(n,i,t,e,r,a,o,s,u){if(!e&&n.type==="undirected")throw new I(`Graph.${i}: you cannot merge/update a directed edge to an undirected graph. Use the #.mergeEdge/#.updateEdge or #.addUndirectedEdge instead.`);if(e&&n.type==="directed")throw new I(`Graph.${i}: you cannot merge/update an undirected edge to a directed graph. Use the #.mergeEdge/#.updateEdge or #.addDirectedEdge instead.`);if(s){if(u){if(typeof s!="function")throw new k(`Graph.${i}: invalid updater function. Expecting a function but got "${s}"`)}else if(!J(s))throw new k(`Graph.${i}: invalid attributes. Expecting an object but got "${s}"`)}a=""+a,o=""+o;let h;if(u&&(h=s,s=void 0),!n.allowSelfLoops&&a===o)throw new I(`Graph.${i}: source & target are the same ("${a}"), thus creating a loop explicitly forbidden by this graph 'allowSelfLoops' option set to false.`);let d=n._nodes.get(a),l=n._nodes.get(o),f,c;if(!t&&(f=n._edges.get(r),f)){if((f.source.key!==a||f.target.key!==o)&&(!e||f.source.key!==o||f.target.key!==a))throw new I(`Graph.${i}: inconsistency detected when attempting to merge the "${r}" edge with "${a}" source & "${o}" target vs. ("${f.source.key}", "${f.target.key}").`);c=f}if(!c&&!n.multi&&d&&(c=e?d.undirected[o]:d.out[o]),c){const m=[c.key,!1,!1,!1];if(u?!h:!s)return m;if(u){const S=c.attributes;c.attributes=h(S),n.emit("edgeAttributesUpdated",{type:"replace",key:c.key,attributes:c.attributes})}else Z(c.attributes,s),n.emit("edgeAttributesUpdated",{type:"merge",key:c.key,attributes:c.attributes,data:s});return m}s=s||{},u&&h&&(s=h(s));const y={key:null,undirected:e,source:a,target:o,attributes:s};if(t)r=n._edgeKeyGenerator();else if(r=""+r,n._edges.has(r))throw new I(`Graph.${i}: the "${r}" edge already exists in the graph.`);let w=!1,T=!1;d||(d=Mt(n,a,{}),w=!0,a===o&&(l=d,T=!0)),l||(l=Mt(n,o,{}),T=!0),f=new Ge(e,r,d,l,s),n._edges.set(r,f);const D=a===o;return e?(d.undirectedDegree++,l.undirectedDegree++,D&&(d.undirectedLoops++,n._undirectedSelfLoopCount++)):(d.outDegree++,l.inDegree++,D&&(d.directedLoops++,n._directedSelfLoopCount++)),n.multi?f.attachMulti():f.attach(),e?n._undirectedSize++:n._directedSize++,y.key=r,n.emit("edgeAdded",y),[r,!0,w,T]}function xe(n,i){n._edges.delete(i.key);const{source:t,target:e,attributes:r}=i,a=i.undirected,o=t===e;a?(t.undirectedDegree--,e.undirectedDegree--,o&&(t.undirectedLoops--,n._undirectedSelfLoopCount--)):(t.outDegree--,e.inDegree--,o&&(t.directedLoops--,n._directedSelfLoopCount--)),n.multi?i.detachMulti():i.detach(),a?n._undirectedSize--:n._directedSize--,n.emit("edgeDropped",{key:i.key,attributes:r,source:t.key,target:e.key,undirected:a})}class j extends wi.EventEmitter{constructor(i){if(super(),i=Z({},dn,i),typeof i.multi!="boolean")throw new k(`Graph.constructor: invalid 'multi' option. Expecting a boolean but got "${i.multi}".`);if(!un.has(i.type))throw new k(`Graph.constructor: invalid 'type' option. Should be one of "mixed", "directed" or "undirected" but got "${i.type}".`);if(typeof i.allowSelfLoops!="boolean")throw new k(`Graph.constructor: invalid 'allowSelfLoops' option. Expecting a boolean but got "${i.allowSelfLoops}".`);const t=i.type==="mixed"?_i:i.type==="directed"?Ti:Si;ae(this,"NodeDataClass",t);const e="geid_"+sn()+"_";let r=0;const a=()=>{let o;do o=e+r++;while(this._edges.has(o));return o};ae(this,"_attributes",{}),ae(this,"_nodes",new Map),ae(this,"_edges",new Map),ae(this,"_directedSize",0),ae(this,"_undirectedSize",0),ae(this,"_directedSelfLoopCount",0),ae(this,"_undirectedSelfLoopCount",0),ae(this,"_edgeKeyGenerator",a),ae(this,"_options",i),Bt.forEach(o=>ae(this,o,this[o])),he(this,"order",()=>this._nodes.size),he(this,"size",()=>this._edges.size),he(this,"directedSize",()=>this._directedSize),he(this,"undirectedSize",()=>this._undirectedSize),he(this,"selfLoopCount",()=>this._directedSelfLoopCount+this._undirectedSelfLoopCount),he(this,"directedSelfLoopCount",()=>this._directedSelfLoopCount),he(this,"undirectedSelfLoopCount",()=>this._undirectedSelfLoopCount),he(this,"multi",this._options.multi),he(this,"type",this._options.type),he(this,"allowSelfLoops",this._options.allowSelfLoops),he(this,"implementation",()=>"graphology")}_resetInstanceCounters(){this._directedSize=0,this._undirectedSize=0,this._directedSelfLoopCount=0,this._undirectedSelfLoopCount=0}hasNode(i){return this._nodes.has(""+i)}hasDirectedEdge(i,t){if(this.type==="undirected")return!1;if(arguments.length===1){const e=""+i,r=this._edges.get(e);return!!r&&!r.undirected}else if(arguments.length===2){i=""+i,t=""+t;const e=this._nodes.get(i);return e?e.out.hasOwnProperty(t):!1}throw new k(`Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}hasUndirectedEdge(i,t){if(this.type==="directed")return!1;if(arguments.length===1){const e=""+i,r=this._edges.get(e);return!!r&&r.undirected}else if(arguments.length===2){i=""+i,t=""+t;const e=this._nodes.get(i);return e?e.undirected.hasOwnProperty(t):!1}throw new k(`Graph.hasDirectedEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}hasEdge(i,t){if(arguments.length===1){const e=""+i;return this._edges.has(e)}else if(arguments.length===2){i=""+i,t=""+t;const e=this._nodes.get(i);return e?typeof e.out<"u"&&e.out.hasOwnProperty(t)||typeof e.undirected<"u"&&e.undirected.hasOwnProperty(t):!1}throw new k(`Graph.hasEdge: invalid arity (${arguments.length}, instead of 1 or 2). You can either ask for an edge id or for the existence of an edge between a source & a target.`)}directedEdge(i,t){if(this.type==="undirected")return;if(i=""+i,t=""+t,this.multi)throw new I("Graph.directedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.directedEdges instead.");const e=this._nodes.get(i);if(!e)throw new C(`Graph.directedEdge: could not find the "${i}" source node in the graph.`);if(!this._nodes.has(t))throw new C(`Graph.directedEdge: could not find the "${t}" target node in the graph.`);const r=e.out&&e.out[t]||void 0;if(r)return r.key}undirectedEdge(i,t){if(this.type==="directed")return;if(i=""+i,t=""+t,this.multi)throw new I("Graph.undirectedEdge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.undirectedEdges instead.");const e=this._nodes.get(i);if(!e)throw new C(`Graph.undirectedEdge: could not find the "${i}" source node in the graph.`);if(!this._nodes.has(t))throw new C(`Graph.undirectedEdge: could not find the "${t}" target node in the graph.`);const r=e.undirected&&e.undirected[t]||void 0;if(r)return r.key}edge(i,t){if(this.multi)throw new I("Graph.edge: this method is irrelevant with multigraphs since there might be multiple edges between source & target. See #.edges instead.");i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.edge: could not find the "${i}" source node in the graph.`);if(!this._nodes.has(t))throw new C(`Graph.edge: could not find the "${t}" target node in the graph.`);const r=e.out&&e.out[t]||e.undirected&&e.undirected[t]||void 0;if(r)return r.key}areDirectedNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areDirectedNeighbors: could not find the "${i}" node in the graph.`);return this.type==="undirected"?!1:t in e.in||t in e.out}areOutNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areOutNeighbors: could not find the "${i}" node in the graph.`);return this.type==="undirected"?!1:t in e.out}areInNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areInNeighbors: could not find the "${i}" node in the graph.`);return this.type==="undirected"?!1:t in e.in}areUndirectedNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areUndirectedNeighbors: could not find the "${i}" node in the graph.`);return this.type==="directed"?!1:t in e.undirected}areNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areNeighbors: could not find the "${i}" node in the graph.`);return this.type!=="undirected"&&(t in e.in||t in e.out)||this.type!=="directed"&&t in e.undirected}areInboundNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areInboundNeighbors: could not find the "${i}" node in the graph.`);return this.type!=="undirected"&&t in e.in||this.type!=="directed"&&t in e.undirected}areOutboundNeighbors(i,t){i=""+i,t=""+t;const e=this._nodes.get(i);if(!e)throw new C(`Graph.areOutboundNeighbors: could not find the "${i}" node in the graph.`);return this.type!=="undirected"&&t in e.out||this.type!=="directed"&&t in e.undirected}inDegree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.inDegree: could not find the "${i}" node in the graph.`);return this.type==="undirected"?0:t.inDegree}outDegree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.outDegree: could not find the "${i}" node in the graph.`);return this.type==="undirected"?0:t.outDegree}directedDegree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.directedDegree: could not find the "${i}" node in the graph.`);return this.type==="undirected"?0:t.inDegree+t.outDegree}undirectedDegree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.undirectedDegree: could not find the "${i}" node in the graph.`);return this.type==="directed"?0:t.undirectedDegree}inboundDegree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.inboundDegree: could not find the "${i}" node in the graph.`);let e=0;return this.type!=="directed"&&(e+=t.undirectedDegree),this.type!=="undirected"&&(e+=t.inDegree),e}outboundDegree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.outboundDegree: could not find the "${i}" node in the graph.`);let e=0;return this.type!=="directed"&&(e+=t.undirectedDegree),this.type!=="undirected"&&(e+=t.outDegree),e}degree(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.degree: could not find the "${i}" node in the graph.`);let e=0;return this.type!=="directed"&&(e+=t.undirectedDegree),this.type!=="undirected"&&(e+=t.inDegree+t.outDegree),e}inDegreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.inDegreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);return this.type==="undirected"?0:t.inDegree-t.directedLoops}outDegreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.outDegreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);return this.type==="undirected"?0:t.outDegree-t.directedLoops}directedDegreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.directedDegreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);return this.type==="undirected"?0:t.inDegree+t.outDegree-t.directedLoops*2}undirectedDegreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.undirectedDegreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);return this.type==="directed"?0:t.undirectedDegree-t.undirectedLoops*2}inboundDegreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.inboundDegreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);let e=0,r=0;return this.type!=="directed"&&(e+=t.undirectedDegree,r+=t.undirectedLoops*2),this.type!=="undirected"&&(e+=t.inDegree,r+=t.directedLoops),e-r}outboundDegreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.outboundDegreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);let e=0,r=0;return this.type!=="directed"&&(e+=t.undirectedDegree,r+=t.undirectedLoops*2),this.type!=="undirected"&&(e+=t.outDegree,r+=t.directedLoops),e-r}degreeWithoutSelfLoops(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.degreeWithoutSelfLoops: could not find the "${i}" node in the graph.`);let e=0,r=0;return this.type!=="directed"&&(e+=t.undirectedDegree,r+=t.undirectedLoops*2),this.type!=="undirected"&&(e+=t.inDegree+t.outDegree,r+=t.directedLoops*2),e-r}source(i){i=""+i;const t=this._edges.get(i);if(!t)throw new C(`Graph.source: could not find the "${i}" edge in the graph.`);return t.source.key}target(i){i=""+i;const t=this._edges.get(i);if(!t)throw new C(`Graph.target: could not find the "${i}" edge in the graph.`);return t.target.key}extremities(i){i=""+i;const t=this._edges.get(i);if(!t)throw new C(`Graph.extremities: could not find the "${i}" edge in the graph.`);return[t.source.key,t.target.key]}opposite(i,t){i=""+i,t=""+t;const e=this._edges.get(t);if(!e)throw new C(`Graph.opposite: could not find the "${t}" edge in the graph.`);const r=e.source.key,a=e.target.key;if(i===r)return a;if(i===a)return r;throw new C(`Graph.opposite: the "${i}" node is not attached to the "${t}" edge (${r}, ${a}).`)}hasExtremity(i,t){i=""+i,t=""+t;const e=this._edges.get(i);if(!e)throw new C(`Graph.hasExtremity: could not find the "${i}" edge in the graph.`);return e.source.key===t||e.target.key===t}isUndirected(i){i=""+i;const t=this._edges.get(i);if(!t)throw new C(`Graph.isUndirected: could not find the "${i}" edge in the graph.`);return t.undirected}isDirected(i){i=""+i;const t=this._edges.get(i);if(!t)throw new C(`Graph.isDirected: could not find the "${i}" edge in the graph.`);return!t.undirected}isSelfLoop(i){i=""+i;const t=this._edges.get(i);if(!t)throw new C(`Graph.isSelfLoop: could not find the "${i}" edge in the graph.`);return t.source===t.target}addNode(i,t){return ln(this,i,t).key}mergeNode(i,t){if(t&&!J(t))throw new k(`Graph.mergeNode: invalid attributes. Expecting an object but got "${t}"`);i=""+i,t=t||{};let e=this._nodes.get(i);return e?(t&&(Z(e.attributes,t),this.emit("nodeAttributesUpdated",{type:"merge",key:i,attributes:e.attributes,data:t})),[i,!1]):(e=new this.NodeDataClass(i,t),this._nodes.set(i,e),this.emit("nodeAdded",{key:i,attributes:t}),[i,!0])}updateNode(i,t){if(t&&typeof t!="function")throw new k(`Graph.updateNode: invalid updater function. Expecting a function but got "${t}"`);i=""+i;let e=this._nodes.get(i);if(e){if(t){const a=e.attributes;e.attributes=t(a),this.emit("nodeAttributesUpdated",{type:"replace",key:i,attributes:e.attributes})}return[i,!1]}const r=t?t({}):{};return e=new this.NodeDataClass(i,r),this._nodes.set(i,e),this.emit("nodeAdded",{key:i,attributes:r}),[i,!0]}dropNode(i){i=""+i;const t=this._nodes.get(i);if(!t)throw new C(`Graph.dropNode: could not find the "${i}" node in the graph.`);let e;if(this.type!=="undirected"){for(const r in t.out){e=t.out[r];do xe(this,e),e=e.next;while(e)}for(const r in t.in){e=t.in[r];do xe(this,e),e=e.next;while(e)}}if(this.type!=="directed")for(const r in t.undirected){e=t.undirected[r];do xe(this,e),e=e.next;while(e)}this._nodes.delete(i),this.emit("nodeDropped",{key:i,attributes:t.attributes})}dropEdge(i){let t;if(arguments.length>1){const e=""+arguments[0],r=""+arguments[1];if(t=oe(this,e,r,this.type),!t)throw new C(`Graph.dropEdge: could not find the "${e}" -> "${r}" edge in the graph.`)}else if(i=""+i,t=this._edges.get(i),!t)throw new C(`Graph.dropEdge: could not find the "${i}" edge in the graph.`);return xe(this,t),this}dropDirectedEdge(i,t){if(arguments.length<2)throw new I("Graph.dropDirectedEdge: it does not make sense to try and drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new I("Graph.dropDirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");i=""+i,t=""+t;const e=oe(this,i,t,"directed");if(!e)throw new C(`Graph.dropDirectedEdge: could not find a "${i}" -> "${t}" edge in the graph.`);return xe(this,e),this}dropUndirectedEdge(i,t){if(arguments.length<2)throw new I("Graph.dropUndirectedEdge: it does not make sense to drop a directed edge by key. What if the edge with this key is undirected? Use #.dropEdge for this purpose instead.");if(this.multi)throw new I("Graph.dropUndirectedEdge: cannot use a {source,target} combo when dropping an edge in a MultiGraph since we cannot infer the one you want to delete as there could be multiple ones.");const e=oe(this,i,t,"undirected");if(!e)throw new C(`Graph.dropUndirectedEdge: could not find a "${i}" -> "${t}" edge in the graph.`);return xe(this,e),this}clear(){this._edges.clear(),this._nodes.clear(),this._resetInstanceCounters(),this.emit("cleared")}clearEdges(){const i=this._nodes.values();let t;for(;t=i.next(),t.done!==!0;)t.value.clear();this._edges.clear(),this._resetInstanceCounters(),this.emit("edgesCleared")}getAttribute(i){return this._attributes[i]}getAttributes(){return this._attributes}hasAttribute(i){return this._attributes.hasOwnProperty(i)}setAttribute(i,t){return this._attributes[i]=t,this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:i}),this}updateAttribute(i,t){if(typeof t!="function")throw new k("Graph.updateAttribute: updater should be a function.");const e=this._attributes[i];return this._attributes[i]=t(e),this.emit("attributesUpdated",{type:"set",attributes:this._attributes,name:i}),this}removeAttribute(i){return delete this._attributes[i],this.emit("attributesUpdated",{type:"remove",attributes:this._attributes,name:i}),this}replaceAttributes(i){if(!J(i))throw new k("Graph.replaceAttributes: provided attributes are not a plain object.");return this._attributes=i,this.emit("attributesUpdated",{type:"replace",attributes:this._attributes}),this}mergeAttributes(i){if(!J(i))throw new k("Graph.mergeAttributes: provided attributes are not a plain object.");return Z(this._attributes,i),this.emit("attributesUpdated",{type:"merge",attributes:this._attributes,data:i}),this}updateAttributes(i){if(typeof i!="function")throw new k("Graph.updateAttributes: provided updater is not a function.");return this._attributes=i(this._attributes),this.emit("attributesUpdated",{type:"update",attributes:this._attributes}),this}updateEachNodeAttributes(i,t){if(typeof i!="function")throw new k("Graph.updateEachNodeAttributes: expecting an updater function.");if(t&&!$t(t))throw new k("Graph.updateEachNodeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const e=this._nodes.values();let r,a;for(;r=e.next(),r.done!==!0;)a=r.value,a.attributes=i(a.key,a.attributes);this.emit("eachNodeAttributesUpdated",{hints:t||null})}updateEachEdgeAttributes(i,t){if(typeof i!="function")throw new k("Graph.updateEachEdgeAttributes: expecting an updater function.");if(t&&!$t(t))throw new k("Graph.updateEachEdgeAttributes: invalid hints. Expecting an object having the following shape: {attributes?: [string]}");const e=this._edges.values();let r,a,o,s;for(;r=e.next(),r.done!==!0;)a=r.value,o=a.source,s=a.target,a.attributes=i(a.key,a.attributes,o.key,s.key,o.attributes,s.attributes,a.undirected);this.emit("eachEdgeAttributesUpdated",{hints:t||null})}forEachAdjacencyEntry(i){if(typeof i!="function")throw new k("Graph.forEachAdjacencyEntry: expecting a callback.");tt(!1,!1,!1,this,i)}forEachAdjacencyEntryWithOrphans(i){if(typeof i!="function")throw new k("Graph.forEachAdjacencyEntryWithOrphans: expecting a callback.");tt(!1,!1,!0,this,i)}forEachAssymetricAdjacencyEntry(i){if(typeof i!="function")throw new k("Graph.forEachAssymetricAdjacencyEntry: expecting a callback.");tt(!1,!0,!1,this,i)}forEachAssymetricAdjacencyEntryWithOrphans(i){if(typeof i!="function")throw new k("Graph.forEachAssymetricAdjacencyEntryWithOrphans: expecting a callback.");tt(!1,!0,!0,this,i)}nodes(){return Array.from(this._nodes.keys())}forEachNode(i){if(typeof i!="function")throw new k("Graph.forEachNode: expecting a callback.");const t=this._nodes.values();let e,r;for(;e=t.next(),e.done!==!0;)r=e.value,i(r.key,r.attributes)}findNode(i){if(typeof i!="function")throw new k("Graph.findNode: expecting a callback.");const t=this._nodes.values();let e,r;for(;e=t.next(),e.done!==!0;)if(r=e.value,i(r.key,r.attributes))return r.key}mapNodes(i){if(typeof i!="function")throw new k("Graph.mapNode: expecting a callback.");const t=this._nodes.values();let e,r;const a=new Array(this.order);let o=0;for(;e=t.next(),e.done!==!0;)r=e.value,a[o++]=i(r.key,r.attributes);return a}someNode(i){if(typeof i!="function")throw new k("Graph.someNode: expecting a callback.");const t=this._nodes.values();let e,r;for(;e=t.next(),e.done!==!0;)if(r=e.value,i(r.key,r.attributes))return!0;return!1}everyNode(i){if(typeof i!="function")throw new k("Graph.everyNode: expecting a callback.");const t=this._nodes.values();let e,r;for(;e=t.next(),e.done!==!0;)if(r=e.value,!i(r.key,r.attributes))return!1;return!0}filterNodes(i){if(typeof i!="function")throw new k("Graph.filterNodes: expecting a callback.");const t=this._nodes.values();let e,r;const a=[];for(;e=t.next(),e.done!==!0;)r=e.value,i(r.key,r.attributes)&&a.push(r.key);return a}reduceNodes(i,t){if(typeof i!="function")throw new k("Graph.reduceNodes: expecting a callback.");if(arguments.length<2)throw new k("Graph.reduceNodes: missing initial value. You must provide it because the callback takes more than one argument and we cannot infer the initial value from the first iteration, as you could with a simple array.");let e=t;const r=this._nodes.values();let a,o;for(;a=r.next(),a.done!==!0;)o=a.value,e=i(e,o.key,o.attributes);return e}nodeEntries(){const i=this._nodes.values();return{[Symbol.iterator](){return this},next(){const t=i.next();if(t.done)return t;const e=t.value;return{value:{node:e.key,attributes:e.attributes},done:!1}}}}export(){const i=new Array(this._nodes.size);let t=0;this._nodes.forEach((r,a)=>{i[t++]=rn(a,r)});const e=new Array(this._edges.size);return t=0,this._edges.forEach((r,a)=>{e[t++]=nn(this.type,a,r)}),{options:{type:this.type,multi:this.multi,allowSelfLoops:this.allowSelfLoops},attributes:this.getAttributes(),nodes:i,edges:e}}import(i,t=!1){if(i instanceof j)return i.forEachNode((u,h)=>{t?this.mergeNode(u,h):this.addNode(u,h)}),i.forEachEdge((u,h,d,l,f,c,y)=>{t?y?this.mergeUndirectedEdgeWithKey(u,d,l,h):this.mergeDirectedEdgeWithKey(u,d,l,h):y?this.addUndirectedEdgeWithKey(u,d,l,h):this.addDirectedEdgeWithKey(u,d,l,h)}),this;if(!J(i))throw new k("Graph.import: invalid argument. Expecting a serialized graph or, alternatively, a Graph instance.");if(i.attributes){if(!J(i.attributes))throw new k("Graph.import: invalid attributes. Expecting a plain object.");t?this.mergeAttributes(i.attributes):this.replaceAttributes(i.attributes)}let e,r,a,o,s;if(i.nodes){if(a=i.nodes,!Array.isArray(a))throw new k("Graph.import: invalid nodes. Expecting an array.");for(e=0,r=a.length;e{const a=Z({},e.attributes);e=new t.NodeDataClass(r,a),t._nodes.set(r,e)}),t}copy(i){if(i=i||{},typeof i.type=="string"&&i.type!==this.type&&i.type!=="mixed")throw new I(`Graph.copy: cannot create an incompatible copy from "${this.type}" type to "${i.type}" because this would mean losing information about the current graph.`);if(typeof i.multi=="boolean"&&i.multi!==this.multi&&i.multi!==!0)throw new I("Graph.copy: cannot create an incompatible copy by downgrading a multi graph to a simple one because this would mean losing information about the current graph.");if(typeof i.allowSelfLoops=="boolean"&&i.allowSelfLoops!==this.allowSelfLoops&&i.allowSelfLoops!==!0)throw new I("Graph.copy: cannot create an incompatible copy from a graph allowing self loops to one that does not because this would mean losing information about the current graph.");const t=this.emptyCopy(i),e=this._edges.values();let r,a;for(;r=e.next(),r.done!==!0;)a=r.value,ki(t,"copy",!1,a.undirected,a.key,a.source.key,a.target.key,Z({},a.attributes));return t}toJSON(){return this.export()}toString(){return"[object Graph]"}inspect(){const i={};this._nodes.forEach((a,o)=>{i[o]=a.attributes});const t={},e={};this._edges.forEach((a,o)=>{const s=a.undirected?"--":"->";let u="",h=a.source.key,d=a.target.key,l;a.undirected&&h>d&&(l=h,h=d,d=l);const f=`(${h})${s}(${d})`;o.startsWith("geid_")?this.multi&&(typeof e[f]>"u"?e[f]=0:e[f]++,u+=`${e[f]}. `):u+=`[${o}]: `,u+=f,t[u]=a.attributes});const r={};for(const a in this)this.hasOwnProperty(a)&&!Bt.has(a)&&typeof this[a]!="function"&&typeof a!="symbol"&&(r[a]=this[a]);return r.attributes=this._attributes,r.nodes=i,r.edges=t,ae(r,"constructor",this.constructor),r}}typeof Symbol<"u"&&(j.prototype[Symbol.for("nodejs.util.inspect.custom")]=j.prototype.inspect);hn.forEach(n=>{["add","merge","update"].forEach(i=>{const t=n.name(i),e=i==="add"?ki:cn;n.generateKey?j.prototype[t]=function(r,a,o){return e(this,t,!0,(n.type||this.type)==="undirected",null,r,a,o,i==="update")}:j.prototype[t]=function(r,a,o,s){return e(this,t,!1,(n.type||this.type)==="undirected",r,a,o,s,i==="update")}})});wr(j);Lr(j);qr(j);tn(j);class Di extends j{constructor(i){const t=Z({type:"directed"},i);if("multi"in t&&t.multi!==!1)throw new k("DirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(t.type!=="directed")throw new k('DirectedGraph.from: inconsistent "'+t.type+'" type in given options!');super(t)}}class Li extends j{constructor(i){const t=Z({type:"undirected"},i);if("multi"in t&&t.multi!==!1)throw new k("UndirectedGraph.from: inconsistent indication that the graph should be multi in given options!");if(t.type!=="undirected")throw new k('UndirectedGraph.from: inconsistent "'+t.type+'" type in given options!');super(t)}}class Gi extends j{constructor(i){const t=Z({multi:!0},i);if("multi"in t&&t.multi!==!0)throw new k("MultiGraph.from: inconsistent indication that the graph should be simple in given options!");super(t)}}class Fi extends j{constructor(i){const t=Z({type:"directed",multi:!0},i);if("multi"in t&&t.multi!==!0)throw new k("MultiDirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(t.type!=="directed")throw new k('MultiDirectedGraph.from: inconsistent "'+t.type+'" type in given options!');super(t)}}class Ni extends j{constructor(i){const t=Z({type:"undirected",multi:!0},i);if("multi"in t&&t.multi!==!0)throw new k("MultiUndirectedGraph.from: inconsistent indication that the graph should be simple in given options!");if(t.type!=="undirected")throw new k('MultiUndirectedGraph.from: inconsistent "'+t.type+'" type in given options!');super(t)}}function Fe(n){n.from=function(i,t){const e=Z({},i.options,t),r=new n(e);return r.import(i),r}}Fe(j);Fe(Di);Fe(Li);Fe(Gi);Fe(Fi);Fe(Ni);j.Graph=j;j.DirectedGraph=Di;j.UndirectedGraph=Li;j.MultiGraph=Gi;j.MultiDirectedGraph=Fi;j.MultiUndirectedGraph=Ni;j.InvalidArgumentsGraphError=k;j.NotFoundGraphError=C;j.UsageGraphError=I;var ft,Ht;function Pi(){return Ht||(Ht=1,ft=function(i){return i!==null&&typeof i=="object"&&typeof i.addUndirectedEdgeWithKey=="function"&&typeof i.dropNode=="function"&&typeof i.multi=="boolean"}),ft}var ze={},Wt;function fn(){if(Wt)return ze;Wt=1;function n(e){return typeof e!="number"||isNaN(e)?1:e}function i(e,r){var a={},o=function(h){return typeof h>"u"?r:h};typeof r=="function"&&(o=r);var s=function(h){return o(h[e])},u=function(){return o(void 0)};return typeof e=="string"?(a.fromAttributes=s,a.fromGraph=function(h,d){return s(h.getNodeAttributes(d))},a.fromEntry=function(h,d){return s(d)}):typeof e=="function"?(a.fromAttributes=function(){throw new Error("graphology-utils/getters/createNodeValueGetter: irrelevant usage.")},a.fromGraph=function(h,d){return o(e(d,h.getNodeAttributes(d)))},a.fromEntry=function(h,d){return o(e(h,d))}):(a.fromAttributes=u,a.fromGraph=u,a.fromEntry=u),a}function t(e,r){var a={},o=function(h){return typeof h>"u"?r:h};typeof r=="function"&&(o=r);var s=function(h){return o(h[e])},u=function(){return o(void 0)};return typeof e=="string"?(a.fromAttributes=s,a.fromGraph=function(h,d){return s(h.getEdgeAttributes(d))},a.fromEntry=function(h,d){return s(d)},a.fromPartialEntry=a.fromEntry,a.fromMinimalEntry=a.fromEntry):typeof e=="function"?(a.fromAttributes=function(){throw new Error("graphology-utils/getters/createEdgeValueGetter: irrelevant usage.")},a.fromGraph=function(h,d){var l=h.extremities(d);return o(e(d,h.getEdgeAttributes(d),l[0],l[1],h.getNodeAttributes(l[0]),h.getNodeAttributes(l[1]),h.isUndirected(d)))},a.fromEntry=function(h,d,l,f,c,y,w){return o(e(h,d,l,f,c,y,w))},a.fromPartialEntry=function(h,d,l,f){return o(e(h,d,l,f))},a.fromMinimalEntry=function(h,d){return o(e(h,d))}):(a.fromAttributes=u,a.fromGraph=u,a.fromEntry=u,a.fromMinimalEntry=u),a}return ze.createNodeValueGetter=i,ze.createEdgeValueGetter=t,ze.createEdgeWeightGetter=function(e){return t(e,n)},ze}var gt,jt;function gn(){if(jt)return gt;jt=1;var n=0,i=1,t=2,e=3,r=4,a=5,o=6,s=7,u=8,h=9,d=0,l=1,f=2,c=0,y=1,w=2,T=3,D=4,m=5,S=6,p=7,b=8,R=3,A=10,G=3,F=9,P=10;return gt=function(z,g,K){var te,x,v,$,W,X,ie,Y,N,Ne,re=g.length,tr=K.length,Pe=z.adjustSizes,ir=z.barnesHutTheta*z.barnesHutTheta,qe,q,B,M,fe,U,O,E=[];for(v=0;vYe?(Ee-=(Ke-Ye)/2,Re=Ee+Ke):(we-=(Ye-Ke)/2,Se=we+Ye),E[0+c]=-1,E[0+y]=(we+Se)/2,E[0+w]=(Ee+Re)/2,E[0+T]=Math.max(Se-we,Re-Ee),E[0+D]=-1,E[0+m]=-1,E[0+S]=0,E[0+p]=0,E[0+b]=0,te=1,v=0;v=0){g[v+n]=0)if(U=Math.pow(g[v+n]-E[x+p],2)+Math.pow(g[v+i]-E[x+b],2),Ne=E[x+T],4*Ne*Ne/U0?(O=q*g[v+o]*E[x+S]/U,g[v+t]+=B*O,g[v+e]+=M*O):U<0&&(O=-q*g[v+o]*E[x+S]/Math.sqrt(U),g[v+t]+=B*O,g[v+e]+=M*O):U>0&&(O=q*g[v+o]*E[x+S]/U,g[v+t]+=B*O,g[v+e]+=M*O),x=E[x+D],x<0)break;continue}else{x=E[x+m];continue}else{if(X=E[x+c],X>=0&&X!==v&&(B=g[v+n]-g[X+n],M=g[v+i]-g[X+i],U=B*B+M*M,Pe===!0?U>0?(O=q*g[v+o]*g[X+o]/U,g[v+t]+=B*O,g[v+e]+=M*O):U<0&&(O=-q*g[v+o]*g[X+o]/Math.sqrt(U),g[v+t]+=B*O,g[v+e]+=M*O):U>0&&(O=q*g[v+o]*g[X+o]/U,g[v+t]+=B*O,g[v+e]+=M*O)),x=E[x+D],x<0)break;continue}else for(q=z.scalingRatio,$=0;$0?(O=q*g[$+o]*g[W+o]/U/U,g[$+t]+=B*O,g[$+e]+=M*O,g[W+t]-=B*O,g[W+e]-=M*O):U<0&&(O=100*q*g[$+o]*g[W+o],g[$+t]+=B*O,g[$+e]+=M*O,g[W+t]-=B*O,g[W+e]-=M*O)):(U=Math.sqrt(B*B+M*M),U>0&&(O=q*g[$+o]*g[W+o]/U/U,g[$+t]+=B*O,g[$+e]+=M*O,g[W+t]-=B*O,g[W+e]-=M*O));for(N=z.gravity/z.scalingRatio,q=z.scalingRatio,v=0;v0&&(O=q*g[v+o]*N):U>0&&(O=q*g[v+o]*N/U),g[v+t]-=B*O,g[v+e]-=M*O;for(q=1*(z.outboundAttractionDistribution?qe:1),ie=0;ie0&&(O=-q*fe*Math.log(1+U)/U/g[$+o]):U>0&&(O=-q*fe*Math.log(1+U)/U):z.outboundAttractionDistribution?U>0&&(O=-q*fe/g[$+o]):U>0&&(O=-q*fe)):(U=Math.sqrt(Math.pow(B,2)+Math.pow(M,2)),z.linLogMode?z.outboundAttractionDistribution?U>0&&(O=-q*fe*Math.log(1+U)/U/g[$+o]):U>0&&(O=-q*fe*Math.log(1+U)/U):z.outboundAttractionDistribution?(U=1,O=-q*fe/g[$+o]):(U=1,O=-q*fe)),U>0&&(g[$+t]+=B*O,g[$+e]+=M*O,g[W+t]-=B*O,g[W+e]-=M*O);var Ze,Ie,Xe,_e,Je,Qe;if(Pe===!0)for(v=0;vP&&(g[v+t]=g[v+t]*P/Ze,g[v+e]=g[v+e]*P/Ze),Ie=g[v+o]*Math.sqrt((g[v+r]-g[v+t])*(g[v+r]-g[v+t])+(g[v+a]-g[v+e])*(g[v+a]-g[v+e])),Xe=Math.sqrt((g[v+r]+g[v+t])*(g[v+r]+g[v+t])+(g[v+a]+g[v+e])*(g[v+a]+g[v+e]))/2,_e=.1*Math.log(1+Xe)/(1+Math.sqrt(Ie)),Je=g[v+n]+g[v+t]*(_e/z.slowDown),g[v+n]=Je,Qe=g[v+i]+g[v+e]*(_e/z.slowDown),g[v+i]=Qe);else for(v=0;v=0)?{message:"the `scalingRatio` setting should be a number >= 0."}:"strongGravityMode"in t&&typeof t.strongGravityMode!="boolean"?{message:"the `strongGravityMode` setting should be a boolean."}:"gravity"in t&&!(typeof t.gravity=="number"&&t.gravity>=0)?{message:"the `gravity` setting should be a number >= 0."}:"slowDown"in t&&!(typeof t.slowDown=="number"||t.slowDown>=0)?{message:"the `slowDown` setting should be a number >= 0."}:"barnesHutOptimize"in t&&typeof t.barnesHutOptimize!="boolean"?{message:"the `barnesHutOptimize` setting should be a boolean."}:"barnesHutTheta"in t&&!(typeof t.barnesHutTheta=="number"&&t.barnesHutTheta>=0)?{message:"the `barnesHutTheta` setting should be a number >= 0."}:null},ge.graphToByteArrays=function(t,e){var r=t.order,a=t.size,o={},s,u=new Float32Array(r*n),h=new Float32Array(a*i);return s=0,t.forEachNode(function(d,l){o[d]=s,u[s]=l.x,u[s+1]=l.y,u[s+2]=0,u[s+3]=0,u[s+4]=0,u[s+5]=0,u[s+6]=1,u[s+7]=1,u[s+8]=l.size||1,u[s+9]=l.fixed?1:0,s+=n}),s=0,t.forEachEdge(function(d,l,f,c,y,w,T){var D=o[f],m=o[c],S=e(d,l,f,c,y,w,T);u[D+6]+=S,u[m+6]+=S,h[s]=D,h[s+1]=m,h[s+2]=S,s+=i}),{nodes:u,edges:h}},ge.assignLayoutChanges=function(t,e,r){var a=0;t.updateEachNodeAttributes(function(o,s){return s.x=e[a],s.y=e[a+1],a+=n,r?r(o,s):s})},ge.readGraphPositions=function(t,e){var r=0;t.forEachNode(function(a,o){e[r]=o.x,e[r+1]=o.y,r+=n})},ge.collectLayoutChanges=function(t,e,r){for(var a=t.nodes(),o={},s=0,u=0,h=e.length;s2e3,strongGravityMode:!0,gravity:.05,scalingRatio:10,slowDown:1+Math.log(h)}}var s=a.bind(null,!1);return s.assign=a.bind(null,!0),s.inferSettings=o,vt=s,vt}var yn=mn();const it=bi(yn);function bn(n,i){if(typeof n!="object"||!n)return n;var t=n[Symbol.toPrimitive];if(t!==void 0){var e=t.call(n,i);if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}function je(n){var i=bn(n,"string");return typeof i=="symbol"?i:i+""}function Q(n,i){if(!(n instanceof i))throw new TypeError("Cannot call a class as a function")}function Yt(n,i){for(var t=0;tn.length)&&(i=n.length);for(var t=0,e=Array(i);t>>16,t=(n&65280)>>>8,e=n&255,r=255,a=zi(i,t,e,r);return bt[n]=a,a}function Zt(n,i,t,e){return t+(i<<8)+(n<<16)}function Xt(n,i,t,e,r,a){var o=Math.floor(t/a*r),s=Math.floor(n.drawingBufferHeight/a-e/a*r),u=new Uint8Array(4);n.bindFramebuffer(n.FRAMEBUFFER,i),n.readPixels(o,s,1,1,n.RGBA,n.UNSIGNED_BYTE,u);var h=De(u,4),d=h[0],l=h[1],f=h[2],c=h[3];return[d,l,f,c]}function _(n,i,t){return(i=je(i))in n?Object.defineProperty(n,i,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[i]=t,n}function Jt(n,i){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(n);i&&(e=e.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,e)}return t}function L(n){for(var i=1;i{throw TypeError(t)};var _W=(t,e,n)=>e in t?bW(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Gs=(t,e,n)=>_W(t,typeof e!="symbol"?e+"":e,n),QM=(t,e,n)=>e.has(t)||BN("Cannot "+n);var ge=(t,e,n)=>(QM(t,e,"read from private field"),n?n.call(t):e.get(t)),$t=(t,e,n)=>e.has(t)?BN("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),St=(t,e,n,r)=>(QM(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),_n=(t,e,n)=>(QM(t,e,"access private method"),n);var db=(t,e,n,r)=>({set _(i){St(t,e,i,n)},get _(){return ge(t,e,r)}});function wW(t,e){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();function V1(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var JM={exports:{}},n0={},eE={exports:{}},gn={};/** +var bW=Object.defineProperty;var BN=t=>{throw TypeError(t)};var _W=(t,e,n)=>e in t?bW(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Gs=(t,e,n)=>_W(t,typeof e!="symbol"?e+"":e,n),QM=(t,e,n)=>e.has(t)||BN("Cannot "+n);var ge=(t,e,n)=>(QM(t,e,"read from private field"),n?n.call(t):e.get(t)),$t=(t,e,n)=>e.has(t)?BN("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),Mt=(t,e,n,r)=>(QM(t,e,"write to private field"),r?r.call(t,n):e.set(t,n),n),_n=(t,e,n)=>(QM(t,e,"access private method"),n);var db=(t,e,n,r)=>({set _(i){Mt(t,e,i,n)},get _(){return ge(t,e,r)}});function wW(t,e){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();function V1(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var JM={exports:{}},n0={},eE={exports:{}},gn={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var bW=Object.defineProperty;var BN=t=>{throw TypeError(t)};var _W=(t,e,n)=>e in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var HN;function SW(){if(HN)return gn;HN=1;var t=Symbol.for("react.element"),e=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),o=Symbol.for("react.context"),a=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),c=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),f=Symbol.iterator;function m(V){return V===null||typeof V!="object"?null:(V=f&&V[f]||V["@@iterator"],typeof V=="function"?V:null)}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},x=Object.assign,S={};function w(V,q,pe){this.props=V,this.context=q,this.refs=S,this.updater=pe||y}w.prototype.isReactComponent={},w.prototype.setState=function(V,q){if(typeof V!="object"&&typeof V!="function"&&V!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,V,q,"setState")},w.prototype.forceUpdate=function(V){this.updater.enqueueForceUpdate(this,V,"forceUpdate")};function _(){}_.prototype=w.prototype;function E(V,q,pe){this.props=V,this.context=q,this.refs=S,this.updater=pe||y}var T=E.prototype=new _;T.constructor=E,x(T,w.prototype),T.isPureReactComponent=!0;var C=Array.isArray,O=Object.prototype.hasOwnProperty,N={current:null},D={key:!0,ref:!0,__self:!0,__source:!0};function F(V,q,pe){var ae,le={},be=null,Se=null;if(q!=null)for(ae in q.ref!==void 0&&(Se=q.ref),q.key!==void 0&&(be=""+q.key),q)O.call(q,ae)&&!D.hasOwnProperty(ae)&&(le[ae]=q[ae]);var qe=arguments.length-2;if(qe===1)le.children=pe;else if(1{throw TypeError(t)};var _W=(t,e,n)=>e in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var GN;function MW(){if(GN)return n0;GN=1;var t=Wh(),e=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function o(a,l,c){var d,f={},m=null,y=null;c!==void 0&&(m=""+c),l.key!==void 0&&(m=""+l.key),l.ref!==void 0&&(y=l.ref);for(d in l)r.call(l,d)&&!s.hasOwnProperty(d)&&(f[d]=l[d]);if(a&&a.defaultProps)for(d in l=a.defaultProps,l)f[d]===void 0&&(f[d]=l[d]);return{$$typeof:e,type:a,key:m,ref:y,props:f,_owner:i.current}}return n0.Fragment=n,n0.jsx=o,n0.jsxs=o,n0}var WN;function EW(){return WN||(WN=1,JM.exports=MW()),JM.exports}var g=EW(),R=Wh();const WU=V1(R),G1=wW({__proto__:null,default:WU},[R]);var fb={},tE={exports:{}},Ws={},nE={exports:{}},rE={};/** + */var GN;function MW(){if(GN)return n0;GN=1;var t=$h(),e=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function o(a,l,c){var d,f={},m=null,y=null;c!==void 0&&(m=""+c),l.key!==void 0&&(m=""+l.key),l.ref!==void 0&&(y=l.ref);for(d in l)r.call(l,d)&&!s.hasOwnProperty(d)&&(f[d]=l[d]);if(a&&a.defaultProps)for(d in l=a.defaultProps,l)f[d]===void 0&&(f[d]=l[d]);return{$$typeof:e,type:a,key:m,ref:y,props:f,_owner:i.current}}return n0.Fragment=n,n0.jsx=o,n0.jsxs=o,n0}var WN;function EW(){return WN||(WN=1,JM.exports=MW()),JM.exports}var g=EW(),R=$h();const WU=V1(R),G1=wW({__proto__:null,default:WU},[R]);var fb={},tE={exports:{}},Ws={},nE={exports:{}},rE={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var bW=Object.defineProperty;var BN=t=>{throw TypeError(t)};var _W=(t,e,n)=>e in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var $N;function AW(){return $N||($N=1,(function(t){function e(B,J){var Y=B.length;B.push(J);e:for(;0>>1,q=B[V];if(0>>1;Vi(le,Y))bei(Se,le)?(B[V]=Se,B[be]=Y,V=be):(B[V]=le,B[ae]=Y,V=ae);else if(bei(Se,Y))B[V]=Se,B[be]=Y,V=be;else break e}}return J}function i(B,J){var Y=B.sortIndex-J.sortIndex;return Y!==0?Y:B.id-J.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],c=[],d=1,f=null,m=3,y=!1,x=!1,S=!1,w=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(B){for(var J=n(c);J!==null;){if(J.callback===null)r(c);else if(J.startTime<=B)r(c),J.sortIndex=J.expirationTime,e(l,J);else break;J=n(c)}}function C(B){if(S=!1,T(B),!x)if(n(l)!==null)x=!0,se(O);else{var J=n(c);J!==null&&fe(C,J.startTime-B)}}function O(B,J){x=!1,S&&(S=!1,_(F),F=-1),y=!0;var Y=m;try{for(T(J),f=n(l);f!==null&&(!(f.expirationTime>J)||B&&!U());){var V=f.callback;if(typeof V=="function"){f.callback=null,m=f.priorityLevel;var q=V(f.expirationTime<=J);J=t.unstable_now(),typeof q=="function"?f.callback=q:f===n(l)&&r(l),T(J)}else r(l);f=n(l)}if(f!==null)var pe=!0;else{var ae=n(c);ae!==null&&fe(C,ae.startTime-J),pe=!1}return pe}finally{f=null,m=Y,y=!1}}var N=!1,D=null,F=-1,G=5,k=-1;function U(){return!(t.unstable_now()-kB||125V?(B.sortIndex=Y,e(c,B),n(l)===null&&B===n(c)&&(S?(_(F),F=-1):S=!0,fe(C,Y-V))):(B.sortIndex=q,e(l,B),x||y||(x=!0,se(O))),B},t.unstable_shouldYield=U,t.unstable_wrapCallback=function(B){var J=m;return function(){var Y=m;m=J;try{return B.apply(this,arguments)}finally{m=Y}}}})(rE)),rE}var XN;function TW(){return XN||(XN=1,nE.exports=AW()),nE.exports}/** + */var $N;function AW(){return $N||($N=1,(function(t){function e(B,J){var Y=B.length;B.push(J);e:for(;0>>1,q=B[V];if(0>>1;Vi(ce,Y))bei(Se,ce)?(B[V]=Se,B[be]=Y,V=be):(B[V]=ce,B[le]=Y,V=le);else if(bei(Se,Y))B[V]=Se,B[be]=Y,V=be;else break e}}return J}function i(B,J){var Y=B.sortIndex-J.sortIndex;return Y!==0?Y:B.id-J.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],c=[],d=1,f=null,m=3,y=!1,x=!1,S=!1,w=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(B){for(var J=n(c);J!==null;){if(J.callback===null)r(c);else if(J.startTime<=B)r(c),J.sortIndex=J.expirationTime,e(l,J);else break;J=n(c)}}function C(B){if(S=!1,T(B),!x)if(n(l)!==null)x=!0,oe(O);else{var J=n(c);J!==null&&fe(C,J.startTime-B)}}function O(B,J){x=!1,S&&(S=!1,_(F),F=-1),y=!0;var Y=m;try{for(T(J),f=n(l);f!==null&&(!(f.expirationTime>J)||B&&!U());){var V=f.callback;if(typeof V=="function"){f.callback=null,m=f.priorityLevel;var q=V(f.expirationTime<=J);J=t.unstable_now(),typeof q=="function"?f.callback=q:f===n(l)&&r(l),T(J)}else r(l);f=n(l)}if(f!==null)var pe=!0;else{var le=n(c);le!==null&&fe(C,le.startTime-J),pe=!1}return pe}finally{f=null,m=Y,y=!1}}var N=!1,D=null,F=-1,G=5,k=-1;function U(){return!(t.unstable_now()-kB||125V?(B.sortIndex=Y,e(c,B),n(l)===null&&B===n(c)&&(S?(_(F),F=-1):S=!0,fe(C,Y-V))):(B.sortIndex=q,e(l,B),x||y||(x=!0,oe(O))),B},t.unstable_shouldYield=U,t.unstable_wrapCallback=function(B){var J=m;return function(){var Y=m;m=J;try{return B.apply(this,arguments)}finally{m=Y}}}})(rE)),rE}var XN;function TW(){return XN||(XN=1,nE.exports=AW()),nE.exports}/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ var bW=Object.defineProperty;var BN=t=>{throw TypeError(t)};var _W=(t,e,n)=>e in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var qN;function CW(){if(qN)return Ws;qN=1;var t=Wh(),e=TW();function n(u){for(var h="https://reactjs.org/docs/error-decoder.html?invariant="+u,b=1;b"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),l=Object.prototype.hasOwnProperty,c=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,d={},f={};function m(u){return l.call(f,u)?!0:l.call(d,u)?!1:c.test(u)?f[u]=!0:(d[u]=!0,!1)}function y(u,h,b,A){if(b!==null&&b.type===0)return!1;switch(typeof h){case"function":case"symbol":return!0;case"boolean":return A?!1:b!==null?!b.acceptsBooleans:(u=u.toLowerCase().slice(0,5),u!=="data-"&&u!=="aria-");default:return!1}}function x(u,h,b,A){if(h===null||typeof h>"u"||y(u,h,b,A))return!0;if(A)return!1;if(b!==null)switch(b.type){case 3:return!h;case 4:return h===!1;case 5:return isNaN(h);case 6:return isNaN(h)||1>h}return!1}function S(u,h,b,A,I,j,W){this.acceptsBooleans=h===2||h===3||h===4,this.attributeName=A,this.attributeNamespace=I,this.mustUseProperty=b,this.propertyName=u,this.type=h,this.sanitizeURL=j,this.removeEmptyString=W}var w={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(u){w[u]=new S(u,0,!1,u,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(u){var h=u[0];w[h]=new S(h,1,!1,u[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(u){w[u]=new S(u,2,!1,u.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(u){w[u]=new S(u,2,!1,u,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(u){w[u]=new S(u,3,!1,u.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(u){w[u]=new S(u,3,!0,u,null,!1,!1)}),["capture","download"].forEach(function(u){w[u]=new S(u,4,!1,u,null,!1,!1)}),["cols","rows","size","span"].forEach(function(u){w[u]=new S(u,6,!1,u,null,!1,!1)}),["rowSpan","start"].forEach(function(u){w[u]=new S(u,5,!1,u.toLowerCase(),null,!1,!1)});var _=/[\-:]([a-z])/g;function E(u){return u[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(u){var h=u.replace(_,E);w[h]=new S(h,1,!1,u,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(u){var h=u.replace(_,E);w[h]=new S(h,1,!1,u,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(u){var h=u.replace(_,E);w[h]=new S(h,1,!1,u,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(u){w[u]=new S(u,1,!1,u.toLowerCase(),null,!1,!1)}),w.xlinkHref=new S("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(u){w[u]=new S(u,1,!1,u.toLowerCase(),null,!0,!0)});function T(u,h,b,A){var I=w.hasOwnProperty(h)?w[h]:null;(I!==null?I.type!==0:A||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),l=Object.prototype.hasOwnProperty,c=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,d={},f={};function m(u){return l.call(f,u)?!0:l.call(d,u)?!1:c.test(u)?f[u]=!0:(d[u]=!0,!1)}function y(u,h,b,A){if(b!==null&&b.type===0)return!1;switch(typeof h){case"function":case"symbol":return!0;case"boolean":return A?!1:b!==null?!b.acceptsBooleans:(u=u.toLowerCase().slice(0,5),u!=="data-"&&u!=="aria-");default:return!1}}function x(u,h,b,A){if(h===null||typeof h>"u"||y(u,h,b,A))return!0;if(A)return!1;if(b!==null)switch(b.type){case 3:return!h;case 4:return h===!1;case 5:return isNaN(h);case 6:return isNaN(h)||1>h}return!1}function S(u,h,b,A,I,j,W){this.acceptsBooleans=h===2||h===3||h===4,this.attributeName=A,this.attributeNamespace=I,this.mustUseProperty=b,this.propertyName=u,this.type=h,this.sanitizeURL=j,this.removeEmptyString=W}var w={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(u){w[u]=new S(u,0,!1,u,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(u){var h=u[0];w[h]=new S(h,1,!1,u[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(u){w[u]=new S(u,2,!1,u.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(u){w[u]=new S(u,2,!1,u,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(u){w[u]=new S(u,3,!1,u.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(u){w[u]=new S(u,3,!0,u,null,!1,!1)}),["capture","download"].forEach(function(u){w[u]=new S(u,4,!1,u,null,!1,!1)}),["cols","rows","size","span"].forEach(function(u){w[u]=new S(u,6,!1,u,null,!1,!1)}),["rowSpan","start"].forEach(function(u){w[u]=new S(u,5,!1,u.toLowerCase(),null,!1,!1)});var _=/[\-:]([a-z])/g;function E(u){return u[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(u){var h=u.replace(_,E);w[h]=new S(h,1,!1,u,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(u){var h=u.replace(_,E);w[h]=new S(h,1,!1,u,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(u){var h=u.replace(_,E);w[h]=new S(h,1,!1,u,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(u){w[u]=new S(u,1,!1,u.toLowerCase(),null,!1,!1)}),w.xlinkHref=new S("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(u){w[u]=new S(u,1,!1,u.toLowerCase(),null,!0,!0)});function T(u,h,b,A){var I=w.hasOwnProperty(h)?w[h]:null;(I!==null?I.type!==0:A||!(2oe||I[W]!==j[oe]){var me=` -`+I[W].replace(" at new "," at ");return u.displayName&&me.includes("")&&(me=me.replace("",u.displayName)),me}while(1<=W&&0<=oe);break}}}finally{pe=!1,Error.prepareStackTrace=b}return(u=u?u.displayName||u.name:"")?q(u):""}function le(u){switch(u.tag){case 5:return q(u.type);case 16:return q("Lazy");case 13:return q("Suspense");case 19:return q("SuspenseList");case 0:case 2:case 15:return u=ae(u.type,!1),u;case 11:return u=ae(u.type.render,!1),u;case 1:return u=ae(u.type,!0),u;default:return""}}function be(u){if(u==null)return null;if(typeof u=="function")return u.displayName||u.name||null;if(typeof u=="string")return u;switch(u){case D:return"Fragment";case N:return"Portal";case G:return"Profiler";case F:return"StrictMode";case ne:return"Suspense";case te:return"SuspenseList"}if(typeof u=="object")switch(u.$$typeof){case U:return(u.displayName||"Context")+".Consumer";case k:return(u._context.displayName||"Context")+".Provider";case H:var h=u.render;return u=u.displayName,u||(u=h.displayName||h.name||"",u=u!==""?"ForwardRef("+u+")":"ForwardRef"),u;case he:return h=u.displayName||null,h!==null?h:be(u.type)||"Memo";case se:h=u._payload,u=u._init;try{return be(u(h))}catch{}}return null}function Se(u){var h=u.type;switch(u.tag){case 24:return"Cache";case 9:return(h.displayName||"Context")+".Consumer";case 10:return(h._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return u=h.render,u=u.displayName||u.name||"",h.displayName||(u!==""?"ForwardRef("+u+")":"ForwardRef");case 7:return"Fragment";case 5:return h;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return be(h);case 8:return h===F?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof h=="function")return h.displayName||h.name||null;if(typeof h=="string")return h}return null}function qe(u){switch(typeof u){case"boolean":case"number":case"string":case"undefined":return u;case"object":return u;default:return""}}function Me(u){var h=u.type;return(u=u.nodeName)&&u.toLowerCase()==="input"&&(h==="checkbox"||h==="radio")}function $e(u){var h=Me(u)?"checked":"value",b=Object.getOwnPropertyDescriptor(u.constructor.prototype,h),A=""+u[h];if(!u.hasOwnProperty(h)&&typeof b<"u"&&typeof b.get=="function"&&typeof b.set=="function"){var I=b.get,j=b.set;return Object.defineProperty(u,h,{configurable:!0,get:function(){return I.call(this)},set:function(W){A=""+W,j.call(this,W)}}),Object.defineProperty(u,h,{enumerable:b.enumerable}),{getValue:function(){return A},setValue:function(W){A=""+W},stopTracking:function(){u._valueTracker=null,delete u[h]}}}}function Ke(u){u._valueTracker||(u._valueTracker=$e(u))}function ce(u){if(!u)return!1;var h=u._valueTracker;if(!h)return!0;var b=h.getValue(),A="";return u&&(A=Me(u)?u.checked?"true":"false":u.value),u=A,u!==b?(h.setValue(u),!0):!1}function Z(u){if(u=u||(typeof document<"u"?document:void 0),typeof u>"u")return null;try{return u.activeElement||u.body}catch{return u.body}}function We(u,h){var b=h.checked;return Y({},h,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:b??u._wrapperState.initialChecked})}function je(u,h){var b=h.defaultValue==null?"":h.defaultValue,A=h.checked!=null?h.checked:h.defaultChecked;b=qe(h.value!=null?h.value:b),u._wrapperState={initialChecked:A,initialValue:b,controlled:h.type==="checkbox"||h.type==="radio"?h.checked!=null:h.value!=null}}function Xe(u,h){h=h.checked,h!=null&&T(u,"checked",h,!1)}function Je(u,h){Xe(u,h);var b=qe(h.value),A=h.type;if(b!=null)A==="number"?(b===0&&u.value===""||u.value!=b)&&(u.value=""+b):u.value!==""+b&&(u.value=""+b);else if(A==="submit"||A==="reset"){u.removeAttribute("value");return}h.hasOwnProperty("value")?ut(u,h.type,b):h.hasOwnProperty("defaultValue")&&ut(u,h.type,qe(h.defaultValue)),h.checked==null&&h.defaultChecked!=null&&(u.defaultChecked=!!h.defaultChecked)}function bt(u,h,b){if(h.hasOwnProperty("value")||h.hasOwnProperty("defaultValue")){var A=h.type;if(!(A!=="submit"&&A!=="reset"||h.value!==void 0&&h.value!==null))return;h=""+u._wrapperState.initialValue,b||h===u.value||(u.value=h),u.defaultValue=h}b=u.name,b!==""&&(u.name=""),u.defaultChecked=!!u._wrapperState.initialChecked,b!==""&&(u.name=b)}function ut(u,h,b){(h!=="number"||Z(u.ownerDocument)!==u)&&(b==null?u.defaultValue=""+u._wrapperState.initialValue:u.defaultValue!==""+b&&(u.defaultValue=""+b))}var ee=Array.isArray;function $(u,h,b,A){if(u=u.options,h){h={};for(var I=0;I"+h.valueOf().toString()+"",h=dt.firstChild;u.firstChild;)u.removeChild(u.firstChild);for(;h.firstChild;)u.appendChild(h.firstChild)}});function Ne(u,h){if(h){var b=u.firstChild;if(b&&b===u.lastChild&&b.nodeType===3){b.nodeValue=h;return}}u.textContent=h}var tt={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},jt=["Webkit","ms","Moz","O"];Object.keys(tt).forEach(function(u){jt.forEach(function(h){h=h+u.charAt(0).toUpperCase()+u.substring(1),tt[h]=tt[u]})});function Lt(u,h,b){return h==null||typeof h=="boolean"||h===""?"":b||typeof h!="number"||h===0||tt.hasOwnProperty(u)&&tt[u]?(""+h).trim():h+"px"}function ct(u,h){u=u.style;for(var b in h)if(h.hasOwnProperty(b)){var A=b.indexOf("--")===0,I=Lt(b,h[b],A);b==="float"&&(b="cssFloat"),A?u.setProperty(b,I):u[b]=I}}var ue=Y({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Q(u,h){if(h){if(ue[u]&&(h.children!=null||h.dangerouslySetInnerHTML!=null))throw Error(n(137,u));if(h.dangerouslySetInnerHTML!=null){if(h.children!=null)throw Error(n(60));if(typeof h.dangerouslySetInnerHTML!="object"||!("__html"in h.dangerouslySetInnerHTML))throw Error(n(61))}if(h.style!=null&&typeof h.style!="object")throw Error(n(62))}}function Ae(u,h){if(u.indexOf("-")===-1)return typeof h.is=="string";switch(u){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var re=null;function Fe(u){return u=u.target||u.srcElement||window,u.correspondingUseElement&&(u=u.correspondingUseElement),u.nodeType===3?u.parentNode:u}var Te=null,Le=null,Ye=null;function ht(u){if(u=pa(u)){if(typeof Te!="function")throw Error(n(280));var h=u.stateNode;h&&(h=Dp(h),Te(u.stateNode,u.type,h))}}function Yt(u){Le?Ye?Ye.push(u):Ye=[u]:Le=u}function un(){if(Le){var u=Le,h=Ye;if(Ye=Le=null,ht(u),h)for(u=0;u>>=0,u===0?32:31-(xn(u)/tn|0)|0}var li=64,kn=4194304;function Is(u){switch(u&-u){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return u&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return u&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return u}}function Vn(u,h){var b=u.pendingLanes;if(b===0)return 0;var A=0,I=u.suspendedLanes,j=u.pingedLanes,W=b&268435455;if(W!==0){var oe=W&~I;oe!==0?A=Is(oe):(j&=W,j!==0&&(A=Is(j)))}else W=b&~I,W!==0?A=Is(W):j!==0&&(A=Is(j));if(A===0)return 0;if(h!==0&&h!==A&&(h&I)===0&&(I=A&-A,j=h&-h,I>=j||I===16&&(j&4194240)!==0))return h;if((A&4)!==0&&(A|=b&16),h=u.entangledLanes,h!==0)for(u=u.entanglements,h&=A;0b;b++)h.push(u);return h}function Za(u,h,b){u.pendingLanes|=h,h!==536870912&&(u.suspendedLanes=0,u.pingedLanes=0),u=u.eventTimes,h=31-vt(h),u[h]=b}function wM(u,h){var b=u.pendingLanes&~h;u.pendingLanes=h,u.suspendedLanes=0,u.pingedLanes=0,u.expiredLanes&=h,u.mutableReadLanes&=h,u.entangledLanes&=h,h=u.entanglements;var A=u.eventTimes;for(u=u.expirationTimes;0=qr),Us=" ",vv=!1;function yv(u,h){switch(u){case"keyup":return gv.indexOf(h.keyCode)!==-1;case"keydown":return h.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xp(u){return u=u.detail,typeof u=="object"&&"data"in u?u.data:null}var tl=!1;function Ax(u,h){switch(u){case"compositionend":return xp(h);case"keypress":return h.which!==32?null:(vv=!0,Us);case"textInput":return u=h.data,u===Us&&vv?null:u;default:return null}}function Hd(u,h){if(tl)return u==="compositionend"||!Ci&&yv(u,h)?(u=zd(),Wi=uv=no=null,tl=!1,u):null;switch(u){case"paste":return null;case"keypress":if(!(h.ctrlKey||h.altKey||h.metaKey)||h.ctrlKey&&h.altKey){if(h.char&&1=h)return{node:b,offset:h-u};u=A}e:{for(;b;){if(b.nextSibling){b=b.nextSibling;break e}b=b.parentNode}b=void 0}b=Vd(b)}}function nc(u,h){return u&&h?u===h?!0:u&&u.nodeType===3?!1:h&&h.nodeType===3?nc(u,h.parentNode):"contains"in u?u.contains(h):u.compareDocumentPosition?!!(u.compareDocumentPosition(h)&16):!1:!1}function nr(){for(var u=window,h=Z();h instanceof u.HTMLIFrameElement;){try{var b=typeof h.contentWindow.location.href=="string"}catch{b=!1}if(b)u=h.contentWindow;else break;h=Z(u.document)}return h}function Dr(u){var h=u&&u.nodeName&&u.nodeName.toLowerCase();return h&&(h==="input"&&(u.type==="text"||u.type==="search"||u.type==="tel"||u.type==="url"||u.type==="password")||h==="textarea"||u.contentEditable==="true")}function jr(u){var h=nr(),b=u.focusedElem,A=u.selectionRange;if(h!==b&&b&&b.ownerDocument&&nc(b.ownerDocument.documentElement,b)){if(A!==null&&Dr(b)){if(h=A.start,u=A.end,u===void 0&&(u=h),"selectionStart"in b)b.selectionStart=h,b.selectionEnd=Math.min(u,b.value.length);else if(u=(h=b.ownerDocument||document)&&h.defaultView||window,u.getSelection){u=u.getSelection();var I=b.textContent.length,j=Math.min(A.start,I);A=A.end===void 0?j:Math.min(A.end,I),!u.extend&&j>A&&(I=A,A=j,j=I),I=fs(b,j);var W=fs(b,A);I&&W&&(u.rangeCount!==1||u.anchorNode!==I.node||u.anchorOffset!==I.offset||u.focusNode!==W.node||u.focusOffset!==W.offset)&&(h=h.createRange(),h.setStart(I.node,I.offset),u.removeAllRanges(),j>A?(u.addRange(h),u.extend(W.node,W.offset)):(h.setEnd(W.node,W.offset),u.addRange(h)))}}for(h=[],u=b;u=u.parentNode;)u.nodeType===1&&h.push({element:u,left:u.scrollLeft,top:u.scrollTop});for(typeof b.focus=="function"&&b.focus(),b=0;b=document.documentMode,Ro=null,rc=null,Gd=null,Ur=!1;function Mp(u,h,b){var A=b.window===b?b.document:b.nodeType===9?b:b.ownerDocument;Ur||Ro==null||Ro!==Z(A)||(A=Ro,"selectionStart"in A&&Dr(A)?A={start:A.selectionStart,end:A.selectionEnd}:(A=(A.ownerDocument&&A.ownerDocument.defaultView||window).getSelection(),A={anchorNode:A.anchorNode,anchorOffset:A.anchorOffset,focusNode:A.focusNode,focusOffset:A.focusOffset}),Gd&&tc(Gd,A)||(Gd=A,A=Np(rc,"onSelect"),0Fr||(u.current=Rv[Fr],Rv[Fr]=null,Fr--)}function Gn(u,h){Fr++,Rv[Fr]=u.current,u.current=h}var ma={},Kr=ar(ma),Pi=ar(!1),ga=ma;function ac(u,h){var b=u.type.contextTypes;if(!b)return ma;var A=u.stateNode;if(A&&A.__reactInternalMemoizedUnmaskedChildContext===h)return A.__reactInternalMemoizedMaskedChildContext;var I={},j;for(j in b)I[j]=h[j];return A&&(u=u.stateNode,u.__reactInternalMemoizedUnmaskedChildContext=h,u.__reactInternalMemoizedMaskedChildContext=I),I}function ui(u){return u=u.childContextTypes,u!=null}function Qd(){$n(Pi),$n(Kr)}function Nv(u,h,b){if(Kr.current!==ma)throw Error(n(168));Gn(Kr,h),Gn(Pi,b)}function Jd(u,h,b){var A=u.stateNode;if(h=h.childContextTypes,typeof A.getChildContext!="function")return b;A=A.getChildContext();for(var I in A)if(!(I in h))throw Error(n(108,Se(u)||"Unknown",I));return Y({},b,A)}function lc(u){return u=(u=u.stateNode)&&u.__reactInternalMemoizedMergedChildContext||ma,ga=Kr.current,Gn(Kr,u),Gn(Pi,Pi.current),!0}function Iv(u,h,b){var A=u.stateNode;if(!A)throw Error(n(169));b?(u=Jd(u,h,ga),A.__reactInternalMemoizedMergedChildContext=u,$n(Pi),$n(Kr),Gn(Kr,u)):$n(Pi),Gn(Pi,b)}var oo=null,ef=!1,jp=!1;function tf(u){oo===null?oo=[u]:oo.push(u)}function Ox(u){ef=!0,tf(u)}function Io(){if(!jp&&oo!==null){jp=!0;var u=0,h=Pn;try{var b=oo;for(Pn=1;u>=W,I-=W,ft=1<<32-vt(h)+I|b<nn?(pi=Wt,Wt=null):pi=Wt.sibling;var Dn=Ze(Ce,Wt,Re[nn],ot);if(Dn===null){Wt===null&&(Wt=pi);break}u&&Wt&&Dn.alternate===null&&h(Ce,Wt),ve=j(Dn,ve,nn),Gt===null?Dt=Dn:Gt.sibling=Dn,Gt=Dn,Wt=pi}if(nn===Re.length)return b(Ce,Wt),qn&&va(Ce,nn),Dt;if(Wt===null){for(;nnnn?(pi=Wt,Wt=null):pi=Wt.sibling;var Vu=Ze(Ce,Wt,Dn.value,ot);if(Vu===null){Wt===null&&(Wt=pi);break}u&&Wt&&Vu.alternate===null&&h(Ce,Wt),ve=j(Vu,ve,nn),Gt===null?Dt=Vu:Gt.sibling=Vu,Gt=Vu,Wt=pi}if(Dn.done)return b(Ce,Wt),qn&&va(Ce,nn),Dt;if(Wt===null){for(;!Dn.done;nn++,Dn=Re.next())Dn=et(Ce,Dn.value,ot),Dn!==null&&(ve=j(Dn,ve,nn),Gt===null?Dt=Dn:Gt.sibling=Dn,Gt=Dn);return qn&&va(Ce,nn),Dt}for(Wt=A(Ce,Wt);!Dn.done;nn++,Dn=Re.next())Dn=wt(Wt,Ce,nn,Dn.value,ot),Dn!==null&&(u&&Dn.alternate!==null&&Wt.delete(Dn.key===null?nn:Dn.key),ve=j(Dn,ve,nn),Gt===null?Dt=Dn:Gt.sibling=Dn,Gt=Dn);return u&&Wt.forEach(function(xW){return h(Ce,xW)}),qn&&va(Ce,nn),Dt}function Ir(Ce,ve,Re,ot){if(typeof Re=="object"&&Re!==null&&Re.type===D&&Re.key===null&&(Re=Re.props.children),typeof Re=="object"&&Re!==null){switch(Re.$$typeof){case O:e:{for(var Dt=Re.key,Gt=ve;Gt!==null;){if(Gt.key===Dt){if(Dt=Re.type,Dt===D){if(Gt.tag===7){b(Ce,Gt.sibling),ve=I(Gt,Re.props.children),ve.return=Ce,Ce=ve;break e}}else if(Gt.elementType===Dt||typeof Dt=="object"&&Dt!==null&&Dt.$$typeof===se&&Uv(Dt)===Gt.type){b(Ce,Gt.sibling),ve=I(Gt,Re.props),ve.ref=nf(Ce,Gt,Re),ve.return=Ce,Ce=ve;break e}b(Ce,Gt);break}else h(Ce,Gt);Gt=Gt.sibling}Re.type===D?(ve=_f(Re.props.children,Ce.mode,ot,Re.key),ve.return=Ce,Ce=ve):(ot=rb(Re.type,Re.key,Re.props,null,Ce.mode,ot),ot.ref=nf(Ce,ve,Re),ot.return=Ce,Ce=ot)}return W(Ce);case N:e:{for(Gt=Re.key;ve!==null;){if(ve.key===Gt)if(ve.tag===4&&ve.stateNode.containerInfo===Re.containerInfo&&ve.stateNode.implementation===Re.implementation){b(Ce,ve.sibling),ve=I(ve,Re.children||[]),ve.return=Ce,Ce=ve;break e}else{b(Ce,ve);break}else h(Ce,ve);ve=ve.sibling}ve=XM(Re,Ce.mode,ot),ve.return=Ce,Ce=ve}return W(Ce);case se:return Gt=Re._init,Ir(Ce,ve,Gt(Re._payload),ot)}if(ee(Re))return Ct(Ce,ve,Re,ot);if(J(Re))return Nt(Ce,ve,Re,ot);rf(Ce,Re)}return typeof Re=="string"&&Re!==""||typeof Re=="number"?(Re=""+Re,ve!==null&&ve.tag===6?(b(Ce,ve.sibling),ve=I(ve,Re),ve.return=Ce,Ce=ve):(b(Ce,ve),ve=$M(Re,Ce.mode,ot),ve.return=Ce,Ce=ve),W(Ce)):b(Ce,ve)}return Ir}var dc=Fv(!0),sf=Fv(!1),fc=ar(null),hc=null,xa=null,Iu=null;function pc(){Iu=xa=hc=null}function of(u){var h=fc.current;$n(fc),u._currentValue=h}function af(u,h,b){for(;u!==null;){var A=u.alternate;if((u.childLanes&h)!==h?(u.childLanes|=h,A!==null&&(A.childLanes|=h)):A!==null&&(A.childLanes&h)!==h&&(A.childLanes|=h),u===b)break;u=u.return}}function al(u,h){hc=u,Iu=xa=null,u=u.dependencies,u!==null&&u.firstContext!==null&&((u.lanes&h)!==0&&(ln=!0),u.firstContext=null)}function ps(u){var h=u._currentValue;if(Iu!==u)if(u={context:u,memoizedValue:h,next:null},xa===null){if(hc===null)throw Error(n(308));xa=u,hc.dependencies={lanes:0,firstContext:u}}else xa=xa.next=u;return h}var ba=null;function zv(u){ba===null?ba=[u]:ba.push(u)}function lf(u,h,b,A){var I=h.interleaved;return I===null?(b.next=b,zv(h)):(b.next=I.next,I.next=b),h.interleaved=b,ao(u,A)}function ao(u,h){u.lanes|=h;var b=u.alternate;for(b!==null&&(b.lanes|=h),b=u,u=u.return;u!==null;)u.childLanes|=h,b=u.alternate,b!==null&&(b.childLanes|=h),b=u,u=u.return;return b.tag===3?b.stateNode:null}var Fn=!1;function an(u){u.updateQueue={baseState:u.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function mr(u,h){u=u.updateQueue,h.updateQueue===u&&(h.updateQueue={baseState:u.baseState,firstBaseUpdate:u.firstBaseUpdate,lastBaseUpdate:u.lastBaseUpdate,shared:u.shared,effects:u.effects})}function zn(u,h){return{eventTime:u,lane:h,tag:0,payload:null,callback:null,next:null}}function Qn(u,h,b){var A=u.updateQueue;if(A===null)return null;if(A=A.shared,(On&2)!==0){var I=A.pending;return I===null?h.next=h:(h.next=I.next,I.next=h),A.pending=h,ao(u,b)}return I=A.interleaved,I===null?(h.next=h,zv(A)):(h.next=I.next,I.next=h),A.interleaved=h,ao(u,b)}function di(u,h,b){if(h=h.updateQueue,h!==null&&(h=h.shared,(b&4194240)!==0)){var A=h.lanes;A&=u.pendingLanes,b|=A,h.lanes=b,fu(u,b)}}function mc(u,h){var b=u.updateQueue,A=u.alternate;if(A!==null&&(A=A.updateQueue,b===A)){var I=null,j=null;if(b=b.firstBaseUpdate,b!==null){do{var W={eventTime:b.eventTime,lane:b.lane,tag:b.tag,payload:b.payload,callback:b.callback,next:null};j===null?I=j=W:j=j.next=W,b=b.next}while(b!==null);j===null?I=j=h:j=j.next=h}else I=j=h;b={baseState:A.baseState,firstBaseUpdate:I,lastBaseUpdate:j,shared:A.shared,effects:A.effects},u.updateQueue=b;return}u=b.lastBaseUpdate,u===null?b.firstBaseUpdate=h:u.next=h,b.lastBaseUpdate=h}function lr(u,h,b,A){var I=u.updateQueue;Fn=!1;var j=I.firstBaseUpdate,W=I.lastBaseUpdate,oe=I.shared.pending;if(oe!==null){I.shared.pending=null;var me=oe,De=me.next;me.next=null,W===null?j=De:W.next=De,W=me;var Qe=u.alternate;Qe!==null&&(Qe=Qe.updateQueue,oe=Qe.lastBaseUpdate,oe!==W&&(oe===null?Qe.firstBaseUpdate=De:oe.next=De,Qe.lastBaseUpdate=me))}if(j!==null){var et=I.baseState;W=0,Qe=De=me=null,oe=j;do{var Ze=oe.lane,wt=oe.eventTime;if((A&Ze)===Ze){Qe!==null&&(Qe=Qe.next={eventTime:wt,lane:0,tag:oe.tag,payload:oe.payload,callback:oe.callback,next:null});e:{var Ct=u,Nt=oe;switch(Ze=h,wt=b,Nt.tag){case 1:if(Ct=Nt.payload,typeof Ct=="function"){et=Ct.call(wt,et,Ze);break e}et=Ct;break e;case 3:Ct.flags=Ct.flags&-65537|128;case 0:if(Ct=Nt.payload,Ze=typeof Ct=="function"?Ct.call(wt,et,Ze):Ct,Ze==null)break e;et=Y({},et,Ze);break e;case 2:Fn=!0}}oe.callback!==null&&oe.lane!==0&&(u.flags|=64,Ze=I.effects,Ze===null?I.effects=[oe]:Ze.push(oe))}else wt={eventTime:wt,lane:Ze,tag:oe.tag,payload:oe.payload,callback:oe.callback,next:null},Qe===null?(De=Qe=wt,me=et):Qe=Qe.next=wt,W|=Ze;if(oe=oe.next,oe===null){if(oe=I.shared.pending,oe===null)break;Ze=oe,oe=Ze.next,Ze.next=null,I.lastBaseUpdate=Ze,I.shared.pending=null}}while(!0);if(Qe===null&&(me=et),I.baseState=me,I.firstBaseUpdate=De,I.lastBaseUpdate=Qe,h=I.shared.interleaved,h!==null){I=h;do W|=I.lane,I=I.next;while(I!==h)}else j===null&&(I.shared.lanes=0);vf|=W,u.lanes=W,u.memoizedState=et}}function ku(u,h,b){if(u=h.effects,h.effects=null,u!==null)for(h=0;hb?b:4,u(!0);var A=xc.transition;xc.transition={};try{u(!1),h()}finally{Pn=b,xc.transition=A}}function Ma(){return gs().memoizedState}function $p(u,h,b){var A=zu(u);if(b={lane:A,action:b,hasEagerState:!1,eagerState:null,next:null},mf(u))Xp(h,b);else if(b=lf(u,h,b,A),b!==null){var I=xs();Ca(b,u,A,I),qp(b,h,A)}}function bc(u,h,b){var A=zu(u),I={lane:A,action:b,hasEagerState:!1,eagerState:null,next:null};if(mf(u))Xp(h,I);else{var j=u.alternate;if(u.lanes===0&&(j===null||j.lanes===0)&&(j=h.lastRenderedReducer,j!==null))try{var W=h.lastRenderedState,oe=j(W,b);if(I.hasEagerState=!0,I.eagerState=oe,ds(oe,W)){var me=h.interleaved;me===null?(I.next=I,zv(h)):(I.next=me.next,me.next=I),h.interleaved=I;return}}catch{}finally{}b=lf(u,h,I,A),b!==null&&(I=xs(),Ca(b,u,A,I),qp(b,h,A))}}function mf(u){var h=u.alternate;return u===Xn||h!==null&&h===Xn}function Xp(u,h){fi=co=!0;var b=u.pending;b===null?h.next=h:(h.next=b.next,b.next=h),u.pending=h}function qp(u,h,b){if((b&4194240)!==0){var A=h.lanes;A&=u.pendingLanes,b|=A,h.lanes=b,fu(u,b)}}var Kp={readContext:ps,useCallback:Zr,useContext:Zr,useEffect:Zr,useImperativeHandle:Zr,useInsertionEffect:Zr,useLayoutEffect:Zr,useMemo:Zr,useReducer:Zr,useRef:Zr,useState:Zr,useDebugValue:Zr,useDeferredValue:Zr,useTransition:Zr,useMutableSource:Zr,useSyncExternalStore:Zr,useId:Zr,unstable_isNewReconciler:!1},Bx={readContext:ps,useCallback:function(u,h){return Qr().memoizedState=[u,h===void 0?null:h],u},useContext:ps,useEffect:Ii,useImperativeHandle:function(u,h,b){return b=b!=null?b.concat([u]):null,Lo(4194308,4,Fx.bind(null,h,u),b)},useLayoutEffect:function(u,h){return Lo(4194308,4,u,h)},useInsertionEffect:function(u,h){return Lo(4,2,u,h)},useMemo:function(u,h){var b=Qr();return h=h===void 0?null:h,u=u(),b.memoizedState=[u,h],u},useReducer:function(u,h,b){var A=Qr();return h=b!==void 0?b(h):h,A.memoizedState=A.baseState=h,u={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:u,lastRenderedState:h},A.queue=u,u=u.dispatch=$p.bind(null,Xn,u),[A.memoizedState,u]},useRef:function(u){var h=Qr();return u={current:u},h.memoizedState=u},useState:Wv,useDebugValue:Gp,useDeferredValue:function(u){return Qr().memoizedState=u},useTransition:function(){var u=Wv(!1),h=u[0];return u=CM.bind(null,u[1]),Qr().memoizedState=u,[h,u]},useMutableSource:function(){},useSyncExternalStore:function(u,h,b){var A=Xn,I=Qr();if(qn){if(b===void 0)throw Error(n(407));b=b()}else{if(b=h(),hi===null)throw Error(n(349));(wa&30)!==0||Vp(A,h,b)}I.memoizedState=b;var j={value:b,getSnapshot:h};return I.queue=j,Ii(Lx.bind(null,A,j,u),[u]),A.flags|=2048,uo(9,hf.bind(null,A,j,b,h),void 0,null),b},useId:function(){var u=Qr(),h=hi.identifierPrefix;if(qn){var b=Fs,A=ft;b=(A&~(1<<32-vt(A)-1)).toString(32)+b,h=":"+h+"R"+b,b=cl++,0ae||I[W]!==j[ae]){var me=` +`+I[W].replace(" at new "," at ");return u.displayName&&me.includes("")&&(me=me.replace("",u.displayName)),me}while(1<=W&&0<=ae);break}}}finally{pe=!1,Error.prepareStackTrace=b}return(u=u?u.displayName||u.name:"")?q(u):""}function ce(u){switch(u.tag){case 5:return q(u.type);case 16:return q("Lazy");case 13:return q("Suspense");case 19:return q("SuspenseList");case 0:case 2:case 15:return u=le(u.type,!1),u;case 11:return u=le(u.type.render,!1),u;case 1:return u=le(u.type,!0),u;default:return""}}function be(u){if(u==null)return null;if(typeof u=="function")return u.displayName||u.name||null;if(typeof u=="string")return u;switch(u){case D:return"Fragment";case N:return"Portal";case G:return"Profiler";case F:return"StrictMode";case ne:return"Suspense";case te:return"SuspenseList"}if(typeof u=="object")switch(u.$$typeof){case U:return(u.displayName||"Context")+".Consumer";case k:return(u._context.displayName||"Context")+".Provider";case H:var h=u.render;return u=u.displayName,u||(u=h.displayName||h.name||"",u=u!==""?"ForwardRef("+u+")":"ForwardRef"),u;case he:return h=u.displayName||null,h!==null?h:be(u.type)||"Memo";case oe:h=u._payload,u=u._init;try{return be(u(h))}catch{}}return null}function Se(u){var h=u.type;switch(u.tag){case 24:return"Cache";case 9:return(h.displayName||"Context")+".Consumer";case 10:return(h._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return u=h.render,u=u.displayName||u.name||"",h.displayName||(u!==""?"ForwardRef("+u+")":"ForwardRef");case 7:return"Fragment";case 5:return h;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return be(h);case 8:return h===F?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof h=="function")return h.displayName||h.name||null;if(typeof h=="string")return h}return null}function Xe(u){switch(typeof u){case"boolean":case"number":case"string":case"undefined":return u;case"object":return u;default:return""}}function Me(u){var h=u.type;return(u=u.nodeName)&&u.toLowerCase()==="input"&&(h==="checkbox"||h==="radio")}function We(u){var h=Me(u)?"checked":"value",b=Object.getOwnPropertyDescriptor(u.constructor.prototype,h),A=""+u[h];if(!u.hasOwnProperty(h)&&typeof b<"u"&&typeof b.get=="function"&&typeof b.set=="function"){var I=b.get,j=b.set;return Object.defineProperty(u,h,{configurable:!0,get:function(){return I.call(this)},set:function(W){A=""+W,j.call(this,W)}}),Object.defineProperty(u,h,{enumerable:b.enumerable}),{getValue:function(){return A},setValue:function(W){A=""+W},stopTracking:function(){u._valueTracker=null,delete u[h]}}}}function qe(u){u._valueTracker||(u._valueTracker=We(u))}function ue(u){if(!u)return!1;var h=u._valueTracker;if(!h)return!0;var b=h.getValue(),A="";return u&&(A=Me(u)?u.checked?"true":"false":u.value),u=A,u!==b?(h.setValue(u),!0):!1}function Z(u){if(u=u||(typeof document<"u"?document:void 0),typeof u>"u")return null;try{return u.activeElement||u.body}catch{return u.body}}function Ge(u,h){var b=h.checked;return Y({},h,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:b??u._wrapperState.initialChecked})}function De(u,h){var b=h.defaultValue==null?"":h.defaultValue,A=h.checked!=null?h.checked:h.defaultChecked;b=Xe(h.value!=null?h.value:b),u._wrapperState={initialChecked:A,initialValue:b,controlled:h.type==="checkbox"||h.type==="radio"?h.checked!=null:h.value!=null}}function $e(u,h){h=h.checked,h!=null&&T(u,"checked",h,!1)}function et(u,h){$e(u,h);var b=Xe(h.value),A=h.type;if(b!=null)A==="number"?(b===0&&u.value===""||u.value!=b)&&(u.value=""+b):u.value!==""+b&&(u.value=""+b);else if(A==="submit"||A==="reset"){u.removeAttribute("value");return}h.hasOwnProperty("value")?ct(u,h.type,b):h.hasOwnProperty("defaultValue")&&ct(u,h.type,Xe(h.defaultValue)),h.checked==null&&h.defaultChecked!=null&&(u.defaultChecked=!!h.defaultChecked)}function bt(u,h,b){if(h.hasOwnProperty("value")||h.hasOwnProperty("defaultValue")){var A=h.type;if(!(A!=="submit"&&A!=="reset"||h.value!==void 0&&h.value!==null))return;h=""+u._wrapperState.initialValue,b||h===u.value||(u.value=h),u.defaultValue=h}b=u.name,b!==""&&(u.name=""),u.defaultChecked=!!u._wrapperState.initialChecked,b!==""&&(u.name=b)}function ct(u,h,b){(h!=="number"||Z(u.ownerDocument)!==u)&&(b==null?u.defaultValue=""+u._wrapperState.initialValue:u.defaultValue!==""+b&&(u.defaultValue=""+b))}var ee=Array.isArray;function $(u,h,b,A){if(u=u.options,h){h={};for(var I=0;I"+h.valueOf().toString()+"",h=dt.firstChild;u.firstChild;)u.removeChild(u.firstChild);for(;h.firstChild;)u.appendChild(h.firstChild)}});function Ke(u,h){if(h){var b=u.firstChild;if(b&&b===u.lastChild&&b.nodeType===3){b.nodeValue=h;return}}u.textContent=h}var re={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Qe=["Webkit","ms","Moz","O"];Object.keys(re).forEach(function(u){Qe.forEach(function(h){h=h+u.charAt(0).toUpperCase()+u.substring(1),re[h]=re[u]})});function wt(u,h,b){return h==null||typeof h=="boolean"||h===""?"":b||typeof h!="number"||h===0||re.hasOwnProperty(u)&&re[u]?(""+h).trim():h+"px"}function pt(u,h){u=u.style;for(var b in h)if(h.hasOwnProperty(b)){var A=b.indexOf("--")===0,I=wt(b,h[b],A);b==="float"&&(b="cssFloat"),A?u.setProperty(b,I):u[b]=I}}var de=Y({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Q(u,h){if(h){if(de[u]&&(h.children!=null||h.dangerouslySetInnerHTML!=null))throw Error(n(137,u));if(h.dangerouslySetInnerHTML!=null){if(h.children!=null)throw Error(n(60));if(typeof h.dangerouslySetInnerHTML!="object"||!("__html"in h.dangerouslySetInnerHTML))throw Error(n(61))}if(h.style!=null&&typeof h.style!="object")throw Error(n(62))}}function Ae(u,h){if(u.indexOf("-")===-1)return typeof h.is=="string";switch(u){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ie=null;function Ue(u){return u=u.target||u.srcElement||window,u.correspondingUseElement&&(u=u.correspondingUseElement),u.nodeType===3?u.parentNode:u}var Te=null,Oe=null,Ye=null;function ft(u){if(u=pa(u)){if(typeof Te!="function")throw Error(n(280));var h=u.stateNode;h&&(h=jp(h),Te(u.stateNode,u.type,h))}}function Yt(u){Oe?Ye?Ye.push(u):Ye=[u]:Oe=u}function un(){if(Oe){var u=Oe,h=Ye;if(Ye=Oe=null,ft(u),h)for(u=0;u>>=0,u===0?32:31-(xn(u)/tn|0)|0}var li=64,kn=4194304;function Is(u){switch(u&-u){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return u&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return u&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return u}}function Vn(u,h){var b=u.pendingLanes;if(b===0)return 0;var A=0,I=u.suspendedLanes,j=u.pingedLanes,W=b&268435455;if(W!==0){var ae=W&~I;ae!==0?A=Is(ae):(j&=W,j!==0&&(A=Is(j)))}else W=b&~I,W!==0?A=Is(W):j!==0&&(A=Is(j));if(A===0)return 0;if(h!==0&&h!==A&&(h&I)===0&&(I=A&-A,j=h&-h,I>=j||I===16&&(j&4194240)!==0))return h;if((A&4)!==0&&(A|=b&16),h=u.entangledLanes,h!==0)for(u=u.entanglements,h&=A;0b;b++)h.push(u);return h}function Za(u,h,b){u.pendingLanes|=h,h!==536870912&&(u.suspendedLanes=0,u.pingedLanes=0),u=u.eventTimes,h=31-vt(h),u[h]=b}function wM(u,h){var b=u.pendingLanes&~h;u.pendingLanes=h,u.suspendedLanes=0,u.pingedLanes=0,u.expiredLanes&=h,u.mutableReadLanes&=h,u.entangledLanes&=h,h=u.entanglements;var A=u.eventTimes;for(u=u.expirationTimes;0=qr),Us=" ",vv=!1;function yv(u,h){switch(u){case"keyup":return gv.indexOf(h.keyCode)!==-1;case"keydown":return h.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function bp(u){return u=u.detail,typeof u=="object"&&"data"in u?u.data:null}var tl=!1;function Ax(u,h){switch(u){case"compositionend":return bp(h);case"keypress":return h.which!==32?null:(vv=!0,Us);case"textInput":return u=h.data,u===Us&&vv?null:u;default:return null}}function Hd(u,h){if(tl)return u==="compositionend"||!Ci&&yv(u,h)?(u=zd(),Wi=uv=no=null,tl=!1,u):null;switch(u){case"paste":return null;case"keypress":if(!(h.ctrlKey||h.altKey||h.metaKey)||h.ctrlKey&&h.altKey){if(h.char&&1=h)return{node:b,offset:h-u};u=A}e:{for(;b;){if(b.nextSibling){b=b.nextSibling;break e}b=b.parentNode}b=void 0}b=Vd(b)}}function nc(u,h){return u&&h?u===h?!0:u&&u.nodeType===3?!1:h&&h.nodeType===3?nc(u,h.parentNode):"contains"in u?u.contains(h):u.compareDocumentPosition?!!(u.compareDocumentPosition(h)&16):!1:!1}function nr(){for(var u=window,h=Z();h instanceof u.HTMLIFrameElement;){try{var b=typeof h.contentWindow.location.href=="string"}catch{b=!1}if(b)u=h.contentWindow;else break;h=Z(u.document)}return h}function Dr(u){var h=u&&u.nodeName&&u.nodeName.toLowerCase();return h&&(h==="input"&&(u.type==="text"||u.type==="search"||u.type==="tel"||u.type==="url"||u.type==="password")||h==="textarea"||u.contentEditable==="true")}function jr(u){var h=nr(),b=u.focusedElem,A=u.selectionRange;if(h!==b&&b&&b.ownerDocument&&nc(b.ownerDocument.documentElement,b)){if(A!==null&&Dr(b)){if(h=A.start,u=A.end,u===void 0&&(u=h),"selectionStart"in b)b.selectionStart=h,b.selectionEnd=Math.min(u,b.value.length);else if(u=(h=b.ownerDocument||document)&&h.defaultView||window,u.getSelection){u=u.getSelection();var I=b.textContent.length,j=Math.min(A.start,I);A=A.end===void 0?j:Math.min(A.end,I),!u.extend&&j>A&&(I=A,A=j,j=I),I=fs(b,j);var W=fs(b,A);I&&W&&(u.rangeCount!==1||u.anchorNode!==I.node||u.anchorOffset!==I.offset||u.focusNode!==W.node||u.focusOffset!==W.offset)&&(h=h.createRange(),h.setStart(I.node,I.offset),u.removeAllRanges(),j>A?(u.addRange(h),u.extend(W.node,W.offset)):(h.setEnd(W.node,W.offset),u.addRange(h)))}}for(h=[],u=b;u=u.parentNode;)u.nodeType===1&&h.push({element:u,left:u.scrollLeft,top:u.scrollTop});for(typeof b.focus=="function"&&b.focus(),b=0;b=document.documentMode,Ro=null,rc=null,Gd=null,Ur=!1;function Ep(u,h,b){var A=b.window===b?b.document:b.nodeType===9?b:b.ownerDocument;Ur||Ro==null||Ro!==Z(A)||(A=Ro,"selectionStart"in A&&Dr(A)?A={start:A.selectionStart,end:A.selectionEnd}:(A=(A.ownerDocument&&A.ownerDocument.defaultView||window).getSelection(),A={anchorNode:A.anchorNode,anchorOffset:A.anchorOffset,focusNode:A.focusNode,focusOffset:A.focusOffset}),Gd&&tc(Gd,A)||(Gd=A,A=Ip(rc,"onSelect"),0Fr||(u.current=Rv[Fr],Rv[Fr]=null,Fr--)}function Gn(u,h){Fr++,Rv[Fr]=u.current,u.current=h}var ma={},Kr=ar(ma),Pi=ar(!1),ga=ma;function ac(u,h){var b=u.type.contextTypes;if(!b)return ma;var A=u.stateNode;if(A&&A.__reactInternalMemoizedUnmaskedChildContext===h)return A.__reactInternalMemoizedMaskedChildContext;var I={},j;for(j in b)I[j]=h[j];return A&&(u=u.stateNode,u.__reactInternalMemoizedUnmaskedChildContext=h,u.__reactInternalMemoizedMaskedChildContext=I),I}function ui(u){return u=u.childContextTypes,u!=null}function Qd(){$n(Pi),$n(Kr)}function Nv(u,h,b){if(Kr.current!==ma)throw Error(n(168));Gn(Kr,h),Gn(Pi,b)}function Jd(u,h,b){var A=u.stateNode;if(h=h.childContextTypes,typeof A.getChildContext!="function")return b;A=A.getChildContext();for(var I in A)if(!(I in h))throw Error(n(108,Se(u)||"Unknown",I));return Y({},b,A)}function lc(u){return u=(u=u.stateNode)&&u.__reactInternalMemoizedMergedChildContext||ma,ga=Kr.current,Gn(Kr,u),Gn(Pi,Pi.current),!0}function Iv(u,h,b){var A=u.stateNode;if(!A)throw Error(n(169));b?(u=Jd(u,h,ga),A.__reactInternalMemoizedMergedChildContext=u,$n(Pi),$n(Kr),Gn(Kr,u)):$n(Pi),Gn(Pi,b)}var oo=null,ef=!1,Up=!1;function tf(u){oo===null?oo=[u]:oo.push(u)}function Ox(u){ef=!0,tf(u)}function Io(){if(!Up&&oo!==null){Up=!0;var u=0,h=Pn;try{var b=oo;for(Pn=1;u>=W,I-=W,ut=1<<32-vt(h)+I|b<nn?(pi=Wt,Wt=null):pi=Wt.sibling;var Dn=Ze(Ce,Wt,Re[nn],ot);if(Dn===null){Wt===null&&(Wt=pi);break}u&&Wt&&Dn.alternate===null&&h(Ce,Wt),ve=j(Dn,ve,nn),Gt===null?Dt=Dn:Gt.sibling=Dn,Gt=Dn,Wt=pi}if(nn===Re.length)return b(Ce,Wt),qn&&va(Ce,nn),Dt;if(Wt===null){for(;nnnn?(pi=Wt,Wt=null):pi=Wt.sibling;var Vu=Ze(Ce,Wt,Dn.value,ot);if(Vu===null){Wt===null&&(Wt=pi);break}u&&Wt&&Vu.alternate===null&&h(Ce,Wt),ve=j(Vu,ve,nn),Gt===null?Dt=Vu:Gt.sibling=Vu,Gt=Vu,Wt=pi}if(Dn.done)return b(Ce,Wt),qn&&va(Ce,nn),Dt;if(Wt===null){for(;!Dn.done;nn++,Dn=Re.next())Dn=tt(Ce,Dn.value,ot),Dn!==null&&(ve=j(Dn,ve,nn),Gt===null?Dt=Dn:Gt.sibling=Dn,Gt=Dn);return qn&&va(Ce,nn),Dt}for(Wt=A(Ce,Wt);!Dn.done;nn++,Dn=Re.next())Dn=St(Wt,Ce,nn,Dn.value,ot),Dn!==null&&(u&&Dn.alternate!==null&&Wt.delete(Dn.key===null?nn:Dn.key),ve=j(Dn,ve,nn),Gt===null?Dt=Dn:Gt.sibling=Dn,Gt=Dn);return u&&Wt.forEach(function(xW){return h(Ce,xW)}),qn&&va(Ce,nn),Dt}function Ir(Ce,ve,Re,ot){if(typeof Re=="object"&&Re!==null&&Re.type===D&&Re.key===null&&(Re=Re.props.children),typeof Re=="object"&&Re!==null){switch(Re.$$typeof){case O:e:{for(var Dt=Re.key,Gt=ve;Gt!==null;){if(Gt.key===Dt){if(Dt=Re.type,Dt===D){if(Gt.tag===7){b(Ce,Gt.sibling),ve=I(Gt,Re.props.children),ve.return=Ce,Ce=ve;break e}}else if(Gt.elementType===Dt||typeof Dt=="object"&&Dt!==null&&Dt.$$typeof===oe&&Uv(Dt)===Gt.type){b(Ce,Gt.sibling),ve=I(Gt,Re.props),ve.ref=nf(Ce,Gt,Re),ve.return=Ce,Ce=ve;break e}b(Ce,Gt);break}else h(Ce,Gt);Gt=Gt.sibling}Re.type===D?(ve=_f(Re.props.children,Ce.mode,ot,Re.key),ve.return=Ce,Ce=ve):(ot=rb(Re.type,Re.key,Re.props,null,Ce.mode,ot),ot.ref=nf(Ce,ve,Re),ot.return=Ce,Ce=ot)}return W(Ce);case N:e:{for(Gt=Re.key;ve!==null;){if(ve.key===Gt)if(ve.tag===4&&ve.stateNode.containerInfo===Re.containerInfo&&ve.stateNode.implementation===Re.implementation){b(Ce,ve.sibling),ve=I(ve,Re.children||[]),ve.return=Ce,Ce=ve;break e}else{b(Ce,ve);break}else h(Ce,ve);ve=ve.sibling}ve=XM(Re,Ce.mode,ot),ve.return=Ce,Ce=ve}return W(Ce);case oe:return Gt=Re._init,Ir(Ce,ve,Gt(Re._payload),ot)}if(ee(Re))return Pt(Ce,ve,Re,ot);if(J(Re))return It(Ce,ve,Re,ot);rf(Ce,Re)}return typeof Re=="string"&&Re!==""||typeof Re=="number"?(Re=""+Re,ve!==null&&ve.tag===6?(b(Ce,ve.sibling),ve=I(ve,Re),ve.return=Ce,Ce=ve):(b(Ce,ve),ve=$M(Re,Ce.mode,ot),ve.return=Ce,Ce=ve),W(Ce)):b(Ce,ve)}return Ir}var dc=Fv(!0),sf=Fv(!1),fc=ar(null),hc=null,xa=null,Iu=null;function pc(){Iu=xa=hc=null}function of(u){var h=fc.current;$n(fc),u._currentValue=h}function af(u,h,b){for(;u!==null;){var A=u.alternate;if((u.childLanes&h)!==h?(u.childLanes|=h,A!==null&&(A.childLanes|=h)):A!==null&&(A.childLanes&h)!==h&&(A.childLanes|=h),u===b)break;u=u.return}}function al(u,h){hc=u,Iu=xa=null,u=u.dependencies,u!==null&&u.firstContext!==null&&((u.lanes&h)!==0&&(ln=!0),u.firstContext=null)}function ps(u){var h=u._currentValue;if(Iu!==u)if(u={context:u,memoizedValue:h,next:null},xa===null){if(hc===null)throw Error(n(308));xa=u,hc.dependencies={lanes:0,firstContext:u}}else xa=xa.next=u;return h}var ba=null;function zv(u){ba===null?ba=[u]:ba.push(u)}function lf(u,h,b,A){var I=h.interleaved;return I===null?(b.next=b,zv(h)):(b.next=I.next,I.next=b),h.interleaved=b,ao(u,A)}function ao(u,h){u.lanes|=h;var b=u.alternate;for(b!==null&&(b.lanes|=h),b=u,u=u.return;u!==null;)u.childLanes|=h,b=u.alternate,b!==null&&(b.childLanes|=h),b=u,u=u.return;return b.tag===3?b.stateNode:null}var Fn=!1;function an(u){u.updateQueue={baseState:u.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function mr(u,h){u=u.updateQueue,h.updateQueue===u&&(h.updateQueue={baseState:u.baseState,firstBaseUpdate:u.firstBaseUpdate,lastBaseUpdate:u.lastBaseUpdate,shared:u.shared,effects:u.effects})}function zn(u,h){return{eventTime:u,lane:h,tag:0,payload:null,callback:null,next:null}}function Qn(u,h,b){var A=u.updateQueue;if(A===null)return null;if(A=A.shared,(On&2)!==0){var I=A.pending;return I===null?h.next=h:(h.next=I.next,I.next=h),A.pending=h,ao(u,b)}return I=A.interleaved,I===null?(h.next=h,zv(A)):(h.next=I.next,I.next=h),A.interleaved=h,ao(u,b)}function di(u,h,b){if(h=h.updateQueue,h!==null&&(h=h.shared,(b&4194240)!==0)){var A=h.lanes;A&=u.pendingLanes,b|=A,h.lanes=b,fu(u,b)}}function mc(u,h){var b=u.updateQueue,A=u.alternate;if(A!==null&&(A=A.updateQueue,b===A)){var I=null,j=null;if(b=b.firstBaseUpdate,b!==null){do{var W={eventTime:b.eventTime,lane:b.lane,tag:b.tag,payload:b.payload,callback:b.callback,next:null};j===null?I=j=W:j=j.next=W,b=b.next}while(b!==null);j===null?I=j=h:j=j.next=h}else I=j=h;b={baseState:A.baseState,firstBaseUpdate:I,lastBaseUpdate:j,shared:A.shared,effects:A.effects},u.updateQueue=b;return}u=b.lastBaseUpdate,u===null?b.firstBaseUpdate=h:u.next=h,b.lastBaseUpdate=h}function lr(u,h,b,A){var I=u.updateQueue;Fn=!1;var j=I.firstBaseUpdate,W=I.lastBaseUpdate,ae=I.shared.pending;if(ae!==null){I.shared.pending=null;var me=ae,Le=me.next;me.next=null,W===null?j=Le:W.next=Le,W=me;var Je=u.alternate;Je!==null&&(Je=Je.updateQueue,ae=Je.lastBaseUpdate,ae!==W&&(ae===null?Je.firstBaseUpdate=Le:ae.next=Le,Je.lastBaseUpdate=me))}if(j!==null){var tt=I.baseState;W=0,Je=Le=me=null,ae=j;do{var Ze=ae.lane,St=ae.eventTime;if((A&Ze)===Ze){Je!==null&&(Je=Je.next={eventTime:St,lane:0,tag:ae.tag,payload:ae.payload,callback:ae.callback,next:null});e:{var Pt=u,It=ae;switch(Ze=h,St=b,It.tag){case 1:if(Pt=It.payload,typeof Pt=="function"){tt=Pt.call(St,tt,Ze);break e}tt=Pt;break e;case 3:Pt.flags=Pt.flags&-65537|128;case 0:if(Pt=It.payload,Ze=typeof Pt=="function"?Pt.call(St,tt,Ze):Pt,Ze==null)break e;tt=Y({},tt,Ze);break e;case 2:Fn=!0}}ae.callback!==null&&ae.lane!==0&&(u.flags|=64,Ze=I.effects,Ze===null?I.effects=[ae]:Ze.push(ae))}else St={eventTime:St,lane:Ze,tag:ae.tag,payload:ae.payload,callback:ae.callback,next:null},Je===null?(Le=Je=St,me=tt):Je=Je.next=St,W|=Ze;if(ae=ae.next,ae===null){if(ae=I.shared.pending,ae===null)break;Ze=ae,ae=Ze.next,Ze.next=null,I.lastBaseUpdate=Ze,I.shared.pending=null}}while(!0);if(Je===null&&(me=tt),I.baseState=me,I.firstBaseUpdate=Le,I.lastBaseUpdate=Je,h=I.shared.interleaved,h!==null){I=h;do W|=I.lane,I=I.next;while(I!==h)}else j===null&&(I.shared.lanes=0);vf|=W,u.lanes=W,u.memoizedState=tt}}function ku(u,h,b){if(u=h.effects,h.effects=null,u!==null)for(h=0;hb?b:4,u(!0);var A=xc.transition;xc.transition={};try{u(!1),h()}finally{Pn=b,xc.transition=A}}function Ma(){return gs().memoizedState}function Xp(u,h,b){var A=zu(u);if(b={lane:A,action:b,hasEagerState:!1,eagerState:null,next:null},mf(u))qp(h,b);else if(b=lf(u,h,b,A),b!==null){var I=xs();Ca(b,u,A,I),Kp(b,h,A)}}function bc(u,h,b){var A=zu(u),I={lane:A,action:b,hasEagerState:!1,eagerState:null,next:null};if(mf(u))qp(h,I);else{var j=u.alternate;if(u.lanes===0&&(j===null||j.lanes===0)&&(j=h.lastRenderedReducer,j!==null))try{var W=h.lastRenderedState,ae=j(W,b);if(I.hasEagerState=!0,I.eagerState=ae,ds(ae,W)){var me=h.interleaved;me===null?(I.next=I,zv(h)):(I.next=me.next,me.next=I),h.interleaved=I;return}}catch{}finally{}b=lf(u,h,I,A),b!==null&&(I=xs(),Ca(b,u,A,I),Kp(b,h,A))}}function mf(u){var h=u.alternate;return u===Xn||h!==null&&h===Xn}function qp(u,h){fi=co=!0;var b=u.pending;b===null?h.next=h:(h.next=b.next,b.next=h),u.pending=h}function Kp(u,h,b){if((b&4194240)!==0){var A=h.lanes;A&=u.pendingLanes,b|=A,h.lanes=b,fu(u,b)}}var Yp={readContext:ps,useCallback:Zr,useContext:Zr,useEffect:Zr,useImperativeHandle:Zr,useInsertionEffect:Zr,useLayoutEffect:Zr,useMemo:Zr,useReducer:Zr,useRef:Zr,useState:Zr,useDebugValue:Zr,useDeferredValue:Zr,useTransition:Zr,useMutableSource:Zr,useSyncExternalStore:Zr,useId:Zr,unstable_isNewReconciler:!1},Bx={readContext:ps,useCallback:function(u,h){return Qr().memoizedState=[u,h===void 0?null:h],u},useContext:ps,useEffect:Ii,useImperativeHandle:function(u,h,b){return b=b!=null?b.concat([u]):null,Lo(4194308,4,Fx.bind(null,h,u),b)},useLayoutEffect:function(u,h){return Lo(4194308,4,u,h)},useInsertionEffect:function(u,h){return Lo(4,2,u,h)},useMemo:function(u,h){var b=Qr();return h=h===void 0?null:h,u=u(),b.memoizedState=[u,h],u},useReducer:function(u,h,b){var A=Qr();return h=b!==void 0?b(h):h,A.memoizedState=A.baseState=h,u={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:u,lastRenderedState:h},A.queue=u,u=u.dispatch=Xp.bind(null,Xn,u),[A.memoizedState,u]},useRef:function(u){var h=Qr();return u={current:u},h.memoizedState=u},useState:Wv,useDebugValue:Wp,useDeferredValue:function(u){return Qr().memoizedState=u},useTransition:function(){var u=Wv(!1),h=u[0];return u=CM.bind(null,u[1]),Qr().memoizedState=u,[h,u]},useMutableSource:function(){},useSyncExternalStore:function(u,h,b){var A=Xn,I=Qr();if(qn){if(b===void 0)throw Error(n(407));b=b()}else{if(b=h(),hi===null)throw Error(n(349));(wa&30)!==0||Gp(A,h,b)}I.memoizedState=b;var j={value:b,getSnapshot:h};return I.queue=j,Ii(Lx.bind(null,A,j,u),[u]),A.flags|=2048,uo(9,hf.bind(null,A,j,b,h),void 0,null),b},useId:function(){var u=Qr(),h=hi.identifierPrefix;if(qn){var b=Fs,A=ut;b=(A&~(1<<32-vt(A)-1)).toString(32)+b,h=":"+h+"R"+b,b=cl++,0<\/script>",u=u.removeChild(u.firstChild)):typeof A.is=="string"?u=W.createElement(b,{is:A.is}):(u=W.createElement(b),b==="select"&&(W=u,A.multiple?W.multiple=!0:A.size&&(W.size=A.size))):u=W.createElementNS(u,b),u[Nr]=h,u[Pu]=A,fN(u,h,!1,!1),h.stateNode=u;e:{switch(W=Ae(b,A),b){case"dialog":Wn("cancel",u),Wn("close",u),I=A;break;case"iframe":case"object":case"embed":Wn("load",u),I=A;break;case"video":case"audio":for(I=0;IJp&&(h.flags|=128,A=!0,Yv(j,!1),h.lanes=4194304)}else{if(!A)if(u=lo(W),u!==null){if(h.flags|=128,A=!0,b=u.updateQueue,b!==null&&(h.updateQueue=b,h.flags|=4),Yv(j,!0),j.tail===null&&j.tailMode==="hidden"&&!W.alternate&&!qn)return Yi(h),null}else 2*at()-j.renderingStartTime>Jp&&b!==1073741824&&(h.flags|=128,A=!0,Yv(j,!1),h.lanes=4194304);j.isBackwards?(W.sibling=h.child,h.child=W):(b=j.last,b!==null?b.sibling=W:h.child=W,j.last=W)}return j.tail!==null?(h=j.tail,j.rendering=h,j.tail=h.sibling,j.renderingStartTime=at(),h.sibling=null,b=Kn.current,Gn(Kn,A?b&1|2:b&1),h):(Yi(h),null);case 22:case 23:return VM(),A=h.memoizedState!==null,u!==null&&u.memoizedState!==null!==A&&(h.flags|=8192),A&&(h.mode&1)!==0?(fo&1073741824)!==0&&(Yi(h),h.subtreeFlags&6&&(h.flags|=8192)):Yi(h),null;case 24:return null;case 25:return null}throw Error(n(156,h.tag))}function JG(u,h){switch(ya(h),h.tag){case 1:return ui(h.type)&&Qd(),u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 3:return ll(),$n(Pi),$n(Kr),Oo(),u=h.flags,(u&65536)!==0&&(u&128)===0?(h.flags=u&-65537|128,h):null;case 5:return Ou(h),null;case 13:if($n(Kn),u=h.memoizedState,u!==null&&u.dehydrated!==null){if(h.alternate===null)throw Error(n(340));ol()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 19:return $n(Kn),null;case 4:return ll(),null;case 10:return of(h.type._context),null;case 22:case 23:return VM(),null;case 24:return null;default:return null}}var Xx=!1,Zi=!1,eW=typeof WeakSet=="function"?WeakSet:Set,At=null;function Zp(u,h){var b=u.ref;if(b!==null)if(typeof b=="function")try{b(null)}catch(A){_r(u,h,A)}else b.current=null}function NM(u,h,b){try{b()}catch(A){_r(u,h,A)}}var mN=!1;function tW(u,h){if(Cu=ks,u=nr(),Dr(u)){if("selectionStart"in u)var b={start:u.selectionStart,end:u.selectionEnd};else e:{b=(b=u.ownerDocument)&&b.defaultView||window;var A=b.getSelection&&b.getSelection();if(A&&A.rangeCount!==0){b=A.anchorNode;var I=A.anchorOffset,j=A.focusNode;A=A.focusOffset;try{b.nodeType,j.nodeType}catch{b=null;break e}var W=0,oe=-1,me=-1,De=0,Qe=0,et=u,Ze=null;t:for(;;){for(var wt;et!==b||I!==0&&et.nodeType!==3||(oe=W+I),et!==j||A!==0&&et.nodeType!==3||(me=W+A),et.nodeType===3&&(W+=et.nodeValue.length),(wt=et.firstChild)!==null;)Ze=et,et=wt;for(;;){if(et===u)break t;if(Ze===b&&++De===I&&(oe=W),Ze===j&&++Qe===A&&(me=W),(wt=et.nextSibling)!==null)break;et=Ze,Ze=et.parentNode}et=wt}b=oe===-1||me===-1?null:{start:oe,end:me}}else b=null}b=b||{start:0,end:0}}else b=null;for(Ev={focusedElem:u,selectionRange:b},ks=!1,At=h;At!==null;)if(h=At,u=h.child,(h.subtreeFlags&1028)!==0&&u!==null)u.return=h,At=u;else for(;At!==null;){h=At;try{var Ct=h.alternate;if((h.flags&1024)!==0)switch(h.tag){case 0:case 11:case 15:break;case 1:if(Ct!==null){var Nt=Ct.memoizedProps,Ir=Ct.memoizedState,Ce=h.stateNode,ve=Ce.getSnapshotBeforeUpdate(h.elementType===h.type?Nt:Bs(h.type,Nt),Ir);Ce.__reactInternalSnapshotBeforeUpdate=ve}break;case 3:var Re=h.stateNode.containerInfo;Re.nodeType===1?Re.textContent="":Re.nodeType===9&&Re.documentElement&&Re.removeChild(Re.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(ot){_r(h,h.return,ot)}if(u=h.sibling,u!==null){u.return=h.return,At=u;break}At=h.return}return Ct=mN,mN=!1,Ct}function Zv(u,h,b){var A=h.updateQueue;if(A=A!==null?A.lastEffect:null,A!==null){var I=A=A.next;do{if((I.tag&u)===u){var j=I.destroy;I.destroy=void 0,j!==void 0&&NM(h,b,j)}I=I.next}while(I!==A)}}function qx(u,h){if(h=h.updateQueue,h=h!==null?h.lastEffect:null,h!==null){var b=h=h.next;do{if((b.tag&u)===u){var A=b.create;b.destroy=A()}b=b.next}while(b!==h)}}function IM(u){var h=u.ref;if(h!==null){var b=u.stateNode;switch(u.tag){case 5:u=b;break;default:u=b}typeof h=="function"?h(u):h.current=u}}function gN(u){var h=u.alternate;h!==null&&(u.alternate=null,gN(h)),u.child=null,u.deletions=null,u.sibling=null,u.tag===5&&(h=u.stateNode,h!==null&&(delete h[Nr],delete h[Pu],delete h[oc],delete h[Op],delete h[Lp])),u.stateNode=null,u.return=null,u.dependencies=null,u.memoizedProps=null,u.memoizedState=null,u.pendingProps=null,u.stateNode=null,u.updateQueue=null}function vN(u){return u.tag===5||u.tag===3||u.tag===4}function yN(u){e:for(;;){for(;u.sibling===null;){if(u.return===null||vN(u.return))return null;u=u.return}for(u.sibling.return=u.return,u=u.sibling;u.tag!==5&&u.tag!==6&&u.tag!==18;){if(u.flags&2||u.child===null||u.tag===4)continue e;u.child.return=u,u=u.child}if(!(u.flags&2))return u.stateNode}}function kM(u,h,b){var A=u.tag;if(A===5||A===6)u=u.stateNode,h?b.nodeType===8?b.parentNode.insertBefore(u,h):b.insertBefore(u,h):(b.nodeType===8?(h=b.parentNode,h.insertBefore(u,b)):(h=b,h.appendChild(u)),b=b._reactRootContainer,b!=null||h.onclick!==null||(h.onclick=Zd));else if(A!==4&&(u=u.child,u!==null))for(kM(u,h,b),u=u.sibling;u!==null;)kM(u,h,b),u=u.sibling}function OM(u,h,b){var A=u.tag;if(A===5||A===6)u=u.stateNode,h?b.insertBefore(u,h):b.appendChild(u);else if(A!==4&&(u=u.child,u!==null))for(OM(u,h,b),u=u.sibling;u!==null;)OM(u,h,b),u=u.sibling}var ki=null,Aa=!1;function ju(u,h,b){for(b=b.child;b!==null;)xN(u,h,b),b=b.sibling}function xN(u,h,b){if(Zt&&typeof Zt.onCommitFiberUnmount=="function")try{Zt.onCommitFiberUnmount(yn,b)}catch{}switch(b.tag){case 5:Zi||Zp(b,h);case 6:var A=ki,I=Aa;ki=null,ju(u,h,b),ki=A,Aa=I,ki!==null&&(Aa?(u=ki,b=b.stateNode,u.nodeType===8?u.parentNode.removeChild(b):u.removeChild(b)):ki.removeChild(b.stateNode));break;case 18:ki!==null&&(Aa?(u=ki,b=b.stateNode,u.nodeType===8?kp(u.parentNode,b):u.nodeType===1&&kp(u,b),Fd(u)):kp(ki,b.stateNode));break;case 4:A=ki,I=Aa,ki=b.stateNode.containerInfo,Aa=!0,ju(u,h,b),ki=A,Aa=I;break;case 0:case 11:case 14:case 15:if(!Zi&&(A=b.updateQueue,A!==null&&(A=A.lastEffect,A!==null))){I=A=A.next;do{var j=I,W=j.destroy;j=j.tag,W!==void 0&&((j&2)!==0||(j&4)!==0)&&NM(b,h,W),I=I.next}while(I!==A)}ju(u,h,b);break;case 1:if(!Zi&&(Zp(b,h),A=b.stateNode,typeof A.componentWillUnmount=="function"))try{A.props=b.memoizedProps,A.state=b.memoizedState,A.componentWillUnmount()}catch(oe){_r(b,h,oe)}ju(u,h,b);break;case 21:ju(u,h,b);break;case 22:b.mode&1?(Zi=(A=Zi)||b.memoizedState!==null,ju(u,h,b),Zi=A):ju(u,h,b);break;default:ju(u,h,b)}}function bN(u){var h=u.updateQueue;if(h!==null){u.updateQueue=null;var b=u.stateNode;b===null&&(b=u.stateNode=new eW),h.forEach(function(A){var I=uW.bind(null,u,A);b.has(A)||(b.add(A),A.then(I,I))})}}function Ta(u,h){var b=h.deletions;if(b!==null)for(var A=0;AI&&(I=W),A&=~j}if(A=I,A=at()-A,A=(120>A?120:480>A?480:1080>A?1080:1920>A?1920:3e3>A?3e3:4320>A?4320:1960*rW(A/1960))-A,10u?16:u,Fu===null)var A=!1;else{if(u=Fu,Fu=null,Jx=0,(On&6)!==0)throw Error(n(331));var I=On;for(On|=4,At=u.current;At!==null;){var j=At,W=j.child;if((At.flags&16)!==0){var oe=j.deletions;if(oe!==null){for(var me=0;meat()-jM?xf(u,0):DM|=b),Vs(u,h)}function kN(u,h){h===0&&((u.mode&1)===0?h=1:(h=kn,kn<<=1,(kn&130023424)===0&&(kn=4194304)));var b=xs();u=ao(u,h),u!==null&&(Za(u,h,b),Vs(u,b))}function cW(u){var h=u.memoizedState,b=0;h!==null&&(b=h.retryLane),kN(u,b)}function uW(u,h){var b=0;switch(u.tag){case 13:var A=u.stateNode,I=u.memoizedState;I!==null&&(b=I.retryLane);break;case 19:A=u.stateNode;break;default:throw Error(n(314))}A!==null&&A.delete(h),kN(u,b)}var ON;ON=function(u,h,b){if(u!==null)if(u.memoizedProps!==h.pendingProps||Pi.current)ln=!0;else{if((u.lanes&b)===0&&(h.flags&128)===0)return ln=!1,ZG(u,h,b);ln=(u.flags&131072)!==0}else ln=!1,qn&&(h.flags&1048576)!==0&&kv(h,Fp,h.index);switch(h.lanes=0,h.tag){case 2:var A=h.type;$x(u,h),u=h.pendingProps;var I=ac(h,Kr.current);al(h,b),I=df(null,h,A,u,I,b);var j=Bv();return h.flags|=1,typeof I=="object"&&I!==null&&typeof I.render=="function"&&I.$$typeof===void 0?(h.tag=1,h.memoizedState=null,h.updateQueue=null,ui(A)?(j=!0,lc(h)):j=!1,h.memoizedState=I.state!==null&&I.state!==void 0?I.state:null,an(h),I.updater=Yp,h.stateNode=I,I._reactInternals=h,M(h,A,u,b),h=on(null,h,A,!0,j,b)):(h.tag=0,qn&&j&&Ov(h),_t(null,h,I,b),h=h.child),h;case 16:A=h.elementType;e:{switch($x(u,h),u=h.pendingProps,I=A._init,A=I(A._payload),h.type=A,I=h.tag=fW(A),u=Bs(A,u),I){case 0:h=yt(null,h,A,u,b);break e;case 1:h=kt(null,h,A,u,b);break e;case 11:h=Jr(null,h,A,u,b);break e;case 14:h=ys(null,h,A,Bs(A.type,u),b);break e}throw Error(n(306,A,""))}return h;case 0:return A=h.type,I=h.pendingProps,I=h.elementType===A?I:Bs(A,I),yt(u,h,A,I,b);case 1:return A=h.type,I=h.pendingProps,I=h.elementType===A?I:Bs(A,I),kt(u,h,A,I,b);case 3:e:{if(sn(h),u===null)throw Error(n(387));A=h.pendingProps,j=h.memoizedState,I=j.element,mr(u,h),lr(h,A,null,b);var W=h.memoizedState;if(A=W.element,j.isDehydrated)if(j={element:A,isDehydrated:!1,cache:W.cache,pendingSuspenseBoundaries:W.pendingSuspenseBoundaries,transitions:W.transitions},h.updateQueue.baseState=j,h.memoizedState=j,h.flags&256){I=P(Error(n(423)),h),h=En(u,h,A,b,I);break e}else if(A!==I){I=P(Error(n(424)),h),h=En(u,h,A,b,I);break e}else for(Ni=ha(h.stateNode.containerInfo.firstChild),Yr=h,qn=!0,zs=null,b=sf(h,null,A,b),h.child=b;b;)b.flags=b.flags&-3|4096,b=b.sibling;else{if(ol(),A===I){h=_c(u,h,b);break e}_t(u,h,A,b)}h=h.child}return h;case 5:return vc(h),u===null&&Bp(h),A=h.type,I=h.pendingProps,j=u!==null?u.memoizedProps:null,W=I.children,Av(A,I)?W=null:j!==null&&Av(A,j)&&(h.flags|=32),Ue(u,h),_t(u,h,W,b),h.child;case 6:return u===null&&Bp(h),null;case 13:return Ea(u,h,b);case 4:return cf(h,h.stateNode.containerInfo),A=h.pendingProps,u===null?h.child=dc(h,null,A,b):_t(u,h,A,b),h.child;case 11:return A=h.type,I=h.pendingProps,I=h.elementType===A?I:Bs(A,I),Jr(u,h,A,I,b);case 7:return _t(u,h,h.pendingProps,b),h.child;case 8:return _t(u,h,h.pendingProps.children,b),h.child;case 12:return _t(u,h,h.pendingProps.children,b),h.child;case 10:e:{if(A=h.type._context,I=h.pendingProps,j=h.memoizedProps,W=I.value,Gn(fc,A._currentValue),A._currentValue=W,j!==null)if(ds(j.value,W)){if(j.children===I.children&&!Pi.current){h=_c(u,h,b);break e}}else for(j=h.child,j!==null&&(j.return=h);j!==null;){var oe=j.dependencies;if(oe!==null){W=j.child;for(var me=oe.firstContext;me!==null;){if(me.context===A){if(j.tag===1){me=zn(-1,b&-b),me.tag=2;var De=j.updateQueue;if(De!==null){De=De.shared;var Qe=De.pending;Qe===null?me.next=me:(me.next=Qe.next,Qe.next=me),De.pending=me}}j.lanes|=b,me=j.alternate,me!==null&&(me.lanes|=b),af(j.return,b,h),oe.lanes|=b;break}me=me.next}}else if(j.tag===10)W=j.type===h.type?null:j.child;else if(j.tag===18){if(W=j.return,W===null)throw Error(n(341));W.lanes|=b,oe=W.alternate,oe!==null&&(oe.lanes|=b),af(W,b,h),W=j.sibling}else W=j.child;if(W!==null)W.return=j;else for(W=j;W!==null;){if(W===h){W=null;break}if(j=W.sibling,j!==null){j.return=W.return,W=j;break}W=W.return}j=W}_t(u,h,I.children,b),h=h.child}return h;case 9:return I=h.type,A=h.pendingProps.children,al(h,b),I=ps(I),A=A(I),h.flags|=1,_t(u,h,A,b),h.child;case 14:return A=h.type,I=Bs(A,h.pendingProps),I=Bs(A.type,I),ys(u,h,A,I,b);case 15:return Ie(u,h,h.type,h.pendingProps,b);case 17:return A=h.type,I=h.pendingProps,I=h.elementType===A?I:Bs(A,I),$x(u,h),h.tag=1,ui(A)?(u=!0,lc(h)):u=!1,al(h,b),p(h,A,I),M(h,A,I,b),on(null,h,A,!0,u,b);case 19:return dN(u,h,b);case 22:return _e(u,h,b)}throw Error(n(156,h.tag))};function LN(u,h){return ke(u,h)}function dW(u,h,b,A){this.tag=u,this.key=b,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=h,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=A,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function jo(u,h,b,A){return new dW(u,h,b,A)}function WM(u){return u=u.prototype,!(!u||!u.isReactComponent)}function fW(u){if(typeof u=="function")return WM(u)?1:0;if(u!=null){if(u=u.$$typeof,u===H)return 11;if(u===he)return 14}return 2}function Hu(u,h){var b=u.alternate;return b===null?(b=jo(u.tag,h,u.key,u.mode),b.elementType=u.elementType,b.type=u.type,b.stateNode=u.stateNode,b.alternate=u,u.alternate=b):(b.pendingProps=h,b.type=u.type,b.flags=0,b.subtreeFlags=0,b.deletions=null),b.flags=u.flags&14680064,b.childLanes=u.childLanes,b.lanes=u.lanes,b.child=u.child,b.memoizedProps=u.memoizedProps,b.memoizedState=u.memoizedState,b.updateQueue=u.updateQueue,h=u.dependencies,b.dependencies=h===null?null:{lanes:h.lanes,firstContext:h.firstContext},b.sibling=u.sibling,b.index=u.index,b.ref=u.ref,b}function rb(u,h,b,A,I,j){var W=2;if(A=u,typeof u=="function")WM(u)&&(W=1);else if(typeof u=="string")W=5;else e:switch(u){case D:return _f(b.children,I,j,h);case F:W=8,I|=8;break;case G:return u=jo(12,b,h,I|2),u.elementType=G,u.lanes=j,u;case ne:return u=jo(13,b,h,I),u.elementType=ne,u.lanes=j,u;case te:return u=jo(19,b,h,I),u.elementType=te,u.lanes=j,u;case fe:return ib(b,I,j,h);default:if(typeof u=="object"&&u!==null)switch(u.$$typeof){case k:W=10;break e;case U:W=9;break e;case H:W=11;break e;case he:W=14;break e;case se:W=16,A=null;break e}throw Error(n(130,u==null?u:typeof u,""))}return h=jo(W,b,h,I),h.elementType=u,h.type=A,h.lanes=j,h}function _f(u,h,b,A){return u=jo(7,u,A,h),u.lanes=b,u}function ib(u,h,b,A){return u=jo(22,u,A,h),u.elementType=fe,u.lanes=b,u.stateNode={isHidden:!1},u}function $M(u,h,b){return u=jo(6,u,null,h),u.lanes=b,u}function XM(u,h,b){return h=jo(4,u.children!==null?u.children:[],u.key,h),h.lanes=b,h.stateNode={containerInfo:u.containerInfo,pendingChildren:null,implementation:u.implementation},h}function hW(u,h,b,A,I){this.tag=h,this.containerInfo=u,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ld(0),this.expirationTimes=Ld(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ld(0),this.identifierPrefix=A,this.onRecoverableError=I,this.mutableSourceEagerHydrationData=null}function qM(u,h,b,A,I,j,W,oe,me){return u=new hW(u,h,b,oe,me),h===1?(h=1,j===!0&&(h|=8)):h=0,j=jo(3,null,null,h),u.current=j,j.stateNode=u,j.memoizedState={element:A,isDehydrated:b,cache:null,transitions:null,pendingSuspenseBoundaries:null},an(j),u}function pW(u,h,b){var A=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),tE.exports=CW(),tE.exports}var YN;function PW(){if(YN)return fb;YN=1;var t=$U();return fb.createRoot=t.createRoot,fb.hydrateRoot=t.hydrateRoot,fb}var RW=PW();const NW=V1(RW);var Gy=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},uh,dd,og,LU,IW=(LU=class extends Gy{constructor(){super();$t(this,uh);$t(this,dd);$t(this,og);St(this,og,e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){ge(this,dd)||this.setEventListener(ge(this,og))}onUnsubscribe(){var e;this.hasListeners()||((e=ge(this,dd))==null||e.call(this),St(this,dd,void 0))}setEventListener(e){var n;St(this,og,e),(n=ge(this,dd))==null||n.call(this),St(this,dd,e(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(e){ge(this,uh)!==e&&(St(this,uh,e),this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(n=>{n(e)})}isFocused(){var e;return typeof ge(this,uh)=="boolean"?ge(this,uh):((e=globalThis.document)==null?void 0:e.visibilityState)!=="hidden"}},uh=new WeakMap,dd=new WeakMap,og=new WeakMap,LU),vP=new IW,kW={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)},fd,gP,DU,OW=(DU=class{constructor(){$t(this,fd,kW);$t(this,gP,!1)}setTimeoutProvider(t){St(this,fd,t)}setTimeout(t,e){return ge(this,fd).setTimeout(t,e)}clearTimeout(t){ge(this,fd).clearTimeout(t)}setInterval(t,e){return ge(this,fd).setInterval(t,e)}clearInterval(t){ge(this,fd).clearInterval(t)}},fd=new WeakMap,gP=new WeakMap,DU),Qf=new OW;function LW(t){setTimeout(t,0)}var DW=typeof window>"u"||"Deno"in globalThis;function qs(){}function jW(t,e){return typeof t=="function"?t(e):t}function mT(t){return typeof t=="number"&&t>=0&&t!==1/0}function XU(t,e){return Math.max(t+(e||0)-Date.now(),0)}function bd(t,e){return typeof t=="function"?t(e):t}function vo(t,e){return typeof t=="function"?t(e):t}function ZN(t,e){const{type:n="all",exact:r,fetchStatus:i,predicate:s,queryKey:o,stale:a}=t;if(o){if(r){if(e.queryHash!==yP(o,e.options))return!1}else if(!sy(e.queryKey,o))return!1}if(n!=="all"){const l=e.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&e.isStale()!==a||i&&i!==e.state.fetchStatus||s&&!s(e))}function QN(t,e){const{exact:n,status:r,predicate:i,mutationKey:s}=t;if(s){if(!e.options.mutationKey)return!1;if(n){if(iy(e.options.mutationKey)!==iy(s))return!1}else if(!sy(e.options.mutationKey,s))return!1}return!(r&&e.state.status!==r||i&&!i(e))}function yP(t,e){return((e==null?void 0:e.queryKeyHashFn)||iy)(t)}function iy(t){return JSON.stringify(t,(e,n)=>vT(n)?Object.keys(n).sort().reduce((r,i)=>(r[i]=n[i],r),{}):n)}function sy(t,e){return t===e?!0:typeof t!=typeof e?!1:t&&e&&typeof t=="object"&&typeof e=="object"?Object.keys(e).every(n=>sy(t[n],e[n])):!1}var UW=Object.prototype.hasOwnProperty;function qU(t,e,n=0){if(t===e)return t;if(n>500)return e;const r=JN(t)&&JN(e);if(!r&&!(vT(t)&&vT(e)))return e;const s=(r?t:Object.keys(t)).length,o=r?e:Object.keys(e),a=o.length,l=r?new Array(a):{};let c=0;for(let d=0;d{Qf.setTimeout(e,t)})}function yT(t,e,n){return typeof n.structuralSharing=="function"?n.structuralSharing(t,e):n.structuralSharing!==!1?qU(t,e):e}function zW(t,e,n=0){const r=[...t,e];return n&&r.length>n?r.slice(1):r}function BW(t,e,n=0){const r=[e,...t];return n&&r.length>n?r.slice(0,-1):r}var xP=Symbol();function KU(t,e){return!t.queryFn&&(e!=null&&e.initialPromise)?()=>e.initialPromise:!t.queryFn||t.queryFn===xP?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}function YU(t,e){return typeof t=="function"?t(...e):!!t}function HW(t,e,n){let r=!1,i;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(i??(i=e()),r||(r=!0,i.aborted?n():i.addEventListener("abort",n,{once:!0})),i)}),t}var oy=(()=>{let t=()=>DW;return{isServer(){return t()},setIsServer(e){t=e}}})();function xT(){let t,e;const n=new Promise((i,s)=>{t=i,e=s});n.status="pending",n.catch(()=>{});function r(i){Object.assign(n,i),delete n.resolve,delete n.reject}return n.resolve=i=>{r({status:"fulfilled",value:i}),t(i)},n.reject=i=>{r({status:"rejected",reason:i}),e(i)},n}var VW=LW;function GW(){let t=[],e=0,n=a=>{a()},r=a=>{a()},i=VW;const s=a=>{e?t.push(a):i(()=>{n(a)})},o=()=>{const a=t;t=[],a.length&&i(()=>{r(()=>{a.forEach(l=>{n(l)})})})};return{batch:a=>{let l;e++;try{l=a()}finally{e--,e||o()}return l},batchCalls:a=>(...l)=>{s(()=>{a(...l)})},schedule:s,setNotifyFunction:a=>{n=a},setBatchNotifyFunction:a=>{r=a},setScheduler:a=>{i=a}}}var Fi=GW(),ag,hd,lg,jU,WW=(jU=class extends Gy{constructor(){super();$t(this,ag,!0);$t(this,hd);$t(this,lg);St(this,lg,e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){ge(this,hd)||this.setEventListener(ge(this,lg))}onUnsubscribe(){var e;this.hasListeners()||((e=ge(this,hd))==null||e.call(this),St(this,hd,void 0))}setEventListener(e){var n;St(this,lg,e),(n=ge(this,hd))==null||n.call(this),St(this,hd,e(this.setOnline.bind(this)))}setOnline(e){ge(this,ag)!==e&&(St(this,ag,e),this.listeners.forEach(r=>{r(e)}))}isOnline(){return ge(this,ag)}},ag=new WeakMap,hd=new WeakMap,lg=new WeakMap,jU),J_=new WW;function $W(t){return Math.min(1e3*2**t,3e4)}function ZU(t){return(t??"online")==="online"?J_.isOnline():!0}var bT=class extends Error{constructor(t){super("CancelledError"),this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}};function QU(t){let e=!1,n=0,r;const i=xT(),s=()=>i.status!=="pending",o=S=>{var w;if(!s()){const _=new bT(S);m(_),(w=t.onCancel)==null||w.call(t,_)}},a=()=>{e=!0},l=()=>{e=!1},c=()=>vP.isFocused()&&(t.networkMode==="always"||J_.isOnline())&&t.canRun(),d=()=>ZU(t.networkMode)&&t.canRun(),f=S=>{s()||(r==null||r(),i.resolve(S))},m=S=>{s()||(r==null||r(),i.reject(S))},y=()=>new Promise(S=>{var w;r=_=>{(s()||c())&&S(_)},(w=t.onPause)==null||w.call(t)}).then(()=>{var S;r=void 0,s()||(S=t.onContinue)==null||S.call(t)}),x=()=>{if(s())return;let S;const w=n===0?t.initialPromise:void 0;try{S=w??t.fn()}catch(_){S=Promise.reject(_)}Promise.resolve(S).then(f).catch(_=>{var N;if(s())return;const E=t.retry??(oy.isServer()?0:3),T=t.retryDelay??$W,C=typeof T=="function"?T(n,_):T,O=E===!0||typeof E=="number"&&nc()?void 0:y()).then(()=>{e?m(_):x()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r==null||r(),i),cancelRetry:a,continueRetry:l,canStart:d,start:()=>(d()?x():y().then(x),i)}}var dh,UU,JU=(UU=class{constructor(){$t(this,dh)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),mT(this.gcTime)&&St(this,dh,Qf.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(oy.isServer()?1/0:300*1e3))}clearGcTimeout(){ge(this,dh)!==void 0&&(Qf.clearTimeout(ge(this,dh)),St(this,dh,void 0))}},dh=new WeakMap,UU);function XW(t){return{onFetch:(e,n)=>{var d,f,m,y,x;const r=e.options,i=(m=(f=(d=e.fetchOptions)==null?void 0:d.meta)==null?void 0:f.fetchMore)==null?void 0:m.direction,s=((y=e.state.data)==null?void 0:y.pages)||[],o=((x=e.state.data)==null?void 0:x.pageParams)||[];let a={pages:[],pageParams:[]},l=0;const c=async()=>{let S=!1;const w=T=>{HW(T,()=>e.signal,()=>S=!0)},_=KU(e.options,e.fetchOptions),E=async(T,C,O)=>{if(S)return Promise.reject(e.signal.reason);if(C==null&&T.pages.length)return Promise.resolve(T);const D=(()=>{const U={client:e.client,queryKey:e.queryKey,pageParam:C,direction:O?"backward":"forward",meta:e.options.meta};return w(U),U})(),F=await _(D),{maxPages:G}=e.options,k=O?BW:zW;return{pages:k(T.pages,F,G),pageParams:k(T.pageParams,C,G)}};if(i&&s.length){const T=i==="backward",C=T?qW:tI,O={pages:s,pageParams:o},N=C(r,O);a=await E(O,N,T)}else{const T=t??s.length;do{const C=l===0?o[0]??r.initialPageParam:tI(r,a);if(l>0&&C==null)break;a=await E(a,C),l++}while(l{var S,w;return(w=(S=e.options).persister)==null?void 0:w.call(S,c,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},n)}:e.fetchFn=c}}}function tI(t,{pages:e,pageParams:n}){const r=e.length-1;return e.length>0?t.getNextPageParam(e[r],e,n[r],n):void 0}function qW(t,{pages:e,pageParams:n}){var r;return e.length>0?(r=t.getPreviousPageParam)==null?void 0:r.call(t,e[0],e,n[0],n):void 0}var cg,fh,ug,Vo,hh,gi,Fy,ph,go,eF,Rc,FU,KW=(FU=class extends JU{constructor(e){super();$t(this,go);$t(this,cg);$t(this,fh);$t(this,ug);$t(this,Vo);$t(this,hh);$t(this,gi);$t(this,Fy);$t(this,ph);St(this,ph,!1),St(this,Fy,e.defaultOptions),this.setOptions(e.options),this.observers=[],St(this,hh,e.client),St(this,Vo,ge(this,hh).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,St(this,fh,rI(this.options)),this.state=e.state??ge(this,fh),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return ge(this,cg)}get promise(){var e;return(e=ge(this,gi))==null?void 0:e.promise}setOptions(e){if(this.options={...ge(this,Fy),...e},e!=null&&e._type&&St(this,cg,e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=rI(this.options);n.data!==void 0&&(this.setState(nI(n.data,n.dataUpdatedAt)),St(this,fh,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&ge(this,Vo).remove(this)}setData(e,n){const r=yT(this.state.data,e,this.options);return _n(this,go,Rc).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(e){_n(this,go,Rc).call(this,{type:"setState",state:e})}cancel(e){var r,i;const n=(r=ge(this,gi))==null?void 0:r.promise;return(i=ge(this,gi))==null||i.cancel(e),n?n.then(qs).catch(qs):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return ge(this,fh)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>vo(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===xP||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>bd(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!XU(this.state.dataUpdatedAt,e)}onFocus(){var n;const e=this.observers.find(r=>r.shouldFetchOnWindowFocus());e==null||e.refetch({cancelRefetch:!1}),(n=ge(this,gi))==null||n.continue()}onOnline(){var n;const e=this.observers.find(r=>r.shouldFetchOnReconnect());e==null||e.refetch({cancelRefetch:!1}),(n=ge(this,gi))==null||n.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),ge(this,Vo).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(n=>n!==e),this.observers.length||(ge(this,gi)&&(ge(this,ph)||_n(this,go,eF).call(this)?ge(this,gi).cancel({revert:!0}):ge(this,gi).cancelRetry()),this.scheduleGc()),ge(this,Vo).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||_n(this,go,Rc).call(this,{type:"invalidate"})}async fetch(e,n){var c,d,f,m,y,x,S,w,_,E,T;if(this.state.fetchStatus!=="idle"&&((c=ge(this,gi))==null?void 0:c.status())!=="rejected"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(ge(this,gi))return ge(this,gi).continueRetry(),ge(this,gi).promise}if(e&&this.setOptions(e),!this.options.queryFn){const C=this.observers.find(O=>O.options.queryFn);C&&this.setOptions(C.options)}const r=new AbortController,i=C=>{Object.defineProperty(C,"signal",{enumerable:!0,get:()=>(St(this,ph,!0),r.signal)})},s=()=>{const C=KU(this.options,n),N=(()=>{const D={client:ge(this,hh),queryKey:this.queryKey,meta:this.meta};return i(D),D})();return St(this,ph,!1),this.options.persister?this.options.persister(C,N,this):C(N)},a=(()=>{const C={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:ge(this,hh),state:this.state,fetchFn:s};return i(C),C})(),l=ge(this,cg)==="infinite"?XW(this.options.pages):this.options.behavior;l==null||l.onFetch(a,this),St(this,ug,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((d=a.fetchOptions)==null?void 0:d.meta))&&_n(this,go,Rc).call(this,{type:"fetch",meta:(f=a.fetchOptions)==null?void 0:f.meta}),St(this,gi,QU({initialPromise:n==null?void 0:n.initialPromise,fn:a.fetchFn,onCancel:C=>{C instanceof bT&&C.revert&&this.setState({...ge(this,ug),fetchStatus:"idle"}),r.abort()},onFail:(C,O)=>{_n(this,go,Rc).call(this,{type:"failed",failureCount:C,error:O})},onPause:()=>{_n(this,go,Rc).call(this,{type:"pause"})},onContinue:()=>{_n(this,go,Rc).call(this,{type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0}));try{const C=await ge(this,gi).start();if(C===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(C),(y=(m=ge(this,Vo).config).onSuccess)==null||y.call(m,C,this),(S=(x=ge(this,Vo).config).onSettled)==null||S.call(x,C,this.state.error,this),C}catch(C){if(C instanceof bT){if(C.silent)return ge(this,gi).promise;if(C.revert){if(this.state.data===void 0)throw C;return this.state.data}}throw _n(this,go,Rc).call(this,{type:"error",error:C}),(_=(w=ge(this,Vo).config).onError)==null||_.call(w,C,this),(T=(E=ge(this,Vo).config).onSettled)==null||T.call(E,this.state.data,C,this),C}finally{this.scheduleGc()}}},cg=new WeakMap,fh=new WeakMap,ug=new WeakMap,Vo=new WeakMap,hh=new WeakMap,gi=new WeakMap,Fy=new WeakMap,ph=new WeakMap,go=new WeakSet,eF=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},Rc=function(e){const n=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...tF(r.data,this.options),fetchMeta:e.meta??null};case"success":const i={...r,...nI(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return St(this,ug,e.manual?i:void 0),i;case"error":const s=e.error;return{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=n(this.state),Fi.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),ge(this,Vo).notify({query:this,type:"updated",action:e})})},FU);function tF(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:ZU(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function nI(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function rI(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,n=e!==void 0,r=n?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Xs,An,zy,ws,mh,dg,Oc,pd,By,fg,hg,gh,vh,md,pg,Bn,F0,_T,wT,ST,MT,ET,AT,TT,nF,zU,YW=(zU=class extends Gy{constructor(e,n){super();$t(this,Bn);$t(this,Xs);$t(this,An);$t(this,zy);$t(this,ws);$t(this,mh);$t(this,dg);$t(this,Oc);$t(this,pd);$t(this,By);$t(this,fg);$t(this,hg);$t(this,gh);$t(this,vh);$t(this,md);$t(this,pg,new Set);this.options=n,St(this,Xs,e),St(this,pd,null),St(this,Oc,xT()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(ge(this,An).addObserver(this),iI(ge(this,An),this.options)?_n(this,Bn,F0).call(this):this.updateResult(),_n(this,Bn,MT).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return CT(ge(this,An),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return CT(ge(this,An),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,_n(this,Bn,ET).call(this),_n(this,Bn,AT).call(this),ge(this,An).removeObserver(this)}setOptions(e){const n=this.options,r=ge(this,An);if(this.options=ge(this,Xs).defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof vo(this.options.enabled,ge(this,An))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");_n(this,Bn,TT).call(this),ge(this,An).setOptions(this.options),n._defaulted&&!gT(this.options,n)&&ge(this,Xs).getQueryCache().notify({type:"observerOptionsUpdated",query:ge(this,An),observer:this});const i=this.hasListeners();i&&sI(ge(this,An),r,this.options,n)&&_n(this,Bn,F0).call(this),this.updateResult(),i&&(ge(this,An)!==r||vo(this.options.enabled,ge(this,An))!==vo(n.enabled,ge(this,An))||bd(this.options.staleTime,ge(this,An))!==bd(n.staleTime,ge(this,An)))&&_n(this,Bn,_T).call(this);const s=_n(this,Bn,wT).call(this);i&&(ge(this,An)!==r||vo(this.options.enabled,ge(this,An))!==vo(n.enabled,ge(this,An))||s!==ge(this,md))&&_n(this,Bn,ST).call(this,s)}getOptimisticResult(e){const n=ge(this,Xs).getQueryCache().build(ge(this,Xs),e),r=this.createResult(n,e);return QW(this,r)&&(St(this,ws,r),St(this,dg,this.options),St(this,mh,ge(this,An).state)),r}getCurrentResult(){return ge(this,ws)}trackResult(e,n){return new Proxy(e,{get:(r,i)=>(this.trackProp(i),n==null||n(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&ge(this,Oc).status==="pending"&&ge(this,Oc).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,i))})}trackProp(e){ge(this,pg).add(e)}getCurrentQuery(){return ge(this,An)}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const n=ge(this,Xs).defaultQueryOptions(e),r=ge(this,Xs).getQueryCache().build(ge(this,Xs),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(e){return _n(this,Bn,F0).call(this,{...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),ge(this,ws)))}createResult(e,n){var G;const r=ge(this,An),i=this.options,s=ge(this,ws),o=ge(this,mh),a=ge(this,dg),c=e!==r?e.state:ge(this,zy),{state:d}=e;let f={...d},m=!1,y;if(n._optimisticResults){const k=this.hasListeners(),U=!k&&iI(e,n),H=k&&sI(e,r,n,i);(U||H)&&(f={...f,...tF(d.data,e.options)}),n._optimisticResults==="isRestoring"&&(f.fetchStatus="idle")}let{error:x,errorUpdatedAt:S,status:w}=f;y=f.data;let _=!1;if(n.placeholderData!==void 0&&y===void 0&&w==="pending"){let k;s!=null&&s.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData)?(k=s.data,_=!0):k=typeof n.placeholderData=="function"?n.placeholderData((G=ge(this,hg))==null?void 0:G.state.data,ge(this,hg)):n.placeholderData,k!==void 0&&(w="success",y=yT(s==null?void 0:s.data,k,n),m=!0)}if(n.select&&y!==void 0&&!_)if(s&&y===(o==null?void 0:o.data)&&n.select===ge(this,By))y=ge(this,fg);else try{St(this,By,n.select),y=n.select(y),y=yT(s==null?void 0:s.data,y,n),St(this,fg,y),St(this,pd,null)}catch(k){St(this,pd,k)}ge(this,pd)&&(x=ge(this,pd),y=ge(this,fg),S=Date.now(),w="error");const E=f.fetchStatus==="fetching",T=w==="pending",C=w==="error",O=T&&E,N=y!==void 0,F={status:w,fetchStatus:f.fetchStatus,isPending:T,isSuccess:w==="success",isError:C,isInitialLoading:O,isLoading:O,data:y,dataUpdatedAt:f.dataUpdatedAt,error:x,errorUpdatedAt:S,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:f.dataUpdateCount>c.dataUpdateCount||f.errorUpdateCount>c.errorUpdateCount,isFetching:E,isRefetching:E&&!T,isLoadingError:C&&!N,isPaused:f.fetchStatus==="paused",isPlaceholderData:m,isRefetchError:C&&N,isStale:bP(e,n),refetch:this.refetch,promise:ge(this,Oc),isEnabled:vo(n.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const k=F.data!==void 0,U=F.status==="error"&&!k,H=he=>{U?he.reject(F.error):k&&he.resolve(F.data)},ne=()=>{const he=St(this,Oc,F.promise=xT());H(he)},te=ge(this,Oc);switch(te.status){case"pending":e.queryHash===r.queryHash&&H(te);break;case"fulfilled":(U||F.data!==te.value)&&ne();break;case"rejected":(!U||F.error!==te.reason)&&ne();break}}return F}updateResult(){const e=ge(this,ws),n=this.createResult(ge(this,An),this.options);if(St(this,mh,ge(this,An).state),St(this,dg,this.options),ge(this,mh).data!==void 0&&St(this,hg,ge(this,An)),gT(n,e))return;St(this,ws,n);const r=()=>{if(!e)return!0;const{notifyOnChangeProps:i}=this.options,s=typeof i=="function"?i():i;if(s==="all"||!s&&!ge(this,pg).size)return!0;const o=new Set(s??ge(this,pg));return this.options.throwOnError&&o.add("error"),Object.keys(ge(this,ws)).some(a=>{const l=a;return ge(this,ws)[l]!==e[l]&&o.has(l)})};_n(this,Bn,nF).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&_n(this,Bn,MT).call(this)}},Xs=new WeakMap,An=new WeakMap,zy=new WeakMap,ws=new WeakMap,mh=new WeakMap,dg=new WeakMap,Oc=new WeakMap,pd=new WeakMap,By=new WeakMap,fg=new WeakMap,hg=new WeakMap,gh=new WeakMap,vh=new WeakMap,md=new WeakMap,pg=new WeakMap,Bn=new WeakSet,F0=function(e){_n(this,Bn,TT).call(this);let n=ge(this,An).fetch(this.options,e);return e!=null&&e.throwOnError||(n=n.catch(qs)),n},_T=function(){_n(this,Bn,ET).call(this);const e=bd(this.options.staleTime,ge(this,An));if(oy.isServer()||ge(this,ws).isStale||!mT(e))return;const r=XU(ge(this,ws).dataUpdatedAt,e)+1;St(this,gh,Qf.setTimeout(()=>{ge(this,ws).isStale||this.updateResult()},r))},wT=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(ge(this,An)):this.options.refetchInterval)??!1},ST=function(e){_n(this,Bn,AT).call(this),St(this,md,e),!(oy.isServer()||vo(this.options.enabled,ge(this,An))===!1||!mT(ge(this,md))||ge(this,md)===0)&&St(this,vh,Qf.setInterval(()=>{(this.options.refetchIntervalInBackground||vP.isFocused())&&_n(this,Bn,F0).call(this)},ge(this,md)))},MT=function(){_n(this,Bn,_T).call(this),_n(this,Bn,ST).call(this,_n(this,Bn,wT).call(this))},ET=function(){ge(this,gh)!==void 0&&(Qf.clearTimeout(ge(this,gh)),St(this,gh,void 0))},AT=function(){ge(this,vh)!==void 0&&(Qf.clearInterval(ge(this,vh)),St(this,vh,void 0))},TT=function(){const e=ge(this,Xs).getQueryCache().build(ge(this,Xs),this.options);if(e===ge(this,An))return;const n=ge(this,An);St(this,An,e),St(this,zy,e.state),this.hasListeners()&&(n==null||n.removeObserver(this),e.addObserver(this))},nF=function(e){Fi.batch(()=>{e.listeners&&this.listeners.forEach(n=>{n(ge(this,ws))}),ge(this,Xs).getQueryCache().notify({query:ge(this,An),type:"observerResultsUpdated"})})},zU);function ZW(t,e){return vo(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&vo(e.retryOnMount,t)===!1)}function iI(t,e){return ZW(t,e)||t.state.data!==void 0&&CT(t,e,e.refetchOnMount)}function CT(t,e,n){if(vo(e.enabled,t)!==!1&&bd(e.staleTime,t)!=="static"){const r=typeof n=="function"?n(t):n;return r==="always"||r!==!1&&bP(t,e)}return!1}function sI(t,e,n,r){return(t!==e||vo(r.enabled,t)===!1)&&(!n.suspense||t.state.status!=="error")&&bP(t,n)}function bP(t,e){return vo(e.enabled,t)!==!1&&t.isStaleByTime(bd(e.staleTime,t))}function QW(t,e){return!gT(t.getCurrentResult(),e)}var Hy,yl,ts,yh,xl,sd,BU,JW=(BU=class extends JU{constructor(e){super();$t(this,xl);$t(this,Hy);$t(this,yl);$t(this,ts);$t(this,yh);St(this,Hy,e.client),this.mutationId=e.mutationId,St(this,ts,e.mutationCache),St(this,yl,[]),this.state=e.state||e8(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){ge(this,yl).includes(e)||(ge(this,yl).push(e),this.clearGcTimeout(),ge(this,ts).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){St(this,yl,ge(this,yl).filter(n=>n!==e)),this.scheduleGc(),ge(this,ts).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){ge(this,yl).length||(this.state.status==="pending"?this.scheduleGc():ge(this,ts).remove(this))}continue(){var e;return((e=ge(this,yh))==null?void 0:e.continue())??this.execute(this.state.variables)}async execute(e){var o,a,l,c,d,f,m,y,x,S,w,_,E,T,C,O,N,D;const n=()=>{_n(this,xl,sd).call(this,{type:"continue"})},r={client:ge(this,Hy),meta:this.options.meta,mutationKey:this.options.mutationKey};St(this,yh,QU({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(F,G)=>{_n(this,xl,sd).call(this,{type:"failed",failureCount:F,error:G})},onPause:()=>{_n(this,xl,sd).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>ge(this,ts).canRun(this)}));const i=this.state.status==="pending",s=!ge(this,yh).canStart();try{if(i)n();else{_n(this,xl,sd).call(this,{type:"pending",variables:e,isPaused:s}),ge(this,ts).config.onMutate&&await ge(this,ts).config.onMutate(e,this,r);const G=await((a=(o=this.options).onMutate)==null?void 0:a.call(o,e,r));G!==this.state.context&&_n(this,xl,sd).call(this,{type:"pending",context:G,variables:e,isPaused:s})}const F=await ge(this,yh).start();return await((c=(l=ge(this,ts).config).onSuccess)==null?void 0:c.call(l,F,e,this.state.context,this,r)),await((f=(d=this.options).onSuccess)==null?void 0:f.call(d,F,e,this.state.context,r)),await((y=(m=ge(this,ts).config).onSettled)==null?void 0:y.call(m,F,null,this.state.variables,this.state.context,this,r)),await((S=(x=this.options).onSettled)==null?void 0:S.call(x,F,null,e,this.state.context,r)),_n(this,xl,sd).call(this,{type:"success",data:F}),F}catch(F){try{await((_=(w=ge(this,ts).config).onError)==null?void 0:_.call(w,F,e,this.state.context,this,r))}catch(G){Promise.reject(G)}try{await((T=(E=this.options).onError)==null?void 0:T.call(E,F,e,this.state.context,r))}catch(G){Promise.reject(G)}try{await((O=(C=ge(this,ts).config).onSettled)==null?void 0:O.call(C,void 0,F,this.state.variables,this.state.context,this,r))}catch(G){Promise.reject(G)}try{await((D=(N=this.options).onSettled)==null?void 0:D.call(N,void 0,F,e,this.state.context,r))}catch(G){Promise.reject(G)}throw _n(this,xl,sd).call(this,{type:"error",error:F}),F}finally{ge(this,ts).runNext(this)}}},Hy=new WeakMap,yl=new WeakMap,ts=new WeakMap,yh=new WeakMap,xl=new WeakSet,sd=function(e){const n=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Fi.batch(()=>{ge(this,yl).forEach(r=>{r.onMutationUpdate(e)}),ge(this,ts).notify({mutation:this,type:"updated",action:e})})},BU);function e8(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Lc,La,Vy,HU,t8=(HU=class extends Gy{constructor(e={}){super();$t(this,Lc);$t(this,La);$t(this,Vy);this.config=e,St(this,Lc,new Set),St(this,La,new Map),St(this,Vy,0)}build(e,n,r){const i=new JW({client:e,mutationCache:this,mutationId:++db(this,Vy)._,options:e.defaultMutationOptions(n),state:r});return this.add(i),i}add(e){ge(this,Lc).add(e);const n=hb(e);if(typeof n=="string"){const r=ge(this,La).get(n);r?r.push(e):ge(this,La).set(n,[e])}this.notify({type:"added",mutation:e})}remove(e){if(ge(this,Lc).delete(e)){const n=hb(e);if(typeof n=="string"){const r=ge(this,La).get(n);if(r)if(r.length>1){const i=r.indexOf(e);i!==-1&&r.splice(i,1)}else r[0]===e&&ge(this,La).delete(n)}}this.notify({type:"removed",mutation:e})}canRun(e){const n=hb(e);if(typeof n=="string"){const r=ge(this,La).get(n),i=r==null?void 0:r.find(s=>s.state.status==="pending");return!i||i===e}else return!0}runNext(e){var r;const n=hb(e);if(typeof n=="string"){const i=(r=ge(this,La).get(n))==null?void 0:r.find(s=>s!==e&&s.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Fi.batch(()=>{ge(this,Lc).forEach(e=>{this.notify({type:"removed",mutation:e})}),ge(this,Lc).clear(),ge(this,La).clear()})}getAll(){return Array.from(ge(this,Lc))}find(e){const n={exact:!0,...e};return this.getAll().find(r=>QN(n,r))}findAll(e={}){return this.getAll().filter(n=>QN(e,n))}notify(e){Fi.batch(()=>{this.listeners.forEach(n=>{n(e)})})}resumePausedMutations(){const e=this.getAll().filter(n=>n.state.isPaused);return Fi.batch(()=>Promise.all(e.map(n=>n.continue().catch(qs))))}},Lc=new WeakMap,La=new WeakMap,Vy=new WeakMap,HU);function hb(t){var e;return(e=t.options.scope)==null?void 0:e.id}var bl,VU,n8=(VU=class extends Gy{constructor(e={}){super();$t(this,bl);this.config=e,St(this,bl,new Map)}build(e,n,r){const i=n.queryKey,s=n.queryHash??yP(i,n);let o=this.get(s);return o||(o=new KW({client:e,queryKey:i,queryHash:s,options:e.defaultQueryOptions(n),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(o)),o}add(e){ge(this,bl).has(e.queryHash)||(ge(this,bl).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const n=ge(this,bl).get(e.queryHash);n&&(e.destroy(),n===e&&ge(this,bl).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){Fi.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return ge(this,bl).get(e)}getAll(){return[...ge(this,bl).values()]}find(e){const n={exact:!0,...e};return this.getAll().find(r=>ZN(n,r))}findAll(e={}){const n=this.getAll();return Object.keys(e).length>0?n.filter(r=>ZN(e,r)):n}notify(e){Fi.batch(()=>{this.listeners.forEach(n=>{n(e)})})}onFocus(){Fi.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Fi.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},bl=new WeakMap,VU),Sr,gd,vd,mg,gg,yd,vg,yg,GU,r8=(GU=class{constructor(t={}){$t(this,Sr);$t(this,gd);$t(this,vd);$t(this,mg);$t(this,gg);$t(this,yd);$t(this,vg);$t(this,yg);St(this,Sr,t.queryCache||new n8),St(this,gd,t.mutationCache||new t8),St(this,vd,t.defaultOptions||{}),St(this,mg,new Map),St(this,gg,new Map),St(this,yd,0)}mount(){db(this,yd)._++,ge(this,yd)===1&&(St(this,vg,vP.subscribe(async t=>{t&&(await this.resumePausedMutations(),ge(this,Sr).onFocus())})),St(this,yg,J_.subscribe(async t=>{t&&(await this.resumePausedMutations(),ge(this,Sr).onOnline())})))}unmount(){var t,e;db(this,yd)._--,ge(this,yd)===0&&((t=ge(this,vg))==null||t.call(this),St(this,vg,void 0),(e=ge(this,yg))==null||e.call(this),St(this,yg,void 0))}isFetching(t){return ge(this,Sr).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return ge(this,gd).findAll({...t,status:"pending"}).length}getQueryData(t){var n;const e=this.defaultQueryOptions({queryKey:t});return(n=ge(this,Sr).get(e.queryHash))==null?void 0:n.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),n=ge(this,Sr).build(this,e),r=n.state.data;return r===void 0?this.fetchQuery(t):(t.revalidateIfStale&&n.isStaleByTime(bd(e.staleTime,n))&&this.prefetchQuery(e),Promise.resolve(r))}getQueriesData(t){return ge(this,Sr).findAll(t).map(({queryKey:e,state:n})=>{const r=n.data;return[e,r]})}setQueryData(t,e,n){const r=this.defaultQueryOptions({queryKey:t}),i=ge(this,Sr).get(r.queryHash),s=i==null?void 0:i.state.data,o=jW(e,s);if(o!==void 0)return ge(this,Sr).build(this,r).setData(o,{...n,manual:!0})}setQueriesData(t,e,n){return Fi.batch(()=>ge(this,Sr).findAll(t).map(({queryKey:r})=>[r,this.setQueryData(r,e,n)]))}getQueryState(t){var n;const e=this.defaultQueryOptions({queryKey:t});return(n=ge(this,Sr).get(e.queryHash))==null?void 0:n.state}removeQueries(t){const e=ge(this,Sr);Fi.batch(()=>{e.findAll(t).forEach(n=>{e.remove(n)})})}resetQueries(t,e){const n=ge(this,Sr);return Fi.batch(()=>(n.findAll(t).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){const n={revert:!0,...e},r=Fi.batch(()=>ge(this,Sr).findAll(t).map(i=>i.cancel(n)));return Promise.all(r).then(qs).catch(qs)}invalidateQueries(t,e={}){return Fi.batch(()=>(ge(this,Sr).findAll(t).forEach(n=>{n.invalidate()}),(t==null?void 0:t.refetchType)==="none"?Promise.resolve():this.refetchQueries({...t,type:(t==null?void 0:t.refetchType)??(t==null?void 0:t.type)??"active"},e)))}refetchQueries(t,e={}){const n={...e,cancelRefetch:e.cancelRefetch??!0},r=Fi.batch(()=>ge(this,Sr).findAll(t).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let s=i.fetch(void 0,n);return n.throwOnError||(s=s.catch(qs)),i.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(r).then(qs)}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const n=ge(this,Sr).build(this,e);return n.isStaleByTime(bd(e.staleTime,n))?n.fetch(e):Promise.resolve(n.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(qs).catch(qs)}fetchInfiniteQuery(t){return t._type="infinite",this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(qs).catch(qs)}ensureInfiniteQueryData(t){return t._type="infinite",this.ensureQueryData(t)}resumePausedMutations(){return J_.isOnline()?ge(this,gd).resumePausedMutations():Promise.resolve()}getQueryCache(){return ge(this,Sr)}getMutationCache(){return ge(this,gd)}getDefaultOptions(){return ge(this,vd)}setDefaultOptions(t){St(this,vd,t)}setQueryDefaults(t,e){ge(this,mg).set(iy(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...ge(this,mg).values()],n={};return e.forEach(r=>{sy(t,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(t,e){ge(this,gg).set(iy(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...ge(this,gg).values()],n={};return e.forEach(r=>{sy(t,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(t){if(t._defaulted)return t;const e={...ge(this,vd).queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=yP(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===xP&&(e.enabled=!1),e}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...ge(this,vd).mutations,...(t==null?void 0:t.mutationKey)&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){ge(this,Sr).clear(),ge(this,gd).clear()}},Sr=new WeakMap,gd=new WeakMap,vd=new WeakMap,mg=new WeakMap,gg=new WeakMap,yd=new WeakMap,vg=new WeakMap,yg=new WeakMap,GU),rF=R.createContext(void 0),$h=t=>{const e=R.useContext(rF);if(!e)throw new Error("No QueryClient set, use QueryClientProvider to set one");return e},i8=({client:t,children:e})=>(R.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),g.jsx(rF.Provider,{value:t,children:e})),iF=R.createContext(!1),s8=()=>R.useContext(iF);iF.Provider;function o8(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var a8=R.createContext(o8()),l8=()=>R.useContext(a8),c8=(t,e,n)=>{const r=n!=null&&n.state.error&&typeof t.throwOnError=="function"?YU(t.throwOnError,[n.state.error,n]):t.throwOnError;(t.suspense||t.experimental_prefetchInRender||r)&&(e.isReset()||(t.retryOnMount=!1))},u8=t=>{R.useEffect(()=>{t.clearReset()},[t])},d8=({result:t,errorResetBoundary:e,throwOnError:n,query:r,suspense:i})=>t.isError&&!e.isReset()&&!t.isFetching&&r&&(i&&t.data===void 0||YU(n,[t.error,r])),f8=t=>{if(t.suspense){const n=i=>i==="static"?i:Math.max(i??1e3,1e3),r=t.staleTime;t.staleTime=typeof r=="function"?(...i)=>n(r(...i)):n(r),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},h8=(t,e)=>t.isLoading&&t.isFetching&&!e,p8=(t,e)=>(t==null?void 0:t.suspense)&&e.isPending,oI=(t,e,n)=>e.fetchOptimistic(t).catch(()=>{n.clearReset()});function m8(t,e,n){var y,x,S,w;const r=s8(),i=l8(),s=$h(),o=s.defaultQueryOptions(t);(x=(y=s.getDefaultOptions().queries)==null?void 0:y._experimental_beforeQuery)==null||x.call(y,o);const a=s.getQueryCache().get(o.queryHash),l=t.subscribed!==!1;o._optimisticResults=r?"isRestoring":l?"optimistic":void 0,f8(o),c8(o,i,a),u8(i);const c=!s.getQueryCache().get(o.queryHash),[d]=R.useState(()=>new e(s,o)),f=d.getOptimisticResult(o),m=!r&&l;if(R.useSyncExternalStore(R.useCallback(_=>{const E=m?d.subscribe(Fi.batchCalls(_)):qs;return d.updateResult(),E},[d,m]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),R.useEffect(()=>{d.setOptions(o)},[o,d]),p8(o,f))throw oI(o,d,i);if(d8({result:f,errorResetBoundary:i,throwOnError:o.throwOnError,query:a,suspense:o.suspense}))throw f.error;if((w=(S=s.getDefaultOptions().queries)==null?void 0:S._experimental_afterQuery)==null||w.call(S,o,f),o.experimental_prefetchInRender&&!oy.isServer()&&h8(f,r)){const _=c?oI(o,d,i):a==null?void 0:a.promise;_==null||_.catch(qs).finally(()=>{d.updateResult()})}return o.notifyOnChangeProps?f:d.trackResult(f)}function ls(t,e){return m8(t,YW)}/** +`+j.stack}return{value:u,source:h,stack:I,digest:null}}function L(u,h,b){return{value:u,source:null,stack:b??null,digest:h??null}}function z(u,h){try{console.error(h.value)}catch(b){setTimeout(function(){throw b})}}var se=typeof WeakMap=="function"?WeakMap:Map;function ye(u,h,b){b=zn(-1,b),b.tag=3,b.payload={element:null};var A=h.value;return b.callback=function(){Zx||(Zx=!0,UM=A),z(u,h)},b}function Fe(u,h,b){b=zn(-1,b),b.tag=3;var A=u.type.getDerivedStateFromError;if(typeof A=="function"){var I=h.value;b.payload=function(){return A(I)},b.callback=function(){z(u,h)}}var j=u.stateNode;return j!==null&&typeof j.componentDidCatch=="function"&&(b.callback=function(){z(u,h),typeof A!="function"&&(Uu===null?Uu=new Set([this]):Uu.add(this));var W=h.stack;this.componentDidCatch(h.value,{componentStack:W!==null?W:""})}),b}function st(u,h,b){var A=u.pingCache;if(A===null){A=u.pingCache=new se;var I=new Set;A.set(h,I)}else I=A.get(h),I===void 0&&(I=new Set,A.set(h,I));I.has(b)||(I.add(b),u=lW.bind(null,u,h,b),h.then(u,u))}function Et(u){do{var h;if((h=u.tag===13)&&(h=u.memoizedState,h=h!==null?h.dehydrated!==null:!0),h)return u;u=u.return}while(u!==null);return null}function rn(u,h,b,A,I){return(u.mode&1)===0?(u===h?u.flags|=65536:(u.flags|=128,b.flags|=131072,b.flags&=-52805,b.tag===1&&(b.alternate===null?b.tag=17:(h=zn(-1,1),h.tag=2,Qn(b,h,1))),b.lanes|=1),u):(u.flags|=65536,u.lanes=I,u)}var Ht=C.ReactCurrentOwner,ln=!1;function _t(u,h,b,A){h.child=u===null?sf(h,null,b,A):dc(h,u.child,b,A)}function Jr(u,h,b,A,I){b=b.render;var j=h.ref;return al(h,I),A=df(u,h,b,A,j,I),b=Bv(),u!==null&&!ln?(h.updateQueue=u.updateQueue,h.flags&=-2053,u.lanes&=~I,_c(u,h,I)):(qn&&b&&Ov(h),h.flags|=1,_t(u,h,A,I),h.child)}function ys(u,h,b,A,I){if(u===null){var j=b.type;return typeof j=="function"&&!WM(j)&&j.defaultProps===void 0&&b.compare===null&&b.defaultProps===void 0?(h.tag=15,h.type=j,Ne(u,h,j,A,I)):(u=rb(b.type,null,A,h,h.mode,I),u.ref=h.ref,u.return=h,h.child=u)}if(j=u.child,(u.lanes&I)===0){var W=j.memoizedProps;if(b=b.compare,b=b!==null?b:tc,b(W,A)&&u.ref===h.ref)return _c(u,h,I)}return h.flags|=1,u=Hu(j,A),u.ref=h.ref,u.return=h,h.child=u}function Ne(u,h,b,A,I){if(u!==null){var j=u.memoizedProps;if(tc(j,A)&&u.ref===h.ref)if(ln=!1,h.pendingProps=A=j,(u.lanes&I)!==0)(u.flags&131072)!==0&&(ln=!0);else return h.lanes=u.lanes,_c(u,h,I)}return yt(u,h,b,A,I)}function _e(u,h,b){var A=h.pendingProps,I=A.children,j=u!==null?u.memoizedState:null;if(A.mode==="hidden")if((h.mode&1)===0)h.memoizedState={baseLanes:0,cachePool:null,transitions:null},Gn(Jp,fo),fo|=b;else{if((b&1073741824)===0)return u=j!==null?j.baseLanes|b:b,h.lanes=h.childLanes=1073741824,h.memoizedState={baseLanes:u,cachePool:null,transitions:null},h.updateQueue=null,Gn(Jp,fo),fo|=u,null;h.memoizedState={baseLanes:0,cachePool:null,transitions:null},A=j!==null?j.baseLanes:b,Gn(Jp,fo),fo|=A}else j!==null?(A=j.baseLanes|b,h.memoizedState=null):A=b,Gn(Jp,fo),fo|=A;return _t(u,h,I,b),h.child}function je(u,h){var b=h.ref;(u===null&&b!==null||u!==null&&u.ref!==b)&&(h.flags|=512,h.flags|=2097152)}function yt(u,h,b,A,I){var j=ui(b)?ga:Kr.current;return j=ac(h,j),al(h,I),b=df(u,h,b,A,j,I),A=Bv(),u!==null&&!ln?(h.updateQueue=u.updateQueue,h.flags&=-2053,u.lanes&=~I,_c(u,h,I)):(qn&&A&&Ov(h),h.flags|=1,_t(u,h,b,I),h.child)}function Ot(u,h,b,A,I){if(ui(b)){var j=!0;lc(h)}else j=!1;if(al(h,I),h.stateNode===null)$x(u,h),p(h,b,A),M(h,b,A,I),A=!0;else if(u===null){var W=h.stateNode,ae=h.memoizedProps;W.props=ae;var me=W.context,Le=b.contextType;typeof Le=="object"&&Le!==null?Le=ps(Le):(Le=ui(b)?ga:Kr.current,Le=ac(h,Le));var Je=b.getDerivedStateFromProps,tt=typeof Je=="function"||typeof W.getSnapshotBeforeUpdate=="function";tt||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(ae!==A||me!==Le)&&v(h,W,A,Le),Fn=!1;var Ze=h.memoizedState;W.state=Ze,lr(h,A,W,I),me=h.memoizedState,ae!==A||Ze!==me||Pi.current||Fn?(typeof Je=="function"&&(gf(h,b,Je,A),me=h.memoizedState),(ae=Fn||Gx(h,b,ae,A,Ze,me,Le))?(tt||typeof W.UNSAFE_componentWillMount!="function"&&typeof W.componentWillMount!="function"||(typeof W.componentWillMount=="function"&&W.componentWillMount(),typeof W.UNSAFE_componentWillMount=="function"&&W.UNSAFE_componentWillMount()),typeof W.componentDidMount=="function"&&(h.flags|=4194308)):(typeof W.componentDidMount=="function"&&(h.flags|=4194308),h.memoizedProps=A,h.memoizedState=me),W.props=A,W.state=me,W.context=Le,A=ae):(typeof W.componentDidMount=="function"&&(h.flags|=4194308),A=!1)}else{W=h.stateNode,mr(u,h),ae=h.memoizedProps,Le=h.type===h.elementType?ae:Bs(h.type,ae),W.props=Le,tt=h.pendingProps,Ze=W.context,me=b.contextType,typeof me=="object"&&me!==null?me=ps(me):(me=ui(b)?ga:Kr.current,me=ac(h,me));var St=b.getDerivedStateFromProps;(Je=typeof St=="function"||typeof W.getSnapshotBeforeUpdate=="function")||typeof W.UNSAFE_componentWillReceiveProps!="function"&&typeof W.componentWillReceiveProps!="function"||(ae!==tt||Ze!==me)&&v(h,W,A,me),Fn=!1,Ze=h.memoizedState,W.state=Ze,lr(h,A,W,I);var Pt=h.memoizedState;ae!==tt||Ze!==Pt||Pi.current||Fn?(typeof St=="function"&&(gf(h,b,St,A),Pt=h.memoizedState),(Le=Fn||Gx(h,b,Le,A,Ze,Pt,me)||!1)?(Je||typeof W.UNSAFE_componentWillUpdate!="function"&&typeof W.componentWillUpdate!="function"||(typeof W.componentWillUpdate=="function"&&W.componentWillUpdate(A,Pt,me),typeof W.UNSAFE_componentWillUpdate=="function"&&W.UNSAFE_componentWillUpdate(A,Pt,me)),typeof W.componentDidUpdate=="function"&&(h.flags|=4),typeof W.getSnapshotBeforeUpdate=="function"&&(h.flags|=1024)):(typeof W.componentDidUpdate!="function"||ae===u.memoizedProps&&Ze===u.memoizedState||(h.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||ae===u.memoizedProps&&Ze===u.memoizedState||(h.flags|=1024),h.memoizedProps=A,h.memoizedState=Pt),W.props=A,W.state=Pt,W.context=me,A=Le):(typeof W.componentDidUpdate!="function"||ae===u.memoizedProps&&Ze===u.memoizedState||(h.flags|=4),typeof W.getSnapshotBeforeUpdate!="function"||ae===u.memoizedProps&&Ze===u.memoizedState||(h.flags|=1024),A=!1)}return on(u,h,b,A,j,I)}function on(u,h,b,A,I,j){je(u,h);var W=(h.flags&128)!==0;if(!A&&!W)return I&&Iv(h,b,!1),_c(u,h,j);A=h.stateNode,Ht.current=h;var ae=W&&typeof b.getDerivedStateFromError!="function"?null:A.render();return h.flags|=1,u!==null&&W?(h.child=dc(h,u.child,null,j),h.child=dc(h,null,ae,j)):_t(u,h,ae,j),h.memoizedState=A.state,I&&Iv(h,b,!0),h.child}function sn(u){var h=u.stateNode;h.pendingContext?Nv(u,h.pendingContext,h.pendingContext!==h.context):h.context&&Nv(u,h.context,!1),cf(u,h.containerInfo)}function En(u,h,b,A,I){return ol(),Nu(I),h.flags|=256,_t(u,h,b,A),h.child}var br={dehydrated:null,treeContext:null,retryLane:0};function bn(u){return{baseLanes:u,cachePool:null,transitions:null}}function Ea(u,h,b){var A=h.pendingProps,I=Kn.current,j=!1,W=(h.flags&128)!==0,ae;if((ae=W)||(ae=u!==null&&u.memoizedState===null?!1:(I&2)!==0),ae?(j=!0,h.flags&=-129):(u===null||u.memoizedState!==null)&&(I|=1),Gn(Kn,I&1),u===null)return Hp(h),u=h.memoizedState,u!==null&&(u=u.dehydrated,u!==null)?((h.mode&1)===0?h.lanes=1:u.data==="$!"?h.lanes=8:h.lanes=1073741824,null):(W=A.children,u=A.fallback,j?(A=h.mode,j=h.child,W={mode:"hidden",children:W},(A&1)===0&&j!==null?(j.childLanes=0,j.pendingProps=W):j=ib(W,A,0,null),u=_f(u,A,b,null),j.return=h,u.return=h,j.sibling=u,h.child=j,h.child.memoizedState=bn(b),h.memoizedState=br,u):Kv(h,W));if(I=u.memoizedState,I!==null&&(ae=I.dehydrated,ae!==null))return YG(u,h,W,A,ae,I,b);if(j){j=A.fallback,W=h.mode,I=u.child,ae=I.sibling;var me={mode:"hidden",children:A.children};return(W&1)===0&&h.child!==I?(A=h.child,A.childLanes=0,A.pendingProps=me,h.deletions=null):(A=Hu(I,me),A.subtreeFlags=I.subtreeFlags&14680064),ae!==null?j=Hu(ae,j):(j=_f(j,W,b,null),j.flags|=2),j.return=h,A.return=h,A.sibling=j,h.child=A,A=j,j=h.child,W=u.child.memoizedState,W=W===null?bn(b):{baseLanes:W.baseLanes|b,cachePool:null,transitions:W.transitions},j.memoizedState=W,j.childLanes=u.childLanes&~b,h.memoizedState=br,A}return j=u.child,u=j.sibling,A=Hu(j,{mode:"visible",children:A.children}),(h.mode&1)===0&&(A.lanes=b),A.return=h,A.sibling=null,u!==null&&(b=h.deletions,b===null?(h.deletions=[u],h.flags|=16):b.push(u)),h.child=A,h.memoizedState=null,A}function Kv(u,h){return h=ib({mode:"visible",children:h},u.mode,0,null),h.return=u,u.child=h}function Wx(u,h,b,A){return A!==null&&Nu(A),dc(h,u.child,null,b),u=Kv(h,h.pendingProps.children),u.flags|=2,h.memoizedState=null,u}function YG(u,h,b,A,I,j,W){if(b)return h.flags&256?(h.flags&=-257,A=L(Error(n(422))),Wx(u,h,W,A)):h.memoizedState!==null?(h.child=u.child,h.flags|=128,null):(j=A.fallback,I=h.mode,A=ib({mode:"visible",children:A.children},I,0,null),j=_f(j,I,W,null),j.flags|=2,A.return=h,j.return=h,A.sibling=j,h.child=A,(h.mode&1)!==0&&dc(h,u.child,null,W),h.child.memoizedState=bn(W),h.memoizedState=br,j);if((h.mode&1)===0)return Wx(u,h,W,null);if(I.data==="$!"){if(A=I.nextSibling&&I.nextSibling.dataset,A)var ae=A.dgst;return A=ae,j=Error(n(419)),A=L(j,A,void 0),Wx(u,h,W,A)}if(ae=(W&u.childLanes)!==0,ln||ae){if(A=hi,A!==null){switch(W&-W){case 4:I=2;break;case 16:I=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:I=32;break;case 536870912:I=268435456;break;default:I=0}I=(I&(A.suspendedLanes|W))!==0?0:I,I!==0&&I!==j.retryLane&&(j.retryLane=I,ao(u,I),Ca(A,u,I,-1))}return GM(),A=L(Error(n(421))),Wx(u,h,W,A)}return I.data==="$?"?(h.flags|=128,h.child=u.child,h=cW.bind(null,u),I._reactRetry=h,null):(u=j.treeContext,Ni=ha(I.nextSibling),Yr=h,qn=!0,zs=null,u!==null&&(Ri[zr++]=ut,Ri[zr++]=Fs,Ri[zr++]=uc,ut=u.id,Fs=u.overflow,uc=h),h=Kv(h,A.children),h.flags|=4096,h)}function uN(u,h,b){u.lanes|=h;var A=u.alternate;A!==null&&(A.lanes|=h),af(u.return,h,b)}function PM(u,h,b,A,I){var j=u.memoizedState;j===null?u.memoizedState={isBackwards:h,rendering:null,renderingStartTime:0,last:A,tail:b,tailMode:I}:(j.isBackwards=h,j.rendering=null,j.renderingStartTime=0,j.last=A,j.tail=b,j.tailMode=I)}function dN(u,h,b){var A=h.pendingProps,I=A.revealOrder,j=A.tail;if(_t(u,h,A.children,b),A=Kn.current,(A&2)!==0)A=A&1|2,h.flags|=128;else{if(u!==null&&(u.flags&128)!==0)e:for(u=h.child;u!==null;){if(u.tag===13)u.memoizedState!==null&&uN(u,b,h);else if(u.tag===19)uN(u,b,h);else if(u.child!==null){u.child.return=u,u=u.child;continue}if(u===h)break e;for(;u.sibling===null;){if(u.return===null||u.return===h)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}A&=1}if(Gn(Kn,A),(h.mode&1)===0)h.memoizedState=null;else switch(I){case"forwards":for(b=h.child,I=null;b!==null;)u=b.alternate,u!==null&&lo(u)===null&&(I=b),b=b.sibling;b=I,b===null?(I=h.child,h.child=null):(I=b.sibling,b.sibling=null),PM(h,!1,I,b,j);break;case"backwards":for(b=null,I=h.child,h.child=null;I!==null;){if(u=I.alternate,u!==null&&lo(u)===null){h.child=I;break}u=I.sibling,I.sibling=b,b=I,I=u}PM(h,!0,b,null,j);break;case"together":PM(h,!1,null,null,void 0);break;default:h.memoizedState=null}return h.child}function $x(u,h){(h.mode&1)===0&&u!==null&&(u.alternate=null,h.alternate=null,h.flags|=2)}function _c(u,h,b){if(u!==null&&(h.dependencies=u.dependencies),vf|=h.lanes,(b&h.childLanes)===0)return null;if(u!==null&&h.child!==u.child)throw Error(n(153));if(h.child!==null){for(u=h.child,b=Hu(u,u.pendingProps),h.child=b,b.return=h;u.sibling!==null;)u=u.sibling,b=b.sibling=Hu(u,u.pendingProps),b.return=h;b.sibling=null}return h.child}function ZG(u,h,b){switch(h.tag){case 3:sn(h),ol();break;case 5:vc(h);break;case 1:ui(h.type)&&lc(h);break;case 4:cf(h,h.stateNode.containerInfo);break;case 10:var A=h.type._context,I=h.memoizedProps.value;Gn(fc,A._currentValue),A._currentValue=I;break;case 13:if(A=h.memoizedState,A!==null)return A.dehydrated!==null?(Gn(Kn,Kn.current&1),h.flags|=128,null):(b&h.child.childLanes)!==0?Ea(u,h,b):(Gn(Kn,Kn.current&1),u=_c(u,h,b),u!==null?u.sibling:null);Gn(Kn,Kn.current&1);break;case 19:if(A=(b&h.childLanes)!==0,(u.flags&128)!==0){if(A)return dN(u,h,b);h.flags|=128}if(I=h.memoizedState,I!==null&&(I.rendering=null,I.tail=null,I.lastEffect=null),Gn(Kn,Kn.current),A)break;return null;case 22:case 23:return h.lanes=0,_e(u,h,b)}return _c(u,h,b)}var fN,RM,hN,pN;fN=function(u,h){for(var b=h.child;b!==null;){if(b.tag===5||b.tag===6)u.appendChild(b.stateNode);else if(b.tag!==4&&b.child!==null){b.child.return=b,b=b.child;continue}if(b===h)break;for(;b.sibling===null;){if(b.return===null||b.return===h)return;b=b.return}b.sibling.return=b.return,b=b.sibling}},RM=function(){},hN=function(u,h,b,A){var I=u.memoizedProps;if(I!==A){u=h.stateNode,xr(ms.current);var j=null;switch(b){case"input":I=Ge(u,I),A=Ge(u,A),j=[];break;case"select":I=Y({},I,{value:void 0}),A=Y({},A,{value:void 0}),j=[];break;case"textarea":I=Ee(u,I),A=Ee(u,A),j=[];break;default:typeof I.onClick!="function"&&typeof A.onClick=="function"&&(u.onclick=Zd)}Q(b,A);var W;b=null;for(Le in I)if(!A.hasOwnProperty(Le)&&I.hasOwnProperty(Le)&&I[Le]!=null)if(Le==="style"){var ae=I[Le];for(W in ae)ae.hasOwnProperty(W)&&(b||(b={}),b[W]="")}else Le!=="dangerouslySetInnerHTML"&&Le!=="children"&&Le!=="suppressContentEditableWarning"&&Le!=="suppressHydrationWarning"&&Le!=="autoFocus"&&(i.hasOwnProperty(Le)?j||(j=[]):(j=j||[]).push(Le,null));for(Le in A){var me=A[Le];if(ae=I!=null?I[Le]:void 0,A.hasOwnProperty(Le)&&me!==ae&&(me!=null||ae!=null))if(Le==="style")if(ae){for(W in ae)!ae.hasOwnProperty(W)||me&&me.hasOwnProperty(W)||(b||(b={}),b[W]="");for(W in me)me.hasOwnProperty(W)&&ae[W]!==me[W]&&(b||(b={}),b[W]=me[W])}else b||(j||(j=[]),j.push(Le,b)),b=me;else Le==="dangerouslySetInnerHTML"?(me=me?me.__html:void 0,ae=ae?ae.__html:void 0,me!=null&&ae!==me&&(j=j||[]).push(Le,me)):Le==="children"?typeof me!="string"&&typeof me!="number"||(j=j||[]).push(Le,""+me):Le!=="suppressContentEditableWarning"&&Le!=="suppressHydrationWarning"&&(i.hasOwnProperty(Le)?(me!=null&&Le==="onScroll"&&Wn("scroll",u),j||ae===me||(j=[])):(j=j||[]).push(Le,me))}b&&(j=j||[]).push("style",b);var Le=j;(h.updateQueue=Le)&&(h.flags|=4)}},pN=function(u,h,b,A){b!==A&&(h.flags|=4)};function Yv(u,h){if(!qn)switch(u.tailMode){case"hidden":h=u.tail;for(var b=null;h!==null;)h.alternate!==null&&(b=h),h=h.sibling;b===null?u.tail=null:b.sibling=null;break;case"collapsed":b=u.tail;for(var A=null;b!==null;)b.alternate!==null&&(A=b),b=b.sibling;A===null?h||u.tail===null?u.tail=null:u.tail.sibling=null:A.sibling=null}}function Yi(u){var h=u.alternate!==null&&u.alternate.child===u.child,b=0,A=0;if(h)for(var I=u.child;I!==null;)b|=I.lanes|I.childLanes,A|=I.subtreeFlags&14680064,A|=I.flags&14680064,I.return=u,I=I.sibling;else for(I=u.child;I!==null;)b|=I.lanes|I.childLanes,A|=I.subtreeFlags,A|=I.flags,I.return=u,I=I.sibling;return u.subtreeFlags|=A,u.childLanes=b,h}function QG(u,h,b){var A=h.pendingProps;switch(ya(h),h.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Yi(h),null;case 1:return ui(h.type)&&Qd(),Yi(h),null;case 3:return A=h.stateNode,ll(),$n(Pi),$n(Kr),Oo(),A.pendingContext&&(A.context=A.pendingContext,A.pendingContext=null),(u===null||u.child===null)&&(Ru(h)?h.flags|=4:u===null||u.memoizedState.isDehydrated&&(h.flags&256)===0||(h.flags|=1024,zs!==null&&(BM(zs),zs=null))),RM(u,h),Yi(h),null;case 5:Ou(h);var I=xr(_a.current);if(b=h.type,u!==null&&h.stateNode!=null)hN(u,h,b,A,I),u.ref!==h.ref&&(h.flags|=512,h.flags|=2097152);else{if(!A){if(h.stateNode===null)throw Error(n(166));return Yi(h),null}if(u=xr(ms.current),Ru(h)){A=h.stateNode,b=h.type;var j=h.memoizedProps;switch(A[Nr]=h,A[Pu]=j,u=(h.mode&1)!==0,b){case"dialog":Wn("cancel",A),Wn("close",A);break;case"iframe":case"object":case"embed":Wn("load",A);break;case"video":case"audio":for(I=0;I<\/script>",u=u.removeChild(u.firstChild)):typeof A.is=="string"?u=W.createElement(b,{is:A.is}):(u=W.createElement(b),b==="select"&&(W=u,A.multiple?W.multiple=!0:A.size&&(W.size=A.size))):u=W.createElementNS(u,b),u[Nr]=h,u[Pu]=A,fN(u,h,!1,!1),h.stateNode=u;e:{switch(W=Ae(b,A),b){case"dialog":Wn("cancel",u),Wn("close",u),I=A;break;case"iframe":case"object":case"embed":Wn("load",u),I=A;break;case"video":case"audio":for(I=0;Iem&&(h.flags|=128,A=!0,Yv(j,!1),h.lanes=4194304)}else{if(!A)if(u=lo(W),u!==null){if(h.flags|=128,A=!0,b=u.updateQueue,b!==null&&(h.updateQueue=b,h.flags|=4),Yv(j,!0),j.tail===null&&j.tailMode==="hidden"&&!W.alternate&&!qn)return Yi(h),null}else 2*at()-j.renderingStartTime>em&&b!==1073741824&&(h.flags|=128,A=!0,Yv(j,!1),h.lanes=4194304);j.isBackwards?(W.sibling=h.child,h.child=W):(b=j.last,b!==null?b.sibling=W:h.child=W,j.last=W)}return j.tail!==null?(h=j.tail,j.rendering=h,j.tail=h.sibling,j.renderingStartTime=at(),h.sibling=null,b=Kn.current,Gn(Kn,A?b&1|2:b&1),h):(Yi(h),null);case 22:case 23:return VM(),A=h.memoizedState!==null,u!==null&&u.memoizedState!==null!==A&&(h.flags|=8192),A&&(h.mode&1)!==0?(fo&1073741824)!==0&&(Yi(h),h.subtreeFlags&6&&(h.flags|=8192)):Yi(h),null;case 24:return null;case 25:return null}throw Error(n(156,h.tag))}function JG(u,h){switch(ya(h),h.tag){case 1:return ui(h.type)&&Qd(),u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 3:return ll(),$n(Pi),$n(Kr),Oo(),u=h.flags,(u&65536)!==0&&(u&128)===0?(h.flags=u&-65537|128,h):null;case 5:return Ou(h),null;case 13:if($n(Kn),u=h.memoizedState,u!==null&&u.dehydrated!==null){if(h.alternate===null)throw Error(n(340));ol()}return u=h.flags,u&65536?(h.flags=u&-65537|128,h):null;case 19:return $n(Kn),null;case 4:return ll(),null;case 10:return of(h.type._context),null;case 22:case 23:return VM(),null;case 24:return null;default:return null}}var Xx=!1,Zi=!1,eW=typeof WeakSet=="function"?WeakSet:Set,Tt=null;function Qp(u,h){var b=u.ref;if(b!==null)if(typeof b=="function")try{b(null)}catch(A){_r(u,h,A)}else b.current=null}function NM(u,h,b){try{b()}catch(A){_r(u,h,A)}}var mN=!1;function tW(u,h){if(Cu=ks,u=nr(),Dr(u)){if("selectionStart"in u)var b={start:u.selectionStart,end:u.selectionEnd};else e:{b=(b=u.ownerDocument)&&b.defaultView||window;var A=b.getSelection&&b.getSelection();if(A&&A.rangeCount!==0){b=A.anchorNode;var I=A.anchorOffset,j=A.focusNode;A=A.focusOffset;try{b.nodeType,j.nodeType}catch{b=null;break e}var W=0,ae=-1,me=-1,Le=0,Je=0,tt=u,Ze=null;t:for(;;){for(var St;tt!==b||I!==0&&tt.nodeType!==3||(ae=W+I),tt!==j||A!==0&&tt.nodeType!==3||(me=W+A),tt.nodeType===3&&(W+=tt.nodeValue.length),(St=tt.firstChild)!==null;)Ze=tt,tt=St;for(;;){if(tt===u)break t;if(Ze===b&&++Le===I&&(ae=W),Ze===j&&++Je===A&&(me=W),(St=tt.nextSibling)!==null)break;tt=Ze,Ze=tt.parentNode}tt=St}b=ae===-1||me===-1?null:{start:ae,end:me}}else b=null}b=b||{start:0,end:0}}else b=null;for(Ev={focusedElem:u,selectionRange:b},ks=!1,Tt=h;Tt!==null;)if(h=Tt,u=h.child,(h.subtreeFlags&1028)!==0&&u!==null)u.return=h,Tt=u;else for(;Tt!==null;){h=Tt;try{var Pt=h.alternate;if((h.flags&1024)!==0)switch(h.tag){case 0:case 11:case 15:break;case 1:if(Pt!==null){var It=Pt.memoizedProps,Ir=Pt.memoizedState,Ce=h.stateNode,ve=Ce.getSnapshotBeforeUpdate(h.elementType===h.type?It:Bs(h.type,It),Ir);Ce.__reactInternalSnapshotBeforeUpdate=ve}break;case 3:var Re=h.stateNode.containerInfo;Re.nodeType===1?Re.textContent="":Re.nodeType===9&&Re.documentElement&&Re.removeChild(Re.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(ot){_r(h,h.return,ot)}if(u=h.sibling,u!==null){u.return=h.return,Tt=u;break}Tt=h.return}return Pt=mN,mN=!1,Pt}function Zv(u,h,b){var A=h.updateQueue;if(A=A!==null?A.lastEffect:null,A!==null){var I=A=A.next;do{if((I.tag&u)===u){var j=I.destroy;I.destroy=void 0,j!==void 0&&NM(h,b,j)}I=I.next}while(I!==A)}}function qx(u,h){if(h=h.updateQueue,h=h!==null?h.lastEffect:null,h!==null){var b=h=h.next;do{if((b.tag&u)===u){var A=b.create;b.destroy=A()}b=b.next}while(b!==h)}}function IM(u){var h=u.ref;if(h!==null){var b=u.stateNode;switch(u.tag){case 5:u=b;break;default:u=b}typeof h=="function"?h(u):h.current=u}}function gN(u){var h=u.alternate;h!==null&&(u.alternate=null,gN(h)),u.child=null,u.deletions=null,u.sibling=null,u.tag===5&&(h=u.stateNode,h!==null&&(delete h[Nr],delete h[Pu],delete h[oc],delete h[Lp],delete h[Dp])),u.stateNode=null,u.return=null,u.dependencies=null,u.memoizedProps=null,u.memoizedState=null,u.pendingProps=null,u.stateNode=null,u.updateQueue=null}function vN(u){return u.tag===5||u.tag===3||u.tag===4}function yN(u){e:for(;;){for(;u.sibling===null;){if(u.return===null||vN(u.return))return null;u=u.return}for(u.sibling.return=u.return,u=u.sibling;u.tag!==5&&u.tag!==6&&u.tag!==18;){if(u.flags&2||u.child===null||u.tag===4)continue e;u.child.return=u,u=u.child}if(!(u.flags&2))return u.stateNode}}function kM(u,h,b){var A=u.tag;if(A===5||A===6)u=u.stateNode,h?b.nodeType===8?b.parentNode.insertBefore(u,h):b.insertBefore(u,h):(b.nodeType===8?(h=b.parentNode,h.insertBefore(u,b)):(h=b,h.appendChild(u)),b=b._reactRootContainer,b!=null||h.onclick!==null||(h.onclick=Zd));else if(A!==4&&(u=u.child,u!==null))for(kM(u,h,b),u=u.sibling;u!==null;)kM(u,h,b),u=u.sibling}function OM(u,h,b){var A=u.tag;if(A===5||A===6)u=u.stateNode,h?b.insertBefore(u,h):b.appendChild(u);else if(A!==4&&(u=u.child,u!==null))for(OM(u,h,b),u=u.sibling;u!==null;)OM(u,h,b),u=u.sibling}var ki=null,Aa=!1;function ju(u,h,b){for(b=b.child;b!==null;)xN(u,h,b),b=b.sibling}function xN(u,h,b){if(Zt&&typeof Zt.onCommitFiberUnmount=="function")try{Zt.onCommitFiberUnmount(yn,b)}catch{}switch(b.tag){case 5:Zi||Qp(b,h);case 6:var A=ki,I=Aa;ki=null,ju(u,h,b),ki=A,Aa=I,ki!==null&&(Aa?(u=ki,b=b.stateNode,u.nodeType===8?u.parentNode.removeChild(b):u.removeChild(b)):ki.removeChild(b.stateNode));break;case 18:ki!==null&&(Aa?(u=ki,b=b.stateNode,u.nodeType===8?Op(u.parentNode,b):u.nodeType===1&&Op(u,b),Fd(u)):Op(ki,b.stateNode));break;case 4:A=ki,I=Aa,ki=b.stateNode.containerInfo,Aa=!0,ju(u,h,b),ki=A,Aa=I;break;case 0:case 11:case 14:case 15:if(!Zi&&(A=b.updateQueue,A!==null&&(A=A.lastEffect,A!==null))){I=A=A.next;do{var j=I,W=j.destroy;j=j.tag,W!==void 0&&((j&2)!==0||(j&4)!==0)&&NM(b,h,W),I=I.next}while(I!==A)}ju(u,h,b);break;case 1:if(!Zi&&(Qp(b,h),A=b.stateNode,typeof A.componentWillUnmount=="function"))try{A.props=b.memoizedProps,A.state=b.memoizedState,A.componentWillUnmount()}catch(ae){_r(b,h,ae)}ju(u,h,b);break;case 21:ju(u,h,b);break;case 22:b.mode&1?(Zi=(A=Zi)||b.memoizedState!==null,ju(u,h,b),Zi=A):ju(u,h,b);break;default:ju(u,h,b)}}function bN(u){var h=u.updateQueue;if(h!==null){u.updateQueue=null;var b=u.stateNode;b===null&&(b=u.stateNode=new eW),h.forEach(function(A){var I=uW.bind(null,u,A);b.has(A)||(b.add(A),A.then(I,I))})}}function Ta(u,h){var b=h.deletions;if(b!==null)for(var A=0;AI&&(I=W),A&=~j}if(A=I,A=at()-A,A=(120>A?120:480>A?480:1080>A?1080:1920>A?1920:3e3>A?3e3:4320>A?4320:1960*rW(A/1960))-A,10u?16:u,Fu===null)var A=!1;else{if(u=Fu,Fu=null,Jx=0,(On&6)!==0)throw Error(n(331));var I=On;for(On|=4,Tt=u.current;Tt!==null;){var j=Tt,W=j.child;if((Tt.flags&16)!==0){var ae=j.deletions;if(ae!==null){for(var me=0;meat()-jM?xf(u,0):DM|=b),Vs(u,h)}function kN(u,h){h===0&&((u.mode&1)===0?h=1:(h=kn,kn<<=1,(kn&130023424)===0&&(kn=4194304)));var b=xs();u=ao(u,h),u!==null&&(Za(u,h,b),Vs(u,b))}function cW(u){var h=u.memoizedState,b=0;h!==null&&(b=h.retryLane),kN(u,b)}function uW(u,h){var b=0;switch(u.tag){case 13:var A=u.stateNode,I=u.memoizedState;I!==null&&(b=I.retryLane);break;case 19:A=u.stateNode;break;default:throw Error(n(314))}A!==null&&A.delete(h),kN(u,b)}var ON;ON=function(u,h,b){if(u!==null)if(u.memoizedProps!==h.pendingProps||Pi.current)ln=!0;else{if((u.lanes&b)===0&&(h.flags&128)===0)return ln=!1,ZG(u,h,b);ln=(u.flags&131072)!==0}else ln=!1,qn&&(h.flags&1048576)!==0&&kv(h,zp,h.index);switch(h.lanes=0,h.tag){case 2:var A=h.type;$x(u,h),u=h.pendingProps;var I=ac(h,Kr.current);al(h,b),I=df(null,h,A,u,I,b);var j=Bv();return h.flags|=1,typeof I=="object"&&I!==null&&typeof I.render=="function"&&I.$$typeof===void 0?(h.tag=1,h.memoizedState=null,h.updateQueue=null,ui(A)?(j=!0,lc(h)):j=!1,h.memoizedState=I.state!==null&&I.state!==void 0?I.state:null,an(h),I.updater=Zp,h.stateNode=I,I._reactInternals=h,M(h,A,u,b),h=on(null,h,A,!0,j,b)):(h.tag=0,qn&&j&&Ov(h),_t(null,h,I,b),h=h.child),h;case 16:A=h.elementType;e:{switch($x(u,h),u=h.pendingProps,I=A._init,A=I(A._payload),h.type=A,I=h.tag=fW(A),u=Bs(A,u),I){case 0:h=yt(null,h,A,u,b);break e;case 1:h=Ot(null,h,A,u,b);break e;case 11:h=Jr(null,h,A,u,b);break e;case 14:h=ys(null,h,A,Bs(A.type,u),b);break e}throw Error(n(306,A,""))}return h;case 0:return A=h.type,I=h.pendingProps,I=h.elementType===A?I:Bs(A,I),yt(u,h,A,I,b);case 1:return A=h.type,I=h.pendingProps,I=h.elementType===A?I:Bs(A,I),Ot(u,h,A,I,b);case 3:e:{if(sn(h),u===null)throw Error(n(387));A=h.pendingProps,j=h.memoizedState,I=j.element,mr(u,h),lr(h,A,null,b);var W=h.memoizedState;if(A=W.element,j.isDehydrated)if(j={element:A,isDehydrated:!1,cache:W.cache,pendingSuspenseBoundaries:W.pendingSuspenseBoundaries,transitions:W.transitions},h.updateQueue.baseState=j,h.memoizedState=j,h.flags&256){I=P(Error(n(423)),h),h=En(u,h,A,b,I);break e}else if(A!==I){I=P(Error(n(424)),h),h=En(u,h,A,b,I);break e}else for(Ni=ha(h.stateNode.containerInfo.firstChild),Yr=h,qn=!0,zs=null,b=sf(h,null,A,b),h.child=b;b;)b.flags=b.flags&-3|4096,b=b.sibling;else{if(ol(),A===I){h=_c(u,h,b);break e}_t(u,h,A,b)}h=h.child}return h;case 5:return vc(h),u===null&&Hp(h),A=h.type,I=h.pendingProps,j=u!==null?u.memoizedProps:null,W=I.children,Av(A,I)?W=null:j!==null&&Av(A,j)&&(h.flags|=32),je(u,h),_t(u,h,W,b),h.child;case 6:return u===null&&Hp(h),null;case 13:return Ea(u,h,b);case 4:return cf(h,h.stateNode.containerInfo),A=h.pendingProps,u===null?h.child=dc(h,null,A,b):_t(u,h,A,b),h.child;case 11:return A=h.type,I=h.pendingProps,I=h.elementType===A?I:Bs(A,I),Jr(u,h,A,I,b);case 7:return _t(u,h,h.pendingProps,b),h.child;case 8:return _t(u,h,h.pendingProps.children,b),h.child;case 12:return _t(u,h,h.pendingProps.children,b),h.child;case 10:e:{if(A=h.type._context,I=h.pendingProps,j=h.memoizedProps,W=I.value,Gn(fc,A._currentValue),A._currentValue=W,j!==null)if(ds(j.value,W)){if(j.children===I.children&&!Pi.current){h=_c(u,h,b);break e}}else for(j=h.child,j!==null&&(j.return=h);j!==null;){var ae=j.dependencies;if(ae!==null){W=j.child;for(var me=ae.firstContext;me!==null;){if(me.context===A){if(j.tag===1){me=zn(-1,b&-b),me.tag=2;var Le=j.updateQueue;if(Le!==null){Le=Le.shared;var Je=Le.pending;Je===null?me.next=me:(me.next=Je.next,Je.next=me),Le.pending=me}}j.lanes|=b,me=j.alternate,me!==null&&(me.lanes|=b),af(j.return,b,h),ae.lanes|=b;break}me=me.next}}else if(j.tag===10)W=j.type===h.type?null:j.child;else if(j.tag===18){if(W=j.return,W===null)throw Error(n(341));W.lanes|=b,ae=W.alternate,ae!==null&&(ae.lanes|=b),af(W,b,h),W=j.sibling}else W=j.child;if(W!==null)W.return=j;else for(W=j;W!==null;){if(W===h){W=null;break}if(j=W.sibling,j!==null){j.return=W.return,W=j;break}W=W.return}j=W}_t(u,h,I.children,b),h=h.child}return h;case 9:return I=h.type,A=h.pendingProps.children,al(h,b),I=ps(I),A=A(I),h.flags|=1,_t(u,h,A,b),h.child;case 14:return A=h.type,I=Bs(A,h.pendingProps),I=Bs(A.type,I),ys(u,h,A,I,b);case 15:return Ne(u,h,h.type,h.pendingProps,b);case 17:return A=h.type,I=h.pendingProps,I=h.elementType===A?I:Bs(A,I),$x(u,h),h.tag=1,ui(A)?(u=!0,lc(h)):u=!1,al(h,b),p(h,A,I),M(h,A,I,b),on(null,h,A,!0,u,b);case 19:return dN(u,h,b);case 22:return _e(u,h,b)}throw Error(n(156,h.tag))};function LN(u,h){return Ie(u,h)}function dW(u,h,b,A){this.tag=u,this.key=b,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=h,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=A,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function jo(u,h,b,A){return new dW(u,h,b,A)}function WM(u){return u=u.prototype,!(!u||!u.isReactComponent)}function fW(u){if(typeof u=="function")return WM(u)?1:0;if(u!=null){if(u=u.$$typeof,u===H)return 11;if(u===he)return 14}return 2}function Hu(u,h){var b=u.alternate;return b===null?(b=jo(u.tag,h,u.key,u.mode),b.elementType=u.elementType,b.type=u.type,b.stateNode=u.stateNode,b.alternate=u,u.alternate=b):(b.pendingProps=h,b.type=u.type,b.flags=0,b.subtreeFlags=0,b.deletions=null),b.flags=u.flags&14680064,b.childLanes=u.childLanes,b.lanes=u.lanes,b.child=u.child,b.memoizedProps=u.memoizedProps,b.memoizedState=u.memoizedState,b.updateQueue=u.updateQueue,h=u.dependencies,b.dependencies=h===null?null:{lanes:h.lanes,firstContext:h.firstContext},b.sibling=u.sibling,b.index=u.index,b.ref=u.ref,b}function rb(u,h,b,A,I,j){var W=2;if(A=u,typeof u=="function")WM(u)&&(W=1);else if(typeof u=="string")W=5;else e:switch(u){case D:return _f(b.children,I,j,h);case F:W=8,I|=8;break;case G:return u=jo(12,b,h,I|2),u.elementType=G,u.lanes=j,u;case ne:return u=jo(13,b,h,I),u.elementType=ne,u.lanes=j,u;case te:return u=jo(19,b,h,I),u.elementType=te,u.lanes=j,u;case fe:return ib(b,I,j,h);default:if(typeof u=="object"&&u!==null)switch(u.$$typeof){case k:W=10;break e;case U:W=9;break e;case H:W=11;break e;case he:W=14;break e;case oe:W=16,A=null;break e}throw Error(n(130,u==null?u:typeof u,""))}return h=jo(W,b,h,I),h.elementType=u,h.type=A,h.lanes=j,h}function _f(u,h,b,A){return u=jo(7,u,A,h),u.lanes=b,u}function ib(u,h,b,A){return u=jo(22,u,A,h),u.elementType=fe,u.lanes=b,u.stateNode={isHidden:!1},u}function $M(u,h,b){return u=jo(6,u,null,h),u.lanes=b,u}function XM(u,h,b){return h=jo(4,u.children!==null?u.children:[],u.key,h),h.lanes=b,h.stateNode={containerInfo:u.containerInfo,pendingChildren:null,implementation:u.implementation},h}function hW(u,h,b,A,I){this.tag=h,this.containerInfo=u,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Ld(0),this.expirationTimes=Ld(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Ld(0),this.identifierPrefix=A,this.onRecoverableError=I,this.mutableSourceEagerHydrationData=null}function qM(u,h,b,A,I,j,W,ae,me){return u=new hW(u,h,b,ae,me),h===1?(h=1,j===!0&&(h|=8)):h=0,j=jo(3,null,null,h),u.current=j,j.stateNode=u,j.memoizedState={element:A,isDehydrated:b,cache:null,transitions:null,pendingSuspenseBoundaries:null},an(j),u}function pW(u,h,b){var A=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(e){console.error(e)}}return t(),tE.exports=CW(),tE.exports}var YN;function PW(){if(YN)return fb;YN=1;var t=$U();return fb.createRoot=t.createRoot,fb.hydrateRoot=t.hydrateRoot,fb}var RW=PW();const NW=V1(RW);var Gy=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},dh,dd,og,LU,IW=(LU=class extends Gy{constructor(){super();$t(this,dh);$t(this,dd);$t(this,og);Mt(this,og,e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){ge(this,dd)||this.setEventListener(ge(this,og))}onUnsubscribe(){var e;this.hasListeners()||((e=ge(this,dd))==null||e.call(this),Mt(this,dd,void 0))}setEventListener(e){var n;Mt(this,og,e),(n=ge(this,dd))==null||n.call(this),Mt(this,dd,e(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(e){ge(this,dh)!==e&&(Mt(this,dh,e),this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach(n=>{n(e)})}isFocused(){var e;return typeof ge(this,dh)=="boolean"?ge(this,dh):((e=globalThis.document)==null?void 0:e.visibilityState)!=="hidden"}},dh=new WeakMap,dd=new WeakMap,og=new WeakMap,LU),vP=new IW,kW={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)},fd,gP,DU,OW=(DU=class{constructor(){$t(this,fd,kW);$t(this,gP,!1)}setTimeoutProvider(t){Mt(this,fd,t)}setTimeout(t,e){return ge(this,fd).setTimeout(t,e)}clearTimeout(t){ge(this,fd).clearTimeout(t)}setInterval(t,e){return ge(this,fd).setInterval(t,e)}clearInterval(t){ge(this,fd).clearInterval(t)}},fd=new WeakMap,gP=new WeakMap,DU),Jf=new OW;function LW(t){setTimeout(t,0)}var DW=typeof window>"u"||"Deno"in globalThis;function qs(){}function jW(t,e){return typeof t=="function"?t(e):t}function mT(t){return typeof t=="number"&&t>=0&&t!==1/0}function XU(t,e){return Math.max(t+(e||0)-Date.now(),0)}function bd(t,e){return typeof t=="function"?t(e):t}function vo(t,e){return typeof t=="function"?t(e):t}function ZN(t,e){const{type:n="all",exact:r,fetchStatus:i,predicate:s,queryKey:o,stale:a}=t;if(o){if(r){if(e.queryHash!==yP(o,e.options))return!1}else if(!sy(e.queryKey,o))return!1}if(n!=="all"){const l=e.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&e.isStale()!==a||i&&i!==e.state.fetchStatus||s&&!s(e))}function QN(t,e){const{exact:n,status:r,predicate:i,mutationKey:s}=t;if(s){if(!e.options.mutationKey)return!1;if(n){if(iy(e.options.mutationKey)!==iy(s))return!1}else if(!sy(e.options.mutationKey,s))return!1}return!(r&&e.state.status!==r||i&&!i(e))}function yP(t,e){return((e==null?void 0:e.queryKeyHashFn)||iy)(t)}function iy(t){return JSON.stringify(t,(e,n)=>vT(n)?Object.keys(n).sort().reduce((r,i)=>(r[i]=n[i],r),{}):n)}function sy(t,e){return t===e?!0:typeof t!=typeof e?!1:t&&e&&typeof t=="object"&&typeof e=="object"?Object.keys(e).every(n=>sy(t[n],e[n])):!1}var UW=Object.prototype.hasOwnProperty;function qU(t,e,n=0){if(t===e)return t;if(n>500)return e;const r=JN(t)&&JN(e);if(!r&&!(vT(t)&&vT(e)))return e;const s=(r?t:Object.keys(t)).length,o=r?e:Object.keys(e),a=o.length,l=r?new Array(a):{};let c=0;for(let d=0;d{Jf.setTimeout(e,t)})}function yT(t,e,n){return typeof n.structuralSharing=="function"?n.structuralSharing(t,e):n.structuralSharing!==!1?qU(t,e):e}function zW(t,e,n=0){const r=[...t,e];return n&&r.length>n?r.slice(1):r}function BW(t,e,n=0){const r=[e,...t];return n&&r.length>n?r.slice(0,-1):r}var xP=Symbol();function KU(t,e){return!t.queryFn&&(e!=null&&e.initialPromise)?()=>e.initialPromise:!t.queryFn||t.queryFn===xP?()=>Promise.reject(new Error(`Missing queryFn: '${t.queryHash}'`)):t.queryFn}function YU(t,e){return typeof t=="function"?t(...e):!!t}function HW(t,e,n){let r=!1,i;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(i??(i=e()),r||(r=!0,i.aborted?n():i.addEventListener("abort",n,{once:!0})),i)}),t}var oy=(()=>{let t=()=>DW;return{isServer(){return t()},setIsServer(e){t=e}}})();function xT(){let t,e;const n=new Promise((i,s)=>{t=i,e=s});n.status="pending",n.catch(()=>{});function r(i){Object.assign(n,i),delete n.resolve,delete n.reject}return n.resolve=i=>{r({status:"fulfilled",value:i}),t(i)},n.reject=i=>{r({status:"rejected",reason:i}),e(i)},n}var VW=LW;function GW(){let t=[],e=0,n=a=>{a()},r=a=>{a()},i=VW;const s=a=>{e?t.push(a):i(()=>{n(a)})},o=()=>{const a=t;t=[],a.length&&i(()=>{r(()=>{a.forEach(l=>{n(l)})})})};return{batch:a=>{let l;e++;try{l=a()}finally{e--,e||o()}return l},batchCalls:a=>(...l)=>{s(()=>{a(...l)})},schedule:s,setNotifyFunction:a=>{n=a},setBatchNotifyFunction:a=>{r=a},setScheduler:a=>{i=a}}}var Fi=GW(),ag,hd,lg,jU,WW=(jU=class extends Gy{constructor(){super();$t(this,ag,!0);$t(this,hd);$t(this,lg);Mt(this,lg,e=>{if(typeof window<"u"&&window.addEventListener){const n=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){ge(this,hd)||this.setEventListener(ge(this,lg))}onUnsubscribe(){var e;this.hasListeners()||((e=ge(this,hd))==null||e.call(this),Mt(this,hd,void 0))}setEventListener(e){var n;Mt(this,lg,e),(n=ge(this,hd))==null||n.call(this),Mt(this,hd,e(this.setOnline.bind(this)))}setOnline(e){ge(this,ag)!==e&&(Mt(this,ag,e),this.listeners.forEach(r=>{r(e)}))}isOnline(){return ge(this,ag)}},ag=new WeakMap,hd=new WeakMap,lg=new WeakMap,jU),J_=new WW;function $W(t){return Math.min(1e3*2**t,3e4)}function ZU(t){return(t??"online")==="online"?J_.isOnline():!0}var bT=class extends Error{constructor(t){super("CancelledError"),this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}};function QU(t){let e=!1,n=0,r;const i=xT(),s=()=>i.status!=="pending",o=S=>{var w;if(!s()){const _=new bT(S);m(_),(w=t.onCancel)==null||w.call(t,_)}},a=()=>{e=!0},l=()=>{e=!1},c=()=>vP.isFocused()&&(t.networkMode==="always"||J_.isOnline())&&t.canRun(),d=()=>ZU(t.networkMode)&&t.canRun(),f=S=>{s()||(r==null||r(),i.resolve(S))},m=S=>{s()||(r==null||r(),i.reject(S))},y=()=>new Promise(S=>{var w;r=_=>{(s()||c())&&S(_)},(w=t.onPause)==null||w.call(t)}).then(()=>{var S;r=void 0,s()||(S=t.onContinue)==null||S.call(t)}),x=()=>{if(s())return;let S;const w=n===0?t.initialPromise:void 0;try{S=w??t.fn()}catch(_){S=Promise.reject(_)}Promise.resolve(S).then(f).catch(_=>{var N;if(s())return;const E=t.retry??(oy.isServer()?0:3),T=t.retryDelay??$W,C=typeof T=="function"?T(n,_):T,O=E===!0||typeof E=="number"&&nc()?void 0:y()).then(()=>{e?m(_):x()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r==null||r(),i),cancelRetry:a,continueRetry:l,canStart:d,start:()=>(d()?x():y().then(x),i)}}var fh,UU,JU=(UU=class{constructor(){$t(this,fh)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),mT(this.gcTime)&&Mt(this,fh,Jf.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(oy.isServer()?1/0:300*1e3))}clearGcTimeout(){ge(this,fh)!==void 0&&(Jf.clearTimeout(ge(this,fh)),Mt(this,fh,void 0))}},fh=new WeakMap,UU);function XW(t){return{onFetch:(e,n)=>{var d,f,m,y,x;const r=e.options,i=(m=(f=(d=e.fetchOptions)==null?void 0:d.meta)==null?void 0:f.fetchMore)==null?void 0:m.direction,s=((y=e.state.data)==null?void 0:y.pages)||[],o=((x=e.state.data)==null?void 0:x.pageParams)||[];let a={pages:[],pageParams:[]},l=0;const c=async()=>{let S=!1;const w=T=>{HW(T,()=>e.signal,()=>S=!0)},_=KU(e.options,e.fetchOptions),E=async(T,C,O)=>{if(S)return Promise.reject(e.signal.reason);if(C==null&&T.pages.length)return Promise.resolve(T);const D=(()=>{const U={client:e.client,queryKey:e.queryKey,pageParam:C,direction:O?"backward":"forward",meta:e.options.meta};return w(U),U})(),F=await _(D),{maxPages:G}=e.options,k=O?BW:zW;return{pages:k(T.pages,F,G),pageParams:k(T.pageParams,C,G)}};if(i&&s.length){const T=i==="backward",C=T?qW:tI,O={pages:s,pageParams:o},N=C(r,O);a=await E(O,N,T)}else{const T=t??s.length;do{const C=l===0?o[0]??r.initialPageParam:tI(r,a);if(l>0&&C==null)break;a=await E(a,C),l++}while(l{var S,w;return(w=(S=e.options).persister)==null?void 0:w.call(S,c,{client:e.client,queryKey:e.queryKey,meta:e.options.meta,signal:e.signal},n)}:e.fetchFn=c}}}function tI(t,{pages:e,pageParams:n}){const r=e.length-1;return e.length>0?t.getNextPageParam(e[r],e,n[r],n):void 0}function qW(t,{pages:e,pageParams:n}){var r;return e.length>0?(r=t.getPreviousPageParam)==null?void 0:r.call(t,e[0],e,n[0],n):void 0}var cg,hh,ug,Vo,ph,gi,Fy,mh,go,eF,Rc,FU,KW=(FU=class extends JU{constructor(e){super();$t(this,go);$t(this,cg);$t(this,hh);$t(this,ug);$t(this,Vo);$t(this,ph);$t(this,gi);$t(this,Fy);$t(this,mh);Mt(this,mh,!1),Mt(this,Fy,e.defaultOptions),this.setOptions(e.options),this.observers=[],Mt(this,ph,e.client),Mt(this,Vo,ge(this,ph).getQueryCache()),this.queryKey=e.queryKey,this.queryHash=e.queryHash,Mt(this,hh,rI(this.options)),this.state=e.state??ge(this,hh),this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return ge(this,cg)}get promise(){var e;return(e=ge(this,gi))==null?void 0:e.promise}setOptions(e){if(this.options={...ge(this,Fy),...e},e!=null&&e._type&&Mt(this,cg,e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const n=rI(this.options);n.data!==void 0&&(this.setState(nI(n.data,n.dataUpdatedAt)),Mt(this,hh,n))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&ge(this,Vo).remove(this)}setData(e,n){const r=yT(this.state.data,e,this.options);return _n(this,go,Rc).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(e){_n(this,go,Rc).call(this,{type:"setState",state:e})}cancel(e){var r,i;const n=(r=ge(this,gi))==null?void 0:r.promise;return(i=ge(this,gi))==null||i.cancel(e),n?n.then(qs).catch(qs):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return ge(this,hh)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>vo(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===xP||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>bd(e.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e==="static"?!1:this.state.isInvalidated?!0:!XU(this.state.dataUpdatedAt,e)}onFocus(){var n;const e=this.observers.find(r=>r.shouldFetchOnWindowFocus());e==null||e.refetch({cancelRefetch:!1}),(n=ge(this,gi))==null||n.continue()}onOnline(){var n;const e=this.observers.find(r=>r.shouldFetchOnReconnect());e==null||e.refetch({cancelRefetch:!1}),(n=ge(this,gi))==null||n.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),ge(this,Vo).notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(n=>n!==e),this.observers.length||(ge(this,gi)&&(ge(this,mh)||_n(this,go,eF).call(this)?ge(this,gi).cancel({revert:!0}):ge(this,gi).cancelRetry()),this.scheduleGc()),ge(this,Vo).notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||_n(this,go,Rc).call(this,{type:"invalidate"})}async fetch(e,n){var c,d,f,m,y,x,S,w,_,E,T;if(this.state.fetchStatus!=="idle"&&((c=ge(this,gi))==null?void 0:c.status())!=="rejected"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(ge(this,gi))return ge(this,gi).continueRetry(),ge(this,gi).promise}if(e&&this.setOptions(e),!this.options.queryFn){const C=this.observers.find(O=>O.options.queryFn);C&&this.setOptions(C.options)}const r=new AbortController,i=C=>{Object.defineProperty(C,"signal",{enumerable:!0,get:()=>(Mt(this,mh,!0),r.signal)})},s=()=>{const C=KU(this.options,n),N=(()=>{const D={client:ge(this,ph),queryKey:this.queryKey,meta:this.meta};return i(D),D})();return Mt(this,mh,!1),this.options.persister?this.options.persister(C,N,this):C(N)},a=(()=>{const C={fetchOptions:n,options:this.options,queryKey:this.queryKey,client:ge(this,ph),state:this.state,fetchFn:s};return i(C),C})(),l=ge(this,cg)==="infinite"?XW(this.options.pages):this.options.behavior;l==null||l.onFetch(a,this),Mt(this,ug,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((d=a.fetchOptions)==null?void 0:d.meta))&&_n(this,go,Rc).call(this,{type:"fetch",meta:(f=a.fetchOptions)==null?void 0:f.meta}),Mt(this,gi,QU({initialPromise:n==null?void 0:n.initialPromise,fn:a.fetchFn,onCancel:C=>{C instanceof bT&&C.revert&&this.setState({...ge(this,ug),fetchStatus:"idle"}),r.abort()},onFail:(C,O)=>{_n(this,go,Rc).call(this,{type:"failed",failureCount:C,error:O})},onPause:()=>{_n(this,go,Rc).call(this,{type:"pause"})},onContinue:()=>{_n(this,go,Rc).call(this,{type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0}));try{const C=await ge(this,gi).start();if(C===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(C),(y=(m=ge(this,Vo).config).onSuccess)==null||y.call(m,C,this),(S=(x=ge(this,Vo).config).onSettled)==null||S.call(x,C,this.state.error,this),C}catch(C){if(C instanceof bT){if(C.silent)return ge(this,gi).promise;if(C.revert){if(this.state.data===void 0)throw C;return this.state.data}}throw _n(this,go,Rc).call(this,{type:"error",error:C}),(_=(w=ge(this,Vo).config).onError)==null||_.call(w,C,this),(T=(E=ge(this,Vo).config).onSettled)==null||T.call(E,this.state.data,C,this),C}finally{this.scheduleGc()}}},cg=new WeakMap,hh=new WeakMap,ug=new WeakMap,Vo=new WeakMap,ph=new WeakMap,gi=new WeakMap,Fy=new WeakMap,mh=new WeakMap,go=new WeakSet,eF=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},Rc=function(e){const n=r=>{switch(e.type){case"failed":return{...r,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...tF(r.data,this.options),fetchMeta:e.meta??null};case"success":const i={...r,...nI(e.data,e.dataUpdatedAt),dataUpdateCount:r.dataUpdateCount+1,...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return Mt(this,ug,e.manual?i:void 0),i;case"error":const s=e.error;return{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...e.state}}};this.state=n(this.state),Fi.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),ge(this,Vo).notify({query:this,type:"updated",action:e})})},FU);function tF(t,e){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:ZU(e.networkMode)?"fetching":"paused",...t===void 0&&{error:null,status:"pending"}}}function nI(t,e){return{data:t,dataUpdatedAt:e??Date.now(),error:null,isInvalidated:!1,status:"success"}}function rI(t){const e=typeof t.initialData=="function"?t.initialData():t.initialData,n=e!==void 0,r=n?typeof t.initialDataUpdatedAt=="function"?t.initialDataUpdatedAt():t.initialDataUpdatedAt:0;return{data:e,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var Xs,An,zy,ws,gh,dg,Oc,pd,By,fg,hg,vh,yh,md,pg,Bn,F0,_T,wT,ST,MT,ET,AT,TT,nF,zU,YW=(zU=class extends Gy{constructor(e,n){super();$t(this,Bn);$t(this,Xs);$t(this,An);$t(this,zy);$t(this,ws);$t(this,gh);$t(this,dg);$t(this,Oc);$t(this,pd);$t(this,By);$t(this,fg);$t(this,hg);$t(this,vh);$t(this,yh);$t(this,md);$t(this,pg,new Set);this.options=n,Mt(this,Xs,e),Mt(this,pd,null),Mt(this,Oc,xT()),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(ge(this,An).addObserver(this),iI(ge(this,An),this.options)?_n(this,Bn,F0).call(this):this.updateResult(),_n(this,Bn,MT).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return CT(ge(this,An),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return CT(ge(this,An),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,_n(this,Bn,ET).call(this),_n(this,Bn,AT).call(this),ge(this,An).removeObserver(this)}setOptions(e){const n=this.options,r=ge(this,An);if(this.options=ge(this,Xs).defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof vo(this.options.enabled,ge(this,An))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");_n(this,Bn,TT).call(this),ge(this,An).setOptions(this.options),n._defaulted&&!gT(this.options,n)&&ge(this,Xs).getQueryCache().notify({type:"observerOptionsUpdated",query:ge(this,An),observer:this});const i=this.hasListeners();i&&sI(ge(this,An),r,this.options,n)&&_n(this,Bn,F0).call(this),this.updateResult(),i&&(ge(this,An)!==r||vo(this.options.enabled,ge(this,An))!==vo(n.enabled,ge(this,An))||bd(this.options.staleTime,ge(this,An))!==bd(n.staleTime,ge(this,An)))&&_n(this,Bn,_T).call(this);const s=_n(this,Bn,wT).call(this);i&&(ge(this,An)!==r||vo(this.options.enabled,ge(this,An))!==vo(n.enabled,ge(this,An))||s!==ge(this,md))&&_n(this,Bn,ST).call(this,s)}getOptimisticResult(e){const n=ge(this,Xs).getQueryCache().build(ge(this,Xs),e),r=this.createResult(n,e);return QW(this,r)&&(Mt(this,ws,r),Mt(this,dg,this.options),Mt(this,gh,ge(this,An).state)),r}getCurrentResult(){return ge(this,ws)}trackResult(e,n){return new Proxy(e,{get:(r,i)=>(this.trackProp(i),n==null||n(i),i==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&ge(this,Oc).status==="pending"&&ge(this,Oc).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(r,i))})}trackProp(e){ge(this,pg).add(e)}getCurrentQuery(){return ge(this,An)}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const n=ge(this,Xs).defaultQueryOptions(e),r=ge(this,Xs).getQueryCache().build(ge(this,Xs),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(e){return _n(this,Bn,F0).call(this,{...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),ge(this,ws)))}createResult(e,n){var G;const r=ge(this,An),i=this.options,s=ge(this,ws),o=ge(this,gh),a=ge(this,dg),c=e!==r?e.state:ge(this,zy),{state:d}=e;let f={...d},m=!1,y;if(n._optimisticResults){const k=this.hasListeners(),U=!k&&iI(e,n),H=k&&sI(e,r,n,i);(U||H)&&(f={...f,...tF(d.data,e.options)}),n._optimisticResults==="isRestoring"&&(f.fetchStatus="idle")}let{error:x,errorUpdatedAt:S,status:w}=f;y=f.data;let _=!1;if(n.placeholderData!==void 0&&y===void 0&&w==="pending"){let k;s!=null&&s.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData)?(k=s.data,_=!0):k=typeof n.placeholderData=="function"?n.placeholderData((G=ge(this,hg))==null?void 0:G.state.data,ge(this,hg)):n.placeholderData,k!==void 0&&(w="success",y=yT(s==null?void 0:s.data,k,n),m=!0)}if(n.select&&y!==void 0&&!_)if(s&&y===(o==null?void 0:o.data)&&n.select===ge(this,By))y=ge(this,fg);else try{Mt(this,By,n.select),y=n.select(y),y=yT(s==null?void 0:s.data,y,n),Mt(this,fg,y),Mt(this,pd,null)}catch(k){Mt(this,pd,k)}ge(this,pd)&&(x=ge(this,pd),y=ge(this,fg),S=Date.now(),w="error");const E=f.fetchStatus==="fetching",T=w==="pending",C=w==="error",O=T&&E,N=y!==void 0,F={status:w,fetchStatus:f.fetchStatus,isPending:T,isSuccess:w==="success",isError:C,isInitialLoading:O,isLoading:O,data:y,dataUpdatedAt:f.dataUpdatedAt,error:x,errorUpdatedAt:S,failureCount:f.fetchFailureCount,failureReason:f.fetchFailureReason,errorUpdateCount:f.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:f.dataUpdateCount>c.dataUpdateCount||f.errorUpdateCount>c.errorUpdateCount,isFetching:E,isRefetching:E&&!T,isLoadingError:C&&!N,isPaused:f.fetchStatus==="paused",isPlaceholderData:m,isRefetchError:C&&N,isStale:bP(e,n),refetch:this.refetch,promise:ge(this,Oc),isEnabled:vo(n.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){const k=F.data!==void 0,U=F.status==="error"&&!k,H=he=>{U?he.reject(F.error):k&&he.resolve(F.data)},ne=()=>{const he=Mt(this,Oc,F.promise=xT());H(he)},te=ge(this,Oc);switch(te.status){case"pending":e.queryHash===r.queryHash&&H(te);break;case"fulfilled":(U||F.data!==te.value)&&ne();break;case"rejected":(!U||F.error!==te.reason)&&ne();break}}return F}updateResult(){const e=ge(this,ws),n=this.createResult(ge(this,An),this.options);if(Mt(this,gh,ge(this,An).state),Mt(this,dg,this.options),ge(this,gh).data!==void 0&&Mt(this,hg,ge(this,An)),gT(n,e))return;Mt(this,ws,n);const r=()=>{if(!e)return!0;const{notifyOnChangeProps:i}=this.options,s=typeof i=="function"?i():i;if(s==="all"||!s&&!ge(this,pg).size)return!0;const o=new Set(s??ge(this,pg));return this.options.throwOnError&&o.add("error"),Object.keys(ge(this,ws)).some(a=>{const l=a;return ge(this,ws)[l]!==e[l]&&o.has(l)})};_n(this,Bn,nF).call(this,{listeners:r()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&_n(this,Bn,MT).call(this)}},Xs=new WeakMap,An=new WeakMap,zy=new WeakMap,ws=new WeakMap,gh=new WeakMap,dg=new WeakMap,Oc=new WeakMap,pd=new WeakMap,By=new WeakMap,fg=new WeakMap,hg=new WeakMap,vh=new WeakMap,yh=new WeakMap,md=new WeakMap,pg=new WeakMap,Bn=new WeakSet,F0=function(e){_n(this,Bn,TT).call(this);let n=ge(this,An).fetch(this.options,e);return e!=null&&e.throwOnError||(n=n.catch(qs)),n},_T=function(){_n(this,Bn,ET).call(this);const e=bd(this.options.staleTime,ge(this,An));if(oy.isServer()||ge(this,ws).isStale||!mT(e))return;const r=XU(ge(this,ws).dataUpdatedAt,e)+1;Mt(this,vh,Jf.setTimeout(()=>{ge(this,ws).isStale||this.updateResult()},r))},wT=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(ge(this,An)):this.options.refetchInterval)??!1},ST=function(e){_n(this,Bn,AT).call(this),Mt(this,md,e),!(oy.isServer()||vo(this.options.enabled,ge(this,An))===!1||!mT(ge(this,md))||ge(this,md)===0)&&Mt(this,yh,Jf.setInterval(()=>{(this.options.refetchIntervalInBackground||vP.isFocused())&&_n(this,Bn,F0).call(this)},ge(this,md)))},MT=function(){_n(this,Bn,_T).call(this),_n(this,Bn,ST).call(this,_n(this,Bn,wT).call(this))},ET=function(){ge(this,vh)!==void 0&&(Jf.clearTimeout(ge(this,vh)),Mt(this,vh,void 0))},AT=function(){ge(this,yh)!==void 0&&(Jf.clearInterval(ge(this,yh)),Mt(this,yh,void 0))},TT=function(){const e=ge(this,Xs).getQueryCache().build(ge(this,Xs),this.options);if(e===ge(this,An))return;const n=ge(this,An);Mt(this,An,e),Mt(this,zy,e.state),this.hasListeners()&&(n==null||n.removeObserver(this),e.addObserver(this))},nF=function(e){Fi.batch(()=>{e.listeners&&this.listeners.forEach(n=>{n(ge(this,ws))}),ge(this,Xs).getQueryCache().notify({query:ge(this,An),type:"observerResultsUpdated"})})},zU);function ZW(t,e){return vo(e.enabled,t)!==!1&&t.state.data===void 0&&!(t.state.status==="error"&&vo(e.retryOnMount,t)===!1)}function iI(t,e){return ZW(t,e)||t.state.data!==void 0&&CT(t,e,e.refetchOnMount)}function CT(t,e,n){if(vo(e.enabled,t)!==!1&&bd(e.staleTime,t)!=="static"){const r=typeof n=="function"?n(t):n;return r==="always"||r!==!1&&bP(t,e)}return!1}function sI(t,e,n,r){return(t!==e||vo(r.enabled,t)===!1)&&(!n.suspense||t.state.status!=="error")&&bP(t,n)}function bP(t,e){return vo(e.enabled,t)!==!1&&t.isStaleByTime(bd(e.staleTime,t))}function QW(t,e){return!gT(t.getCurrentResult(),e)}var Hy,yl,ts,xh,xl,sd,BU,JW=(BU=class extends JU{constructor(e){super();$t(this,xl);$t(this,Hy);$t(this,yl);$t(this,ts);$t(this,xh);Mt(this,Hy,e.client),this.mutationId=e.mutationId,Mt(this,ts,e.mutationCache),Mt(this,yl,[]),this.state=e.state||e8(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){ge(this,yl).includes(e)||(ge(this,yl).push(e),this.clearGcTimeout(),ge(this,ts).notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){Mt(this,yl,ge(this,yl).filter(n=>n!==e)),this.scheduleGc(),ge(this,ts).notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){ge(this,yl).length||(this.state.status==="pending"?this.scheduleGc():ge(this,ts).remove(this))}continue(){var e;return((e=ge(this,xh))==null?void 0:e.continue())??this.execute(this.state.variables)}async execute(e){var o,a,l,c,d,f,m,y,x,S,w,_,E,T,C,O,N,D;const n=()=>{_n(this,xl,sd).call(this,{type:"continue"})},r={client:ge(this,Hy),meta:this.options.meta,mutationKey:this.options.mutationKey};Mt(this,xh,QU({fn:()=>this.options.mutationFn?this.options.mutationFn(e,r):Promise.reject(new Error("No mutationFn found")),onFail:(F,G)=>{_n(this,xl,sd).call(this,{type:"failed",failureCount:F,error:G})},onPause:()=>{_n(this,xl,sd).call(this,{type:"pause"})},onContinue:n,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>ge(this,ts).canRun(this)}));const i=this.state.status==="pending",s=!ge(this,xh).canStart();try{if(i)n();else{_n(this,xl,sd).call(this,{type:"pending",variables:e,isPaused:s}),ge(this,ts).config.onMutate&&await ge(this,ts).config.onMutate(e,this,r);const G=await((a=(o=this.options).onMutate)==null?void 0:a.call(o,e,r));G!==this.state.context&&_n(this,xl,sd).call(this,{type:"pending",context:G,variables:e,isPaused:s})}const F=await ge(this,xh).start();return await((c=(l=ge(this,ts).config).onSuccess)==null?void 0:c.call(l,F,e,this.state.context,this,r)),await((f=(d=this.options).onSuccess)==null?void 0:f.call(d,F,e,this.state.context,r)),await((y=(m=ge(this,ts).config).onSettled)==null?void 0:y.call(m,F,null,this.state.variables,this.state.context,this,r)),await((S=(x=this.options).onSettled)==null?void 0:S.call(x,F,null,e,this.state.context,r)),_n(this,xl,sd).call(this,{type:"success",data:F}),F}catch(F){try{await((_=(w=ge(this,ts).config).onError)==null?void 0:_.call(w,F,e,this.state.context,this,r))}catch(G){Promise.reject(G)}try{await((T=(E=this.options).onError)==null?void 0:T.call(E,F,e,this.state.context,r))}catch(G){Promise.reject(G)}try{await((O=(C=ge(this,ts).config).onSettled)==null?void 0:O.call(C,void 0,F,this.state.variables,this.state.context,this,r))}catch(G){Promise.reject(G)}try{await((D=(N=this.options).onSettled)==null?void 0:D.call(N,void 0,F,e,this.state.context,r))}catch(G){Promise.reject(G)}throw _n(this,xl,sd).call(this,{type:"error",error:F}),F}finally{ge(this,ts).runNext(this)}}},Hy=new WeakMap,yl=new WeakMap,ts=new WeakMap,xh=new WeakMap,xl=new WeakSet,sd=function(e){const n=r=>{switch(e.type){case"failed":return{...r,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...r,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:e.error,failureCount:r.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Fi.batch(()=>{ge(this,yl).forEach(r=>{r.onMutationUpdate(e)}),ge(this,ts).notify({mutation:this,type:"updated",action:e})})},BU);function e8(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var Lc,La,Vy,HU,t8=(HU=class extends Gy{constructor(e={}){super();$t(this,Lc);$t(this,La);$t(this,Vy);this.config=e,Mt(this,Lc,new Set),Mt(this,La,new Map),Mt(this,Vy,0)}build(e,n,r){const i=new JW({client:e,mutationCache:this,mutationId:++db(this,Vy)._,options:e.defaultMutationOptions(n),state:r});return this.add(i),i}add(e){ge(this,Lc).add(e);const n=hb(e);if(typeof n=="string"){const r=ge(this,La).get(n);r?r.push(e):ge(this,La).set(n,[e])}this.notify({type:"added",mutation:e})}remove(e){if(ge(this,Lc).delete(e)){const n=hb(e);if(typeof n=="string"){const r=ge(this,La).get(n);if(r)if(r.length>1){const i=r.indexOf(e);i!==-1&&r.splice(i,1)}else r[0]===e&&ge(this,La).delete(n)}}this.notify({type:"removed",mutation:e})}canRun(e){const n=hb(e);if(typeof n=="string"){const r=ge(this,La).get(n),i=r==null?void 0:r.find(s=>s.state.status==="pending");return!i||i===e}else return!0}runNext(e){var r;const n=hb(e);if(typeof n=="string"){const i=(r=ge(this,La).get(n))==null?void 0:r.find(s=>s!==e&&s.state.isPaused);return(i==null?void 0:i.continue())??Promise.resolve()}else return Promise.resolve()}clear(){Fi.batch(()=>{ge(this,Lc).forEach(e=>{this.notify({type:"removed",mutation:e})}),ge(this,Lc).clear(),ge(this,La).clear()})}getAll(){return Array.from(ge(this,Lc))}find(e){const n={exact:!0,...e};return this.getAll().find(r=>QN(n,r))}findAll(e={}){return this.getAll().filter(n=>QN(e,n))}notify(e){Fi.batch(()=>{this.listeners.forEach(n=>{n(e)})})}resumePausedMutations(){const e=this.getAll().filter(n=>n.state.isPaused);return Fi.batch(()=>Promise.all(e.map(n=>n.continue().catch(qs))))}},Lc=new WeakMap,La=new WeakMap,Vy=new WeakMap,HU);function hb(t){var e;return(e=t.options.scope)==null?void 0:e.id}var bl,VU,n8=(VU=class extends Gy{constructor(e={}){super();$t(this,bl);this.config=e,Mt(this,bl,new Map)}build(e,n,r){const i=n.queryKey,s=n.queryHash??yP(i,n);let o=this.get(s);return o||(o=new KW({client:e,queryKey:i,queryHash:s,options:e.defaultQueryOptions(n),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(o)),o}add(e){ge(this,bl).has(e.queryHash)||(ge(this,bl).set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const n=ge(this,bl).get(e.queryHash);n&&(e.destroy(),n===e&&ge(this,bl).delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){Fi.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return ge(this,bl).get(e)}getAll(){return[...ge(this,bl).values()]}find(e){const n={exact:!0,...e};return this.getAll().find(r=>ZN(n,r))}findAll(e={}){const n=this.getAll();return Object.keys(e).length>0?n.filter(r=>ZN(e,r)):n}notify(e){Fi.batch(()=>{this.listeners.forEach(n=>{n(e)})})}onFocus(){Fi.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Fi.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},bl=new WeakMap,VU),Sr,gd,vd,mg,gg,yd,vg,yg,GU,r8=(GU=class{constructor(t={}){$t(this,Sr);$t(this,gd);$t(this,vd);$t(this,mg);$t(this,gg);$t(this,yd);$t(this,vg);$t(this,yg);Mt(this,Sr,t.queryCache||new n8),Mt(this,gd,t.mutationCache||new t8),Mt(this,vd,t.defaultOptions||{}),Mt(this,mg,new Map),Mt(this,gg,new Map),Mt(this,yd,0)}mount(){db(this,yd)._++,ge(this,yd)===1&&(Mt(this,vg,vP.subscribe(async t=>{t&&(await this.resumePausedMutations(),ge(this,Sr).onFocus())})),Mt(this,yg,J_.subscribe(async t=>{t&&(await this.resumePausedMutations(),ge(this,Sr).onOnline())})))}unmount(){var t,e;db(this,yd)._--,ge(this,yd)===0&&((t=ge(this,vg))==null||t.call(this),Mt(this,vg,void 0),(e=ge(this,yg))==null||e.call(this),Mt(this,yg,void 0))}isFetching(t){return ge(this,Sr).findAll({...t,fetchStatus:"fetching"}).length}isMutating(t){return ge(this,gd).findAll({...t,status:"pending"}).length}getQueryData(t){var n;const e=this.defaultQueryOptions({queryKey:t});return(n=ge(this,Sr).get(e.queryHash))==null?void 0:n.state.data}ensureQueryData(t){const e=this.defaultQueryOptions(t),n=ge(this,Sr).build(this,e),r=n.state.data;return r===void 0?this.fetchQuery(t):(t.revalidateIfStale&&n.isStaleByTime(bd(e.staleTime,n))&&this.prefetchQuery(e),Promise.resolve(r))}getQueriesData(t){return ge(this,Sr).findAll(t).map(({queryKey:e,state:n})=>{const r=n.data;return[e,r]})}setQueryData(t,e,n){const r=this.defaultQueryOptions({queryKey:t}),i=ge(this,Sr).get(r.queryHash),s=i==null?void 0:i.state.data,o=jW(e,s);if(o!==void 0)return ge(this,Sr).build(this,r).setData(o,{...n,manual:!0})}setQueriesData(t,e,n){return Fi.batch(()=>ge(this,Sr).findAll(t).map(({queryKey:r})=>[r,this.setQueryData(r,e,n)]))}getQueryState(t){var n;const e=this.defaultQueryOptions({queryKey:t});return(n=ge(this,Sr).get(e.queryHash))==null?void 0:n.state}removeQueries(t){const e=ge(this,Sr);Fi.batch(()=>{e.findAll(t).forEach(n=>{e.remove(n)})})}resetQueries(t,e){const n=ge(this,Sr);return Fi.batch(()=>(n.findAll(t).forEach(r=>{r.reset()}),this.refetchQueries({type:"active",...t},e)))}cancelQueries(t,e={}){const n={revert:!0,...e},r=Fi.batch(()=>ge(this,Sr).findAll(t).map(i=>i.cancel(n)));return Promise.all(r).then(qs).catch(qs)}invalidateQueries(t,e={}){return Fi.batch(()=>(ge(this,Sr).findAll(t).forEach(n=>{n.invalidate()}),(t==null?void 0:t.refetchType)==="none"?Promise.resolve():this.refetchQueries({...t,type:(t==null?void 0:t.refetchType)??(t==null?void 0:t.type)??"active"},e)))}refetchQueries(t,e={}){const n={...e,cancelRefetch:e.cancelRefetch??!0},r=Fi.batch(()=>ge(this,Sr).findAll(t).filter(i=>!i.isDisabled()&&!i.isStatic()).map(i=>{let s=i.fetch(void 0,n);return n.throwOnError||(s=s.catch(qs)),i.state.fetchStatus==="paused"?Promise.resolve():s}));return Promise.all(r).then(qs)}fetchQuery(t){const e=this.defaultQueryOptions(t);e.retry===void 0&&(e.retry=!1);const n=ge(this,Sr).build(this,e);return n.isStaleByTime(bd(e.staleTime,n))?n.fetch(e):Promise.resolve(n.state.data)}prefetchQuery(t){return this.fetchQuery(t).then(qs).catch(qs)}fetchInfiniteQuery(t){return t._type="infinite",this.fetchQuery(t)}prefetchInfiniteQuery(t){return this.fetchInfiniteQuery(t).then(qs).catch(qs)}ensureInfiniteQueryData(t){return t._type="infinite",this.ensureQueryData(t)}resumePausedMutations(){return J_.isOnline()?ge(this,gd).resumePausedMutations():Promise.resolve()}getQueryCache(){return ge(this,Sr)}getMutationCache(){return ge(this,gd)}getDefaultOptions(){return ge(this,vd)}setDefaultOptions(t){Mt(this,vd,t)}setQueryDefaults(t,e){ge(this,mg).set(iy(t),{queryKey:t,defaultOptions:e})}getQueryDefaults(t){const e=[...ge(this,mg).values()],n={};return e.forEach(r=>{sy(t,r.queryKey)&&Object.assign(n,r.defaultOptions)}),n}setMutationDefaults(t,e){ge(this,gg).set(iy(t),{mutationKey:t,defaultOptions:e})}getMutationDefaults(t){const e=[...ge(this,gg).values()],n={};return e.forEach(r=>{sy(t,r.mutationKey)&&Object.assign(n,r.defaultOptions)}),n}defaultQueryOptions(t){if(t._defaulted)return t;const e={...ge(this,vd).queries,...this.getQueryDefaults(t.queryKey),...t,_defaulted:!0};return e.queryHash||(e.queryHash=yP(e.queryKey,e)),e.refetchOnReconnect===void 0&&(e.refetchOnReconnect=e.networkMode!=="always"),e.throwOnError===void 0&&(e.throwOnError=!!e.suspense),!e.networkMode&&e.persister&&(e.networkMode="offlineFirst"),e.queryFn===xP&&(e.enabled=!1),e}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...ge(this,vd).mutations,...(t==null?void 0:t.mutationKey)&&this.getMutationDefaults(t.mutationKey),...t,_defaulted:!0}}clear(){ge(this,Sr).clear(),ge(this,gd).clear()}},Sr=new WeakMap,gd=new WeakMap,vd=new WeakMap,mg=new WeakMap,gg=new WeakMap,yd=new WeakMap,vg=new WeakMap,yg=new WeakMap,GU),rF=R.createContext(void 0),Xh=t=>{const e=R.useContext(rF);if(!e)throw new Error("No QueryClient set, use QueryClientProvider to set one");return e},i8=({client:t,children:e})=>(R.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),g.jsx(rF.Provider,{value:t,children:e})),iF=R.createContext(!1),s8=()=>R.useContext(iF);iF.Provider;function o8(){let t=!1;return{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t}}var a8=R.createContext(o8()),l8=()=>R.useContext(a8),c8=(t,e,n)=>{const r=n!=null&&n.state.error&&typeof t.throwOnError=="function"?YU(t.throwOnError,[n.state.error,n]):t.throwOnError;(t.suspense||t.experimental_prefetchInRender||r)&&(e.isReset()||(t.retryOnMount=!1))},u8=t=>{R.useEffect(()=>{t.clearReset()},[t])},d8=({result:t,errorResetBoundary:e,throwOnError:n,query:r,suspense:i})=>t.isError&&!e.isReset()&&!t.isFetching&&r&&(i&&t.data===void 0||YU(n,[t.error,r])),f8=t=>{if(t.suspense){const n=i=>i==="static"?i:Math.max(i??1e3,1e3),r=t.staleTime;t.staleTime=typeof r=="function"?(...i)=>n(r(...i)):n(r),typeof t.gcTime=="number"&&(t.gcTime=Math.max(t.gcTime,1e3))}},h8=(t,e)=>t.isLoading&&t.isFetching&&!e,p8=(t,e)=>(t==null?void 0:t.suspense)&&e.isPending,oI=(t,e,n)=>e.fetchOptimistic(t).catch(()=>{n.clearReset()});function m8(t,e,n){var y,x,S,w;const r=s8(),i=l8(),s=Xh(),o=s.defaultQueryOptions(t);(x=(y=s.getDefaultOptions().queries)==null?void 0:y._experimental_beforeQuery)==null||x.call(y,o);const a=s.getQueryCache().get(o.queryHash),l=t.subscribed!==!1;o._optimisticResults=r?"isRestoring":l?"optimistic":void 0,f8(o),c8(o,i,a),u8(i);const c=!s.getQueryCache().get(o.queryHash),[d]=R.useState(()=>new e(s,o)),f=d.getOptimisticResult(o),m=!r&&l;if(R.useSyncExternalStore(R.useCallback(_=>{const E=m?d.subscribe(Fi.batchCalls(_)):qs;return d.updateResult(),E},[d,m]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),R.useEffect(()=>{d.setOptions(o)},[o,d]),p8(o,f))throw oI(o,d,i);if(d8({result:f,errorResetBoundary:i,throwOnError:o.throwOnError,query:a,suspense:o.suspense}))throw f.error;if((w=(S=s.getDefaultOptions().queries)==null?void 0:S._experimental_afterQuery)==null||w.call(S,o,f),o.experimental_prefetchInRender&&!oy.isServer()&&h8(f,r)){const _=c?oI(o,d,i):a==null?void 0:a.promise;_==null||_.catch(qs).finally(()=>{d.updateResult()})}return o.notifyOnChangeProps?f:d.trackResult(f)}function ls(t,e){return m8(t,YW)}/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. @@ -57,392 +57,392 @@ Error generating stack: `+j.message+` * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const gt=(t,e)=>{const n=R.forwardRef(({className:r,...i},s)=>R.createElement(y8,{ref:s,iconNode:e,className:sF(`lucide-${g8(t)}`,r),...i}));return n.displayName=`${t}`,n};/** + */const mt=(t,e)=>{const n=R.forwardRef(({className:r,...i},s)=>R.createElement(y8,{ref:s,iconNode:e,className:sF(`lucide-${g8(t)}`,r),...i}));return n.displayName=`${t}`,n};/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ay=gt("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** + */const ay=mt("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ew=gt("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** + */const ew=mt("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const x8=gt("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/** + */const x8=mt("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const PT=gt("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** + */const PT=mt("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Il=gt("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** + */const Il=mt("Bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const b8=gt("Box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/** + */const b8=mt("Box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const RT=gt("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** + */const RT=mt("Boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const W1=gt("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** + */const W1=mt("Brain",[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M12 5a3 3 0 1 1 5.997.125 4 4 0 0 1 2.526 5.77 4 4 0 0 1-.556 6.588A4 4 0 1 1 12 18Z",key:"ep3f8r"}],["path",{d:"M15 13a4.5 4.5 0 0 1-3-4 4.5 4.5 0 0 1-3 4",key:"1p4c4q"}],["path",{d:"M17.599 6.5a3 3 0 0 0 .399-1.375",key:"tmeiqw"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M19.938 10.5a4 4 0 0 1 .585.396",key:"1qfode"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M19.967 17.484A4 4 0 0 1 18 18",key:"159ez6"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const _8=gt("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/** + */const _8=mt("Camera",[["path",{d:"M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z",key:"1tc9qg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Go=gt("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + */const Go=mt("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const w8=gt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + */const w8=mt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const S8=gt("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** + */const S8=mt("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const oF=gt("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + */const oF=mt("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const M8=gt("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + */const M8=mt("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const E8=gt("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const E8=mt("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const A8=gt("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + */const A8=mt("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const T8=gt("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/** + */const T8=mt("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const C8=gt("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** + */const C8=mt("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const aF=gt("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/** + */const aF=mt("Code",[["polyline",{points:"16 18 22 12 16 6",key:"z7tu5w"}],["polyline",{points:"8 6 2 12 8 18",key:"1eg1df"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const P8=gt("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]);/** + */const P8=mt("Command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const NT=gt("Compass",[["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** + */const NT=mt("Compass",[["path",{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z",key:"9ktpf1"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const R8=gt("Construction",[["rect",{x:"2",y:"6",width:"20",height:"8",rx:"1",key:"1estib"}],["path",{d:"M17 14v7",key:"7m2elx"}],["path",{d:"M7 14v7",key:"1cm7wv"}],["path",{d:"M17 3v3",key:"1v4jwn"}],["path",{d:"M7 3v3",key:"7o6guu"}],["path",{d:"M10 14 2.3 6.3",key:"1023jk"}],["path",{d:"m14 6 7.7 7.7",key:"1s8pl2"}],["path",{d:"m8 6 8 8",key:"hl96qh"}]]);/** + */const R8=mt("Construction",[["rect",{x:"2",y:"6",width:"20",height:"8",rx:"1",key:"1estib"}],["path",{d:"M17 14v7",key:"7m2elx"}],["path",{d:"M7 14v7",key:"1cm7wv"}],["path",{d:"M17 3v3",key:"1v4jwn"}],["path",{d:"M7 3v3",key:"7o6guu"}],["path",{d:"M10 14 2.3 6.3",key:"1023jk"}],["path",{d:"m14 6 7.7 7.7",key:"1s8pl2"}],["path",{d:"m8 6 8 8",key:"hl96qh"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const tw=gt("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** + */const tw=mt("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const El=gt("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/** + */const El=mt("Cpu",[["rect",{width:"16",height:"16",x:"4",y:"4",rx:"2",key:"14l7u7"}],["rect",{width:"6",height:"6",x:"9",y:"9",rx:"1",key:"5aljv4"}],["path",{d:"M15 2v2",key:"13l42r"}],["path",{d:"M15 20v2",key:"15mkzm"}],["path",{d:"M2 15h2",key:"1gxd5l"}],["path",{d:"M2 9h2",key:"1bbxkp"}],["path",{d:"M20 15h2",key:"19e6y8"}],["path",{d:"M20 9h2",key:"19tzq7"}],["path",{d:"M9 2v2",key:"165o2o"}],["path",{d:"M9 20v2",key:"i2bqo8"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const N8=gt("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/** + */const N8=mt("Database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const xg=gt("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** + */const xg=mt("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const bg=gt("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** + */const bg=mt("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const aI=gt("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** + */const aI=mt("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const IT=gt("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + */const IT=mt("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const I8=gt("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** + */const I8=mt("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const k8=gt("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/** + */const k8=mt("FolderOpen",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const O8=gt("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);/** + */const O8=mt("Gauge",[["path",{d:"m12 14 4-4",key:"9kzdfg"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0",key:"19p75a"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const L8=gt("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** + */const L8=mt("GitCommitHorizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const D8=gt("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/** + */const D8=mt("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const iE=gt("HardDrive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]);/** + */const iE=mt("HardDrive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lI=gt("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** + */const lI=mt("Info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const j8=gt("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/** + */const j8=mt("Key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const U8=gt("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]);/** + */const U8=mt("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $1=gt("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/** + */const $1=mt("Layers",[["path",{d:"m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z",key:"8b97xw"}],["path",{d:"m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65",key:"dd6zsq"}],["path",{d:"m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65",key:"ep9fru"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const F8=gt("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/** + */const F8=mt("LayoutDashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const z8=gt("LifeBuoy",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.93 4.93 4.24 4.24",key:"1ymg45"}],["path",{d:"m14.83 9.17 4.24-4.24",key:"1cb5xl"}],["path",{d:"m14.83 14.83 4.24 4.24",key:"q42g0n"}],["path",{d:"m9.17 14.83-4.24 4.24",key:"bqpfvv"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]]);/** + */const z8=mt("LifeBuoy",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m4.93 4.93 4.24 4.24",key:"1ymg45"}],["path",{d:"m14.83 9.17 4.24-4.24",key:"1cb5xl"}],["path",{d:"m14.83 14.83 4.24 4.24",key:"q42g0n"}],["path",{d:"m9.17 14.83-4.24 4.24",key:"bqpfvv"}],["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const B8=gt("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/** + */const B8=mt("Lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const H8=gt("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);/** + */const H8=mt("List",[["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 18h.01",key:"1tta3j"}],["path",{d:"M3 6h.01",key:"1rqtza"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 18h13",key:"1lx6n3"}],["path",{d:"M8 6h13",key:"ik3vkj"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const _P=gt("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + */const _P=mt("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const V8=gt("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/** + */const V8=mt("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const G8=gt("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);/** + */const G8=mt("MessagesSquare",[["path",{d:"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z",key:"p1xzt8"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1",key:"1cx29u"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lF=gt("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/** + */const lF=mt("Mic",[["path",{d:"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z",key:"131961"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const W8=gt("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** + */const W8=mt("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $8=gt("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** + */const $8=mt("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const X8=gt("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** + */const X8=mt("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const q8=gt("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/** + */const q8=mt("Package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["path",{d:"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7",key:"yx3hmr"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const K8=gt("PenLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}]]);/** + */const K8=mt("PenLine",[["path",{d:"M12 20h9",key:"t2du7b"}],["path",{d:"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z",key:"1ykcvy"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const kT=gt("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);/** + */const kT=mt("Plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const OT=gt("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** + */const OT=mt("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Y8=gt("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);/** + */const Y8=mt("Power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Z8=gt("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);/** + */const Z8=mt("Puzzle",[["path",{d:"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",key:"w46dr5"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Vm=gt("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** + */const Zf=mt("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Q8=gt("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/** + */const Q8=mt("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const J8=gt("Scroll",[["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/** + */const J8=mt("Scroll",[["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const wP=gt("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** + */const wP=mt("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const e9=gt("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** + */const e9=mt("Send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const nw=gt("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);/** + */const nw=mt("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const t9=gt("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);/** + */const t9=mt("Share2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const n9=gt("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/** + */const n9=mt("ShieldAlert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Zm=gt("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/** + */const Zm=mt("Shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const cI=gt("Shuffle",[["path",{d:"M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22",key:"1wmou1"}],["path",{d:"m18 2 4 4-4 4",key:"pucp1d"}],["path",{d:"M2 6h1.9c1.5 0 2.9.9 3.6 2.2",key:"10bdb2"}],["path",{d:"M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8",key:"vgxac0"}],["path",{d:"m18 14 4 4-4 4",key:"10pe0f"}]]);/** + */const cI=mt("Shuffle",[["path",{d:"M2 18h1.4c1.3 0 2.5-.6 3.3-1.7l6.1-8.6c.7-1.1 2-1.7 3.3-1.7H22",key:"1wmou1"}],["path",{d:"m18 2 4 4-4 4",key:"pucp1d"}],["path",{d:"M2 6h1.9c1.5 0 2.9.9 3.6 2.2",key:"10bdb2"}],["path",{d:"M22 18h-5.9c-1.3 0-2.6-.7-3.3-1.8l-.5-.8",key:"vgxac0"}],["path",{d:"m18 14 4 4-4 4",key:"10pe0f"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Gm=gt("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** + */const Gm=mt("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const cF=gt("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** + */const cF=mt("SquareTerminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const r9=gt("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/** + */const r9=mt("Star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const uF=gt("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** + */const uF=mt("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const LT=gt("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/** + */const LT=mt("Trash2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const _g=gt("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + */const _g=mt("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const i9=gt("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/** + */const i9=mt("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const DT=gt("Volume2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]);/** + */const DT=mt("Volume2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const rw=gt("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** + */const rw=mt("Wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Al=gt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** + */const Al=mt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/** * @license lucide-react v0.460.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const xh=gt("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),jT=[{id:"dashboard",label:"Zentrale",hint:"System- & Stack-Status",icon:F8},{id:"models",label:"Modell-Manager",hint:"Verwalten, laden & Gateway-Routing",icon:RT},{id:"memory",label:"Gedächtnis",hint:"Geteiltes Memory verwalten",icon:W1},{id:"connect",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:kT},{id:"agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:Il},{id:"terminal",label:"Terminal",hint:"Interaktives Hermes-Agent-Terminal",icon:cF},{id:"voice",label:"Sprechen",hint:"Mit Hermes per Sprache reden (3D-Avatar)",icon:lF},{id:"guide",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:A8}];var uI=1,s9=.9,o9=.8,a9=.17,sE=.1,oE=.999,l9=.9999,c9=.99,u9=/[\\\/_+.#"@\[\(\{&]/,d9=/[\\\/_+.#"@\[\(\{&]/g,f9=/[\s-]/,dF=/[\s-]/g;function UT(t,e,n,r,i,s,o){if(s===e.length)return i===t.length?uI:c9;var a=`${i},${s}`;if(o[a]!==void 0)return o[a];for(var l=r.charAt(s),c=n.indexOf(l,i),d=0,f,m,y,x;c>=0;)f=UT(t,e,n,r,c+1,s+1,o),f>d&&(c===i?f*=uI:u9.test(t.charAt(c-1))?(f*=o9,y=t.slice(i,c-1).match(d9),y&&i>0&&(f*=Math.pow(oE,y.length))):f9.test(t.charAt(c-1))?(f*=s9,x=t.slice(i,c-1).match(dF),x&&i>0&&(f*=Math.pow(oE,x.length))):(f*=a9,i>0&&(f*=Math.pow(oE,c-i))),t.charAt(c)!==e.charAt(s)&&(f*=l9)),(ff&&(f=m*sE)),f>d&&(d=f),c=n.indexOf(l,c+1);return o[a]=d,d}function dI(t){return t.toLowerCase().replace(dF," ")}function h9(t,e,n){return t=n&&n.length>0?`${t+" "+n.join(" ")}`:t,UT(t,e,dI(t),dI(e),0,0,{})}function _d(t,e,{checkForDefaultPrevented:n=!0}={}){return function(i){if(t==null||t(i),n===!1||!i.defaultPrevented)return e==null?void 0:e(i)}}function fI(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function wg(...t){return e=>{let n=!1;const r=t.map(i=>{const s=fI(i,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let i=0;i{var _;const{scope:m,children:y,...x}=f,S=((_=m==null?void 0:m[t])==null?void 0:_[l])||a,w=R.useMemo(()=>x,Object.values(x));return g.jsx(S.Provider,{value:w,children:y})};c.displayName=s+"Provider";function d(f,m){var S;const y=((S=m==null?void 0:m[t])==null?void 0:S[l])||a,x=R.useContext(y);if(x)return x;if(o!==void 0)return o;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[c,d]}const i=()=>{const s=n.map(o=>R.createContext(o));return function(a){const l=(a==null?void 0:a[t])||s;return R.useMemo(()=>({[`__scope${t}`]:{...a,[t]:l}}),[a,l])}};return i.scopeName=t,[r,m9(i,...e)]}function m9(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(s){const o=r.reduce((a,{useScope:l,scopeName:c})=>{const f=l(s)[`__scope${c}`];return{...a,...f}},{});return R.useMemo(()=>({[`__scope${e.scopeName}`]:o}),[o])}};return n.scopeName=e.scopeName,n}var ly=globalThis!=null&&globalThis.document?R.useLayoutEffect:()=>{},g9=G1[" useId ".trim().toString()]||(()=>{}),v9=0;function Vc(t){const[e,n]=R.useState(g9());return ly(()=>{n(r=>r??String(v9++))},[t]),e?`radix-${e}`:""}var y9=G1[" useInsertionEffect ".trim().toString()]||ly;function x9({prop:t,defaultProp:e,onChange:n=()=>{},caller:r}){const[i,s,o]=b9({defaultProp:e,onChange:n}),a=t!==void 0,l=a?t:i;{const d=R.useRef(t!==void 0);R.useEffect(()=>{const f=d.current;f!==a&&console.warn(`${r} is changing from ${f?"controlled":"uncontrolled"} to ${a?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=a},[a,r])}const c=R.useCallback(d=>{var f;if(a){const m=_9(d)?d(t):d;m!==t&&((f=o.current)==null||f.call(o,m))}else s(d)},[a,t,s,o]);return[l,c]}function b9({defaultProp:t,onChange:e}){const[n,r]=R.useState(t),i=R.useRef(n),s=R.useRef(e);return y9(()=>{s.current=e},[e]),R.useEffect(()=>{var o;i.current!==n&&((o=s.current)==null||o.call(s,n),i.current=n)},[n,i]),[n,r,s]}function _9(t){return typeof t=="function"}var X1=$U();function fF(t){const e=R.forwardRef((n,r)=>{let{children:i,...s}=n,o=null,a=!1;const l=[];hI(i)&&typeof pb=="function"&&(i=pb(i._payload)),R.Children.forEach(i,m=>{var y;if(A9(m)){a=!0;const x=m;let S="child"in x.props?x.props.child:x.props.children;hI(S)&&typeof pb=="function"&&(S=pb(S._payload)),o=S9(x,S),l.push((y=o==null?void 0:o.props)==null?void 0:y.children)}else l.push(m)}),o?o=R.cloneElement(o,void 0,l):!a&&R.Children.count(i)===1&&R.isValidElement(i)&&(o=i);const c=o?E9(o):void 0,d=Xh(r,c);if(!o){if(i||i===0)throw new Error(a?R9(t):P9(t));return i}const f=M9(s,o.props??{});return o.type!==R.Fragment&&(f.ref=r?d:c),R.cloneElement(o,f)});return e.displayName=`${t}.Slot`,e}var w9=Symbol.for("radix.slottable"),S9=(t,e)=>{if("child"in t.props){const n=t.props.child;return R.isValidElement(n)?R.cloneElement(n,void 0,t.props.children(n.props.children)):null}return R.isValidElement(e)?e:null};function M9(t,e){const n={...e};for(const r in e){const i=t[r],s=e[r];/^on[A-Z]/.test(r)?i&&s?n[r]=(...a)=>{const l=s(...a);return i(...a),l}:i&&(n[r]=i):r==="style"?n[r]={...i,...s}:r==="className"&&(n[r]=[i,s].filter(Boolean).join(" "))}return{...t,...n}}function E9(t){var r,i;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(i=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:i.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}function A9(t){return R.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===w9}var T9=Symbol.for("react.lazy");function hI(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===T9&&"_payload"in t&&C9(t._payload)}function C9(t){return typeof t=="object"&&t!==null&&"then"in t}var P9=t=>`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,R9=t=>`${t} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,pb=G1[" use ".trim().toString()],N9=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Vi=N9.reduce((t,e)=>{const n=fF(`Primitive.${e}`),r=R.forwardRef((i,s)=>{const{asChild:o,...a}=i,l=o?n:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),g.jsx(l,{...a,ref:s})});return r.displayName=`Primitive.${e}`,{...t,[e]:r}},{});function I9(t,e){t&&X1.flushSync(()=>t.dispatchEvent(e))}function cy(t){const e=R.useRef(t);return R.useEffect(()=>{e.current=t}),R.useMemo(()=>((...n)=>{var r;return(r=e.current)==null?void 0:r.call(e,...n)}),[])}function k9(t,e=globalThis==null?void 0:globalThis.document){const n=cy(t);R.useEffect(()=>{const r=i=>{i.key==="Escape"&&n(i)};return e.addEventListener("keydown",r,{capture:!0}),()=>e.removeEventListener("keydown",r,{capture:!0})},[n,e])}var O9="DismissableLayer",FT="dismissableLayer.update",L9="dismissableLayer.pointerDownOutside",D9="dismissableLayer.focusOutside",pI,SP=R.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),hF=R.forwardRef((t,e)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:o,onInteractOutside:a,onDismiss:l,...c}=t,d=R.useContext(SP),[f,m]=R.useState(null),y=(f==null?void 0:f.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,x]=R.useState({}),S=Xh(e,G=>m(G)),w=Array.from(d.layers),[_]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),E=w.indexOf(_),T=f?w.indexOf(f):-1,C=d.layersWithOutsidePointerEventsDisabled.size>0,O=T>=E,N=R.useRef(!1),D=z9(G=>{const k=G.target;if(!(k instanceof Node))return;const U=[...d.branches].some(H=>H.contains(k));!O||U||(s==null||s(G),a==null||a(G),G.defaultPrevented||l==null||l())},{ownerDocument:y,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:N,dismissableSurfaces:d.dismissableSurfaces}),F=B9(G=>{if(r&&N.current)return;const k=G.target;[...d.branches].some(H=>H.contains(k))||(o==null||o(G),a==null||a(G),G.defaultPrevented||l==null||l())},y);return k9(G=>{T===d.layers.size-1&&(i==null||i(G),!G.defaultPrevented&&l&&(G.preventDefault(),l()))},y),R.useEffect(()=>{if(f)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(pI=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(f)),d.layers.add(f),mI(),()=>{n&&(d.layersWithOutsidePointerEventsDisabled.delete(f),d.layersWithOutsidePointerEventsDisabled.size===0&&(y.body.style.pointerEvents=pI))}},[f,y,n,d]),R.useEffect(()=>()=>{f&&(d.layers.delete(f),d.layersWithOutsidePointerEventsDisabled.delete(f),mI())},[f,d]),R.useEffect(()=>{const G=()=>x({});return document.addEventListener(FT,G),()=>document.removeEventListener(FT,G)},[]),g.jsx(Vi.div,{...c,ref:S,style:{pointerEvents:C?O?"auto":"none":void 0,...t.style},onFocusCapture:_d(t.onFocusCapture,F.onFocusCapture),onBlurCapture:_d(t.onBlurCapture,F.onBlurCapture),onPointerDownCapture:_d(t.onPointerDownCapture,D.onPointerDownCapture)})});hF.displayName=O9;var j9="DismissableLayerBranch",U9=R.forwardRef((t,e)=>{const n=R.useContext(SP),r=R.useRef(null),i=Xh(e,r);return R.useEffect(()=>{const s=r.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),g.jsx(Vi.div,{...t,ref:i})});U9.displayName=j9;function F9(){const t=R.useContext(SP),[e,n]=R.useState(null);return R.useEffect(()=>{if(e)return t.dismissableSurfaces.add(e),()=>{t.dismissableSurfaces.delete(e)}},[e,t.dismissableSurfaces]),n}function z9(t,e){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:s}=e,o=cy(t),a=R.useRef(!1),l=R.useRef(!1),c=R.useRef(new Map),d=R.useRef(()=>{});return R.useEffect(()=>{function f(){l.current=!1,i.current=!1,c.current.clear()}function m(){return Array.from(c.current.values()).some(Boolean)}function y(E){if(!l.current)return;const T=E.target;T instanceof Node&&[...s].some(O=>O.contains(T))||c.current.set(E.type,!0),E.type==="click"&&window.setTimeout(()=>{l.current&&d.current()},0)}function x(E){l.current&&c.current.set(E.type,!1)}const S=E=>{if(E.target&&!a.current){let T=function(){n.removeEventListener("click",d.current);const O=m();f(),O||pF(L9,o,C,{discrete:!0})};const C={originalEvent:E};l.current=!0,i.current=r&&E.button===0,c.current.clear(),!r||E.button!==0?T():(n.removeEventListener("click",d.current),d.current=T,n.addEventListener("click",d.current,{once:!0}))}else n.removeEventListener("click",d.current),f();a.current=!1},w=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const E of w)n.addEventListener(E,y,!0),n.addEventListener(E,x);const _=window.setTimeout(()=>{n.addEventListener("pointerdown",S)},0);return()=>{window.clearTimeout(_),n.removeEventListener("pointerdown",S),n.removeEventListener("click",d.current);for(const E of w)n.removeEventListener(E,y,!0),n.removeEventListener(E,x)}},[n,o,r,i,s]),{onPointerDownCapture:()=>a.current=!0}}function B9(t,e=globalThis==null?void 0:globalThis.document){const n=cy(t),r=R.useRef(!1);return R.useEffect(()=>{const i=s=>{s.target&&!r.current&&pF(D9,n,{originalEvent:s},{discrete:!1})};return e.addEventListener("focusin",i),()=>e.removeEventListener("focusin",i)},[e,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function mI(){const t=new CustomEvent(FT);document.dispatchEvent(t)}function pF(t,e,n,{discrete:r}){const i=n.originalEvent.target,s=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:n});e&&i.addEventListener(t,e,{once:!0}),r?I9(i,s):i.dispatchEvent(s)}var aE="focusScope.autoFocusOnMount",lE="focusScope.autoFocusOnUnmount",gI={bubbles:!1,cancelable:!0},H9="FocusScope",mF=R.forwardRef((t,e)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:s,...o}=t,[a,l]=R.useState(null),c=cy(i),d=cy(s),f=R.useRef(null),m=Xh(e,S=>l(S)),y=R.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;R.useEffect(()=>{if(r){let S=function(T){if(y.paused||!a)return;const C=T.target;a.contains(C)?f.current=C:od(f.current,{select:!0})},w=function(T){if(y.paused||!a)return;const C=T.relatedTarget;C!==null&&(a.contains(C)||od(f.current,{select:!0}))},_=function(T){if(document.activeElement===document.body)for(const O of T)O.removedNodes.length>0&&od(a)};document.addEventListener("focusin",S),document.addEventListener("focusout",w);const E=new MutationObserver(_);return a&&E.observe(a,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",S),document.removeEventListener("focusout",w),E.disconnect()}}},[r,a,y.paused]),R.useEffect(()=>{if(a){yI.add(y);const S=document.activeElement;if(!a.contains(S)){const _=new CustomEvent(aE,gI);a.addEventListener(aE,c),a.dispatchEvent(_),_.defaultPrevented||(V9(q9(gF(a)),{select:!0}),document.activeElement===S&&od(a))}return()=>{a.removeEventListener(aE,c),setTimeout(()=>{const _=new CustomEvent(lE,gI);a.addEventListener(lE,d),a.dispatchEvent(_),_.defaultPrevented||od(S??document.body,{select:!0}),a.removeEventListener(lE,d),yI.remove(y)},0)}}},[a,c,d,y]);const x=R.useCallback(S=>{if(!n&&!r||y.paused)return;const w=S.key==="Tab"&&!S.altKey&&!S.ctrlKey&&!S.metaKey,_=document.activeElement;if(w&&_){const E=S.currentTarget,[T,C]=G9(E);T&&C?!S.shiftKey&&_===C?(S.preventDefault(),n&&od(T,{select:!0})):S.shiftKey&&_===T&&(S.preventDefault(),n&&od(C,{select:!0})):_===E&&S.preventDefault()}},[n,r,y.paused]);return g.jsx(Vi.div,{tabIndex:-1,...o,ref:m,onKeyDown:x})});mF.displayName=H9;function V9(t,{select:e=!1}={}){const n=document.activeElement;for(const r of t)if(od(r,{select:e}),document.activeElement!==n)return}function G9(t){const e=gF(t),n=vI(e,t),r=vI(e.reverse(),t);return[n,r]}function gF(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)e.push(n.currentNode);return e}function vI(t,e){for(const n of t)if(!W9(n,{upTo:e}))return n}function W9(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function $9(t){return t instanceof HTMLInputElement&&"select"in t}function od(t,{select:e=!1}={}){if(t&&t.focus){const n=document.activeElement;t.focus({preventScroll:!0}),t!==n&&$9(t)&&e&&t.select()}}var yI=X9();function X9(){let t=[];return{add(e){const n=t[0];e!==n&&(n==null||n.pause()),t=xI(t,e),t.unshift(e)},remove(e){var n;t=xI(t,e),(n=t[0])==null||n.resume()}}}function xI(t,e){const n=[...t],r=n.indexOf(e);return r!==-1&&n.splice(r,1),n}function q9(t){return t.filter(e=>e.tagName!=="A")}var K9="Portal",vF=R.forwardRef((t,e)=>{var a;const{container:n,...r}=t,[i,s]=R.useState(!1);ly(()=>s(!0),[]);const o=n||i&&((a=globalThis==null?void 0:globalThis.document)==null?void 0:a.body);return o?X1.createPortal(g.jsx(Vi.div,{...r,ref:e}),o):null});vF.displayName=K9;function Y9(t,e){return R.useReducer((n,r)=>e[n][r]??n,t)}var q1=t=>{const{present:e,children:n}=t,r=Z9(e),i=typeof n=="function"?n({present:r.isPresent}):R.Children.only(n),s=Q9(r.ref,J9(i));return typeof n=="function"||r.isPresent?R.cloneElement(i,{ref:s}):null};q1.displayName="Presence";function Z9(t){const[e,n]=R.useState(),r=R.useRef(null),i=R.useRef(t),s=R.useRef("none"),o=t?"mounted":"unmounted",[a,l]=Y9(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return R.useEffect(()=>{const c=mb(r.current);s.current=a==="mounted"?c:"none"},[a]),ly(()=>{const c=r.current,d=i.current;if(d!==t){const m=s.current,y=mb(c);t?l("MOUNT"):y==="none"||(c==null?void 0:c.display)==="none"?l("UNMOUNT"):l(d&&m!==y?"ANIMATION_OUT":"UNMOUNT"),i.current=t}},[t,l]),ly(()=>{if(e){let c;const d=e.ownerDocument.defaultView??window,f=y=>{const S=mb(r.current).includes(CSS.escape(y.animationName));if(y.target===e&&S&&(l("ANIMATION_END"),!i.current)){const w=e.style.animationFillMode;e.style.animationFillMode="forwards",c=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=w)})}},m=y=>{y.target===e&&(s.current=mb(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(c),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(a),ref:R.useCallback(c=>{r.current=c?getComputedStyle(c):null,n(c)},[])}}function bI(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Q9(...t){const e=R.useRef(t);return e.current=t,R.useCallback(n=>{const r=e.current;let i=!1;const s=r.map(o=>{const a=bI(o,n);return!i&&typeof a=="function"&&(i=!0),a});if(i)return()=>{for(let o=0;o{dl||(dl={start:_I(),end:_I()});const{start:t,end:e}=dl;return document.body.firstElementChild!==t&&document.body.insertAdjacentElement("afterbegin",t),document.body.lastElementChild!==e&&document.body.insertAdjacentElement("beforeend",e),gb++,()=>{gb===1&&(dl==null||dl.start.remove(),dl==null||dl.end.remove(),dl=null),gb=Math.max(0,gb-1)}},[])}function _I(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var _l=function(){return _l=Object.assign||function(e){for(var n,r=1,i=arguments.length;r"u")return v$;var e=y$(t),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,r-n+e[2]-e[0])}},b$=_F(),Qm="data-scroll-locked",_$=function(t,e,n,r){var i=t.left,s=t.top,o=t.right,a=t.gap;return n===void 0&&(n="margin"),` + */const bh=mt("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),jT=[{id:"dashboard",label:"Zentrale",hint:"System- & Stack-Status",icon:F8},{id:"models",label:"Modell-Manager",hint:"Verwalten, laden & Gateway-Routing",icon:RT},{id:"memory",label:"Gedächtnis",hint:"Geteiltes Memory verwalten",icon:W1},{id:"connect",label:"Verbinden",hint:"IDE-/Agent-Configs erzeugen",icon:kT},{id:"agent",label:"Hermes",hint:"Agent-Status & Verdrahtung",icon:Il},{id:"terminal",label:"Terminal",hint:"Interaktives Hermes-Agent-Terminal",icon:cF},{id:"voice",label:"Sprechen",hint:"Mit Hermes per Sprache reden (3D-Avatar)",icon:lF},{id:"guide",label:"Anleitung",hint:"Einrichten & Vibe-Coding",icon:A8}];var uI=1,s9=.9,o9=.8,a9=.17,sE=.1,oE=.999,l9=.9999,c9=.99,u9=/[\\\/_+.#"@\[\(\{&]/,d9=/[\\\/_+.#"@\[\(\{&]/g,f9=/[\s-]/,dF=/[\s-]/g;function UT(t,e,n,r,i,s,o){if(s===e.length)return i===t.length?uI:c9;var a=`${i},${s}`;if(o[a]!==void 0)return o[a];for(var l=r.charAt(s),c=n.indexOf(l,i),d=0,f,m,y,x;c>=0;)f=UT(t,e,n,r,c+1,s+1,o),f>d&&(c===i?f*=uI:u9.test(t.charAt(c-1))?(f*=o9,y=t.slice(i,c-1).match(d9),y&&i>0&&(f*=Math.pow(oE,y.length))):f9.test(t.charAt(c-1))?(f*=s9,x=t.slice(i,c-1).match(dF),x&&i>0&&(f*=Math.pow(oE,x.length))):(f*=a9,i>0&&(f*=Math.pow(oE,c-i))),t.charAt(c)!==e.charAt(s)&&(f*=l9)),(ff&&(f=m*sE)),f>d&&(d=f),c=n.indexOf(l,c+1);return o[a]=d,d}function dI(t){return t.toLowerCase().replace(dF," ")}function h9(t,e,n){return t=n&&n.length>0?`${t+" "+n.join(" ")}`:t,UT(t,e,dI(t),dI(e),0,0,{})}function _d(t,e,{checkForDefaultPrevented:n=!0}={}){return function(i){if(t==null||t(i),n===!1||!i.defaultPrevented)return e==null?void 0:e(i)}}function fI(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function wg(...t){return e=>{let n=!1;const r=t.map(i=>{const s=fI(i,e);return!n&&typeof s=="function"&&(n=!0),s});if(n)return()=>{for(let i=0;i{var _;const{scope:m,children:y,...x}=f,S=((_=m==null?void 0:m[t])==null?void 0:_[l])||a,w=R.useMemo(()=>x,Object.values(x));return g.jsx(S.Provider,{value:w,children:y})};c.displayName=s+"Provider";function d(f,m){var S;const y=((S=m==null?void 0:m[t])==null?void 0:S[l])||a,x=R.useContext(y);if(x)return x;if(o!==void 0)return o;throw new Error(`\`${f}\` must be used within \`${s}\``)}return[c,d]}const i=()=>{const s=n.map(o=>R.createContext(o));return function(a){const l=(a==null?void 0:a[t])||s;return R.useMemo(()=>({[`__scope${t}`]:{...a,[t]:l}}),[a,l])}};return i.scopeName=t,[r,m9(i,...e)]}function m9(...t){const e=t[0];if(t.length===1)return e;const n=()=>{const r=t.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(s){const o=r.reduce((a,{useScope:l,scopeName:c})=>{const f=l(s)[`__scope${c}`];return{...a,...f}},{});return R.useMemo(()=>({[`__scope${e.scopeName}`]:o}),[o])}};return n.scopeName=e.scopeName,n}var ly=globalThis!=null&&globalThis.document?R.useLayoutEffect:()=>{},g9=G1[" useId ".trim().toString()]||(()=>{}),v9=0;function Vc(t){const[e,n]=R.useState(g9());return ly(()=>{n(r=>r??String(v9++))},[t]),e?`radix-${e}`:""}var y9=G1[" useInsertionEffect ".trim().toString()]||ly;function x9({prop:t,defaultProp:e,onChange:n=()=>{},caller:r}){const[i,s,o]=b9({defaultProp:e,onChange:n}),a=t!==void 0,l=a?t:i;{const d=R.useRef(t!==void 0);R.useEffect(()=>{const f=d.current;f!==a&&console.warn(`${r} is changing from ${f?"controlled":"uncontrolled"} to ${a?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=a},[a,r])}const c=R.useCallback(d=>{var f;if(a){const m=_9(d)?d(t):d;m!==t&&((f=o.current)==null||f.call(o,m))}else s(d)},[a,t,s,o]);return[l,c]}function b9({defaultProp:t,onChange:e}){const[n,r]=R.useState(t),i=R.useRef(n),s=R.useRef(e);return y9(()=>{s.current=e},[e]),R.useEffect(()=>{var o;i.current!==n&&((o=s.current)==null||o.call(s,n),i.current=n)},[n,i]),[n,r,s]}function _9(t){return typeof t=="function"}var X1=$U();function fF(t){const e=R.forwardRef((n,r)=>{let{children:i,...s}=n,o=null,a=!1;const l=[];hI(i)&&typeof pb=="function"&&(i=pb(i._payload)),R.Children.forEach(i,m=>{var y;if(A9(m)){a=!0;const x=m;let S="child"in x.props?x.props.child:x.props.children;hI(S)&&typeof pb=="function"&&(S=pb(S._payload)),o=S9(x,S),l.push((y=o==null?void 0:o.props)==null?void 0:y.children)}else l.push(m)}),o?o=R.cloneElement(o,void 0,l):!a&&R.Children.count(i)===1&&R.isValidElement(i)&&(o=i);const c=o?E9(o):void 0,d=qh(r,c);if(!o){if(i||i===0)throw new Error(a?R9(t):P9(t));return i}const f=M9(s,o.props??{});return o.type!==R.Fragment&&(f.ref=r?d:c),R.cloneElement(o,f)});return e.displayName=`${t}.Slot`,e}var w9=Symbol.for("radix.slottable"),S9=(t,e)=>{if("child"in t.props){const n=t.props.child;return R.isValidElement(n)?R.cloneElement(n,void 0,t.props.children(n.props.children)):null}return R.isValidElement(e)?e:null};function M9(t,e){const n={...e};for(const r in e){const i=t[r],s=e[r];/^on[A-Z]/.test(r)?i&&s?n[r]=(...a)=>{const l=s(...a);return i(...a),l}:i&&(n[r]=i):r==="style"?n[r]={...i,...s}:r==="className"&&(n[r]=[i,s].filter(Boolean).join(" "))}return{...t,...n}}function E9(t){var r,i;let e=(r=Object.getOwnPropertyDescriptor(t.props,"ref"))==null?void 0:r.get,n=e&&"isReactWarning"in e&&e.isReactWarning;return n?t.ref:(e=(i=Object.getOwnPropertyDescriptor(t,"ref"))==null?void 0:i.get,n=e&&"isReactWarning"in e&&e.isReactWarning,n?t.props.ref:t.props.ref||t.ref)}function A9(t){return R.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===w9}var T9=Symbol.for("react.lazy");function hI(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===T9&&"_payload"in t&&C9(t._payload)}function C9(t){return typeof t=="object"&&t!==null&&"then"in t}var P9=t=>`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,R9=t=>`${t} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,pb=G1[" use ".trim().toString()],N9=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Vi=N9.reduce((t,e)=>{const n=fF(`Primitive.${e}`),r=R.forwardRef((i,s)=>{const{asChild:o,...a}=i,l=o?n:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),g.jsx(l,{...a,ref:s})});return r.displayName=`Primitive.${e}`,{...t,[e]:r}},{});function I9(t,e){t&&X1.flushSync(()=>t.dispatchEvent(e))}function cy(t){const e=R.useRef(t);return R.useEffect(()=>{e.current=t}),R.useMemo(()=>((...n)=>{var r;return(r=e.current)==null?void 0:r.call(e,...n)}),[])}function k9(t,e=globalThis==null?void 0:globalThis.document){const n=cy(t);R.useEffect(()=>{const r=i=>{i.key==="Escape"&&n(i)};return e.addEventListener("keydown",r,{capture:!0}),()=>e.removeEventListener("keydown",r,{capture:!0})},[n,e])}var O9="DismissableLayer",FT="dismissableLayer.update",L9="dismissableLayer.pointerDownOutside",D9="dismissableLayer.focusOutside",pI,SP=R.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),hF=R.forwardRef((t,e)=>{const{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:o,onInteractOutside:a,onDismiss:l,...c}=t,d=R.useContext(SP),[f,m]=R.useState(null),y=(f==null?void 0:f.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,x]=R.useState({}),S=qh(e,G=>m(G)),w=Array.from(d.layers),[_]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),E=w.indexOf(_),T=f?w.indexOf(f):-1,C=d.layersWithOutsidePointerEventsDisabled.size>0,O=T>=E,N=R.useRef(!1),D=z9(G=>{const k=G.target;if(!(k instanceof Node))return;const U=[...d.branches].some(H=>H.contains(k));!O||U||(s==null||s(G),a==null||a(G),G.defaultPrevented||l==null||l())},{ownerDocument:y,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:N,dismissableSurfaces:d.dismissableSurfaces}),F=B9(G=>{if(r&&N.current)return;const k=G.target;[...d.branches].some(H=>H.contains(k))||(o==null||o(G),a==null||a(G),G.defaultPrevented||l==null||l())},y);return k9(G=>{T===d.layers.size-1&&(i==null||i(G),!G.defaultPrevented&&l&&(G.preventDefault(),l()))},y),R.useEffect(()=>{if(f)return n&&(d.layersWithOutsidePointerEventsDisabled.size===0&&(pI=y.body.style.pointerEvents,y.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(f)),d.layers.add(f),mI(),()=>{n&&(d.layersWithOutsidePointerEventsDisabled.delete(f),d.layersWithOutsidePointerEventsDisabled.size===0&&(y.body.style.pointerEvents=pI))}},[f,y,n,d]),R.useEffect(()=>()=>{f&&(d.layers.delete(f),d.layersWithOutsidePointerEventsDisabled.delete(f),mI())},[f,d]),R.useEffect(()=>{const G=()=>x({});return document.addEventListener(FT,G),()=>document.removeEventListener(FT,G)},[]),g.jsx(Vi.div,{...c,ref:S,style:{pointerEvents:C?O?"auto":"none":void 0,...t.style},onFocusCapture:_d(t.onFocusCapture,F.onFocusCapture),onBlurCapture:_d(t.onBlurCapture,F.onBlurCapture),onPointerDownCapture:_d(t.onPointerDownCapture,D.onPointerDownCapture)})});hF.displayName=O9;var j9="DismissableLayerBranch",U9=R.forwardRef((t,e)=>{const n=R.useContext(SP),r=R.useRef(null),i=qh(e,r);return R.useEffect(()=>{const s=r.current;if(s)return n.branches.add(s),()=>{n.branches.delete(s)}},[n.branches]),g.jsx(Vi.div,{...t,ref:i})});U9.displayName=j9;function F9(){const t=R.useContext(SP),[e,n]=R.useState(null);return R.useEffect(()=>{if(e)return t.dismissableSurfaces.add(e),()=>{t.dismissableSurfaces.delete(e)}},[e,t.dismissableSurfaces]),n}function z9(t,e){const{ownerDocument:n=globalThis==null?void 0:globalThis.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:s}=e,o=cy(t),a=R.useRef(!1),l=R.useRef(!1),c=R.useRef(new Map),d=R.useRef(()=>{});return R.useEffect(()=>{function f(){l.current=!1,i.current=!1,c.current.clear()}function m(){return Array.from(c.current.values()).some(Boolean)}function y(E){if(!l.current)return;const T=E.target;T instanceof Node&&[...s].some(O=>O.contains(T))||c.current.set(E.type,!0),E.type==="click"&&window.setTimeout(()=>{l.current&&d.current()},0)}function x(E){l.current&&c.current.set(E.type,!1)}const S=E=>{if(E.target&&!a.current){let T=function(){n.removeEventListener("click",d.current);const O=m();f(),O||pF(L9,o,C,{discrete:!0})};const C={originalEvent:E};l.current=!0,i.current=r&&E.button===0,c.current.clear(),!r||E.button!==0?T():(n.removeEventListener("click",d.current),d.current=T,n.addEventListener("click",d.current,{once:!0}))}else n.removeEventListener("click",d.current),f();a.current=!1},w=["pointerup","mousedown","mouseup","touchstart","touchend","click"];for(const E of w)n.addEventListener(E,y,!0),n.addEventListener(E,x);const _=window.setTimeout(()=>{n.addEventListener("pointerdown",S)},0);return()=>{window.clearTimeout(_),n.removeEventListener("pointerdown",S),n.removeEventListener("click",d.current);for(const E of w)n.removeEventListener(E,y,!0),n.removeEventListener(E,x)}},[n,o,r,i,s]),{onPointerDownCapture:()=>a.current=!0}}function B9(t,e=globalThis==null?void 0:globalThis.document){const n=cy(t),r=R.useRef(!1);return R.useEffect(()=>{const i=s=>{s.target&&!r.current&&pF(D9,n,{originalEvent:s},{discrete:!1})};return e.addEventListener("focusin",i),()=>e.removeEventListener("focusin",i)},[e,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function mI(){const t=new CustomEvent(FT);document.dispatchEvent(t)}function pF(t,e,n,{discrete:r}){const i=n.originalEvent.target,s=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:n});e&&i.addEventListener(t,e,{once:!0}),r?I9(i,s):i.dispatchEvent(s)}var aE="focusScope.autoFocusOnMount",lE="focusScope.autoFocusOnUnmount",gI={bubbles:!1,cancelable:!0},H9="FocusScope",mF=R.forwardRef((t,e)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:s,...o}=t,[a,l]=R.useState(null),c=cy(i),d=cy(s),f=R.useRef(null),m=qh(e,S=>l(S)),y=R.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;R.useEffect(()=>{if(r){let S=function(T){if(y.paused||!a)return;const C=T.target;a.contains(C)?f.current=C:od(f.current,{select:!0})},w=function(T){if(y.paused||!a)return;const C=T.relatedTarget;C!==null&&(a.contains(C)||od(f.current,{select:!0}))},_=function(T){if(document.activeElement===document.body)for(const O of T)O.removedNodes.length>0&&od(a)};document.addEventListener("focusin",S),document.addEventListener("focusout",w);const E=new MutationObserver(_);return a&&E.observe(a,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",S),document.removeEventListener("focusout",w),E.disconnect()}}},[r,a,y.paused]),R.useEffect(()=>{if(a){yI.add(y);const S=document.activeElement;if(!a.contains(S)){const _=new CustomEvent(aE,gI);a.addEventListener(aE,c),a.dispatchEvent(_),_.defaultPrevented||(V9(q9(gF(a)),{select:!0}),document.activeElement===S&&od(a))}return()=>{a.removeEventListener(aE,c),setTimeout(()=>{const _=new CustomEvent(lE,gI);a.addEventListener(lE,d),a.dispatchEvent(_),_.defaultPrevented||od(S??document.body,{select:!0}),a.removeEventListener(lE,d),yI.remove(y)},0)}}},[a,c,d,y]);const x=R.useCallback(S=>{if(!n&&!r||y.paused)return;const w=S.key==="Tab"&&!S.altKey&&!S.ctrlKey&&!S.metaKey,_=document.activeElement;if(w&&_){const E=S.currentTarget,[T,C]=G9(E);T&&C?!S.shiftKey&&_===C?(S.preventDefault(),n&&od(T,{select:!0})):S.shiftKey&&_===T&&(S.preventDefault(),n&&od(C,{select:!0})):_===E&&S.preventDefault()}},[n,r,y.paused]);return g.jsx(Vi.div,{tabIndex:-1,...o,ref:m,onKeyDown:x})});mF.displayName=H9;function V9(t,{select:e=!1}={}){const n=document.activeElement;for(const r of t)if(od(r,{select:e}),document.activeElement!==n)return}function G9(t){const e=gF(t),n=vI(e,t),r=vI(e.reverse(),t);return[n,r]}function gF(t){const e=[],n=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)e.push(n.currentNode);return e}function vI(t,e){for(const n of t)if(!W9(n,{upTo:e}))return n}function W9(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function $9(t){return t instanceof HTMLInputElement&&"select"in t}function od(t,{select:e=!1}={}){if(t&&t.focus){const n=document.activeElement;t.focus({preventScroll:!0}),t!==n&&$9(t)&&e&&t.select()}}var yI=X9();function X9(){let t=[];return{add(e){const n=t[0];e!==n&&(n==null||n.pause()),t=xI(t,e),t.unshift(e)},remove(e){var n;t=xI(t,e),(n=t[0])==null||n.resume()}}}function xI(t,e){const n=[...t],r=n.indexOf(e);return r!==-1&&n.splice(r,1),n}function q9(t){return t.filter(e=>e.tagName!=="A")}var K9="Portal",vF=R.forwardRef((t,e)=>{var a;const{container:n,...r}=t,[i,s]=R.useState(!1);ly(()=>s(!0),[]);const o=n||i&&((a=globalThis==null?void 0:globalThis.document)==null?void 0:a.body);return o?X1.createPortal(g.jsx(Vi.div,{...r,ref:e}),o):null});vF.displayName=K9;function Y9(t,e){return R.useReducer((n,r)=>e[n][r]??n,t)}var q1=t=>{const{present:e,children:n}=t,r=Z9(e),i=typeof n=="function"?n({present:r.isPresent}):R.Children.only(n),s=Q9(r.ref,J9(i));return typeof n=="function"||r.isPresent?R.cloneElement(i,{ref:s}):null};q1.displayName="Presence";function Z9(t){const[e,n]=R.useState(),r=R.useRef(null),i=R.useRef(t),s=R.useRef("none"),o=t?"mounted":"unmounted",[a,l]=Y9(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return R.useEffect(()=>{const c=mb(r.current);s.current=a==="mounted"?c:"none"},[a]),ly(()=>{const c=r.current,d=i.current;if(d!==t){const m=s.current,y=mb(c);t?l("MOUNT"):y==="none"||(c==null?void 0:c.display)==="none"?l("UNMOUNT"):l(d&&m!==y?"ANIMATION_OUT":"UNMOUNT"),i.current=t}},[t,l]),ly(()=>{if(e){let c;const d=e.ownerDocument.defaultView??window,f=y=>{const S=mb(r.current).includes(CSS.escape(y.animationName));if(y.target===e&&S&&(l("ANIMATION_END"),!i.current)){const w=e.style.animationFillMode;e.style.animationFillMode="forwards",c=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=w)})}},m=y=>{y.target===e&&(s.current=mb(r.current))};return e.addEventListener("animationstart",m),e.addEventListener("animationcancel",f),e.addEventListener("animationend",f),()=>{d.clearTimeout(c),e.removeEventListener("animationstart",m),e.removeEventListener("animationcancel",f),e.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(a),ref:R.useCallback(c=>{r.current=c?getComputedStyle(c):null,n(c)},[])}}function bI(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Q9(...t){const e=R.useRef(t);return e.current=t,R.useCallback(n=>{const r=e.current;let i=!1;const s=r.map(o=>{const a=bI(o,n);return!i&&typeof a=="function"&&(i=!0),a});if(i)return()=>{for(let o=0;o{dl||(dl={start:_I(),end:_I()});const{start:t,end:e}=dl;return document.body.firstElementChild!==t&&document.body.insertAdjacentElement("afterbegin",t),document.body.lastElementChild!==e&&document.body.insertAdjacentElement("beforeend",e),gb++,()=>{gb===1&&(dl==null||dl.start.remove(),dl==null||dl.end.remove(),dl=null),gb=Math.max(0,gb-1)}},[])}function _I(){const t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var _l=function(){return _l=Object.assign||function(e){for(var n,r=1,i=arguments.length;r"u")return v$;var e=y$(t),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,r-n+e[2]-e[0])}},b$=_F(),Qm="data-scroll-locked",_$=function(t,e,n,r){var i=t.left,s=t.top,o=t.right,a=t.gap;return n===void 0&&(n="margin"),` .`.concat(n$,` { overflow: hidden `).concat(r,`; padding-right: `).concat(a,"px ").concat(r,`; @@ -479,10 +479,10 @@ Error generating stack: `+j.message+` body[`).concat(Qm,`] { `).concat(r$,": ").concat(a,`px; } -`)},SI=function(){var t=parseInt(document.body.getAttribute(Qm)||"0",10);return isFinite(t)?t:0},w$=function(){R.useEffect(function(){return document.body.setAttribute(Qm,(SI()+1).toString()),function(){var t=SI()-1;t<=0?document.body.removeAttribute(Qm):document.body.setAttribute(Qm,t.toString())}},[])},S$=function(t){var e=t.noRelative,n=t.noImportant,r=t.gapMode,i=r===void 0?"margin":r;w$();var s=R.useMemo(function(){return x$(i)},[i]);return R.createElement(b$,{styles:_$(s,!e,i,n?"":"!important")})},zT=!1;if(typeof window<"u")try{var vb=Object.defineProperty({},"passive",{get:function(){return zT=!0,!0}});window.addEventListener("test",vb,vb),window.removeEventListener("test",vb,vb)}catch{zT=!1}var tm=zT?{passive:!1}:!1,M$=function(t){return t.tagName==="TEXTAREA"},wF=function(t,e){if(!(t instanceof Element))return!1;var n=window.getComputedStyle(t);return n[e]!=="hidden"&&!(n.overflowY===n.overflowX&&!M$(t)&&n[e]==="visible")},E$=function(t){return wF(t,"overflowY")},A$=function(t){return wF(t,"overflowX")},MI=function(t,e){var n=e.ownerDocument,r=e;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var i=SF(t,r);if(i){var s=MF(t,r),o=s[1],a=s[2];if(o>a)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},T$=function(t){var e=t.scrollTop,n=t.scrollHeight,r=t.clientHeight;return[e,n,r]},C$=function(t){var e=t.scrollLeft,n=t.scrollWidth,r=t.clientWidth;return[e,n,r]},SF=function(t,e){return t==="v"?E$(e):A$(e)},MF=function(t,e){return t==="v"?T$(e):C$(e)},P$=function(t,e){return t==="h"&&e==="rtl"?-1:1},R$=function(t,e,n,r,i){var s=P$(t,window.getComputedStyle(e).direction),o=s*r,a=n.target,l=e.contains(a),c=!1,d=o>0,f=0,m=0;do{if(!a)break;var y=MF(t,a),x=y[0],S=y[1],w=y[2],_=S-w-s*x;(x||_)&&SF(t,a)&&(f+=_,m+=x);var E=a.parentNode;a=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!l&&a!==document.body||l&&(e.contains(a)||e===a));return(d&&Math.abs(f)<1||!d&&Math.abs(m)<1)&&(c=!0),c},yb=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},EI=function(t){return[t.deltaX,t.deltaY]},AI=function(t){return t&&"current"in t?t.current:t},N$=function(t,e){return t[0]===e[0]&&t[1]===e[1]},I$=function(t){return` +`)},SI=function(){var t=parseInt(document.body.getAttribute(Qm)||"0",10);return isFinite(t)?t:0},w$=function(){R.useEffect(function(){return document.body.setAttribute(Qm,(SI()+1).toString()),function(){var t=SI()-1;t<=0?document.body.removeAttribute(Qm):document.body.setAttribute(Qm,t.toString())}},[])},S$=function(t){var e=t.noRelative,n=t.noImportant,r=t.gapMode,i=r===void 0?"margin":r;w$();var s=R.useMemo(function(){return x$(i)},[i]);return R.createElement(b$,{styles:_$(s,!e,i,n?"":"!important")})},zT=!1;if(typeof window<"u")try{var vb=Object.defineProperty({},"passive",{get:function(){return zT=!0,!0}});window.addEventListener("test",vb,vb),window.removeEventListener("test",vb,vb)}catch{zT=!1}var nm=zT?{passive:!1}:!1,M$=function(t){return t.tagName==="TEXTAREA"},wF=function(t,e){if(!(t instanceof Element))return!1;var n=window.getComputedStyle(t);return n[e]!=="hidden"&&!(n.overflowY===n.overflowX&&!M$(t)&&n[e]==="visible")},E$=function(t){return wF(t,"overflowY")},A$=function(t){return wF(t,"overflowX")},MI=function(t,e){var n=e.ownerDocument,r=e;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var i=SF(t,r);if(i){var s=MF(t,r),o=s[1],a=s[2];if(o>a)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},T$=function(t){var e=t.scrollTop,n=t.scrollHeight,r=t.clientHeight;return[e,n,r]},C$=function(t){var e=t.scrollLeft,n=t.scrollWidth,r=t.clientWidth;return[e,n,r]},SF=function(t,e){return t==="v"?E$(e):A$(e)},MF=function(t,e){return t==="v"?T$(e):C$(e)},P$=function(t,e){return t==="h"&&e==="rtl"?-1:1},R$=function(t,e,n,r,i){var s=P$(t,window.getComputedStyle(e).direction),o=s*r,a=n.target,l=e.contains(a),c=!1,d=o>0,f=0,m=0;do{if(!a)break;var y=MF(t,a),x=y[0],S=y[1],w=y[2],_=S-w-s*x;(x||_)&&SF(t,a)&&(f+=_,m+=x);var E=a.parentNode;a=E&&E.nodeType===Node.DOCUMENT_FRAGMENT_NODE?E.host:E}while(!l&&a!==document.body||l&&(e.contains(a)||e===a));return(d&&Math.abs(f)<1||!d&&Math.abs(m)<1)&&(c=!0),c},yb=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},EI=function(t){return[t.deltaX,t.deltaY]},AI=function(t){return t&&"current"in t?t.current:t},N$=function(t,e){return t[0]===e[0]&&t[1]===e[1]},I$=function(t){return` .block-interactivity-`.concat(t,` {pointer-events: none;} .allow-interactivity-`).concat(t,` {pointer-events: all;} -`)},k$=0,nm=[];function O$(t){var e=R.useRef([]),n=R.useRef([0,0]),r=R.useRef(),i=R.useState(k$++)[0],s=R.useState(_F)[0],o=R.useRef(t);R.useEffect(function(){o.current=t},[t]),R.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(i));var S=t$([t.lockRef.current],(t.shards||[]).map(AI),!0).filter(Boolean);return S.forEach(function(w){return w.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),S.forEach(function(w){return w.classList.remove("allow-interactivity-".concat(i))})}}},[t.inert,t.lockRef.current,t.shards]);var a=R.useCallback(function(S,w){if("touches"in S&&S.touches.length===2||S.type==="wheel"&&S.ctrlKey)return!o.current.allowPinchZoom;var _=yb(S),E=n.current,T="deltaX"in S?S.deltaX:E[0]-_[0],C="deltaY"in S?S.deltaY:E[1]-_[1],O,N=S.target,D=Math.abs(T)>Math.abs(C)?"h":"v";if("touches"in S&&D==="h"&&N.type==="range")return!1;var F=window.getSelection(),G=F&&F.anchorNode,k=G?G===N||G.contains(N):!1;if(k)return!1;var U=MI(D,N);if(!U)return!0;if(U?O=D:(O=D==="v"?"h":"v",U=MI(D,N)),!U)return!1;if(!r.current&&"changedTouches"in S&&(T||C)&&(r.current=O),!O)return!0;var H=r.current||O;return R$(H,w,S,H==="h"?T:C)},[]),l=R.useCallback(function(S){var w=S;if(!(!nm.length||nm[nm.length-1]!==s)){var _="deltaY"in w?EI(w):yb(w),E=e.current.filter(function(O){return O.name===w.type&&(O.target===w.target||w.target===O.shadowParent)&&N$(O.delta,_)})[0];if(E&&E.should){w.cancelable&&w.preventDefault();return}if(!E){var T=(o.current.shards||[]).map(AI).filter(Boolean).filter(function(O){return O.contains(w.target)}),C=T.length>0?a(w,T[0]):!o.current.noIsolation;C&&w.cancelable&&w.preventDefault()}}},[]),c=R.useCallback(function(S,w,_,E){var T={name:S,delta:w,target:_,should:E,shadowParent:L$(_)};e.current.push(T),setTimeout(function(){e.current=e.current.filter(function(C){return C!==T})},1)},[]),d=R.useCallback(function(S){n.current=yb(S),r.current=void 0},[]),f=R.useCallback(function(S){c(S.type,EI(S),S.target,a(S,t.lockRef.current))},[]),m=R.useCallback(function(S){c(S.type,yb(S),S.target,a(S,t.lockRef.current))},[]);R.useEffect(function(){return nm.push(s),t.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:m}),document.addEventListener("wheel",l,tm),document.addEventListener("touchmove",l,tm),document.addEventListener("touchstart",d,tm),function(){nm=nm.filter(function(S){return S!==s}),document.removeEventListener("wheel",l,tm),document.removeEventListener("touchmove",l,tm),document.removeEventListener("touchstart",d,tm)}},[]);var y=t.removeScrollBar,x=t.inert;return R.createElement(R.Fragment,null,x?R.createElement(s,{styles:I$(i)}):null,y?R.createElement(S$,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function L$(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}const D$=u$(bF,O$);var EF=R.forwardRef(function(t,e){return R.createElement(K1,_l({},t,{ref:e,sideCar:D$}))});EF.classNames=K1.classNames;var j$=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},rm=new WeakMap,xb=new WeakMap,bb={},fE=0,AF=function(t){return t&&(t.host||AF(t.parentNode))},U$=function(t,e){return e.map(function(n){if(t.contains(n))return n;var r=AF(n);return r&&t.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",t,". Doing nothing"),null)}).filter(function(n){return!!n})},F$=function(t,e,n,r){var i=U$(e,Array.isArray(t)?t:[t]);bb[n]||(bb[n]=new WeakMap);var s=bb[n],o=[],a=new Set,l=new Set(i),c=function(f){!f||a.has(f)||(a.add(f),c(f.parentNode))};i.forEach(c);var d=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(m){if(a.has(m))d(m);else try{var y=m.getAttribute(r),x=y!==null&&y!=="false",S=(rm.get(m)||0)+1,w=(s.get(m)||0)+1;rm.set(m,S),s.set(m,w),o.push(m),S===1&&x&&xb.set(m,!0),w===1&&m.setAttribute(n,"true"),x||m.setAttribute(r,"true")}catch(_){console.error("aria-hidden: cannot operate on ",m,_)}})};return d(e),a.clear(),fE++,function(){o.forEach(function(f){var m=rm.get(f)-1,y=s.get(f)-1;rm.set(f,m),s.set(f,y),m||(xb.has(f)||f.removeAttribute(r),xb.delete(f)),y||f.removeAttribute(n)}),fE--,fE||(rm=new WeakMap,rm=new WeakMap,xb=new WeakMap,bb={})}},z$=function(t,e,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(t)?t:[t]),i=j$(t);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live], script"))),F$(r,i,n,"aria-hidden")):function(){return null}},Y1="Dialog",[TF]=p9(Y1),[B$,Wa]=TF(Y1),CF=t=>{const{__scopeDialog:e,children:n,open:r,defaultOpen:i,onOpenChange:s,modal:o=!0}=t,a=R.useRef(null),l=R.useRef(null),[c,d]=x9({prop:r,defaultProp:i??!1,onChange:s,caller:Y1});return g.jsx(B$,{scope:e,triggerRef:a,contentRef:l,contentId:Vc(),titleId:Vc(),descriptionId:Vc(),open:c,onOpenChange:d,onOpenToggle:R.useCallback(()=>d(f=>!f),[d]),modal:o,children:n})};CF.displayName=Y1;var PF="DialogTrigger",H$=R.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,i=Wa(PF,n),s=Xh(e,i.triggerRef);return g.jsx(Vi.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":EP(i.open),...r,ref:s,onClick:_d(t.onClick,i.onOpenToggle)})});H$.displayName=PF;var MP="DialogPortal",[V$,RF]=TF(MP,{forceMount:void 0}),NF=t=>{const{__scopeDialog:e,forceMount:n,children:r,container:i}=t,s=Wa(MP,e);return g.jsx(V$,{scope:e,forceMount:n,children:R.Children.map(r,o=>g.jsx(q1,{present:n||s.open,children:g.jsx(vF,{asChild:!0,container:i,children:o})}))})};NF.displayName=MP;var iw="DialogOverlay",IF=R.forwardRef((t,e)=>{const n=RF(iw,t.__scopeDialog),{forceMount:r=n.forceMount,...i}=t,s=Wa(iw,t.__scopeDialog);return s.modal?g.jsx(q1,{present:r||s.open,children:g.jsx(W$,{...i,ref:e})}):null});IF.displayName=iw;var G$=fF("DialogOverlay.RemoveScroll"),W$=R.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,i=Wa(iw,n),s=F9(),o=Xh(e,s);return g.jsx(EF,{as:G$,allowPinchZoom:!0,shards:[i.contentRef],children:g.jsx(Vi.div,{"data-state":EP(i.open),...r,ref:o,style:{pointerEvents:"auto",...r.style}})})}),Sg="DialogContent",kF=R.forwardRef((t,e)=>{const n=RF(Sg,t.__scopeDialog),{forceMount:r=n.forceMount,...i}=t,s=Wa(Sg,t.__scopeDialog);return g.jsx(q1,{present:r||s.open,children:s.modal?g.jsx($$,{...i,ref:e}):g.jsx(X$,{...i,ref:e})})});kF.displayName=Sg;var $$=R.forwardRef((t,e)=>{const n=Wa(Sg,t.__scopeDialog),r=R.useRef(null),i=Xh(e,n.contentRef,r);return R.useEffect(()=>{const s=r.current;if(s)return z$(s)},[]),g.jsx(OF,{...t,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:_d(t.onCloseAutoFocus,s=>{var o;s.preventDefault(),(o=n.triggerRef.current)==null||o.focus()}),onPointerDownOutside:_d(t.onPointerDownOutside,s=>{const o=s.detail.originalEvent,a=o.button===0&&o.ctrlKey===!0;(o.button===2||a)&&s.preventDefault()}),onFocusOutside:_d(t.onFocusOutside,s=>s.preventDefault())})}),X$=R.forwardRef((t,e)=>{const n=Wa(Sg,t.__scopeDialog),r=R.useRef(!1),i=R.useRef(!1);return g.jsx(OF,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var o,a;(o=t.onCloseAutoFocus)==null||o.call(t,s),s.defaultPrevented||(r.current||(a=n.triggerRef.current)==null||a.focus(),s.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:s=>{var l,c;(l=t.onInteractOutside)==null||l.call(t,s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const o=s.target;((c=n.triggerRef.current)==null?void 0:c.contains(o))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&i.current&&s.preventDefault()}})}),OF=R.forwardRef((t,e)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:s,...o}=t,a=Wa(Sg,n);return e$(),g.jsx(g.Fragment,{children:g.jsx(mF,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:s,children:g.jsx(hF,{role:"dialog",id:a.contentId,"aria-describedby":a.descriptionId,"aria-labelledby":a.titleId,"data-state":EP(a.open),...o,ref:e,deferPointerDownOutside:!0,onDismiss:()=>a.onOpenChange(!1)})})})}),LF="DialogTitle",q$=R.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,i=Wa(LF,n);return g.jsx(Vi.h2,{id:i.titleId,...r,ref:e})});q$.displayName=LF;var DF="DialogDescription",K$=R.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,i=Wa(DF,n);return g.jsx(Vi.p,{id:i.descriptionId,...r,ref:e})});K$.displayName=DF;var jF="DialogClose",Y$=R.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,i=Wa(jF,n);return g.jsx(Vi.button,{type:"button",...r,ref:e,onClick:_d(t.onClick,()=>i.onOpenChange(!1))})});Y$.displayName=jF;function EP(t){return t?"open":"closed"}var r0='[cmdk-group=""]',hE='[cmdk-group-items=""]',Z$='[cmdk-group-heading=""]',UF='[cmdk-item=""]',TI=`${UF}:not([aria-disabled="true"])`,BT="cmdk-item-select",Dm="data-value",Q$=(t,e,n)=>h9(t,e,n),FF=R.createContext(void 0),Wy=()=>R.useContext(FF),zF=R.createContext(void 0),AP=()=>R.useContext(zF),BF=R.createContext(void 0),HF=R.forwardRef((t,e)=>{let n=jm(()=>{var q,pe;return{search:"",value:(pe=(q=t.value)!=null?q:t.defaultValue)!=null?pe:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=jm(()=>new Set),i=jm(()=>new Map),s=jm(()=>new Map),o=jm(()=>new Set),a=VF(t),{label:l,children:c,value:d,onValueChange:f,filter:m,shouldFilter:y,loop:x,disablePointerSelection:S=!1,vimBindings:w=!0,..._}=t,E=Vc(),T=Vc(),C=Vc(),O=R.useRef(null),N=c7();Ch(()=>{if(d!==void 0){let q=d.trim();n.current.value=q,D.emit()}},[d]),Ch(()=>{N(6,ne)},[]);let D=R.useMemo(()=>({subscribe:q=>(o.current.add(q),()=>o.current.delete(q)),snapshot:()=>n.current,setState:(q,pe,ae)=>{var le,be,Se,qe;if(!Object.is(n.current[q],pe)){if(n.current[q]=pe,q==="search")H(),k(),N(1,U);else if(q==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let Me=document.getElementById(C);Me?Me.focus():(le=document.getElementById(E))==null||le.focus()}if(N(7,()=>{var Me;n.current.selectedItemId=(Me=te())==null?void 0:Me.id,D.emit()}),ae||N(5,ne),((be=a.current)==null?void 0:be.value)!==void 0){let Me=pe??"";(qe=(Se=a.current).onValueChange)==null||qe.call(Se,Me);return}}D.emit()}},emit:()=>{o.current.forEach(q=>q())}}),[]),F=R.useMemo(()=>({value:(q,pe,ae)=>{var le;pe!==((le=s.current.get(q))==null?void 0:le.value)&&(s.current.set(q,{value:pe,keywords:ae}),n.current.filtered.items.set(q,G(pe,ae)),N(2,()=>{k(),D.emit()}))},item:(q,pe)=>(r.current.add(q),pe&&(i.current.has(pe)?i.current.get(pe).add(q):i.current.set(pe,new Set([q]))),N(3,()=>{H(),k(),n.current.value||U(),D.emit()}),()=>{s.current.delete(q),r.current.delete(q),n.current.filtered.items.delete(q);let ae=te();N(4,()=>{H(),(ae==null?void 0:ae.getAttribute("id"))===q&&U(),D.emit()})}),group:q=>(i.current.has(q)||i.current.set(q,new Set),()=>{s.current.delete(q),i.current.delete(q)}),filter:()=>a.current.shouldFilter,label:l||t["aria-label"],getDisablePointerSelection:()=>a.current.disablePointerSelection,listId:E,inputId:C,labelId:T,listInnerRef:O}),[]);function G(q,pe){var ae,le;let be=(le=(ae=a.current)==null?void 0:ae.filter)!=null?le:Q$;return q?be(q,n.current.search,pe):0}function k(){if(!n.current.search||a.current.shouldFilter===!1)return;let q=n.current.filtered.items,pe=[];n.current.filtered.groups.forEach(le=>{let be=i.current.get(le),Se=0;be.forEach(qe=>{let Me=q.get(qe);Se=Math.max(Me,Se)}),pe.push([le,Se])});let ae=O.current;he().sort((le,be)=>{var Se,qe;let Me=le.getAttribute("id"),$e=be.getAttribute("id");return((Se=q.get($e))!=null?Se:0)-((qe=q.get(Me))!=null?qe:0)}).forEach(le=>{let be=le.closest(hE);be?be.appendChild(le.parentElement===be?le:le.closest(`${hE} > *`)):ae.appendChild(le.parentElement===ae?le:le.closest(`${hE} > *`))}),pe.sort((le,be)=>be[1]-le[1]).forEach(le=>{var be;let Se=(be=O.current)==null?void 0:be.querySelector(`${r0}[${Dm}="${encodeURIComponent(le[0])}"]`);Se==null||Se.parentElement.appendChild(Se)})}function U(){let q=he().find(ae=>ae.getAttribute("aria-disabled")!=="true"),pe=q==null?void 0:q.getAttribute(Dm);D.setState("value",pe||void 0)}function H(){var q,pe,ae,le;if(!n.current.search||a.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let be=0;for(let Se of r.current){let qe=(pe=(q=s.current.get(Se))==null?void 0:q.value)!=null?pe:"",Me=(le=(ae=s.current.get(Se))==null?void 0:ae.keywords)!=null?le:[],$e=G(qe,Me);n.current.filtered.items.set(Se,$e),$e>0&&be++}for(let[Se,qe]of i.current)for(let Me of qe)if(n.current.filtered.items.get(Me)>0){n.current.filtered.groups.add(Se);break}n.current.filtered.count=be}function ne(){var q,pe,ae;let le=te();le&&(((q=le.parentElement)==null?void 0:q.firstChild)===le&&((ae=(pe=le.closest(r0))==null?void 0:pe.querySelector(Z$))==null||ae.scrollIntoView({block:"nearest"})),le.scrollIntoView({block:"nearest"}))}function te(){var q;return(q=O.current)==null?void 0:q.querySelector(`${UF}[aria-selected="true"]`)}function he(){var q;return Array.from(((q=O.current)==null?void 0:q.querySelectorAll(TI))||[])}function se(q){let pe=he()[q];pe&&D.setState("value",pe.getAttribute(Dm))}function fe(q){var pe;let ae=te(),le=he(),be=le.findIndex(qe=>qe===ae),Se=le[be+q];(pe=a.current)!=null&&pe.loop&&(Se=be+q<0?le[le.length-1]:be+q===le.length?le[0]:le[be+q]),Se&&D.setState("value",Se.getAttribute(Dm))}function B(q){let pe=te(),ae=pe==null?void 0:pe.closest(r0),le;for(;ae&&!le;)ae=q>0?a7(ae,r0):l7(ae,r0),le=ae==null?void 0:ae.querySelector(TI);le?D.setState("value",le.getAttribute(Dm)):fe(q)}let J=()=>se(he().length-1),Y=q=>{q.preventDefault(),q.metaKey?J():q.altKey?B(1):fe(1)},V=q=>{q.preventDefault(),q.metaKey?se(0):q.altKey?B(-1):fe(-1)};return R.createElement(Vi.div,{ref:e,tabIndex:-1,..._,"cmdk-root":"",onKeyDown:q=>{var pe;(pe=_.onKeyDown)==null||pe.call(_,q);let ae=q.nativeEvent.isComposing||q.keyCode===229;if(!(q.defaultPrevented||ae))switch(q.key){case"n":case"j":{w&&q.ctrlKey&&Y(q);break}case"ArrowDown":{Y(q);break}case"p":case"k":{w&&q.ctrlKey&&V(q);break}case"ArrowUp":{V(q);break}case"Home":{q.preventDefault(),se(0);break}case"End":{q.preventDefault(),J();break}case"Enter":{q.preventDefault();let le=te();if(le){let be=new Event(BT);le.dispatchEvent(be)}}}}},R.createElement("label",{"cmdk-label":"",htmlFor:F.inputId,id:F.labelId,style:d7},l),Z1(t,q=>R.createElement(zF.Provider,{value:D},R.createElement(FF.Provider,{value:F},q))))}),J$=R.forwardRef((t,e)=>{var n,r;let i=Vc(),s=R.useRef(null),o=R.useContext(BF),a=Wy(),l=VF(t),c=(r=(n=l.current)==null?void 0:n.forceMount)!=null?r:o==null?void 0:o.forceMount;Ch(()=>{if(!c)return a.item(i,o==null?void 0:o.id)},[c]);let d=GF(i,s,[t.value,t.children,s],t.keywords),f=AP(),m=Ed(N=>N.value&&N.value===d.current),y=Ed(N=>c||a.filter()===!1?!0:N.search?N.filtered.items.get(i)>0:!0);R.useEffect(()=>{let N=s.current;if(!(!N||t.disabled))return N.addEventListener(BT,x),()=>N.removeEventListener(BT,x)},[y,t.onSelect,t.disabled]);function x(){var N,D;S(),(D=(N=l.current).onSelect)==null||D.call(N,d.current)}function S(){f.setState("value",d.current,!0)}if(!y)return null;let{disabled:w,value:_,onSelect:E,forceMount:T,keywords:C,...O}=t;return R.createElement(Vi.div,{ref:wg(s,e),...O,id:i,"cmdk-item":"",role:"option","aria-disabled":!!w,"aria-selected":!!m,"data-disabled":!!w,"data-selected":!!m,onPointerMove:w||a.getDisablePointerSelection()?void 0:S,onClick:w?void 0:x},t.children)}),e7=R.forwardRef((t,e)=>{let{heading:n,children:r,forceMount:i,...s}=t,o=Vc(),a=R.useRef(null),l=R.useRef(null),c=Vc(),d=Wy(),f=Ed(y=>i||d.filter()===!1?!0:y.search?y.filtered.groups.has(o):!0);Ch(()=>d.group(o),[]),GF(o,a,[t.value,t.heading,l]);let m=R.useMemo(()=>({id:o,forceMount:i}),[i]);return R.createElement(Vi.div,{ref:wg(a,e),...s,"cmdk-group":"",role:"presentation",hidden:f?void 0:!0},n&&R.createElement("div",{ref:l,"cmdk-group-heading":"","aria-hidden":!0,id:c},n),Z1(t,y=>R.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?c:void 0},R.createElement(BF.Provider,{value:m},y))))}),t7=R.forwardRef((t,e)=>{let{alwaysRender:n,...r}=t,i=R.useRef(null),s=Ed(o=>!o.search);return!n&&!s?null:R.createElement(Vi.div,{ref:wg(i,e),...r,"cmdk-separator":"",role:"separator"})}),n7=R.forwardRef((t,e)=>{let{onValueChange:n,...r}=t,i=t.value!=null,s=AP(),o=Ed(c=>c.search),a=Ed(c=>c.selectedItemId),l=Wy();return R.useEffect(()=>{t.value!=null&&s.setState("search",t.value)},[t.value]),R.createElement(Vi.input,{ref:e,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":l.listId,"aria-labelledby":l.labelId,"aria-activedescendant":a,id:l.inputId,type:"text",value:i?t.value:o,onChange:c=>{i||s.setState("search",c.target.value),n==null||n(c.target.value)}})}),r7=R.forwardRef((t,e)=>{let{children:n,label:r="Suggestions",...i}=t,s=R.useRef(null),o=R.useRef(null),a=Ed(c=>c.selectedItemId),l=Wy();return R.useEffect(()=>{if(o.current&&s.current){let c=o.current,d=s.current,f,m=new ResizeObserver(()=>{f=requestAnimationFrame(()=>{let y=c.offsetHeight;d.style.setProperty("--cmdk-list-height",y.toFixed(1)+"px")})});return m.observe(c),()=>{cancelAnimationFrame(f),m.unobserve(c)}}},[]),R.createElement(Vi.div,{ref:wg(s,e),...i,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":a,"aria-label":r,id:l.listId},Z1(t,c=>R.createElement("div",{ref:wg(o,l.listInnerRef),"cmdk-list-sizer":""},c)))}),i7=R.forwardRef((t,e)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:s,container:o,...a}=t;return R.createElement(CF,{open:n,onOpenChange:r},R.createElement(NF,{container:o},R.createElement(IF,{"cmdk-overlay":"",className:i}),R.createElement(kF,{"aria-label":t.label,"cmdk-dialog":"",className:s},R.createElement(HF,{ref:e,...a}))))}),s7=R.forwardRef((t,e)=>Ed(n=>n.filtered.count===0)?R.createElement(Vi.div,{ref:e,...t,"cmdk-empty":"",role:"presentation"}):null),o7=R.forwardRef((t,e)=>{let{progress:n,children:r,label:i="Loading...",...s}=t;return R.createElement(Vi.div,{ref:e,...s,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},Z1(t,o=>R.createElement("div",{"aria-hidden":!0},o)))}),im=Object.assign(HF,{List:r7,Item:J$,Input:n7,Group:e7,Separator:t7,Dialog:i7,Empty:s7,Loading:o7});function a7(t,e){let n=t.nextElementSibling;for(;n;){if(n.matches(e))return n;n=n.nextElementSibling}}function l7(t,e){let n=t.previousElementSibling;for(;n;){if(n.matches(e))return n;n=n.previousElementSibling}}function VF(t){let e=R.useRef(t);return Ch(()=>{e.current=t}),e}var Ch=typeof window>"u"?R.useEffect:R.useLayoutEffect;function jm(t){let e=R.useRef();return e.current===void 0&&(e.current=t()),e}function Ed(t){let e=AP(),n=()=>t(e.snapshot());return R.useSyncExternalStore(e.subscribe,n,n)}function GF(t,e,n,r=[]){let i=R.useRef(),s=Wy();return Ch(()=>{var o;let a=(()=>{var c;for(let d of n){if(typeof d=="string")return d.trim();if(typeof d=="object"&&"current"in d)return d.current?(c=d.current.textContent)==null?void 0:c.trim():i.current}})(),l=r.map(c=>c.trim());s.value(t,a,l),(o=e.current)==null||o.setAttribute(Dm,a),i.current=a}),i}var c7=()=>{let[t,e]=R.useState(),n=jm(()=>new Map);return Ch(()=>{n.current.forEach(r=>r()),n.current=new Map},[t]),(r,i)=>{n.current.set(r,i),e({})}};function u7(t){let e=t.type;return typeof e=="function"?e(t.props):"render"in e?e.render(t.props):t}function Z1({asChild:t,children:e},n){return t&&R.isValidElement(e)?R.cloneElement(u7(e),{ref:e.ref},n(e.props.children)):n(e)}var d7={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function f7({onNavigate:t}){const[e,n]=R.useState(!1);return R.useEffect(()=>{const r=i=>{(i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="k"&&(i.preventDefault(),n(s=>!s))};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[]),g.jsx(im.Dialog,{open:e,onOpenChange:n,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh]",onClick:()=>n(!1),children:g.jsxs("div",{className:"w-full max-w-lg overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:r=>r.stopPropagation(),children:[g.jsx(im.Input,{autoFocus:!0,placeholder:"Springe zu… (Modelle, Routing, System …)",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),g.jsxs(im.List,{className:"max-h-80 overflow-y-auto p-2",children:[g.jsx(im.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),g.jsx(im.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:jT.map(r=>g.jsxs(im.Item,{value:`${r.label} ${r.hint}`,onSelect:()=>{t(r.id),n(!1)},className:"flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",children:[g.jsx(r.icon,{className:"h-4 w-4 text-primary"}),g.jsx("span",{children:r.label}),g.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:r.hint})]},r.id))})]})]})})}async function Ft(t,e){var l;const n={"Content-Type":"application/json",...e==null?void 0:e.headers},r=localStorage.getItem("mc_sudo_password"),i=localStorage.getItem("mc_hf_token");r&&(n["X-Sudo-Password"]=r);let s=e==null?void 0:e.body;if((((l=e==null?void 0:e.method)==null?void 0:l.toUpperCase())||"GET")==="POST"){if(typeof s=="string")try{const c=JSON.parse(s);let d=!1;r&&!("sudo_password"in c)&&(c.sudo_password=r,d=!0),i&&!("hf_token"in c)&&(c.hf_token=i,d=!0),d&&(s=JSON.stringify(c))}catch{}else if(!s){const c={};r&&(c.sudo_password=r),i&&(c.hf_token=i),Object.keys(c).length>0&&(s=JSON.stringify(c))}}const a=await fetch(t,{...e,headers:n,body:s});if(!a.ok)throw new Error(`${a.status} ${a.statusText}`);return a.json()}const Lr={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],routing:["routing"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:t=>["drafts",t??""],connect:t=>["connect",t??""],connectHealth:["connect-health"],memory:(t,e)=>["memory",t??"",e??""],memoryGraph:["memory-graph"]},h7=(t=!0)=>ls({queryKey:Lr.memoryGraph,queryFn:()=>Ft("/api/memory/graph"),enabled:t}),p7=()=>ls({queryKey:Lr.health,queryFn:()=>Ft("/api/health"),refetchInterval:1e4}),Q1=(t=5e3)=>ls({queryKey:Lr.systemStatus,queryFn:()=>Ft("/api/system/status"),refetchInterval:t}),m7=(t=3e3)=>ls({queryKey:Lr.services,queryFn:()=>Ft("/api/system/services"),refetchInterval:t}),qh=(t=4e3)=>ls({queryKey:Lr.models,queryFn:()=>Ft("/api/models"),refetchInterval:t}),g7=(t=4e3)=>ls({queryKey:Lr.routing,queryFn:()=>Ft("/api/routing"),refetchInterval:t}),v7=(t=2e3)=>ls({queryKey:Lr.jobs,queryFn:()=>Ft("/api/jobs"),refetchInterval:t,select:e=>e.jobs??[]}),TP=(t=3e3)=>ls({queryKey:Lr.tokenStats,queryFn:()=>Ft("/api/system/token-stats"),refetchInterval:t}),CP=(t=5e3)=>ls({queryKey:Lr.agentStatus,queryFn:()=>Ft("/api/agent/status"),refetchInterval:t}),y7=(t=6e4)=>ls({queryKey:Lr.hermesBrain,queryFn:()=>Ft("/api/agent/brain"),refetchInterval:t}),PP=t=>ls({queryKey:Lr.updates,queryFn:()=>Ft("/api/maintenance/updates"),refetchInterval:t}),x7=()=>ls({queryKey:Lr.discover,queryFn:()=>Ft("/api/discover")}),b7=t=>ls({queryKey:Lr.drafts(t),queryFn:()=>Ft(`/api/models/drafts?target=${encodeURIComponent(t??"")}`),enabled:!!t}),WF=t=>ls({queryKey:Lr.connect(t),queryFn:()=>Ft(t?`/api/connect?${t}`:"/api/connect")}),_7=()=>ls({queryKey:Lr.connectHealth,queryFn:()=>Ft("/api/connect/health"),refetchInterval:15e3}),HT=t=>ls({queryKey:Lr.memory(t==null?void 0:t.q,t==null?void 0:t.category),queryFn:()=>{const e=new URLSearchParams;return t!=null&&t.q&&e.set("q",t.q),t!=null&&t.category&&e.set("category",t.category),Ft(`/api/memory?${e}`)},select:e=>t!=null&&t.limit?e.slice(0,t.limit):e});function sm(t){return(t/1024**3).toFixed(1)}function VT(t){return t?t>1024**3?`${(t/1024**3).toFixed(1)} GB`:`${(t/1024**2).toFixed(0)} MB`:""}function Bo(t){if(!t)return"—";const e=t/1024**3;return e>=1?`${e.toFixed(1)} GB`:`${(t/1024**2).toFixed(0)} MB`}function w7(t){if(!t)return"";const e=Math.floor(t/60);return e>0?`${e} min`:`${t} s`}function CI(t){return t?`${Math.round(t/1024)}k`:"—"}function $F(t){var e,n,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var i=t.length;for(e=0;e{const e=E7(t),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=t;return{getClassGroupId:o=>{const a=o.split(RP);return a[0]===""&&a.length!==1&&a.shift(),XF(a,e)||M7(o)},getConflictingClassGroupIds:(o,a)=>{const l=n[o]||[];return a&&r[o]?[...l,...r[o]]:l}}},XF=(t,e)=>{var o;if(t.length===0)return e.classGroupId;const n=t[0],r=e.nextPart.get(n),i=r?XF(t.slice(1),r):void 0;if(i)return i;if(e.validators.length===0)return;const s=t.join(RP);return(o=e.validators.find(({validator:a})=>a(s)))==null?void 0:o.classGroupId},PI=/^\[(.+)\]$/,M7=t=>{if(PI.test(t)){const e=PI.exec(t)[1],n=e==null?void 0:e.substring(0,e.indexOf(":"));if(n)return"arbitrary.."+n}},E7=t=>{const{theme:e,prefix:n}=t,r={nextPart:new Map,validators:[]};return T7(Object.entries(t.classGroups),n).forEach(([s,o])=>{GT(o,r,s,e)}),r},GT=(t,e,n,r)=>{t.forEach(i=>{if(typeof i=="string"){const s=i===""?e:RI(e,i);s.classGroupId=n;return}if(typeof i=="function"){if(A7(i)){GT(i(r),e,n,r);return}e.validators.push({validator:i,classGroupId:n});return}Object.entries(i).forEach(([s,o])=>{GT(o,RI(e,s),n,r)})})},RI=(t,e)=>{let n=t;return e.split(RP).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},A7=t=>t.isThemeGetter,T7=(t,e)=>e?t.map(([n,r])=>{const i=r.map(s=>typeof s=="string"?e+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([o,a])=>[e+o,a])):s);return[n,i]}):t,C7=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,n=new Map,r=new Map;const i=(s,o)=>{n.set(s,o),e++,e>t&&(e=0,r=n,n=new Map)};return{get(s){let o=n.get(s);if(o!==void 0)return o;if((o=r.get(s))!==void 0)return i(s,o),o},set(s,o){n.has(s)?n.set(s,o):i(s,o)}}},qF="!",P7=t=>{const{separator:e,experimentalParseClassName:n}=t,r=e.length===1,i=e[0],s=e.length,o=a=>{const l=[];let c=0,d=0,f;for(let w=0;wd?f-d:void 0;return{modifiers:l,hasImportantModifier:y,baseClassName:x,maybePostfixModifierPosition:S}};return n?a=>n({className:a,parseClassName:o}):o},R7=t=>{if(t.length<=1)return t;const e=[];let n=[];return t.forEach(r=>{r[0]==="["?(e.push(...n.sort(),r),n=[]):n.push(r)}),e.push(...n.sort()),e},N7=t=>({cache:C7(t.cacheSize),parseClassName:P7(t),...S7(t)}),I7=/\s+/,k7=(t,e)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i}=e,s=[],o=t.trim().split(I7);let a="";for(let l=o.length-1;l>=0;l-=1){const c=o[l],{modifiers:d,hasImportantModifier:f,baseClassName:m,maybePostfixModifierPosition:y}=n(c);let x=!!y,S=r(x?m.substring(0,y):m);if(!S){if(!x){a=c+(a.length>0?" "+a:a);continue}if(S=r(m),!S){a=c+(a.length>0?" "+a:a);continue}x=!1}const w=R7(d).join(":"),_=f?w+qF:w,E=_+S;if(s.includes(E))continue;s.push(E);const T=i(S,x);for(let C=0;C0?" "+a:a)}return a};function O7(){let t=0,e,n,r="";for(;t{if(typeof t=="string")return t;let e,n="";for(let r=0;rf(d),t());return n=N7(c),r=n.cache.get,i=n.cache.set,s=a,a(l)}function a(l){const c=r(l);if(c)return c;const d=k7(l,n);return i(l,d),d}return function(){return s(O7.apply(null,arguments))}}const rr=t=>{const e=n=>n[t]||[];return e.isThemeGetter=!0,e},YF=/^\[(?:([a-z-]+):)?(.+)\]$/i,D7=/^\d+\/\d+$/,j7=new Set(["px","full","screen"]),U7=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,F7=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,z7=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,B7=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,H7=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Sc=t=>Jm(t)||j7.has(t)||D7.test(t),Gu=t=>Hg(t,"length",Y7),Jm=t=>!!t&&!Number.isNaN(Number(t)),pE=t=>Hg(t,"number",Jm),i0=t=>!!t&&Number.isInteger(Number(t)),V7=t=>t.endsWith("%")&&Jm(t.slice(0,-1)),fn=t=>YF.test(t),Wu=t=>U7.test(t),G7=new Set(["length","size","percentage"]),W7=t=>Hg(t,G7,ZF),$7=t=>Hg(t,"position",ZF),X7=new Set(["image","url"]),q7=t=>Hg(t,X7,Q7),K7=t=>Hg(t,"",Z7),s0=()=>!0,Hg=(t,e,n)=>{const r=YF.exec(t);return r?r[1]?typeof e=="string"?r[1]===e:e.has(r[1]):n(r[2]):!1},Y7=t=>F7.test(t)&&!z7.test(t),ZF=()=>!1,Z7=t=>B7.test(t),Q7=t=>H7.test(t),J7=()=>{const t=rr("colors"),e=rr("spacing"),n=rr("blur"),r=rr("brightness"),i=rr("borderColor"),s=rr("borderRadius"),o=rr("borderSpacing"),a=rr("borderWidth"),l=rr("contrast"),c=rr("grayscale"),d=rr("hueRotate"),f=rr("invert"),m=rr("gap"),y=rr("gradientColorStops"),x=rr("gradientColorStopPositions"),S=rr("inset"),w=rr("margin"),_=rr("opacity"),E=rr("padding"),T=rr("saturate"),C=rr("scale"),O=rr("sepia"),N=rr("skew"),D=rr("space"),F=rr("translate"),G=()=>["auto","contain","none"],k=()=>["auto","hidden","clip","visible","scroll"],U=()=>["auto",fn,e],H=()=>[fn,e],ne=()=>["",Sc,Gu],te=()=>["auto",Jm,fn],he=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],se=()=>["solid","dashed","dotted","double","none"],fe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],B=()=>["start","end","center","between","around","evenly","stretch"],J=()=>["","0",fn],Y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],V=()=>[Jm,fn];return{cacheSize:500,separator:":",theme:{colors:[s0],spacing:[Sc,Gu],blur:["none","",Wu,fn],brightness:V(),borderColor:[t],borderRadius:["none","","full",Wu,fn],borderSpacing:H(),borderWidth:ne(),contrast:V(),grayscale:J(),hueRotate:V(),invert:J(),gap:H(),gradientColorStops:[t],gradientColorStopPositions:[V7,Gu],inset:U(),margin:U(),opacity:V(),padding:H(),saturate:V(),scale:V(),sepia:J(),skew:V(),space:H(),translate:H()},classGroups:{aspect:[{aspect:["auto","square","video",fn]}],container:["container"],columns:[{columns:[Wu]}],"break-after":[{"break-after":Y()}],"break-before":[{"break-before":Y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...he(),fn]}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:G()}],"overscroll-x":[{"overscroll-x":G()}],"overscroll-y":[{"overscroll-y":G()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[S]}],"inset-x":[{"inset-x":[S]}],"inset-y":[{"inset-y":[S]}],start:[{start:[S]}],end:[{end:[S]}],top:[{top:[S]}],right:[{right:[S]}],bottom:[{bottom:[S]}],left:[{left:[S]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",i0,fn]}],basis:[{basis:U()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",fn]}],grow:[{grow:J()}],shrink:[{shrink:J()}],order:[{order:["first","last","none",i0,fn]}],"grid-cols":[{"grid-cols":[s0]}],"col-start-end":[{col:["auto",{span:["full",i0,fn]},fn]}],"col-start":[{"col-start":te()}],"col-end":[{"col-end":te()}],"grid-rows":[{"grid-rows":[s0]}],"row-start-end":[{row:["auto",{span:[i0,fn]},fn]}],"row-start":[{"row-start":te()}],"row-end":[{"row-end":te()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",fn]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",fn]}],gap:[{gap:[m]}],"gap-x":[{"gap-x":[m]}],"gap-y":[{"gap-y":[m]}],"justify-content":[{justify:["normal",...B()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...B(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...B(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[E]}],px:[{px:[E]}],py:[{py:[E]}],ps:[{ps:[E]}],pe:[{pe:[E]}],pt:[{pt:[E]}],pr:[{pr:[E]}],pb:[{pb:[E]}],pl:[{pl:[E]}],m:[{m:[w]}],mx:[{mx:[w]}],my:[{my:[w]}],ms:[{ms:[w]}],me:[{me:[w]}],mt:[{mt:[w]}],mr:[{mr:[w]}],mb:[{mb:[w]}],ml:[{ml:[w]}],"space-x":[{"space-x":[D]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[D]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",fn,e]}],"min-w":[{"min-w":[fn,e,"min","max","fit"]}],"max-w":[{"max-w":[fn,e,"none","full","min","max","fit","prose",{screen:[Wu]},Wu]}],h:[{h:[fn,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[fn,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[fn,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[fn,e,"auto","min","max","fit"]}],"font-size":[{text:["base",Wu,Gu]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",pE]}],"font-family":[{font:[s0]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",fn]}],"line-clamp":[{"line-clamp":["none",Jm,pE]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Sc,fn]}],"list-image":[{"list-image":["none",fn]}],"list-style-type":[{list:["none","disc","decimal",fn]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[_]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[_]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...se(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Sc,Gu]}],"underline-offset":[{"underline-offset":["auto",Sc,fn]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:H()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",fn]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",fn]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[_]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...he(),$7]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",W7]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},q7]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[x]}],"gradient-via-pos":[{via:[x]}],"gradient-to-pos":[{to:[x]}],"gradient-from":[{from:[y]}],"gradient-via":[{via:[y]}],"gradient-to":[{to:[y]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[a]}],"border-w-x":[{"border-x":[a]}],"border-w-y":[{"border-y":[a]}],"border-w-s":[{"border-s":[a]}],"border-w-e":[{"border-e":[a]}],"border-w-t":[{"border-t":[a]}],"border-w-r":[{"border-r":[a]}],"border-w-b":[{"border-b":[a]}],"border-w-l":[{"border-l":[a]}],"border-opacity":[{"border-opacity":[_]}],"border-style":[{border:[...se(),"hidden"]}],"divide-x":[{"divide-x":[a]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[a]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[_]}],"divide-style":[{divide:se()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...se()]}],"outline-offset":[{"outline-offset":[Sc,fn]}],"outline-w":[{outline:[Sc,Gu]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:ne()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[_]}],"ring-offset-w":[{"ring-offset":[Sc,Gu]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",Wu,K7]}],"shadow-color":[{shadow:[s0]}],opacity:[{opacity:[_]}],"mix-blend":[{"mix-blend":[...fe(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":fe()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",Wu,fn]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[d]}],invert:[{invert:[f]}],saturate:[{saturate:[T]}],sepia:[{sepia:[O]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[d]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[_]}],"backdrop-saturate":[{"backdrop-saturate":[T]}],"backdrop-sepia":[{"backdrop-sepia":[O]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",fn]}],duration:[{duration:V()}],ease:[{ease:["linear","in","out","in-out",fn]}],delay:[{delay:V()}],animate:[{animate:["none","spin","ping","pulse","bounce",fn]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[C]}],"scale-x":[{"scale-x":[C]}],"scale-y":[{"scale-y":[C]}],rotate:[{rotate:[i0,fn]}],"translate-x":[{"translate-x":[F]}],"translate-y":[{"translate-y":[F]}],"skew-x":[{"skew-x":[N]}],"skew-y":[{"skew-y":[N]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",fn]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",fn]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":H()}],"scroll-mx":[{"scroll-mx":H()}],"scroll-my":[{"scroll-my":H()}],"scroll-ms":[{"scroll-ms":H()}],"scroll-me":[{"scroll-me":H()}],"scroll-mt":[{"scroll-mt":H()}],"scroll-mr":[{"scroll-mr":H()}],"scroll-mb":[{"scroll-mb":H()}],"scroll-ml":[{"scroll-ml":H()}],"scroll-p":[{"scroll-p":H()}],"scroll-px":[{"scroll-px":H()}],"scroll-py":[{"scroll-py":H()}],"scroll-ps":[{"scroll-ps":H()}],"scroll-pe":[{"scroll-pe":H()}],"scroll-pt":[{"scroll-pt":H()}],"scroll-pr":[{"scroll-pr":H()}],"scroll-pb":[{"scroll-pb":H()}],"scroll-pl":[{"scroll-pl":H()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",fn]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[Sc,Gu,pE]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},eX=L7(J7);function nt(...t){return eX(er(t))}function Mg(t){return t?t.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}const QF=["fast","heavy","coder","vision","scout"],tX={fast:"bg-cyan-500/15 text-cyan-400 border-cyan-500/25",heavy:"bg-amber-500/15 text-amber-400 border-amber-500/25",coder:"bg-violet-500/15 text-violet-400 border-violet-500/25",vision:"bg-pink-500/15 text-pink-400 border-pink-500/25",scout:"bg-teal-500/15 text-teal-400 border-teal-500/25",hermes:"bg-indigo-500/15 text-indigo-400 border-indigo-500/25"},NP=t=>t&&tX[t]||"bg-slate-500/15 text-slate-300 border-slate-500/25";function nX({fit:t}){const e={perfect:"bg-emerald-500/15 text-emerald-400 border border-emerald-500/20",marginal:"bg-amber-500/15 text-amber-400 border border-amber-500/20",too_tight:"bg-red-500/15 text-red-400 border border-red-500/20"}[t.level];return g.jsxs("span",{className:nt("rounded px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider font-mono",e),children:[t.text," • ",t.req_gb," GB RAM"]})}function NI(t){const e=t.toLowerCase();return e.includes("qwen")?{name:"Qwen",color:"bg-purple-500/20 text-purple-300 border-purple-500/30",initial:"Q"}:e.includes("gemma")?{name:"Gemma",color:"bg-blue-500/20 text-blue-300 border-blue-500/30",initial:"G"}:e.includes("llama")?{name:"Llama",color:"bg-red-500/20 text-red-300 border-red-500/30",initial:"🦙"}:e.includes("mistral")||e.includes("mixtral")?{name:"Mistral",color:"bg-orange-500/20 text-orange-300 border-orange-500/30",initial:"M"}:e.includes("deepseek")?{name:"DeepSeek",color:"bg-cyan-500/20 text-cyan-300 border-cyan-500/30",initial:"D"}:e.includes("hermes")||e.includes("nous")?{name:"Hermes",color:"bg-amber-500/20 text-amber-300 border-amber-500/30",initial:"H"}:e.includes("phi")?{name:"Phi",color:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30",initial:"Φ"}:{name:"Other",color:"bg-slate-500/20 text-slate-300 border-slate-500/30",initial:"AI"}}function rX(){const{data:t}=qh(2e3),{data:e}=TP(2e3),n=(t==null?void 0:t.models)??[],r=(t==null?void 0:t.running)??[],i=n.filter(l=>r.includes(l.name)),s=R.useRef(null),[o,a]=R.useState(!1);return R.useEffect(()=>{if(!e)return;const l=e.total_tokens;if(s.current!==null&&l>s.current){a(!0);const c=setTimeout(()=>a(!1),4e3);return s.current=l,()=>clearTimeout(c)}s.current=l},[e==null?void 0:e.total_tokens]),g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[g.jsxs("div",{className:"flex items-center justify-between mb-4",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(ay,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Aktive Modelle (Live)"})]}),g.jsxs("span",{className:nt("flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wider font-mono px-2 py-0.5 rounded-full border transition-colors",o?"bg-emerald-500/10 text-emerald-400 border-emerald-500/30":"bg-background/30 text-muted-foreground/70 border-border/40"),children:[o?g.jsx(xh,{className:"h-3 w-3 animate-pulse"}):g.jsx($8,{className:"h-3 w-3"}),o?"Inferenz aktiv":"Idle"]})]}),i.length===0?g.jsx("div",{className:"flex items-center justify-center gap-2 h-20 text-xs text-muted-foreground/70 italic",children:"Kein Modell geladen — Auto-Swap lädt bei Anfrage."}):g.jsx("div",{className:"grid gap-2",children:i.map(l=>{var c;return g.jsxs("div",{className:"flex items-center justify-between gap-2 p-3 rounded-xl bg-emerald-500/5 border border-emerald-500/20",children:[g.jsxs("div",{className:"min-w-0",children:[g.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[l.role&&g.jsx("span",{className:nt("text-[8px] font-semibold uppercase px-1.5 py-0.5 rounded font-mono border tracking-wider shrink-0",NP(l.role)),children:l.role}),g.jsx("span",{className:"text-xs font-semibold font-mono text-foreground truncate",children:(c=l.name.split("/").pop())==null?void 0:c.replace(/\.gguf$/i,"")})]}),g.jsxs("div",{className:"text-[9px] font-mono text-muted-foreground/70 mt-0.5",children:[Bo(l.size_bytes)," im Unified-RAM"]})]}),g.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider font-mono shrink-0",children:[g.jsx("span",{className:nt("h-1.5 w-1.5 rounded-full bg-emerald-500",o&&"animate-pulse")})," warm"]})]},l.name)})})]})}let WT=[],$T=[];const XT=new Set,JF=()=>XT.forEach(t=>t());function e5(t){return XT.add(t),()=>{XT.delete(t)}}function iX(t){WT=[...WT,t].slice(-40),JF()}function sX(t){$T=[...$T,t].slice(-40),JF()}const oX=()=>R.useSyncExternalStore(e5,()=>WT),aX=()=>R.useSyncExternalStore(e5,()=>$T);function lX(){const{data:t,dataUpdatedAt:e}=Q1(3e3),{data:n,dataUpdatedAt:r}=TP(3e3),i=R.useRef(null);R.useEffect(()=>{var s,o,a,l;t&&iX({t:Date.now(),cpu:((s=t.cpu)==null?void 0:s.percent)??0,ram:((o=t.ram)==null?void 0:o.percent)??0,gpu:((a=t.gpu)==null?void 0:a.busy_percent)??null,disk:((l=t.disk)==null?void 0:l.percent)??null})},[e]),R.useEffect(()=>{if(!n)return;const s=Date.now(),o=n.prompt_tokens,a=n.completion_tokens;if(i.current){const l=Math.max((s-i.current.t)/1e3,.001);sX({t:s,prompt:Math.max(0,(o-i.current.p)/l),completion:Math.max(0,(a-i.current.c)/l)})}i.current={p:o,c:a,t:s}},[r])}function cX(){const{data:t,error:e}=Q1(3e3),n=oX();return{sys:t,hist:n,error:e}}var uX=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function IP(t){if(typeof t!="string")return!1;var e=uX;return e.includes(t)}var dX=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],fX=new Set(dX);function t5(t){return typeof t!="string"?!1:fX.has(t)}function n5(t){return typeof t=="string"&&t.startsWith("data-")}function za(t){if(typeof t!="object"||t===null)return{};var e={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(t5(n)||n5(n))&&(e[n]=t[n]);return e}function J1(t){if(t==null)return null;if(R.isValidElement(t)&&typeof t.props=="object"&&t.props!==null){var e=t.props;return za(e)}return typeof t=="object"&&!Array.isArray(t)?za(t):null}function Ko(t){var e={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(t5(n)||n5(n)||IP(n))&&(e[n]=t[n]);return e}function hX(t){return t==null?null:R.isValidElement(t)?Ko(t.props):typeof t=="object"&&!Array.isArray(t)?Ko(t):null}var pX=["children","width","height","viewBox","className","style","title","desc"];function qT(){return qT=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=t.children,r=t.width,i=t.height,s=t.viewBox,o=t.className,a=t.style,l=t.title,c=t.desc,d=mX(t,pX),f=s||{width:r,height:i,x:0,y:0},m=er("recharts-surface",o);return R.createElement("svg",qT({},Ko(d),{className:m,width:r,height:i,style:a,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height),ref:e}),R.createElement("title",null,l),R.createElement("desc",null,c),n)}),vX=["children","className"];function KT(){return KT=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=t.children,r=t.className,i=yX(t,vX),s=er("recharts-layer",r);return R.createElement("g",KT({className:s},Ko(i),{ref:e}),n)}),bX=R.createContext(null);function Mr(t){return function(){return t}}const YT=Math.PI,ZT=2*YT,Gf=1e-6,_X=ZT-Gf;function i5(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return i5;const n=10**e;return function(r){this._+=r[0];for(let i=1,s=r.length;iGf)if(!(Math.abs(f*l-c*d)>Gf)||!s)this._append`L${this._x1=e},${this._y1=n}`;else{let y=r-o,x=i-a,S=l*l+c*c,w=y*y+x*x,_=Math.sqrt(S),E=Math.sqrt(m),T=s*Math.tan((YT-Math.acos((S+m-w)/(2*_*E)))/2),C=T/E,O=T/_;Math.abs(C-1)>Gf&&this._append`L${e+C*d},${n+C*f}`,this._append`A${s},${s},0,0,${+(f*y>d*x)},${this._x1=e+O*l},${this._y1=n+O*c}`}}arc(e,n,r,i,s,o){if(e=+e,n=+n,r=+r,o=!!o,r<0)throw new Error(`negative radius: ${r}`);let a=r*Math.cos(i),l=r*Math.sin(i),c=e+a,d=n+l,f=1^o,m=o?i-s:s-i;this._x1===null?this._append`M${c},${d}`:(Math.abs(this._x1-c)>Gf||Math.abs(this._y1-d)>Gf)&&this._append`L${c},${d}`,r&&(m<0&&(m=m%ZT+ZT),m>_X?this._append`A${r},${r},0,1,${f},${e-a},${n-l}A${r},${r},0,1,${f},${this._x1=c},${this._y1=d}`:m>Gf&&this._append`A${r},${r},0,${+(m>=YT)},${f},${this._x1=e+r*Math.cos(s)},${this._y1=n+r*Math.sin(s)}`)}rect(e,n,r,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}};function s5(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new SX(e)}function kP(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function o5(t){this._context=t}o5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function eS(t){return new o5(t)}function a5(t){return t[0]}function l5(t){return t[1]}function c5(t,e){var n=Mr(!0),r=null,i=eS,s=null,o=s5(a);t=typeof t=="function"?t:t===void 0?a5:Mr(t),e=typeof e=="function"?e:e===void 0?l5:Mr(e);function a(l){var c,d=(l=kP(l)).length,f,m=!1,y;for(r==null&&(s=i(y=o())),c=0;c<=d;++c)!(c=y;--x)a.point(T[x],C[x]);a.lineEnd(),a.areaEnd()}_&&(T[m]=+t(w,m,f),C[m]=+e(w,m,f),a.point(r?+r(w,m,f):T[m],n?+n(w,m,f):C[m]))}if(E)return a=null,E+""||null}function d(){return c5().defined(i).curve(o).context(s)}return c.x=function(f){return arguments.length?(t=typeof f=="function"?f:Mr(+f),r=null,c):t},c.x0=function(f){return arguments.length?(t=typeof f=="function"?f:Mr(+f),c):t},c.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:Mr(+f),c):r},c.y=function(f){return arguments.length?(e=typeof f=="function"?f:Mr(+f),n=null,c):e},c.y0=function(f){return arguments.length?(e=typeof f=="function"?f:Mr(+f),c):e},c.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:Mr(+f),c):n},c.lineX0=c.lineY0=function(){return d().x(t).y(e)},c.lineY1=function(){return d().x(t).y(n)},c.lineX1=function(){return d().x(r).y(e)},c.defined=function(f){return arguments.length?(i=typeof f=="function"?f:Mr(!!f),c):i},c.curve=function(f){return arguments.length?(o=f,s!=null&&(a=o(s)),c):o},c.context=function(f){return arguments.length?(f==null?s=a=null:a=o(s=f),c):s},c}class u5{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}}function MX(t){return new u5(t,!0)}function EX(t){return new u5(t,!1)}function sw(){}function ow(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function d5(t){this._context=t}d5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ow(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ow(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function AX(t){return new d5(t)}function f5(t){this._context=t}f5.prototype={areaStart:sw,areaEnd:sw,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:ow(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function TX(t){return new f5(t)}function h5(t){this._context=t}h5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:ow(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function CX(t){return new h5(t)}function p5(t){this._context=t}p5.prototype={areaStart:sw,areaEnd:sw,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function PX(t){return new p5(t)}function II(t){return t<0?-1:1}function kI(t,e,n){var r=t._x1-t._x0,i=e-t._x1,s=(t._y1-t._y0)/(r||i<0&&-0),o=(n-t._y1)/(i||r<0&&-0),a=(s*i+o*r)/(r+i);return(II(s)+II(o))*Math.min(Math.abs(s),Math.abs(o),.5*Math.abs(a))||0}function OI(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function mE(t,e,n){var r=t._x0,i=t._y0,s=t._x1,o=t._y1,a=(s-r)/3;t._context.bezierCurveTo(r+a,i+a*e,s-a,o-a*n,s,o)}function aw(t){this._context=t}aw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:mE(this,this._t0,OI(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,mE(this,OI(this,n=kI(this,t,e)),n);break;default:mE(this,this._t0,n=kI(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function m5(t){this._context=new g5(t)}(m5.prototype=Object.create(aw.prototype)).point=function(t,e){aw.prototype.point.call(this,e,t)};function g5(t){this._context=t}g5.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,s){this._context.bezierCurveTo(e,t,r,n,s,i)}};function RX(t){return new aw(t)}function NX(t){return new m5(t)}function v5(t){this._context=t}v5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var r=LI(t),i=LI(e),s=0,o=1;o=0;--e)i[e]=(o[e]-i[e+1])/s[e];for(s[n-1]=(t[n]+i[n-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function kX(t){return new tS(t,.5)}function OX(t){return new tS(t,0)}function LX(t){return new tS(t,1)}function Ph(t,e){if((o=t.length)>1)for(var n=1,r,i,s=t[e[0]],o,a=s.length;n=0;)n[e]=e;return n}function DX(t,e){return t[e]}function jX(t){const e=[];return e.key=t,e}function UX(){var t=Mr([]),e=QT,n=Ph,r=DX;function i(s){var o=Array.from(t.apply(this,arguments),jX),a,l=o.length,c=-1,d;for(const f of s)for(a=0,++c;a0){for(var n,r,i=0,s=t[0].length,o;i0){for(var n=0,r=t[e[0]],i,s=r.length;n0)||!((s=(i=t[e[0]]).length)>0))){for(var n=0,r=1,i,s,o;r1&&arguments[1]!==void 0?arguments[1]:VX,n=10**e,r=Math.round(t*n)/n;return Object.is(r,-0)?0:r}function Di(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r{var a=n[o-1];return typeof a=="string"?i+a+s:a!==void 0?i+xd(a)+s:i+s},"")}var Wo=t=>t===0?0:t>0?1:-1,kl=t=>typeof t=="number"&&t!=+t,Rh=t=>typeof t=="string"&&t.length>1&&t.indexOf("%")===t.length-1,It=t=>(typeof t=="number"||t instanceof Number)&&!kl(t),Ol=t=>It(t)||typeof t=="string",GX=0,uy=t=>{var e=++GX;return"".concat(t||"").concat(e)},Ad=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!It(e)&&typeof e!="string")return r;var s;if(Rh(e)){if(n==null)return r;var o=e.indexOf("%");s=n*parseFloat(e.slice(0,o))/100}else s=+e;return kl(s)&&(s=r),i&&n!=null&&s>n&&(s=n),s},b5=t=>{if(!Array.isArray(t))return!1;for(var e=t.length,n={},r=0;rr&&(typeof e=="function"?e(r):Kh(r,e))===n)}var Hi=t=>t===null||typeof t>"u",DP=t=>Hi(t)?t:"".concat(t.charAt(0).toUpperCase()).concat(t.slice(1));function Ys(t){return t!=null}function Vg(){}var w5=t=>"radius"in t&&"startAngle"in t&&"endAngle"in t,jP=(t,e)=>{if(!t||typeof t=="function"||typeof t=="boolean")return null;var n=t;if(R.isValidElement(t)&&(n=t.props),typeof n!="object"&&typeof n!="function")return null;var r={};return Object.keys(n).forEach(i=>{IP(i)&&typeof n[i]=="function"&&(r[i]=(s=>n[i](n,s)))}),r},WX=(t,e,n)=>r=>(t(e,n,r),null),$X=(t,e,n)=>{if(t===null||typeof t!="object"&&typeof t!="function")return null;var r=null;return Object.keys(t).forEach(i=>{var s=t[i];IP(i)&&typeof s=="function"&&(r||(r={}),r[i]=WX(s,e,n))}),r};function DI(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function XX(t){for(var e=1;e(o[a]===void 0&&r[a]!==void 0&&(o[a]=r[a]),o),n);return s}function ZX(t,e){const n=new Map;for(let r=0;rObject.prototype.propertyIsEnumerable.call(t,e))}function UP(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const nq="[object RegExp]",M5="[object String]",E5="[object Number]",A5="[object Boolean]",T5="[object Arguments]",rq="[object Symbol]",iq="[object Date]",sq="[object Map]",oq="[object Set]",aq="[object Array]",lq="[object ArrayBuffer]",cq="[object Object]",uq="[object DataView]",dq="[object Uint8Array]",fq="[object Uint8ClampedArray]",hq="[object Uint16Array]",pq="[object Uint32Array]",mq="[object Int8Array]",gq="[object Int16Array]",vq="[object Int32Array]",yq="[object Float32Array]",xq="[object Float64Array]",jI=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function bq(t){return typeof jI.Buffer<"u"&&jI.Buffer.isBuffer(t)}function _q(t,e){return Jf(t,void 0,t,new Map,e)}function Jf(t,e,n,r=new Map,i=void 0){const s=i==null?void 0:i(t,e,n,r);if(s!==void 0)return s;if(eC(t))return t;if(r.has(t))return r.get(t);if(Array.isArray(t)){const o=new Array(t.length);r.set(t,o);for(let a=0;a{}):tC(t,e,function r(i,s,o,a,l,c){const d=n(i,s,o,a,l,c);return d!==void 0?!!d:tC(i,s,r,c,!1)},new Map,!0)}function tC(t,e,n,r,i=!1){if(e===t)return!0;switch(typeof e){case"object":return Mq(t,e,n,r);case"function":return Object.keys(e).length>0?tC(t,{...e},n,r,i):F_(t,e);default:return C5(t)&&i?typeof e=="string"?e==="":!0:F_(t,e)}}function Mq(t,e,n,r){if(e==null)return!0;if(Array.isArray(e))return R5(t,e,n,r);if(e instanceof Map)return Eq(t,e,n,r);if(e instanceof Set)return Aq(t,e,n,r);const i=Object.keys(e);if(t==null||eC(t))return i.length===0;if(i.length===0)return!0;if(r!=null&&r.has(e))return r.get(e)===t;r==null||r.set(e,t);try{for(let s=0;s{})}function Tq(t){return t=Sq(t),e=>N5(e,t)}function Cq(t,e){return _q(t,(n,r,i,s)=>{if(typeof t=="object"){if(UP(t)==="[object Object]"&&typeof t.constructor!="function"){const o={};return s.set(t,o),ka(o,t,i,s),o}switch(Object.prototype.toString.call(t)){case E5:case M5:case A5:{const o=new t.constructor(t==null?void 0:t.valueOf());return ka(o,t),o}case T5:{const o={};return ka(o,t),o.length=t.length,o[Symbol.iterator]=t[Symbol.iterator],o}default:return}}})}function Pq(t){return Cq(t)}const Rq=/^(?:0|[1-9]\d*)$/;function I5(t,e=Number.MAX_SAFE_INTEGER){switch(typeof t){case"number":return Number.isInteger(t)&&t>=0&&t=0}function k5(t){return t!=null&&typeof t!="function"&&Lq(t.length)}function Dq(t){return typeof t=="object"&&t!==null}function jq(t){return Dq(t)&&k5(t)}function UI(t,e=S5){return jq(t)?ZX(Array.from(t),QX(Oq(e),1)):[]}function Uq(t,e,n){return e===!0?UI(t,n):typeof e=="function"?UI(t,e):t}var gE={exports:{}},vE={},yE={exports:{}},xE={};/** +`)},k$=0,rm=[];function O$(t){var e=R.useRef([]),n=R.useRef([0,0]),r=R.useRef(),i=R.useState(k$++)[0],s=R.useState(_F)[0],o=R.useRef(t);R.useEffect(function(){o.current=t},[t]),R.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(i));var S=t$([t.lockRef.current],(t.shards||[]).map(AI),!0).filter(Boolean);return S.forEach(function(w){return w.classList.add("allow-interactivity-".concat(i))}),function(){document.body.classList.remove("block-interactivity-".concat(i)),S.forEach(function(w){return w.classList.remove("allow-interactivity-".concat(i))})}}},[t.inert,t.lockRef.current,t.shards]);var a=R.useCallback(function(S,w){if("touches"in S&&S.touches.length===2||S.type==="wheel"&&S.ctrlKey)return!o.current.allowPinchZoom;var _=yb(S),E=n.current,T="deltaX"in S?S.deltaX:E[0]-_[0],C="deltaY"in S?S.deltaY:E[1]-_[1],O,N=S.target,D=Math.abs(T)>Math.abs(C)?"h":"v";if("touches"in S&&D==="h"&&N.type==="range")return!1;var F=window.getSelection(),G=F&&F.anchorNode,k=G?G===N||G.contains(N):!1;if(k)return!1;var U=MI(D,N);if(!U)return!0;if(U?O=D:(O=D==="v"?"h":"v",U=MI(D,N)),!U)return!1;if(!r.current&&"changedTouches"in S&&(T||C)&&(r.current=O),!O)return!0;var H=r.current||O;return R$(H,w,S,H==="h"?T:C)},[]),l=R.useCallback(function(S){var w=S;if(!(!rm.length||rm[rm.length-1]!==s)){var _="deltaY"in w?EI(w):yb(w),E=e.current.filter(function(O){return O.name===w.type&&(O.target===w.target||w.target===O.shadowParent)&&N$(O.delta,_)})[0];if(E&&E.should){w.cancelable&&w.preventDefault();return}if(!E){var T=(o.current.shards||[]).map(AI).filter(Boolean).filter(function(O){return O.contains(w.target)}),C=T.length>0?a(w,T[0]):!o.current.noIsolation;C&&w.cancelable&&w.preventDefault()}}},[]),c=R.useCallback(function(S,w,_,E){var T={name:S,delta:w,target:_,should:E,shadowParent:L$(_)};e.current.push(T),setTimeout(function(){e.current=e.current.filter(function(C){return C!==T})},1)},[]),d=R.useCallback(function(S){n.current=yb(S),r.current=void 0},[]),f=R.useCallback(function(S){c(S.type,EI(S),S.target,a(S,t.lockRef.current))},[]),m=R.useCallback(function(S){c(S.type,yb(S),S.target,a(S,t.lockRef.current))},[]);R.useEffect(function(){return rm.push(s),t.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:m}),document.addEventListener("wheel",l,nm),document.addEventListener("touchmove",l,nm),document.addEventListener("touchstart",d,nm),function(){rm=rm.filter(function(S){return S!==s}),document.removeEventListener("wheel",l,nm),document.removeEventListener("touchmove",l,nm),document.removeEventListener("touchstart",d,nm)}},[]);var y=t.removeScrollBar,x=t.inert;return R.createElement(R.Fragment,null,x?R.createElement(s,{styles:I$(i)}):null,y?R.createElement(S$,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function L$(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}const D$=u$(bF,O$);var EF=R.forwardRef(function(t,e){return R.createElement(K1,_l({},t,{ref:e,sideCar:D$}))});EF.classNames=K1.classNames;var j$=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},im=new WeakMap,xb=new WeakMap,bb={},fE=0,AF=function(t){return t&&(t.host||AF(t.parentNode))},U$=function(t,e){return e.map(function(n){if(t.contains(n))return n;var r=AF(n);return r&&t.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",t,". Doing nothing"),null)}).filter(function(n){return!!n})},F$=function(t,e,n,r){var i=U$(e,Array.isArray(t)?t:[t]);bb[n]||(bb[n]=new WeakMap);var s=bb[n],o=[],a=new Set,l=new Set(i),c=function(f){!f||a.has(f)||(a.add(f),c(f.parentNode))};i.forEach(c);var d=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(m){if(a.has(m))d(m);else try{var y=m.getAttribute(r),x=y!==null&&y!=="false",S=(im.get(m)||0)+1,w=(s.get(m)||0)+1;im.set(m,S),s.set(m,w),o.push(m),S===1&&x&&xb.set(m,!0),w===1&&m.setAttribute(n,"true"),x||m.setAttribute(r,"true")}catch(_){console.error("aria-hidden: cannot operate on ",m,_)}})};return d(e),a.clear(),fE++,function(){o.forEach(function(f){var m=im.get(f)-1,y=s.get(f)-1;im.set(f,m),s.set(f,y),m||(xb.has(f)||f.removeAttribute(r),xb.delete(f)),y||f.removeAttribute(n)}),fE--,fE||(im=new WeakMap,im=new WeakMap,xb=new WeakMap,bb={})}},z$=function(t,e,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(t)?t:[t]),i=j$(t);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live], script"))),F$(r,i,n,"aria-hidden")):function(){return null}},Y1="Dialog",[TF]=p9(Y1),[B$,Wa]=TF(Y1),CF=t=>{const{__scopeDialog:e,children:n,open:r,defaultOpen:i,onOpenChange:s,modal:o=!0}=t,a=R.useRef(null),l=R.useRef(null),[c,d]=x9({prop:r,defaultProp:i??!1,onChange:s,caller:Y1});return g.jsx(B$,{scope:e,triggerRef:a,contentRef:l,contentId:Vc(),titleId:Vc(),descriptionId:Vc(),open:c,onOpenChange:d,onOpenToggle:R.useCallback(()=>d(f=>!f),[d]),modal:o,children:n})};CF.displayName=Y1;var PF="DialogTrigger",H$=R.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,i=Wa(PF,n),s=qh(e,i.triggerRef);return g.jsx(Vi.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":EP(i.open),...r,ref:s,onClick:_d(t.onClick,i.onOpenToggle)})});H$.displayName=PF;var MP="DialogPortal",[V$,RF]=TF(MP,{forceMount:void 0}),NF=t=>{const{__scopeDialog:e,forceMount:n,children:r,container:i}=t,s=Wa(MP,e);return g.jsx(V$,{scope:e,forceMount:n,children:R.Children.map(r,o=>g.jsx(q1,{present:n||s.open,children:g.jsx(vF,{asChild:!0,container:i,children:o})}))})};NF.displayName=MP;var iw="DialogOverlay",IF=R.forwardRef((t,e)=>{const n=RF(iw,t.__scopeDialog),{forceMount:r=n.forceMount,...i}=t,s=Wa(iw,t.__scopeDialog);return s.modal?g.jsx(q1,{present:r||s.open,children:g.jsx(W$,{...i,ref:e})}):null});IF.displayName=iw;var G$=fF("DialogOverlay.RemoveScroll"),W$=R.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,i=Wa(iw,n),s=F9(),o=qh(e,s);return g.jsx(EF,{as:G$,allowPinchZoom:!0,shards:[i.contentRef],children:g.jsx(Vi.div,{"data-state":EP(i.open),...r,ref:o,style:{pointerEvents:"auto",...r.style}})})}),Sg="DialogContent",kF=R.forwardRef((t,e)=>{const n=RF(Sg,t.__scopeDialog),{forceMount:r=n.forceMount,...i}=t,s=Wa(Sg,t.__scopeDialog);return g.jsx(q1,{present:r||s.open,children:s.modal?g.jsx($$,{...i,ref:e}):g.jsx(X$,{...i,ref:e})})});kF.displayName=Sg;var $$=R.forwardRef((t,e)=>{const n=Wa(Sg,t.__scopeDialog),r=R.useRef(null),i=qh(e,n.contentRef,r);return R.useEffect(()=>{const s=r.current;if(s)return z$(s)},[]),g.jsx(OF,{...t,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:_d(t.onCloseAutoFocus,s=>{var o;s.preventDefault(),(o=n.triggerRef.current)==null||o.focus()}),onPointerDownOutside:_d(t.onPointerDownOutside,s=>{const o=s.detail.originalEvent,a=o.button===0&&o.ctrlKey===!0;(o.button===2||a)&&s.preventDefault()}),onFocusOutside:_d(t.onFocusOutside,s=>s.preventDefault())})}),X$=R.forwardRef((t,e)=>{const n=Wa(Sg,t.__scopeDialog),r=R.useRef(!1),i=R.useRef(!1);return g.jsx(OF,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:s=>{var o,a;(o=t.onCloseAutoFocus)==null||o.call(t,s),s.defaultPrevented||(r.current||(a=n.triggerRef.current)==null||a.focus(),s.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:s=>{var l,c;(l=t.onInteractOutside)==null||l.call(t,s),s.defaultPrevented||(r.current=!0,s.detail.originalEvent.type==="pointerdown"&&(i.current=!0));const o=s.target;((c=n.triggerRef.current)==null?void 0:c.contains(o))&&s.preventDefault(),s.detail.originalEvent.type==="focusin"&&i.current&&s.preventDefault()}})}),OF=R.forwardRef((t,e)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:s,...o}=t,a=Wa(Sg,n);return e$(),g.jsx(g.Fragment,{children:g.jsx(mF,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:s,children:g.jsx(hF,{role:"dialog",id:a.contentId,"aria-describedby":a.descriptionId,"aria-labelledby":a.titleId,"data-state":EP(a.open),...o,ref:e,deferPointerDownOutside:!0,onDismiss:()=>a.onOpenChange(!1)})})})}),LF="DialogTitle",q$=R.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,i=Wa(LF,n);return g.jsx(Vi.h2,{id:i.titleId,...r,ref:e})});q$.displayName=LF;var DF="DialogDescription",K$=R.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,i=Wa(DF,n);return g.jsx(Vi.p,{id:i.descriptionId,...r,ref:e})});K$.displayName=DF;var jF="DialogClose",Y$=R.forwardRef((t,e)=>{const{__scopeDialog:n,...r}=t,i=Wa(jF,n);return g.jsx(Vi.button,{type:"button",...r,ref:e,onClick:_d(t.onClick,()=>i.onOpenChange(!1))})});Y$.displayName=jF;function EP(t){return t?"open":"closed"}var r0='[cmdk-group=""]',hE='[cmdk-group-items=""]',Z$='[cmdk-group-heading=""]',UF='[cmdk-item=""]',TI=`${UF}:not([aria-disabled="true"])`,BT="cmdk-item-select",jm="data-value",Q$=(t,e,n)=>h9(t,e,n),FF=R.createContext(void 0),Wy=()=>R.useContext(FF),zF=R.createContext(void 0),AP=()=>R.useContext(zF),BF=R.createContext(void 0),HF=R.forwardRef((t,e)=>{let n=Um(()=>{var q,pe;return{search:"",value:(pe=(q=t.value)!=null?q:t.defaultValue)!=null?pe:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),r=Um(()=>new Set),i=Um(()=>new Map),s=Um(()=>new Map),o=Um(()=>new Set),a=VF(t),{label:l,children:c,value:d,onValueChange:f,filter:m,shouldFilter:y,loop:x,disablePointerSelection:S=!1,vimBindings:w=!0,..._}=t,E=Vc(),T=Vc(),C=Vc(),O=R.useRef(null),N=c7();Ph(()=>{if(d!==void 0){let q=d.trim();n.current.value=q,D.emit()}},[d]),Ph(()=>{N(6,ne)},[]);let D=R.useMemo(()=>({subscribe:q=>(o.current.add(q),()=>o.current.delete(q)),snapshot:()=>n.current,setState:(q,pe,le)=>{var ce,be,Se,Xe;if(!Object.is(n.current[q],pe)){if(n.current[q]=pe,q==="search")H(),k(),N(1,U);else if(q==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let Me=document.getElementById(C);Me?Me.focus():(ce=document.getElementById(E))==null||ce.focus()}if(N(7,()=>{var Me;n.current.selectedItemId=(Me=te())==null?void 0:Me.id,D.emit()}),le||N(5,ne),((be=a.current)==null?void 0:be.value)!==void 0){let Me=pe??"";(Xe=(Se=a.current).onValueChange)==null||Xe.call(Se,Me);return}}D.emit()}},emit:()=>{o.current.forEach(q=>q())}}),[]),F=R.useMemo(()=>({value:(q,pe,le)=>{var ce;pe!==((ce=s.current.get(q))==null?void 0:ce.value)&&(s.current.set(q,{value:pe,keywords:le}),n.current.filtered.items.set(q,G(pe,le)),N(2,()=>{k(),D.emit()}))},item:(q,pe)=>(r.current.add(q),pe&&(i.current.has(pe)?i.current.get(pe).add(q):i.current.set(pe,new Set([q]))),N(3,()=>{H(),k(),n.current.value||U(),D.emit()}),()=>{s.current.delete(q),r.current.delete(q),n.current.filtered.items.delete(q);let le=te();N(4,()=>{H(),(le==null?void 0:le.getAttribute("id"))===q&&U(),D.emit()})}),group:q=>(i.current.has(q)||i.current.set(q,new Set),()=>{s.current.delete(q),i.current.delete(q)}),filter:()=>a.current.shouldFilter,label:l||t["aria-label"],getDisablePointerSelection:()=>a.current.disablePointerSelection,listId:E,inputId:C,labelId:T,listInnerRef:O}),[]);function G(q,pe){var le,ce;let be=(ce=(le=a.current)==null?void 0:le.filter)!=null?ce:Q$;return q?be(q,n.current.search,pe):0}function k(){if(!n.current.search||a.current.shouldFilter===!1)return;let q=n.current.filtered.items,pe=[];n.current.filtered.groups.forEach(ce=>{let be=i.current.get(ce),Se=0;be.forEach(Xe=>{let Me=q.get(Xe);Se=Math.max(Me,Se)}),pe.push([ce,Se])});let le=O.current;he().sort((ce,be)=>{var Se,Xe;let Me=ce.getAttribute("id"),We=be.getAttribute("id");return((Se=q.get(We))!=null?Se:0)-((Xe=q.get(Me))!=null?Xe:0)}).forEach(ce=>{let be=ce.closest(hE);be?be.appendChild(ce.parentElement===be?ce:ce.closest(`${hE} > *`)):le.appendChild(ce.parentElement===le?ce:ce.closest(`${hE} > *`))}),pe.sort((ce,be)=>be[1]-ce[1]).forEach(ce=>{var be;let Se=(be=O.current)==null?void 0:be.querySelector(`${r0}[${jm}="${encodeURIComponent(ce[0])}"]`);Se==null||Se.parentElement.appendChild(Se)})}function U(){let q=he().find(le=>le.getAttribute("aria-disabled")!=="true"),pe=q==null?void 0:q.getAttribute(jm);D.setState("value",pe||void 0)}function H(){var q,pe,le,ce;if(!n.current.search||a.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let be=0;for(let Se of r.current){let Xe=(pe=(q=s.current.get(Se))==null?void 0:q.value)!=null?pe:"",Me=(ce=(le=s.current.get(Se))==null?void 0:le.keywords)!=null?ce:[],We=G(Xe,Me);n.current.filtered.items.set(Se,We),We>0&&be++}for(let[Se,Xe]of i.current)for(let Me of Xe)if(n.current.filtered.items.get(Me)>0){n.current.filtered.groups.add(Se);break}n.current.filtered.count=be}function ne(){var q,pe,le;let ce=te();ce&&(((q=ce.parentElement)==null?void 0:q.firstChild)===ce&&((le=(pe=ce.closest(r0))==null?void 0:pe.querySelector(Z$))==null||le.scrollIntoView({block:"nearest"})),ce.scrollIntoView({block:"nearest"}))}function te(){var q;return(q=O.current)==null?void 0:q.querySelector(`${UF}[aria-selected="true"]`)}function he(){var q;return Array.from(((q=O.current)==null?void 0:q.querySelectorAll(TI))||[])}function oe(q){let pe=he()[q];pe&&D.setState("value",pe.getAttribute(jm))}function fe(q){var pe;let le=te(),ce=he(),be=ce.findIndex(Xe=>Xe===le),Se=ce[be+q];(pe=a.current)!=null&&pe.loop&&(Se=be+q<0?ce[ce.length-1]:be+q===ce.length?ce[0]:ce[be+q]),Se&&D.setState("value",Se.getAttribute(jm))}function B(q){let pe=te(),le=pe==null?void 0:pe.closest(r0),ce;for(;le&&!ce;)le=q>0?a7(le,r0):l7(le,r0),ce=le==null?void 0:le.querySelector(TI);ce?D.setState("value",ce.getAttribute(jm)):fe(q)}let J=()=>oe(he().length-1),Y=q=>{q.preventDefault(),q.metaKey?J():q.altKey?B(1):fe(1)},V=q=>{q.preventDefault(),q.metaKey?oe(0):q.altKey?B(-1):fe(-1)};return R.createElement(Vi.div,{ref:e,tabIndex:-1,..._,"cmdk-root":"",onKeyDown:q=>{var pe;(pe=_.onKeyDown)==null||pe.call(_,q);let le=q.nativeEvent.isComposing||q.keyCode===229;if(!(q.defaultPrevented||le))switch(q.key){case"n":case"j":{w&&q.ctrlKey&&Y(q);break}case"ArrowDown":{Y(q);break}case"p":case"k":{w&&q.ctrlKey&&V(q);break}case"ArrowUp":{V(q);break}case"Home":{q.preventDefault(),oe(0);break}case"End":{q.preventDefault(),J();break}case"Enter":{q.preventDefault();let ce=te();if(ce){let be=new Event(BT);ce.dispatchEvent(be)}}}}},R.createElement("label",{"cmdk-label":"",htmlFor:F.inputId,id:F.labelId,style:d7},l),Z1(t,q=>R.createElement(zF.Provider,{value:D},R.createElement(FF.Provider,{value:F},q))))}),J$=R.forwardRef((t,e)=>{var n,r;let i=Vc(),s=R.useRef(null),o=R.useContext(BF),a=Wy(),l=VF(t),c=(r=(n=l.current)==null?void 0:n.forceMount)!=null?r:o==null?void 0:o.forceMount;Ph(()=>{if(!c)return a.item(i,o==null?void 0:o.id)},[c]);let d=GF(i,s,[t.value,t.children,s],t.keywords),f=AP(),m=Ed(N=>N.value&&N.value===d.current),y=Ed(N=>c||a.filter()===!1?!0:N.search?N.filtered.items.get(i)>0:!0);R.useEffect(()=>{let N=s.current;if(!(!N||t.disabled))return N.addEventListener(BT,x),()=>N.removeEventListener(BT,x)},[y,t.onSelect,t.disabled]);function x(){var N,D;S(),(D=(N=l.current).onSelect)==null||D.call(N,d.current)}function S(){f.setState("value",d.current,!0)}if(!y)return null;let{disabled:w,value:_,onSelect:E,forceMount:T,keywords:C,...O}=t;return R.createElement(Vi.div,{ref:wg(s,e),...O,id:i,"cmdk-item":"",role:"option","aria-disabled":!!w,"aria-selected":!!m,"data-disabled":!!w,"data-selected":!!m,onPointerMove:w||a.getDisablePointerSelection()?void 0:S,onClick:w?void 0:x},t.children)}),e7=R.forwardRef((t,e)=>{let{heading:n,children:r,forceMount:i,...s}=t,o=Vc(),a=R.useRef(null),l=R.useRef(null),c=Vc(),d=Wy(),f=Ed(y=>i||d.filter()===!1?!0:y.search?y.filtered.groups.has(o):!0);Ph(()=>d.group(o),[]),GF(o,a,[t.value,t.heading,l]);let m=R.useMemo(()=>({id:o,forceMount:i}),[i]);return R.createElement(Vi.div,{ref:wg(a,e),...s,"cmdk-group":"",role:"presentation",hidden:f?void 0:!0},n&&R.createElement("div",{ref:l,"cmdk-group-heading":"","aria-hidden":!0,id:c},n),Z1(t,y=>R.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":n?c:void 0},R.createElement(BF.Provider,{value:m},y))))}),t7=R.forwardRef((t,e)=>{let{alwaysRender:n,...r}=t,i=R.useRef(null),s=Ed(o=>!o.search);return!n&&!s?null:R.createElement(Vi.div,{ref:wg(i,e),...r,"cmdk-separator":"",role:"separator"})}),n7=R.forwardRef((t,e)=>{let{onValueChange:n,...r}=t,i=t.value!=null,s=AP(),o=Ed(c=>c.search),a=Ed(c=>c.selectedItemId),l=Wy();return R.useEffect(()=>{t.value!=null&&s.setState("search",t.value)},[t.value]),R.createElement(Vi.input,{ref:e,...r,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":l.listId,"aria-labelledby":l.labelId,"aria-activedescendant":a,id:l.inputId,type:"text",value:i?t.value:o,onChange:c=>{i||s.setState("search",c.target.value),n==null||n(c.target.value)}})}),r7=R.forwardRef((t,e)=>{let{children:n,label:r="Suggestions",...i}=t,s=R.useRef(null),o=R.useRef(null),a=Ed(c=>c.selectedItemId),l=Wy();return R.useEffect(()=>{if(o.current&&s.current){let c=o.current,d=s.current,f,m=new ResizeObserver(()=>{f=requestAnimationFrame(()=>{let y=c.offsetHeight;d.style.setProperty("--cmdk-list-height",y.toFixed(1)+"px")})});return m.observe(c),()=>{cancelAnimationFrame(f),m.unobserve(c)}}},[]),R.createElement(Vi.div,{ref:wg(s,e),...i,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":a,"aria-label":r,id:l.listId},Z1(t,c=>R.createElement("div",{ref:wg(o,l.listInnerRef),"cmdk-list-sizer":""},c)))}),i7=R.forwardRef((t,e)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:s,container:o,...a}=t;return R.createElement(CF,{open:n,onOpenChange:r},R.createElement(NF,{container:o},R.createElement(IF,{"cmdk-overlay":"",className:i}),R.createElement(kF,{"aria-label":t.label,"cmdk-dialog":"",className:s},R.createElement(HF,{ref:e,...a}))))}),s7=R.forwardRef((t,e)=>Ed(n=>n.filtered.count===0)?R.createElement(Vi.div,{ref:e,...t,"cmdk-empty":"",role:"presentation"}):null),o7=R.forwardRef((t,e)=>{let{progress:n,children:r,label:i="Loading...",...s}=t;return R.createElement(Vi.div,{ref:e,...s,"cmdk-loading":"",role:"progressbar","aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},Z1(t,o=>R.createElement("div",{"aria-hidden":!0},o)))}),sm=Object.assign(HF,{List:r7,Item:J$,Input:n7,Group:e7,Separator:t7,Dialog:i7,Empty:s7,Loading:o7});function a7(t,e){let n=t.nextElementSibling;for(;n;){if(n.matches(e))return n;n=n.nextElementSibling}}function l7(t,e){let n=t.previousElementSibling;for(;n;){if(n.matches(e))return n;n=n.previousElementSibling}}function VF(t){let e=R.useRef(t);return Ph(()=>{e.current=t}),e}var Ph=typeof window>"u"?R.useEffect:R.useLayoutEffect;function Um(t){let e=R.useRef();return e.current===void 0&&(e.current=t()),e}function Ed(t){let e=AP(),n=()=>t(e.snapshot());return R.useSyncExternalStore(e.subscribe,n,n)}function GF(t,e,n,r=[]){let i=R.useRef(),s=Wy();return Ph(()=>{var o;let a=(()=>{var c;for(let d of n){if(typeof d=="string")return d.trim();if(typeof d=="object"&&"current"in d)return d.current?(c=d.current.textContent)==null?void 0:c.trim():i.current}})(),l=r.map(c=>c.trim());s.value(t,a,l),(o=e.current)==null||o.setAttribute(jm,a),i.current=a}),i}var c7=()=>{let[t,e]=R.useState(),n=Um(()=>new Map);return Ph(()=>{n.current.forEach(r=>r()),n.current=new Map},[t]),(r,i)=>{n.current.set(r,i),e({})}};function u7(t){let e=t.type;return typeof e=="function"?e(t.props):"render"in e?e.render(t.props):t}function Z1({asChild:t,children:e},n){return t&&R.isValidElement(e)?R.cloneElement(u7(e),{ref:e.ref},n(e.props.children)):n(e)}var d7={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function f7({onNavigate:t}){const[e,n]=R.useState(!1);return R.useEffect(()=>{const r=i=>{(i.metaKey||i.ctrlKey)&&i.key.toLowerCase()==="k"&&(i.preventDefault(),n(s=>!s))};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[]),g.jsx(sm.Dialog,{open:e,onOpenChange:n,label:"Befehlspalette",className:"fixed inset-0 z-50 flex items-start justify-center bg-black/50 p-4 pt-[12vh]",onClick:()=>n(!1),children:g.jsxs("div",{className:"w-full max-w-lg overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-2xl",onClick:r=>r.stopPropagation(),children:[g.jsx(sm.Input,{autoFocus:!0,placeholder:"Springe zu… (Modelle, Routing, System …)",className:"w-full border-b border-border bg-transparent px-4 py-3 text-sm outline-none placeholder:text-muted-foreground"}),g.jsxs(sm.List,{className:"max-h-80 overflow-y-auto p-2",children:[g.jsx(sm.Empty,{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:"Nichts gefunden."}),g.jsx(sm.Group,{heading:"Bereiche",className:"px-1 py-1 text-xs text-muted-foreground",children:jT.map(r=>g.jsxs(sm.Item,{value:`${r.label} ${r.hint}`,onSelect:()=>{t(r.id),n(!1)},className:"flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 text-sm text-foreground aria-selected:bg-accent aria-selected:text-accent-foreground",children:[g.jsx(r.icon,{className:"h-4 w-4 text-primary"}),g.jsx("span",{children:r.label}),g.jsx("span",{className:"ml-auto truncate text-xs text-muted-foreground",children:r.hint})]},r.id))})]})]})})}async function Ut(t,e){var l;const n={"Content-Type":"application/json",...e==null?void 0:e.headers},r=localStorage.getItem("mc_sudo_password"),i=localStorage.getItem("mc_hf_token");r&&(n["X-Sudo-Password"]=r);let s=e==null?void 0:e.body;if((((l=e==null?void 0:e.method)==null?void 0:l.toUpperCase())||"GET")==="POST"){if(typeof s=="string")try{const c=JSON.parse(s);let d=!1;r&&!("sudo_password"in c)&&(c.sudo_password=r,d=!0),i&&!("hf_token"in c)&&(c.hf_token=i,d=!0),d&&(s=JSON.stringify(c))}catch{}else if(!s){const c={};r&&(c.sudo_password=r),i&&(c.hf_token=i),Object.keys(c).length>0&&(s=JSON.stringify(c))}}const a=await fetch(t,{...e,headers:n,body:s});if(!a.ok)throw new Error(`${a.status} ${a.statusText}`);return a.json()}const Lr={health:["health"],systemStatus:["system-status"],services:["services"],models:["models"],routing:["routing"],jobs:["jobs"],tokenStats:["token-stats"],agentStatus:["agent-status"],hermesBrain:["hermes-brain"],updates:["updates"],discover:["discover"],drafts:t=>["drafts",t??""],connect:t=>["connect",t??""],connectHealth:["connect-health"],memory:(t,e)=>["memory",t??"",e??""],memoryGraph:["memory-graph"]},h7=(t=!0)=>ls({queryKey:Lr.memoryGraph,queryFn:()=>Ut("/api/memory/graph"),enabled:t}),p7=()=>ls({queryKey:Lr.health,queryFn:()=>Ut("/api/health"),refetchInterval:1e4}),Q1=(t=5e3)=>ls({queryKey:Lr.systemStatus,queryFn:()=>Ut("/api/system/status"),refetchInterval:t}),m7=(t=3e3)=>ls({queryKey:Lr.services,queryFn:()=>Ut("/api/system/services"),refetchInterval:t}),Kh=(t=4e3)=>ls({queryKey:Lr.models,queryFn:()=>Ut("/api/models"),refetchInterval:t}),g7=(t=4e3)=>ls({queryKey:Lr.routing,queryFn:()=>Ut("/api/routing"),refetchInterval:t}),v7=(t=2e3)=>ls({queryKey:Lr.jobs,queryFn:()=>Ut("/api/jobs"),refetchInterval:t,select:e=>e.jobs??[]}),TP=(t=3e3)=>ls({queryKey:Lr.tokenStats,queryFn:()=>Ut("/api/system/token-stats"),refetchInterval:t}),CP=(t=5e3)=>ls({queryKey:Lr.agentStatus,queryFn:()=>Ut("/api/agent/status"),refetchInterval:t}),y7=(t=6e4)=>ls({queryKey:Lr.hermesBrain,queryFn:()=>Ut("/api/agent/brain"),refetchInterval:t}),PP=t=>ls({queryKey:Lr.updates,queryFn:()=>Ut("/api/maintenance/updates"),refetchInterval:t}),x7=()=>ls({queryKey:Lr.discover,queryFn:()=>Ut("/api/discover")}),b7=t=>ls({queryKey:Lr.drafts(t),queryFn:()=>Ut(`/api/models/drafts?target=${encodeURIComponent(t??"")}`),enabled:!!t}),WF=t=>ls({queryKey:Lr.connect(t),queryFn:()=>Ut(t?`/api/connect?${t}`:"/api/connect")}),_7=()=>ls({queryKey:Lr.connectHealth,queryFn:()=>Ut("/api/connect/health"),refetchInterval:15e3}),HT=t=>ls({queryKey:Lr.memory(t==null?void 0:t.q,t==null?void 0:t.category),queryFn:()=>{const e=new URLSearchParams;return t!=null&&t.q&&e.set("q",t.q),t!=null&&t.category&&e.set("category",t.category),Ut(`/api/memory?${e}`)},select:e=>t!=null&&t.limit?e.slice(0,t.limit):e});function om(t){return(t/1024**3).toFixed(1)}function VT(t){return t?t>1024**3?`${(t/1024**3).toFixed(1)} GB`:`${(t/1024**2).toFixed(0)} MB`:""}function Bo(t){if(!t)return"—";const e=t/1024**3;return e>=1?`${e.toFixed(1)} GB`:`${(t/1024**2).toFixed(0)} MB`}function w7(t){if(!t)return"";const e=Math.floor(t/60);return e>0?`${e} min`:`${t} s`}function CI(t){return t?`${Math.round(t/1024)}k`:"—"}function $F(t){var e,n,r="";if(typeof t=="string"||typeof t=="number")r+=t;else if(typeof t=="object")if(Array.isArray(t)){var i=t.length;for(e=0;e{const e=E7(t),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=t;return{getClassGroupId:o=>{const a=o.split(RP);return a[0]===""&&a.length!==1&&a.shift(),XF(a,e)||M7(o)},getConflictingClassGroupIds:(o,a)=>{const l=n[o]||[];return a&&r[o]?[...l,...r[o]]:l}}},XF=(t,e)=>{var o;if(t.length===0)return e.classGroupId;const n=t[0],r=e.nextPart.get(n),i=r?XF(t.slice(1),r):void 0;if(i)return i;if(e.validators.length===0)return;const s=t.join(RP);return(o=e.validators.find(({validator:a})=>a(s)))==null?void 0:o.classGroupId},PI=/^\[(.+)\]$/,M7=t=>{if(PI.test(t)){const e=PI.exec(t)[1],n=e==null?void 0:e.substring(0,e.indexOf(":"));if(n)return"arbitrary.."+n}},E7=t=>{const{theme:e,prefix:n}=t,r={nextPart:new Map,validators:[]};return T7(Object.entries(t.classGroups),n).forEach(([s,o])=>{GT(o,r,s,e)}),r},GT=(t,e,n,r)=>{t.forEach(i=>{if(typeof i=="string"){const s=i===""?e:RI(e,i);s.classGroupId=n;return}if(typeof i=="function"){if(A7(i)){GT(i(r),e,n,r);return}e.validators.push({validator:i,classGroupId:n});return}Object.entries(i).forEach(([s,o])=>{GT(o,RI(e,s),n,r)})})},RI=(t,e)=>{let n=t;return e.split(RP).forEach(r=>{n.nextPart.has(r)||n.nextPart.set(r,{nextPart:new Map,validators:[]}),n=n.nextPart.get(r)}),n},A7=t=>t.isThemeGetter,T7=(t,e)=>e?t.map(([n,r])=>{const i=r.map(s=>typeof s=="string"?e+s:typeof s=="object"?Object.fromEntries(Object.entries(s).map(([o,a])=>[e+o,a])):s);return[n,i]}):t,C7=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,n=new Map,r=new Map;const i=(s,o)=>{n.set(s,o),e++,e>t&&(e=0,r=n,n=new Map)};return{get(s){let o=n.get(s);if(o!==void 0)return o;if((o=r.get(s))!==void 0)return i(s,o),o},set(s,o){n.has(s)?n.set(s,o):i(s,o)}}},qF="!",P7=t=>{const{separator:e,experimentalParseClassName:n}=t,r=e.length===1,i=e[0],s=e.length,o=a=>{const l=[];let c=0,d=0,f;for(let w=0;wd?f-d:void 0;return{modifiers:l,hasImportantModifier:y,baseClassName:x,maybePostfixModifierPosition:S}};return n?a=>n({className:a,parseClassName:o}):o},R7=t=>{if(t.length<=1)return t;const e=[];let n=[];return t.forEach(r=>{r[0]==="["?(e.push(...n.sort(),r),n=[]):n.push(r)}),e.push(...n.sort()),e},N7=t=>({cache:C7(t.cacheSize),parseClassName:P7(t),...S7(t)}),I7=/\s+/,k7=(t,e)=>{const{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i}=e,s=[],o=t.trim().split(I7);let a="";for(let l=o.length-1;l>=0;l-=1){const c=o[l],{modifiers:d,hasImportantModifier:f,baseClassName:m,maybePostfixModifierPosition:y}=n(c);let x=!!y,S=r(x?m.substring(0,y):m);if(!S){if(!x){a=c+(a.length>0?" "+a:a);continue}if(S=r(m),!S){a=c+(a.length>0?" "+a:a);continue}x=!1}const w=R7(d).join(":"),_=f?w+qF:w,E=_+S;if(s.includes(E))continue;s.push(E);const T=i(S,x);for(let C=0;C0?" "+a:a)}return a};function O7(){let t=0,e,n,r="";for(;t{if(typeof t=="string")return t;let e,n="";for(let r=0;rf(d),t());return n=N7(c),r=n.cache.get,i=n.cache.set,s=a,a(l)}function a(l){const c=r(l);if(c)return c;const d=k7(l,n);return i(l,d),d}return function(){return s(O7.apply(null,arguments))}}const rr=t=>{const e=n=>n[t]||[];return e.isThemeGetter=!0,e},YF=/^\[(?:([a-z-]+):)?(.+)\]$/i,D7=/^\d+\/\d+$/,j7=new Set(["px","full","screen"]),U7=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,F7=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,z7=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,B7=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,H7=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Sc=t=>Jm(t)||j7.has(t)||D7.test(t),Gu=t=>Hg(t,"length",Y7),Jm=t=>!!t&&!Number.isNaN(Number(t)),pE=t=>Hg(t,"number",Jm),i0=t=>!!t&&Number.isInteger(Number(t)),V7=t=>t.endsWith("%")&&Jm(t.slice(0,-1)),fn=t=>YF.test(t),Wu=t=>U7.test(t),G7=new Set(["length","size","percentage"]),W7=t=>Hg(t,G7,ZF),$7=t=>Hg(t,"position",ZF),X7=new Set(["image","url"]),q7=t=>Hg(t,X7,Q7),K7=t=>Hg(t,"",Z7),s0=()=>!0,Hg=(t,e,n)=>{const r=YF.exec(t);return r?r[1]?typeof e=="string"?r[1]===e:e.has(r[1]):n(r[2]):!1},Y7=t=>F7.test(t)&&!z7.test(t),ZF=()=>!1,Z7=t=>B7.test(t),Q7=t=>H7.test(t),J7=()=>{const t=rr("colors"),e=rr("spacing"),n=rr("blur"),r=rr("brightness"),i=rr("borderColor"),s=rr("borderRadius"),o=rr("borderSpacing"),a=rr("borderWidth"),l=rr("contrast"),c=rr("grayscale"),d=rr("hueRotate"),f=rr("invert"),m=rr("gap"),y=rr("gradientColorStops"),x=rr("gradientColorStopPositions"),S=rr("inset"),w=rr("margin"),_=rr("opacity"),E=rr("padding"),T=rr("saturate"),C=rr("scale"),O=rr("sepia"),N=rr("skew"),D=rr("space"),F=rr("translate"),G=()=>["auto","contain","none"],k=()=>["auto","hidden","clip","visible","scroll"],U=()=>["auto",fn,e],H=()=>[fn,e],ne=()=>["",Sc,Gu],te=()=>["auto",Jm,fn],he=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],oe=()=>["solid","dashed","dotted","double","none"],fe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],B=()=>["start","end","center","between","around","evenly","stretch"],J=()=>["","0",fn],Y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],V=()=>[Jm,fn];return{cacheSize:500,separator:":",theme:{colors:[s0],spacing:[Sc,Gu],blur:["none","",Wu,fn],brightness:V(),borderColor:[t],borderRadius:["none","","full",Wu,fn],borderSpacing:H(),borderWidth:ne(),contrast:V(),grayscale:J(),hueRotate:V(),invert:J(),gap:H(),gradientColorStops:[t],gradientColorStopPositions:[V7,Gu],inset:U(),margin:U(),opacity:V(),padding:H(),saturate:V(),scale:V(),sepia:J(),skew:V(),space:H(),translate:H()},classGroups:{aspect:[{aspect:["auto","square","video",fn]}],container:["container"],columns:[{columns:[Wu]}],"break-after":[{"break-after":Y()}],"break-before":[{"break-before":Y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...he(),fn]}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:G()}],"overscroll-x":[{"overscroll-x":G()}],"overscroll-y":[{"overscroll-y":G()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[S]}],"inset-x":[{"inset-x":[S]}],"inset-y":[{"inset-y":[S]}],start:[{start:[S]}],end:[{end:[S]}],top:[{top:[S]}],right:[{right:[S]}],bottom:[{bottom:[S]}],left:[{left:[S]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",i0,fn]}],basis:[{basis:U()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",fn]}],grow:[{grow:J()}],shrink:[{shrink:J()}],order:[{order:["first","last","none",i0,fn]}],"grid-cols":[{"grid-cols":[s0]}],"col-start-end":[{col:["auto",{span:["full",i0,fn]},fn]}],"col-start":[{"col-start":te()}],"col-end":[{"col-end":te()}],"grid-rows":[{"grid-rows":[s0]}],"row-start-end":[{row:["auto",{span:[i0,fn]},fn]}],"row-start":[{"row-start":te()}],"row-end":[{"row-end":te()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",fn]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",fn]}],gap:[{gap:[m]}],"gap-x":[{"gap-x":[m]}],"gap-y":[{"gap-y":[m]}],"justify-content":[{justify:["normal",...B()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...B(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...B(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[E]}],px:[{px:[E]}],py:[{py:[E]}],ps:[{ps:[E]}],pe:[{pe:[E]}],pt:[{pt:[E]}],pr:[{pr:[E]}],pb:[{pb:[E]}],pl:[{pl:[E]}],m:[{m:[w]}],mx:[{mx:[w]}],my:[{my:[w]}],ms:[{ms:[w]}],me:[{me:[w]}],mt:[{mt:[w]}],mr:[{mr:[w]}],mb:[{mb:[w]}],ml:[{ml:[w]}],"space-x":[{"space-x":[D]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[D]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",fn,e]}],"min-w":[{"min-w":[fn,e,"min","max","fit"]}],"max-w":[{"max-w":[fn,e,"none","full","min","max","fit","prose",{screen:[Wu]},Wu]}],h:[{h:[fn,e,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[fn,e,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[fn,e,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[fn,e,"auto","min","max","fit"]}],"font-size":[{text:["base",Wu,Gu]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",pE]}],"font-family":[{font:[s0]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",fn]}],"line-clamp":[{"line-clamp":["none",Jm,pE]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",Sc,fn]}],"list-image":[{"list-image":["none",fn]}],"list-style-type":[{list:["none","disc","decimal",fn]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[t]}],"placeholder-opacity":[{"placeholder-opacity":[_]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[t]}],"text-opacity":[{"text-opacity":[_]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...oe(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",Sc,Gu]}],"underline-offset":[{"underline-offset":["auto",Sc,fn]}],"text-decoration-color":[{decoration:[t]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:H()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",fn]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",fn]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[_]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...he(),$7]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",W7]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},q7]}],"bg-color":[{bg:[t]}],"gradient-from-pos":[{from:[x]}],"gradient-via-pos":[{via:[x]}],"gradient-to-pos":[{to:[x]}],"gradient-from":[{from:[y]}],"gradient-via":[{via:[y]}],"gradient-to":[{to:[y]}],rounded:[{rounded:[s]}],"rounded-s":[{"rounded-s":[s]}],"rounded-e":[{"rounded-e":[s]}],"rounded-t":[{"rounded-t":[s]}],"rounded-r":[{"rounded-r":[s]}],"rounded-b":[{"rounded-b":[s]}],"rounded-l":[{"rounded-l":[s]}],"rounded-ss":[{"rounded-ss":[s]}],"rounded-se":[{"rounded-se":[s]}],"rounded-ee":[{"rounded-ee":[s]}],"rounded-es":[{"rounded-es":[s]}],"rounded-tl":[{"rounded-tl":[s]}],"rounded-tr":[{"rounded-tr":[s]}],"rounded-br":[{"rounded-br":[s]}],"rounded-bl":[{"rounded-bl":[s]}],"border-w":[{border:[a]}],"border-w-x":[{"border-x":[a]}],"border-w-y":[{"border-y":[a]}],"border-w-s":[{"border-s":[a]}],"border-w-e":[{"border-e":[a]}],"border-w-t":[{"border-t":[a]}],"border-w-r":[{"border-r":[a]}],"border-w-b":[{"border-b":[a]}],"border-w-l":[{"border-l":[a]}],"border-opacity":[{"border-opacity":[_]}],"border-style":[{border:[...oe(),"hidden"]}],"divide-x":[{"divide-x":[a]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[a]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[_]}],"divide-style":[{divide:oe()}],"border-color":[{border:[i]}],"border-color-x":[{"border-x":[i]}],"border-color-y":[{"border-y":[i]}],"border-color-s":[{"border-s":[i]}],"border-color-e":[{"border-e":[i]}],"border-color-t":[{"border-t":[i]}],"border-color-r":[{"border-r":[i]}],"border-color-b":[{"border-b":[i]}],"border-color-l":[{"border-l":[i]}],"divide-color":[{divide:[i]}],"outline-style":[{outline:["",...oe()]}],"outline-offset":[{"outline-offset":[Sc,fn]}],"outline-w":[{outline:[Sc,Gu]}],"outline-color":[{outline:[t]}],"ring-w":[{ring:ne()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[t]}],"ring-opacity":[{"ring-opacity":[_]}],"ring-offset-w":[{"ring-offset":[Sc,Gu]}],"ring-offset-color":[{"ring-offset":[t]}],shadow:[{shadow:["","inner","none",Wu,K7]}],"shadow-color":[{shadow:[s0]}],opacity:[{opacity:[_]}],"mix-blend":[{"mix-blend":[...fe(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":fe()}],filter:[{filter:["","none"]}],blur:[{blur:[n]}],brightness:[{brightness:[r]}],contrast:[{contrast:[l]}],"drop-shadow":[{"drop-shadow":["","none",Wu,fn]}],grayscale:[{grayscale:[c]}],"hue-rotate":[{"hue-rotate":[d]}],invert:[{invert:[f]}],saturate:[{saturate:[T]}],sepia:[{sepia:[O]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[n]}],"backdrop-brightness":[{"backdrop-brightness":[r]}],"backdrop-contrast":[{"backdrop-contrast":[l]}],"backdrop-grayscale":[{"backdrop-grayscale":[c]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[d]}],"backdrop-invert":[{"backdrop-invert":[f]}],"backdrop-opacity":[{"backdrop-opacity":[_]}],"backdrop-saturate":[{"backdrop-saturate":[T]}],"backdrop-sepia":[{"backdrop-sepia":[O]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[o]}],"border-spacing-x":[{"border-spacing-x":[o]}],"border-spacing-y":[{"border-spacing-y":[o]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",fn]}],duration:[{duration:V()}],ease:[{ease:["linear","in","out","in-out",fn]}],delay:[{delay:V()}],animate:[{animate:["none","spin","ping","pulse","bounce",fn]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[C]}],"scale-x":[{"scale-x":[C]}],"scale-y":[{"scale-y":[C]}],rotate:[{rotate:[i0,fn]}],"translate-x":[{"translate-x":[F]}],"translate-y":[{"translate-y":[F]}],"skew-x":[{"skew-x":[N]}],"skew-y":[{"skew-y":[N]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",fn]}],accent:[{accent:["auto",t]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",fn]}],"caret-color":[{caret:[t]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":H()}],"scroll-mx":[{"scroll-mx":H()}],"scroll-my":[{"scroll-my":H()}],"scroll-ms":[{"scroll-ms":H()}],"scroll-me":[{"scroll-me":H()}],"scroll-mt":[{"scroll-mt":H()}],"scroll-mr":[{"scroll-mr":H()}],"scroll-mb":[{"scroll-mb":H()}],"scroll-ml":[{"scroll-ml":H()}],"scroll-p":[{"scroll-p":H()}],"scroll-px":[{"scroll-px":H()}],"scroll-py":[{"scroll-py":H()}],"scroll-ps":[{"scroll-ps":H()}],"scroll-pe":[{"scroll-pe":H()}],"scroll-pt":[{"scroll-pt":H()}],"scroll-pr":[{"scroll-pr":H()}],"scroll-pb":[{"scroll-pb":H()}],"scroll-pl":[{"scroll-pl":H()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",fn]}],fill:[{fill:[t,"none"]}],"stroke-w":[{stroke:[Sc,Gu,pE]}],stroke:[{stroke:[t,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},eX=L7(J7);function nt(...t){return eX(er(t))}function Mg(t){return t?t.replace(/127\.0\.0\.1|localhost/g,"192.168.178.151"):""}const QF=["fast","heavy","coder","vision","scout"],tX={fast:"bg-cyan-500/15 text-cyan-400 border-cyan-500/25",heavy:"bg-amber-500/15 text-amber-400 border-amber-500/25",coder:"bg-violet-500/15 text-violet-400 border-violet-500/25",vision:"bg-pink-500/15 text-pink-400 border-pink-500/25",scout:"bg-teal-500/15 text-teal-400 border-teal-500/25",hermes:"bg-indigo-500/15 text-indigo-400 border-indigo-500/25"},NP=t=>t&&tX[t]||"bg-slate-500/15 text-slate-300 border-slate-500/25";function nX({fit:t}){const e={perfect:"bg-emerald-500/15 text-emerald-400 border border-emerald-500/20",marginal:"bg-amber-500/15 text-amber-400 border border-amber-500/20",too_tight:"bg-red-500/15 text-red-400 border border-red-500/20"}[t.level];return g.jsxs("span",{className:nt("rounded px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider font-mono",e),children:[t.text," • ",t.req_gb," GB RAM"]})}function NI(t){const e=t.toLowerCase();return e.includes("qwen")?{name:"Qwen",color:"bg-purple-500/20 text-purple-300 border-purple-500/30",initial:"Q"}:e.includes("gemma")?{name:"Gemma",color:"bg-blue-500/20 text-blue-300 border-blue-500/30",initial:"G"}:e.includes("llama")?{name:"Llama",color:"bg-red-500/20 text-red-300 border-red-500/30",initial:"🦙"}:e.includes("mistral")||e.includes("mixtral")?{name:"Mistral",color:"bg-orange-500/20 text-orange-300 border-orange-500/30",initial:"M"}:e.includes("deepseek")?{name:"DeepSeek",color:"bg-cyan-500/20 text-cyan-300 border-cyan-500/30",initial:"D"}:e.includes("hermes")||e.includes("nous")?{name:"Hermes",color:"bg-amber-500/20 text-amber-300 border-amber-500/30",initial:"H"}:e.includes("phi")?{name:"Phi",color:"bg-emerald-500/20 text-emerald-300 border-emerald-500/30",initial:"Φ"}:{name:"Other",color:"bg-slate-500/20 text-slate-300 border-slate-500/30",initial:"AI"}}function rX(){const{data:t}=Kh(2e3),{data:e}=TP(2e3),n=(t==null?void 0:t.models)??[],r=(t==null?void 0:t.running)??[],i=n.filter(l=>r.includes(l.name)),s=R.useRef(null),[o,a]=R.useState(!1);return R.useEffect(()=>{if(!e)return;const l=e.total_tokens;if(s.current!==null&&l>s.current){a(!0);const c=setTimeout(()=>a(!1),4e3);return s.current=l,()=>clearTimeout(c)}s.current=l},[e==null?void 0:e.total_tokens]),g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[g.jsxs("div",{className:"flex items-center justify-between mb-4",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(ay,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Aktive Modelle (Live)"})]}),g.jsxs("span",{className:nt("flex items-center gap-1.5 text-[10px] font-bold uppercase tracking-wider font-mono px-2 py-0.5 rounded-full border transition-colors",o?"bg-emerald-500/10 text-emerald-400 border-emerald-500/30":"bg-background/30 text-muted-foreground/70 border-border/40"),children:[o?g.jsx(bh,{className:"h-3 w-3 animate-pulse"}):g.jsx($8,{className:"h-3 w-3"}),o?"Inferenz aktiv":"Idle"]})]}),i.length===0?g.jsx("div",{className:"flex items-center justify-center gap-2 h-20 text-xs text-muted-foreground/70 italic",children:"Kein Modell geladen — Auto-Swap lädt bei Anfrage."}):g.jsx("div",{className:"grid gap-2",children:i.map(l=>{var c;return g.jsxs("div",{className:"flex items-center justify-between gap-2 p-3 rounded-xl bg-emerald-500/5 border border-emerald-500/20",children:[g.jsxs("div",{className:"min-w-0",children:[g.jsxs("div",{className:"flex items-center gap-1.5 min-w-0",children:[l.role&&g.jsx("span",{className:nt("text-[8px] font-semibold uppercase px-1.5 py-0.5 rounded font-mono border tracking-wider shrink-0",NP(l.role)),children:l.role}),g.jsx("span",{className:"text-xs font-semibold font-mono text-foreground truncate",children:(c=l.name.split("/").pop())==null?void 0:c.replace(/\.gguf$/i,"")})]}),g.jsxs("div",{className:"text-[9px] font-mono text-muted-foreground/70 mt-0.5",children:[Bo(l.size_bytes)," im Unified-RAM"]})]}),g.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider font-mono shrink-0",children:[g.jsx("span",{className:nt("h-1.5 w-1.5 rounded-full bg-emerald-500",o&&"animate-pulse")})," warm"]})]},l.name)})})]})}let WT=[],$T=[];const XT=new Set,JF=()=>XT.forEach(t=>t());function e5(t){return XT.add(t),()=>{XT.delete(t)}}function iX(t){WT=[...WT,t].slice(-40),JF()}function sX(t){$T=[...$T,t].slice(-40),JF()}const oX=()=>R.useSyncExternalStore(e5,()=>WT),aX=()=>R.useSyncExternalStore(e5,()=>$T);function lX(){const{data:t,dataUpdatedAt:e}=Q1(3e3),{data:n,dataUpdatedAt:r}=TP(3e3),i=R.useRef(null);R.useEffect(()=>{var s,o,a,l;t&&iX({t:Date.now(),cpu:((s=t.cpu)==null?void 0:s.percent)??0,ram:((o=t.ram)==null?void 0:o.percent)??0,gpu:((a=t.gpu)==null?void 0:a.busy_percent)??null,disk:((l=t.disk)==null?void 0:l.percent)??null})},[e]),R.useEffect(()=>{if(!n)return;const s=Date.now(),o=n.prompt_tokens,a=n.completion_tokens;if(i.current){const l=Math.max((s-i.current.t)/1e3,.001);sX({t:s,prompt:Math.max(0,(o-i.current.p)/l),completion:Math.max(0,(a-i.current.c)/l)})}i.current={p:o,c:a,t:s}},[r])}function cX(){const{data:t,error:e}=Q1(3e3),n=oX();return{sys:t,hist:n,error:e}}var uX=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function IP(t){if(typeof t!="string")return!1;var e=uX;return e.includes(t)}var dX=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],fX=new Set(dX);function t5(t){return typeof t!="string"?!1:fX.has(t)}function n5(t){return typeof t=="string"&&t.startsWith("data-")}function za(t){if(typeof t!="object"||t===null)return{};var e={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(t5(n)||n5(n))&&(e[n]=t[n]);return e}function J1(t){if(t==null)return null;if(R.isValidElement(t)&&typeof t.props=="object"&&t.props!==null){var e=t.props;return za(e)}return typeof t=="object"&&!Array.isArray(t)?za(t):null}function Ko(t){var e={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(t5(n)||n5(n)||IP(n))&&(e[n]=t[n]);return e}function hX(t){return t==null?null:R.isValidElement(t)?Ko(t.props):typeof t=="object"&&!Array.isArray(t)?Ko(t):null}var pX=["children","width","height","viewBox","className","style","title","desc"];function qT(){return qT=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=t.children,r=t.width,i=t.height,s=t.viewBox,o=t.className,a=t.style,l=t.title,c=t.desc,d=mX(t,pX),f=s||{width:r,height:i,x:0,y:0},m=er("recharts-surface",o);return R.createElement("svg",qT({},Ko(d),{className:m,width:r,height:i,style:a,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height),ref:e}),R.createElement("title",null,l),R.createElement("desc",null,c),n)}),vX=["children","className"];function KT(){return KT=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=t.children,r=t.className,i=yX(t,vX),s=er("recharts-layer",r);return R.createElement("g",KT({className:s},Ko(i),{ref:e}),n)}),bX=R.createContext(null);function Mr(t){return function(){return t}}const YT=Math.PI,ZT=2*YT,Gf=1e-6,_X=ZT-Gf;function i5(t){this._+=t[0];for(let e=1,n=t.length;e=0))throw new Error(`invalid digits: ${t}`);if(e>15)return i5;const n=10**e;return function(r){this._+=r[0];for(let i=1,s=r.length;iGf)if(!(Math.abs(f*l-c*d)>Gf)||!s)this._append`L${this._x1=e},${this._y1=n}`;else{let y=r-o,x=i-a,S=l*l+c*c,w=y*y+x*x,_=Math.sqrt(S),E=Math.sqrt(m),T=s*Math.tan((YT-Math.acos((S+m-w)/(2*_*E)))/2),C=T/E,O=T/_;Math.abs(C-1)>Gf&&this._append`L${e+C*d},${n+C*f}`,this._append`A${s},${s},0,0,${+(f*y>d*x)},${this._x1=e+O*l},${this._y1=n+O*c}`}}arc(e,n,r,i,s,o){if(e=+e,n=+n,r=+r,o=!!o,r<0)throw new Error(`negative radius: ${r}`);let a=r*Math.cos(i),l=r*Math.sin(i),c=e+a,d=n+l,f=1^o,m=o?i-s:s-i;this._x1===null?this._append`M${c},${d}`:(Math.abs(this._x1-c)>Gf||Math.abs(this._y1-d)>Gf)&&this._append`L${c},${d}`,r&&(m<0&&(m=m%ZT+ZT),m>_X?this._append`A${r},${r},0,1,${f},${e-a},${n-l}A${r},${r},0,1,${f},${this._x1=c},${this._y1=d}`:m>Gf&&this._append`A${r},${r},0,${+(m>=YT)},${f},${this._x1=e+r*Math.cos(s)},${this._y1=n+r*Math.sin(s)}`)}rect(e,n,r,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}};function s5(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new SX(e)}function kP(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function o5(t){this._context=t}o5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function eS(t){return new o5(t)}function a5(t){return t[0]}function l5(t){return t[1]}function c5(t,e){var n=Mr(!0),r=null,i=eS,s=null,o=s5(a);t=typeof t=="function"?t:t===void 0?a5:Mr(t),e=typeof e=="function"?e:e===void 0?l5:Mr(e);function a(l){var c,d=(l=kP(l)).length,f,m=!1,y;for(r==null&&(s=i(y=o())),c=0;c<=d;++c)!(c=y;--x)a.point(T[x],C[x]);a.lineEnd(),a.areaEnd()}_&&(T[m]=+t(w,m,f),C[m]=+e(w,m,f),a.point(r?+r(w,m,f):T[m],n?+n(w,m,f):C[m]))}if(E)return a=null,E+""||null}function d(){return c5().defined(i).curve(o).context(s)}return c.x=function(f){return arguments.length?(t=typeof f=="function"?f:Mr(+f),r=null,c):t},c.x0=function(f){return arguments.length?(t=typeof f=="function"?f:Mr(+f),c):t},c.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:Mr(+f),c):r},c.y=function(f){return arguments.length?(e=typeof f=="function"?f:Mr(+f),n=null,c):e},c.y0=function(f){return arguments.length?(e=typeof f=="function"?f:Mr(+f),c):e},c.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:Mr(+f),c):n},c.lineX0=c.lineY0=function(){return d().x(t).y(e)},c.lineY1=function(){return d().x(t).y(n)},c.lineX1=function(){return d().x(r).y(e)},c.defined=function(f){return arguments.length?(i=typeof f=="function"?f:Mr(!!f),c):i},c.curve=function(f){return arguments.length?(o=f,s!=null&&(a=o(s)),c):o},c.context=function(f){return arguments.length?(f==null?s=a=null:a=o(s=f),c):s},c}class u5{constructor(e,n){this._context=e,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}}function MX(t){return new u5(t,!0)}function EX(t){return new u5(t,!1)}function sw(){}function ow(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function d5(t){this._context=t}d5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:ow(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:ow(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function AX(t){return new d5(t)}function f5(t){this._context=t}f5.prototype={areaStart:sw,areaEnd:sw,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:ow(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function TX(t){return new f5(t)}function h5(t){this._context=t}h5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:ow(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function CX(t){return new h5(t)}function p5(t){this._context=t}p5.prototype={areaStart:sw,areaEnd:sw,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function PX(t){return new p5(t)}function II(t){return t<0?-1:1}function kI(t,e,n){var r=t._x1-t._x0,i=e-t._x1,s=(t._y1-t._y0)/(r||i<0&&-0),o=(n-t._y1)/(i||r<0&&-0),a=(s*i+o*r)/(r+i);return(II(s)+II(o))*Math.min(Math.abs(s),Math.abs(o),.5*Math.abs(a))||0}function OI(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function mE(t,e,n){var r=t._x0,i=t._y0,s=t._x1,o=t._y1,a=(s-r)/3;t._context.bezierCurveTo(r+a,i+a*e,s-a,o-a*n,s,o)}function aw(t){this._context=t}aw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:mE(this,this._t0,OI(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,mE(this,OI(this,n=kI(this,t,e)),n);break;default:mE(this,this._t0,n=kI(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function m5(t){this._context=new g5(t)}(m5.prototype=Object.create(aw.prototype)).point=function(t,e){aw.prototype.point.call(this,e,t)};function g5(t){this._context=t}g5.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,i,s){this._context.bezierCurveTo(e,t,r,n,s,i)}};function RX(t){return new aw(t)}function NX(t){return new m5(t)}function v5(t){this._context=t}v5.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var r=LI(t),i=LI(e),s=0,o=1;o=0;--e)i[e]=(o[e]-i[e+1])/s[e];for(s[n-1]=(t[n]+i[n-1])/2,e=0;e=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function kX(t){return new tS(t,.5)}function OX(t){return new tS(t,0)}function LX(t){return new tS(t,1)}function Rh(t,e){if((o=t.length)>1)for(var n=1,r,i,s=t[e[0]],o,a=s.length;n=0;)n[e]=e;return n}function DX(t,e){return t[e]}function jX(t){const e=[];return e.key=t,e}function UX(){var t=Mr([]),e=QT,n=Rh,r=DX;function i(s){var o=Array.from(t.apply(this,arguments),jX),a,l=o.length,c=-1,d;for(const f of s)for(a=0,++c;a0){for(var n,r,i=0,s=t[0].length,o;i0){for(var n=0,r=t[e[0]],i,s=r.length;n0)||!((s=(i=t[e[0]]).length)>0))){for(var n=0,r=1,i,s,o;r1&&arguments[1]!==void 0?arguments[1]:VX,n=10**e,r=Math.round(t*n)/n;return Object.is(r,-0)?0:r}function Di(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r{var a=n[o-1];return typeof a=="string"?i+a+s:a!==void 0?i+xd(a)+s:i+s},"")}var Wo=t=>t===0?0:t>0?1:-1,kl=t=>typeof t=="number"&&t!=+t,Nh=t=>typeof t=="string"&&t.length>1&&t.indexOf("%")===t.length-1,kt=t=>(typeof t=="number"||t instanceof Number)&&!kl(t),Ol=t=>kt(t)||typeof t=="string",GX=0,uy=t=>{var e=++GX;return"".concat(t||"").concat(e)},Ad=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!kt(e)&&typeof e!="string")return r;var s;if(Nh(e)){if(n==null)return r;var o=e.indexOf("%");s=n*parseFloat(e.slice(0,o))/100}else s=+e;return kl(s)&&(s=r),i&&n!=null&&s>n&&(s=n),s},b5=t=>{if(!Array.isArray(t))return!1;for(var e=t.length,n={},r=0;rr&&(typeof e=="function"?e(r):Yh(r,e))===n)}var Hi=t=>t===null||typeof t>"u",DP=t=>Hi(t)?t:"".concat(t.charAt(0).toUpperCase()).concat(t.slice(1));function Ys(t){return t!=null}function Vg(){}var w5=t=>"radius"in t&&"startAngle"in t&&"endAngle"in t,jP=(t,e)=>{if(!t||typeof t=="function"||typeof t=="boolean")return null;var n=t;if(R.isValidElement(t)&&(n=t.props),typeof n!="object"&&typeof n!="function")return null;var r={};return Object.keys(n).forEach(i=>{IP(i)&&typeof n[i]=="function"&&(r[i]=(s=>n[i](n,s)))}),r},WX=(t,e,n)=>r=>(t(e,n,r),null),$X=(t,e,n)=>{if(t===null||typeof t!="object"&&typeof t!="function")return null;var r=null;return Object.keys(t).forEach(i=>{var s=t[i];IP(i)&&typeof s=="function"&&(r||(r={}),r[i]=WX(s,e,n))}),r};function DI(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function XX(t){for(var e=1;e(o[a]===void 0&&r[a]!==void 0&&(o[a]=r[a]),o),n);return s}function ZX(t,e){const n=new Map;for(let r=0;rObject.prototype.propertyIsEnumerable.call(t,e))}function UP(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const nq="[object RegExp]",M5="[object String]",E5="[object Number]",A5="[object Boolean]",T5="[object Arguments]",rq="[object Symbol]",iq="[object Date]",sq="[object Map]",oq="[object Set]",aq="[object Array]",lq="[object ArrayBuffer]",cq="[object Object]",uq="[object DataView]",dq="[object Uint8Array]",fq="[object Uint8ClampedArray]",hq="[object Uint16Array]",pq="[object Uint32Array]",mq="[object Int8Array]",gq="[object Int16Array]",vq="[object Int32Array]",yq="[object Float32Array]",xq="[object Float64Array]",jI=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function bq(t){return typeof jI.Buffer<"u"&&jI.Buffer.isBuffer(t)}function _q(t,e){return eh(t,void 0,t,new Map,e)}function eh(t,e,n,r=new Map,i=void 0){const s=i==null?void 0:i(t,e,n,r);if(s!==void 0)return s;if(eC(t))return t;if(r.has(t))return r.get(t);if(Array.isArray(t)){const o=new Array(t.length);r.set(t,o);for(let a=0;a{}):tC(t,e,function r(i,s,o,a,l,c){const d=n(i,s,o,a,l,c);return d!==void 0?!!d:tC(i,s,r,c,!1)},new Map,!0)}function tC(t,e,n,r,i=!1){if(e===t)return!0;switch(typeof e){case"object":return Mq(t,e,n,r);case"function":return Object.keys(e).length>0?tC(t,{...e},n,r,i):F_(t,e);default:return C5(t)&&i?typeof e=="string"?e==="":!0:F_(t,e)}}function Mq(t,e,n,r){if(e==null)return!0;if(Array.isArray(e))return R5(t,e,n,r);if(e instanceof Map)return Eq(t,e,n,r);if(e instanceof Set)return Aq(t,e,n,r);const i=Object.keys(e);if(t==null||eC(t))return i.length===0;if(i.length===0)return!0;if(r!=null&&r.has(e))return r.get(e)===t;r==null||r.set(e,t);try{for(let s=0;s{})}function Tq(t){return t=Sq(t),e=>N5(e,t)}function Cq(t,e){return _q(t,(n,r,i,s)=>{if(typeof t=="object"){if(UP(t)==="[object Object]"&&typeof t.constructor!="function"){const o={};return s.set(t,o),ka(o,t,i,s),o}switch(Object.prototype.toString.call(t)){case E5:case M5:case A5:{const o=new t.constructor(t==null?void 0:t.valueOf());return ka(o,t),o}case T5:{const o={};return ka(o,t),o.length=t.length,o[Symbol.iterator]=t[Symbol.iterator],o}default:return}}})}function Pq(t){return Cq(t)}const Rq=/^(?:0|[1-9]\d*)$/;function I5(t,e=Number.MAX_SAFE_INTEGER){switch(typeof t){case"number":return Number.isInteger(t)&&t>=0&&t=0}function k5(t){return t!=null&&typeof t!="function"&&Lq(t.length)}function Dq(t){return typeof t=="object"&&t!==null}function jq(t){return Dq(t)&&k5(t)}function UI(t,e=S5){return jq(t)?ZX(Array.from(t),QX(Oq(e),1)):[]}function Uq(t,e,n){return e===!0?UI(t,n):typeof e=="function"?UI(t,e):t}var gE={exports:{}},vE={},yE={exports:{}},xE={};/** * @license React * use-sync-external-store-shim.production.js * @@ -490,7 +490,7 @@ Error generating stack: `+j.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var FI;function Fq(){if(FI)return xE;FI=1;var t=Wh();function e(f,m){return f===m&&(f!==0||1/f===1/m)||f!==f&&m!==m}var n=typeof Object.is=="function"?Object.is:e,r=t.useState,i=t.useEffect,s=t.useLayoutEffect,o=t.useDebugValue;function a(f,m){var y=m(),x=r({inst:{value:y,getSnapshot:m}}),S=x[0].inst,w=x[1];return s(function(){S.value=y,S.getSnapshot=m,l(S)&&w({inst:S})},[f,y,m]),i(function(){return l(S)&&w({inst:S}),f(function(){l(S)&&w({inst:S})})},[f]),o(y),y}function l(f){var m=f.getSnapshot;f=f.value;try{var y=m();return!n(f,y)}catch{return!0}}function c(f,m){return m()}var d=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?c:a;return xE.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:d,xE}var zI;function zq(){return zI||(zI=1,yE.exports=Fq()),yE.exports}/** + */var FI;function Fq(){if(FI)return xE;FI=1;var t=$h();function e(f,m){return f===m&&(f!==0||1/f===1/m)||f!==f&&m!==m}var n=typeof Object.is=="function"?Object.is:e,r=t.useState,i=t.useEffect,s=t.useLayoutEffect,o=t.useDebugValue;function a(f,m){var y=m(),x=r({inst:{value:y,getSnapshot:m}}),S=x[0].inst,w=x[1];return s(function(){S.value=y,S.getSnapshot=m,l(S)&&w({inst:S})},[f,y,m]),i(function(){return l(S)&&w({inst:S}),f(function(){l(S)&&w({inst:S})})},[f]),o(y),y}function l(f){var m=f.getSnapshot;f=f.value;try{var y=m();return!n(f,y)}catch{return!0}}function c(f,m){return m()}var d=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?c:a;return xE.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:d,xE}var zI;function zq(){return zI||(zI=1,yE.exports=Fq()),yE.exports}/** * @license React * use-sync-external-store-shim/with-selector.production.js * @@ -498,12 +498,12 @@ Error generating stack: `+j.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var BI;function Bq(){if(BI)return vE;BI=1;var t=Wh(),e=zq();function n(c,d){return c===d&&(c!==0||1/c===1/d)||c!==c&&d!==d}var r=typeof Object.is=="function"?Object.is:n,i=e.useSyncExternalStore,s=t.useRef,o=t.useEffect,a=t.useMemo,l=t.useDebugValue;return vE.useSyncExternalStoreWithSelector=function(c,d,f,m,y){var x=s(null);if(x.current===null){var S={hasValue:!1,value:null};x.current=S}else S=x.current;x=a(function(){function _(N){if(!E){if(E=!0,T=N,N=m(N),y!==void 0&&S.hasValue){var D=S.value;if(y(D,N))return C=D}return C=N}if(D=C,r(T,N))return D;var F=m(N);return y!==void 0&&y(D,F)?(T=N,D):(T=N,C=F)}var E=!1,T,C,O=f===void 0?null:f;return[function(){return _(d())},O===null?void 0:function(){return _(O())}]},[d,f,m,y]);var w=i(c,x[0],x[1]);return o(function(){S.hasValue=!0,S.value=w},[w]),l(w),w},vE}var HI;function Hq(){return HI||(HI=1,gE.exports=Bq()),gE.exports}var Vq=Hq(),FP=R.createContext(null),Gq=t=>t,Wr=()=>{var t=R.useContext(FP);return t?t.store.dispatch:Gq},z_=()=>{},Wq=()=>z_,$q=(t,e)=>t===e;function Bt(t){var e=R.useContext(FP),n=R.useMemo(()=>e?r=>{if(r!=null)return t(r)}:z_,[e,t]);return Vq.useSyncExternalStoreWithSelector(e?e.subscription.addNestedSub:Wq,e?e.store.getState:z_,e?e.store.getState:z_,n,$q)}function Xq(t,e=`expected a function, instead received ${typeof t}`){if(typeof t!="function")throw new TypeError(e)}function qq(t,e="expected all items to be functions, instead received the following types: "){if(!t.every(n=>typeof n=="function")){const n=t.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${e}[${n}]`)}}var VI=t=>Array.isArray(t)?t:[t];function Kq(t){const e=Array.isArray(t[0])?t[0]:t;return qq(e,"createSelector expects all input-selectors to be functions, but received the following types: "),e}function Yq(t,e){const n=[],{length:r}=t;for(let i=0;itypeof WeakRef>"u"?Zq:WeakRef,O5=Qq(),Jq=0,GI=1;function wb(){return{s:Jq,v:void 0,o:null,p:null}}function eK(t){return t instanceof O5?t.deref():t}function L5(t,e={}){let n=wb();const{resultEqualityCheck:r}=e;let i,s=0;function o(){let a=n;const{length:l}=arguments;for(let f=0,m=l;f{n=wb(),o.resetResultsCount()},o.resultsCount=()=>s,o.resetResultsCount=()=>{s=0},o}function tK(t,...e){const n=typeof t=="function"?{memoize:t,memoizeOptions:e}:t,r=(...i)=>{let s=0,o=0,a,l={},c=i.pop();typeof c=="object"&&(l=c,c=i.pop()),Xq(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const d={...n,...l},{memoize:f,memoizeOptions:m=[],argsMemoize:y=L5,argsMemoizeOptions:x=[]}=d,S=VI(m),w=VI(x),_=Kq(i),E=f(function(){return s++,c.apply(null,arguments)},...S),T=y(function(){o++;const O=Yq(_,arguments);return a=E.apply(null,O),a},...w);return Object.assign(T,{resultFunc:c,memoizedResultFunc:E,dependencies:_,dependencyRecomputations:()=>o,resetDependencyRecomputations:()=>{o=0},lastResult:()=>a,recomputations:()=>s,resetRecomputations:()=>{s=0},memoize:f,argsMemoize:y})};return Object.assign(r,{withTypes:()=>r}),r}var Oe=tK(L5);function nK(t,e=1){const n=[],r=Math.floor(e),i=(s,o)=>{for(let a=0;a{if(t!==e){const r=WI(t),i=WI(e);if(r===i&&r===0){if(te)return n==="desc"?-1:1}return n==="desc"?i-r:r-i}return 0};function D5(t){return typeof t=="symbol"||t instanceof Symbol}const iK=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,sK=/^\w*$/;function oK(t,e){return Array.isArray(t)?!1:typeof t=="number"||typeof t=="boolean"||t==null||D5(t)?!0:typeof t=="string"&&(sK.test(t)||!iK.test(t))||e!=null}function aK(t,e,n,r){if(t==null)return[];n=n,Array.isArray(t)||(t=Object.values(t)),Array.isArray(e)||(e=e==null?[null]:[e]),e.length===0&&(e=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(a=>String(a));const i=(a,l)=>{let c=a;for(let d=0;dl==null||a==null?l:typeof a=="object"&&"key"in a?Object.hasOwn(l,a.key)?l[a.key]:i(l,a.path):typeof a=="function"?a(l):Array.isArray(a)?i(l,a):typeof l=="object"?l[a]:l,o=e.map(a=>(Array.isArray(a)&&a.length===1&&(a=a[0]),a==null||typeof a=="function"||Array.isArray(a)||oK(a)?a:{key:a,path:LP(a)}));return t.map(a=>({original:a,criteria:o.map(l=>s(l,a))})).slice().sort((a,l)=>{for(let c=0;ca.original)}function nS(t,...e){const n=e.length;return n>1&&nC(t,e[0],e[1])?e=[]:n>2&&nC(e[0],e[1],e[2])&&(e=[e[0]]),aK(t,nK(e),["asc"])}var j5=t=>t.legend.settings,lK=t=>t.legend.size,cK=t=>t.legend.payload;Oe([cK,j5],(t,e)=>{var n=e.itemSorter,r=t.flat(1);return n?nS(r,n):r});function uK(t,e){return pK(t)||hK(t,e)||fK(t,e)||dK()}function dK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fK(t,e){if(t){if(typeof t=="string")return $I(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$I(t,e):void 0}}function $I(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);nSb||Math.abs(t.left-e.left)>Sb||Math.abs(t.top-e.top)>Sb||Math.abs(t.width-e.width)>Sb}function qI(t){var e=t.getBoundingClientRect();return{height:e.height,left:e.left,top:e.top,width:e.width}}function mK(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=R.useState({height:0,left:0,top:0,width:0}),n=uK(e,2),r=n[0],i=n[1],s=R.useRef(null),o=R.useRef(r);o.current=r;var a=R.useCallback(l=>{if(s.current!=null&&(s.current.disconnect(),s.current=null),l!=null){var c=qI(l);if(XI(c,o.current)&&i(c),typeof ResizeObserver<"u"){var d=new ResizeObserver(()=>{var f=qI(l);XI(f,o.current)&&i(f)});d.observe(l),s.current=d}}},[...t]);return R.useEffect(()=>()=>{var l;(l=s.current)===null||l===void 0||l.disconnect()},[]),[r,a]}function Li(t){return`Minified Redux error #${t}; visit https://redux.js.org/Errors?code=${t} for the full message or use the non-minified dev environment for full errors. `}var gK=typeof Symbol=="function"&&Symbol.observable||"@@observable",KI=gK,bE=()=>Math.random().toString(36).substring(7).split("").join("."),vK={INIT:`@@redux/INIT${bE()}`,REPLACE:`@@redux/REPLACE${bE()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${bE()}`},lw=vK;function zP(t){if(typeof t!="object"||t===null)return!1;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e||Object.getPrototypeOf(t)===null}function U5(t,e,n){if(typeof t!="function")throw new Error(Li(2));if(typeof e=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(Li(0));if(typeof e=="function"&&typeof n>"u"&&(n=e,e=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Li(1));return n(U5)(t,e)}let r=t,i=e,s=new Map,o=s,a=0,l=!1;function c(){o===s&&(o=new Map,s.forEach((w,_)=>{o.set(_,w)}))}function d(){if(l)throw new Error(Li(3));return i}function f(w){if(typeof w!="function")throw new Error(Li(4));if(l)throw new Error(Li(5));let _=!0;c();const E=a++;return o.set(E,w),function(){if(_){if(l)throw new Error(Li(6));_=!1,c(),o.delete(E),s=null}}}function m(w){if(!zP(w))throw new Error(Li(7));if(typeof w.type>"u")throw new Error(Li(8));if(typeof w.type!="string")throw new Error(Li(17));if(l)throw new Error(Li(9));try{l=!0,i=r(i,w)}finally{l=!1}return(s=o).forEach(E=>{E()}),w}function y(w){if(typeof w!="function")throw new Error(Li(10));r=w,m({type:lw.REPLACE})}function x(){const w=f;return{subscribe(_){if(typeof _!="object"||_===null)throw new Error(Li(11));function E(){const C=_;C.next&&C.next(d())}return E(),{unsubscribe:w(E)}},[KI](){return this}}}return m({type:lw.INIT}),{dispatch:m,subscribe:f,getState:d,replaceReducer:y,[KI]:x}}function yK(t){Object.keys(t).forEach(e=>{const n=t[e];if(typeof n(void 0,{type:lw.INIT})>"u")throw new Error(Li(12));if(typeof n(void 0,{type:lw.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Li(13))})}function F5(t){const e=Object.keys(t),n={};for(let s=0;s"u")throw a&&a.type,new Error(Li(14));c[f]=x,l=l||x!==y}return l=l||r.length!==Object.keys(o).length,l?c:o}}function cw(...t){return t.length===0?e=>e:t.length===1?t[0]:t.reduce((e,n)=>(...r)=>e(n(...r)))}function xK(...t){return e=>(n,r)=>{const i=e(n,r);let s=()=>{throw new Error(Li(15))};const o={getState:i.getState,dispatch:(l,...c)=>s(l,...c)},a=t.map(l=>l(o));return s=cw(...a)(i.dispatch),{...i,dispatch:s}}}function z5(t){return zP(t)&&"type"in t&&typeof t.type=="string"}var B5=Symbol.for("immer-nothing"),YI=Symbol.for("immer-draftable"),Cs=Symbol.for("immer-state");function ja(t,...e){throw new Error(`[Immer] minified error nr: ${t}. Full error at: https://bit.ly/3cXEKWf`)}var bo=Object,Eg=bo.getPrototypeOf,uw="constructor",rS="prototype",rC="configurable",dw="enumerable",B_="writable",dy="value",Kc=t=>!!t&&!!t[Cs];function Ba(t){var e;return t?H5(t)||sS(t)||!!t[YI]||!!((e=t[uw])!=null&&e[YI])||oS(t)||aS(t):!1}var bK=bo[rS][uw].toString(),ZI=new WeakMap;function H5(t){if(!t||!BP(t))return!1;const e=Eg(t);if(e===null||e===bo[rS])return!0;const n=bo.hasOwnProperty.call(e,uw)&&e[uw];if(n===Object)return!0;if(!Um(n))return!1;let r=ZI.get(n);return r===void 0&&(r=Function.toString.call(n),ZI.set(n,r)),r===bK}function iS(t,e,n=!0){$y(t)===0?(n?Reflect.ownKeys(t):bo.keys(t)).forEach(i=>{e(i,t[i],t)}):t.forEach((r,i)=>e(i,r,t))}function $y(t){const e=t[Cs];return e?e.type_:sS(t)?1:oS(t)?2:aS(t)?3:0}var QI=(t,e,n=$y(t))=>n===2?t.has(e):bo[rS].hasOwnProperty.call(t,e),iC=(t,e,n=$y(t))=>n===2?t.get(e):t[e],fw=(t,e,n,r=$y(t))=>{r===2?t.set(e,n):r===3?t.add(n):t[e]=n};function _K(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}var sS=Array.isArray,oS=t=>t instanceof Map,aS=t=>t instanceof Set,BP=t=>typeof t=="object",Um=t=>typeof t=="function",_E=t=>typeof t=="boolean";function wK(t){const e=+t;return Number.isInteger(e)&&String(e)===t}var Ic=t=>t.copy_||t.base_,HP=t=>t.modified_?t.copy_:t.base_;function sC(t,e){if(oS(t))return new Map(t);if(aS(t))return new Set(t);if(sS(t))return Array[rS].slice.call(t);const n=H5(t);if(e===!0||e==="class_only"&&!n){const r=bo.getOwnPropertyDescriptors(t);delete r[Cs];let i=Reflect.ownKeys(r);for(let s=0;s1&&bo.defineProperties(t,{set:Mb,add:Mb,clear:Mb,delete:Mb}),bo.freeze(t),e&&iS(t,(n,r)=>{VP(r,!0)},!1)),t}function SK(){ja(2)}var Mb={[dy]:SK};function lS(t){return t===null||!BP(t)?!0:bo.isFrozen(t)}var hw="MapSet",oC="Patches",JI="ArrayMethods",V5={};function Nh(t){const e=V5[t];return e||ja(0,t),e}var ek=t=>!!V5[t],fy,G5=()=>fy,MK=(t,e)=>({drafts_:[],parent_:t,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:ek(hw)?Nh(hw):void 0,arrayMethodsPlugin_:ek(JI)?Nh(JI):void 0});function tk(t,e){e&&(t.patchPlugin_=Nh(oC),t.patches_=[],t.inversePatches_=[],t.patchListener_=e)}function aC(t){lC(t),t.drafts_.forEach(EK),t.drafts_=null}function lC(t){t===fy&&(fy=t.parent_)}var nk=t=>fy=MK(fy,t);function EK(t){const e=t[Cs];e.type_===0||e.type_===1?e.revoke_():e.revoked_=!0}function rk(t,e){e.unfinalizedDrafts_=e.drafts_.length;const n=e.drafts_[0];if(t!==void 0&&t!==n){n[Cs].modified_&&(aC(e),ja(4)),Ba(t)&&(t=ik(e,t));const{patchPlugin_:i}=e;i&&i.generateReplacementPatches_(n[Cs].base_,t,e)}else t=ik(e,n);return AK(e,t,!0),aC(e),e.patches_&&e.patchListener_(e.patches_,e.inversePatches_),t!==B5?t:void 0}function ik(t,e){if(lS(e))return e;const n=e[Cs];if(!n)return pw(e,t.handledSet_,t);if(!cS(n,t))return e;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:r}=n;if(r)for(;r.length>0;)r.pop()(t);X5(n,t)}return n.copy_}function AK(t,e,n=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_&&VP(e,n)}function W5(t){t.finalized_=!0,t.scope_.unfinalizedDrafts_--}var cS=(t,e)=>t.scope_===e,TK=[];function $5(t,e,n,r){const i=Ic(t),s=t.type_;if(r!==void 0&&iC(i,r,s)===e){fw(i,r,n,s);return}if(!t.draftLocations_){const a=t.draftLocations_=new Map;iS(i,(l,c)=>{if(Kc(c)){const d=a.get(c)||[];d.push(l),a.set(c,d)}})}const o=t.draftLocations_.get(e)??TK;for(const a of o)fw(i,a,n,s)}function CK(t,e,n){t.callbacks_.push(function(i){var a;const s=e;if(!s||!cS(s,i))return;(a=i.mapSetPlugin_)==null||a.fixSetContents(s);const o=HP(s);$5(t,s.draft_??s,o,n),X5(s,i)})}function X5(t,e){var r;if(t.modified_&&!t.finalized_&&(t.type_===3||t.type_===1&&t.allIndicesReassigned_||(((r=t.assigned_)==null?void 0:r.size)??0)>0)){const{patchPlugin_:i}=e;if(i){const s=i.getPath(t);s&&i.generatePatches_(t,s,e)}W5(t)}}function PK(t,e,n){const{scope_:r}=t;if(Kc(n)){const i=n[Cs];cS(i,r)&&i.callbacks_.push(function(){H_(t);const o=HP(i);$5(t,n,o,e)})}else Ba(n)&&t.callbacks_.push(function(){const s=Ic(t);t.type_===3?s.has(n)&&pw(n,r.handledSet_,r):iC(s,e,t.type_)===n&&r.drafts_.length>1&&(t.assigned_.get(e)??!1)===!0&&t.copy_&&pw(iC(t.copy_,e,t.type_),r.handledSet_,r)})}function pw(t,e,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Kc(t)||e.has(t)||!Ba(t)||lS(t)||(e.add(t),iS(t,(r,i)=>{if(Kc(i)){const s=i[Cs];if(cS(s,n)){const o=HP(s);fw(t,r,o,t.type_),W5(s)}}else Ba(i)&&pw(i,e,n)})),t}function RK(t,e){const n=sS(t),r={type_:n?1:0,scope_:e?e.scope_:G5(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:e,base_:t,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,s=mw;n&&(i=[r],s=hy);const{revoke:o,proxy:a}=Proxy.revocable(i,s);return r.draft_=a,r.revoke_=o,[a,r]}var mw={get(t,e){if(e===Cs)return t;let n=t.scope_.arrayMethodsPlugin_;const r=t.type_===1&&typeof e=="string";if(r&&n!=null&&n.isArrayOperationMethod(e))return n.createMethodInterceptor(t,e);const i=Ic(t);if(!QI(i,e,t.type_))return NK(t,i,e);const s=i[e];if(t.finalized_||!Ba(s)||r&&t.operationMethod&&(n!=null&&n.isMutatingArrayMethod(t.operationMethod))&&wK(e))return s;if(s===wE(t.base_,e)){H_(t);const o=t.type_===1?+e:e,a=uC(t.scope_,s,t,o);return t.copy_[o]=a}return s},has(t,e){return e in Ic(t)},ownKeys(t){return Reflect.ownKeys(Ic(t))},set(t,e,n){const r=q5(Ic(t),e);if(r!=null&&r.set)return r.set.call(t.draft_,n),!0;if(!t.modified_){const i=wE(Ic(t),e),s=i==null?void 0:i[Cs];if(s&&s.base_===n)return t.copy_[e]=n,t.assigned_.set(e,!1),!0;if(_K(n,i)&&(n!==void 0||QI(t.base_,e,t.type_)))return!0;H_(t),cC(t)}return t.copy_[e]===n&&(n!==void 0||e in t.copy_)||Number.isNaN(n)&&Number.isNaN(t.copy_[e])||(t.copy_[e]=n,t.assigned_.set(e,!0),PK(t,e,n)),!0},deleteProperty(t,e){return H_(t),wE(t.base_,e)!==void 0||e in t.base_?(t.assigned_.set(e,!1),cC(t)):t.assigned_.delete(e),t.copy_&&delete t.copy_[e],!0},getOwnPropertyDescriptor(t,e){const n=Ic(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r&&{[B_]:!0,[rC]:t.type_!==1||e!=="length",[dw]:r[dw],[dy]:n[e]}},defineProperty(){ja(11)},getPrototypeOf(t){return Eg(t.base_)},setPrototypeOf(){ja(12)}},hy={};for(let t in mw){let e=mw[t];hy[t]=function(){const n=arguments;return n[0]=n[0][0],e.apply(this,n)}}hy.deleteProperty=function(t,e){return hy.set.call(this,t,e,void 0)};hy.set=function(t,e,n){return mw.set.call(this,t[0],e,n,t[0])};function wE(t,e){const n=t[Cs];return(n?Ic(n):t)[e]}function NK(t,e,n){var i;const r=q5(e,n);return r?dy in r?r[dy]:(i=r.get)==null?void 0:i.call(t.draft_):void 0}function q5(t,e){if(!(e in t))return;let n=Eg(t);for(;n;){const r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=Eg(n)}}function cC(t){t.modified_||(t.modified_=!0,t.parent_&&cC(t.parent_))}function H_(t){t.copy_||(t.assigned_=new Map,t.copy_=sC(t.base_,t.scope_.immer_.useStrictShallowCopy_))}var IK=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(n,r,i)=>{if(Um(n)&&!Um(r)){const o=r;r=n;const a=this;return function(c=o,...d){return a.produce(c,f=>r.call(this,f,...d))}}Um(r)||ja(6),i!==void 0&&!Um(i)&&ja(7);let s;if(Ba(n)){const o=nk(this),a=uC(o,n,void 0);let l=!0;try{s=r(a),l=!1}finally{l?aC(o):lC(o)}return tk(o,i),rk(s,o)}else if(!n||!BP(n)){if(s=r(n),s===void 0&&(s=n),s===B5&&(s=void 0),this.autoFreeze_&&VP(s,!0),i){const o=[],a=[];Nh(oC).generateReplacementPatches_(n,s,{patches_:o,inversePatches_:a}),i(o,a)}return s}else ja(1,n)},this.produceWithPatches=(n,r)=>{if(Um(n))return(a,...l)=>this.produceWithPatches(a,c=>n(c,...l));let i,s;return[this.produce(n,r,(a,l)=>{i=a,s=l}),i,s]},_E(e==null?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),_E(e==null?void 0:e.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),_E(e==null?void 0:e.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Ba(e)||ja(8),Kc(e)&&(e=$o(e));const n=nk(this),r=uC(n,e,void 0);return r[Cs].isManual_=!0,lC(n),r}finishDraft(e,n){const r=e&&e[Cs];(!r||!r.isManual_)&&ja(9);const{scope_:i}=r;return tk(i,n),rk(void 0,i)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,n){let r;for(r=n.length-1;r>=0;r--){const s=n[r];if(s.path.length===0&&s.op==="replace"){e=s.value;break}}r>-1&&(n=n.slice(r+1));const i=Nh(oC).applyPatches_;return Kc(e)?i(e,n):this.produce(e,s=>i(s,n))}};function uC(t,e,n,r){const[i,s]=oS(e)?Nh(hw).proxyMap_(e,n):aS(e)?Nh(hw).proxySet_(e,n):RK(e,n);return((n==null?void 0:n.scope_)??G5()).drafts_.push(i),s.callbacks_=(n==null?void 0:n.callbacks_)??[],s.key_=r,n&&r!==void 0?CK(n,s,r):s.callbacks_.push(function(l){var d;(d=l.mapSetPlugin_)==null||d.fixSetContents(s);const{patchPlugin_:c}=l;s.modified_&&c&&c.generatePatches_(s,[],l)}),i}function $o(t){return Kc(t)||ja(10,t),K5(t)}function K5(t){if(!Ba(t)||lS(t))return t;const e=t[Cs];let n,r=!0;if(e){if(!e.modified_)return e.base_;e.finalized_=!0,n=sC(t,e.scope_.immer_.useStrictShallowCopy_),r=e.scope_.immer_.shouldUseStrictIteration()}else n=sC(t,!0);return iS(n,(i,s)=>{fw(n,i,K5(s))},r),e&&(e.finalized_=!1),n}var kK=new IK,Y5=kK.produce;function Z5(t){return({dispatch:n,getState:r})=>i=>s=>typeof s=="function"?s(n,r,t):i(s)}var OK=Z5(),LK=Z5,DK=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?cw:cw.apply(null,arguments)};function Mo(t,e){function n(...r){if(e){let i=e(...r);if(!i)throw new Error(wo(0));return{type:t,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:t,payload:r[0]}}return n.toString=()=>`${t}`,n.type=t,n.match=r=>z5(r)&&r.type===t,n}var Q5=class z0 extends Array{constructor(...e){super(...e),Object.setPrototypeOf(this,z0.prototype)}static get[Symbol.species](){return z0}concat(...e){return super.concat.apply(this,e)}prepend(...e){return e.length===1&&Array.isArray(e[0])?new z0(...e[0].concat(this)):new z0(...e.concat(this))}};function sk(t){return Ba(t)?Y5(t,()=>{}):t}function Eb(t,e,n){return t.has(e)?t.get(e):t.set(e,n(e)).get(e)}function jK(t){return typeof t=="boolean"}var UK=()=>function(e){const{thunk:n=!0,immutableCheck:r=!0,serializableCheck:i=!0,actionCreatorCheck:s=!0}=e??{};let o=new Q5;return n&&(jK(n)?o.push(OK):o.push(LK(n.extraArgument))),o},J5="RTK_autoBatch",sr=()=>t=>({payload:t,meta:{[J5]:!0}}),ok=t=>e=>{setTimeout(e,t)},FK=(t,e)=>n=>{let r=!1;const i=()=>{r||(r=!0,cancelAnimationFrame(s),clearTimeout(o),n())},s=t(i),o=setTimeout(i,e)},e4=(t={type:"raf"})=>e=>(...n)=>{const r=e(...n);let i=!0,s=!1,o=!1;const a=new Set,l=t.type==="tick"?queueMicrotask:t.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?FK(window.requestAnimationFrame,100):ok(10):t.type==="callback"?t.queueNotification:ok(t.timeout),c=()=>{o=!1,s&&(s=!1,a.forEach(d=>d()))};return Object.assign({},r,{subscribe(d){const f=()=>i&&d(),m=r.subscribe(f);return a.add(d),()=>{m(),a.delete(d)}},dispatch(d){var f;try{return i=!((f=d==null?void 0:d.meta)!=null&&f[J5]),s=!i,s&&(o||(o=!0,l(c))),r.dispatch(d)}finally{i=!0}}})},zK=t=>function(n){const{autoBatch:r=!0}=n??{};let i=new Q5(t);return r&&i.push(e4(typeof r=="object"?r:void 0)),i};function BK(t){const e=UK(),{reducer:n=void 0,middleware:r,devTools:i=!0,preloadedState:s=void 0,enhancers:o=void 0}=t||{};let a;if(typeof n=="function")a=n;else if(zP(n))a=F5(n);else throw new Error(wo(1));let l;typeof r=="function"?l=r(e):l=e();let c=cw;i&&(c=DK({trace:!1,...typeof i=="object"&&i}));const d=xK(...l),f=zK(d);let m=typeof o=="function"?o(f):f();const y=c(...m);return U5(a,s,y)}function t4(t){const e={},n=[];let r;const i={addCase(s,o){const a=typeof s=="string"?s:s.type;if(!a)throw new Error(wo(28));if(a in e)throw new Error(wo(29));return e[a]=o,i},addAsyncThunk(s,o){return o.pending&&(e[s.pending.type]=o.pending),o.rejected&&(e[s.rejected.type]=o.rejected),o.fulfilled&&(e[s.fulfilled.type]=o.fulfilled),o.settled&&n.push({matcher:s.settled,reducer:o.settled}),i},addMatcher(s,o){return n.push({matcher:s,reducer:o}),i},addDefaultCase(s){return r=s,i}};return t(i),[e,n,r]}function HK(t){return typeof t=="function"}function VK(t,e){let[n,r,i]=t4(e),s;if(HK(t))s=()=>sk(t());else{const a=sk(t);s=()=>a}function o(a=s(),l){let c=[n[l.type],...r.filter(({matcher:d})=>d(l)).map(({reducer:d})=>d)];return c.filter(d=>!!d).length===0&&(c=[i]),c.reduce((d,f)=>{if(f)if(Kc(d)){const y=f(d,l);return y===void 0?d:y}else{if(Ba(d))return Y5(d,m=>f(m,l));{const m=f(d,l);if(m===void 0){if(d===null)return d;throw Error("A case reducer on a non-draftable value must not return undefined")}return m}}return d},a)}return o.getInitialState=s,o}var GK="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",WK=(t=21)=>{let e="",n=t;for(;n--;)e+=GK[Math.random()*64|0];return e},$K=Symbol.for("rtk-slice-createasyncthunk");function XK(t,e){return`${t}/${e}`}function qK({creators:t}={}){var n;const e=(n=t==null?void 0:t.asyncThunk)==null?void 0:n[$K];return function(i){const{name:s,reducerPath:o=s}=i;if(!s)throw new Error(wo(11));const a=(typeof i.reducers=="function"?i.reducers(YK()):i.reducers)||{},l=Object.keys(a),c={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},d={addCase(C,O){const N=typeof C=="string"?C:C.type;if(!N)throw new Error(wo(12));if(N in c.sliceCaseReducersByType)throw new Error(wo(13));return c.sliceCaseReducersByType[N]=O,d},addMatcher(C,O){return c.sliceMatchers.push({matcher:C,reducer:O}),d},exposeAction(C,O){return c.actionCreators[C]=O,d},exposeCaseReducer(C,O){return c.sliceCaseReducersByName[C]=O,d}};l.forEach(C=>{const O=a[C],N={reducerName:C,type:XK(s,C),createNotation:typeof i.reducers=="function"};QK(O)?eY(N,O,d,e):ZK(N,O,d)});function f(){const[C={},O=[],N=void 0]=typeof i.extraReducers=="function"?t4(i.extraReducers):[i.extraReducers],D={...C,...c.sliceCaseReducersByType};return VK(i.initialState,F=>{for(let G in D)F.addCase(G,D[G]);for(let G of c.sliceMatchers)F.addMatcher(G.matcher,G.reducer);for(let G of O)F.addMatcher(G.matcher,G.reducer);N&&F.addDefaultCase(N)})}const m=C=>C,y=new Map,x=new WeakMap;let S;function w(C,O){return S||(S=f()),S(C,O)}function _(){return S||(S=f()),S.getInitialState()}function E(C,O=!1){function N(F){let G=F[C];return typeof G>"u"&&O&&(G=Eb(x,N,_)),G}function D(F=m){const G=Eb(y,O,()=>new WeakMap);return Eb(G,F,()=>{const k={};for(const[U,H]of Object.entries(i.selectors??{}))k[U]=KK(H,F,()=>Eb(x,F,_),O);return k})}return{reducerPath:C,getSelectors:D,get selectors(){return D(N)},selectSlice:N}}const T={name:s,reducer:w,actions:c.actionCreators,caseReducers:c.sliceCaseReducersByName,getInitialState:_,...E(o),injectInto(C,{reducerPath:O,...N}={}){const D=O??o;return C.inject({reducerPath:D,reducer:w},N),{...T,...E(D,!0)}}};return T}}function KK(t,e,n,r){function i(s,...o){let a=e(s);return typeof a>"u"&&r&&(a=n()),t(a,...o)}return i.unwrapped=t,i}var cs=qK();function YK(){function t(e,n){return{_reducerDefinitionType:"asyncThunk",payloadCreator:e,...n}}return t.withTypes=()=>t,{reducer(e){return Object.assign({[e.name](...n){return e(...n)}}[e.name],{_reducerDefinitionType:"reducer"})},preparedReducer(e,n){return{_reducerDefinitionType:"reducerWithPrepare",prepare:e,reducer:n}},asyncThunk:t}}function ZK({type:t,reducerName:e,createNotation:n},r,i){let s,o;if("reducer"in r){if(n&&!JK(r))throw new Error(wo(17));s=r.reducer,o=r.prepare}else s=r;i.addCase(t,s).exposeCaseReducer(e,s).exposeAction(e,o?Mo(t,o):Mo(t))}function QK(t){return t._reducerDefinitionType==="asyncThunk"}function JK(t){return t._reducerDefinitionType==="reducerWithPrepare"}function eY({type:t,reducerName:e},n,r,i){if(!i)throw new Error(wo(18));const{payloadCreator:s,fulfilled:o,pending:a,rejected:l,settled:c,options:d}=n,f=i(t,s,d);r.exposeAction(e,f),o&&r.addCase(f.fulfilled,o),a&&r.addCase(f.pending,a),l&&r.addCase(f.rejected,l),c&&r.addMatcher(f.settled,c),r.exposeCaseReducer(e,{fulfilled:o||Ab,pending:a||Ab,rejected:l||Ab,settled:c||Ab})}function Ab(){}var tY="task",n4="listener",r4="completed",GP="cancelled",nY=`task-${GP}`,rY=`task-${r4}`,dC=`${n4}-${GP}`,iY=`${n4}-${r4}`,uS=class{constructor(t){Gs(this,"code");Gs(this,"name","TaskAbortError");Gs(this,"message");this.code=t,this.message=`${tY} ${GP} (reason: ${t})`}},WP=(t,e)=>{if(typeof t!="function")throw new TypeError(wo(32))},gw=()=>{},i4=(t,e=gw)=>(t.catch(e),t),s4=(t,e)=>(t.addEventListener("abort",e,{once:!0}),()=>t.removeEventListener("abort",e)),bh=t=>{if(t.aborted)throw new uS(t.reason)};function o4(t,e){let n=gw;return new Promise((r,i)=>{const s=()=>i(new uS(t.reason));if(t.aborted){s();return}n=s4(t,s),e.finally(()=>n()).then(r,i)}).finally(()=>{n=gw})}var sY=async(t,e)=>{try{return await Promise.resolve(),{status:"ok",value:await t()}}catch(n){return{status:n instanceof uS?"cancelled":"rejected",error:n}}finally{e==null||e()}},vw=t=>e=>i4(o4(t,e).then(n=>(bh(t),n))),a4=t=>{const e=vw(t);return n=>e(new Promise(r=>setTimeout(r,n)))},{assign:eg}=Object,ak={},dS="listenerMiddleware",oY=(t,e)=>{const n=r=>s4(t,()=>r.abort(t.reason));return(r,i)=>{WP(r);const s=new AbortController;n(s);const o=sY(async()=>{bh(t),bh(s.signal);const a=await r({pause:vw(s.signal),delay:a4(s.signal),signal:s.signal});return bh(s.signal),a},()=>s.abort(rY));return i!=null&&i.autoJoin&&e.push(o.catch(gw)),{result:vw(t)(o),cancel(){s.abort(nY)}}}},aY=(t,e)=>{const n=async(r,i)=>{bh(e);let s=()=>{};const a=[new Promise((l,c)=>{let d=t({predicate:r,effect:(f,m)=>{m.unsubscribe(),l([f,m.getState(),m.getOriginalState()])}});s=()=>{d(),c()}})];i!=null&&a.push(new Promise(l=>setTimeout(l,i,null)));try{const l=await o4(e,Promise.race(a));return bh(e),l}finally{s()}};return((r,i)=>i4(n(r,i)))},l4=t=>{let{type:e,actionCreator:n,matcher:r,predicate:i,effect:s}=t;if(e)i=Mo(e).match;else if(n)e=n.type,i=n.match;else if(r)i=r;else if(!i)throw new Error(wo(21));return WP(s),{predicate:i,type:e,effect:s}},c4=eg(t=>{const{type:e,predicate:n,effect:r}=l4(t);return{id:WK(),effect:r,type:e,predicate:n,pending:new Set,unsubscribe:()=>{throw new Error(wo(22))}}},{withTypes:()=>c4}),lk=(t,e)=>{const{type:n,effect:r,predicate:i}=l4(e);return Array.from(t.values()).find(s=>(typeof n=="string"?s.type===n:s.predicate===i)&&s.effect===r)},fC=t=>{t.pending.forEach(e=>{e.abort(dC)})},lY=(t,e)=>()=>{for(const n of e.keys())fC(n);t.clear()},ck=(t,e,n)=>{try{t(e,n)}catch(r){setTimeout(()=>{throw r},0)}},u4=eg(Mo(`${dS}/add`),{withTypes:()=>u4}),cY=Mo(`${dS}/removeAll`),d4=eg(Mo(`${dS}/remove`),{withTypes:()=>d4}),uY=(...t)=>{console.error(`${dS}/error`,...t)},Xy=(t={})=>{const e=new Map,n=new Map,r=y=>{const x=n.get(y)??0;n.set(y,x+1)},i=y=>{const x=n.get(y)??1;x===1?n.delete(y):n.set(y,x-1)},{extra:s,onError:o=uY}=t;WP(o);const a=y=>(y.unsubscribe=()=>e.delete(y.id),e.set(y.id,y),x=>{y.unsubscribe(),x!=null&&x.cancelActive&&fC(y)}),l=(y=>{const x=lk(e,y)??c4(y);return a(x)});eg(l,{withTypes:()=>l});const c=y=>{const x=lk(e,y);return x&&(x.unsubscribe(),y.cancelActive&&fC(x)),!!x};eg(c,{withTypes:()=>c});const d=async(y,x,S,w)=>{const _=new AbortController,E=aY(l,_.signal),T=[];try{y.pending.add(_),r(y),await Promise.resolve(y.effect(x,eg({},S,{getOriginalState:w,condition:(C,O)=>E(C,O).then(Boolean),take:E,delay:a4(_.signal),pause:vw(_.signal),extra:s,signal:_.signal,fork:oY(_.signal,T),unsubscribe:y.unsubscribe,subscribe:()=>{e.set(y.id,y)},cancelActiveListeners:()=>{y.pending.forEach((C,O,N)=>{C!==_&&(C.abort(dC),N.delete(C))})},cancel:()=>{_.abort(dC),y.pending.delete(_)},throwIfCancelled:()=>{bh(_.signal)}})))}catch(C){C instanceof uS||ck(o,C,{raisedBy:"effect"})}finally{await Promise.all(T),_.abort(iY),i(y),y.pending.delete(_)}},f=lY(e,n);return{middleware:y=>x=>S=>{if(!z5(S))return x(S);if(u4.match(S))return l(S.payload);if(cY.match(S)){f();return}if(d4.match(S))return c(S.payload);let w=y.getState();const _=()=>{if(w===ak)throw new Error(wo(23));return w};let E;try{if(E=x(S),e.size>0){const T=y.getState(),C=Array.from(e.values());for(const O of C){let N=!1;try{N=O.predicate(S,T,w)}catch(D){N=!1,ck(o,D,{raisedBy:"predicate"})}N&&d(O,S,y,_)}}}finally{w=ak}return E},startListening:l,stopListening:c,clearListeners:f}};function wo(t){return`Minified Redux Toolkit error #${t}; visit https://redux-toolkit.js.org/Errors?code=${t} for the full message or use the non-minified dev environment for full errors. `}var dY={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},f4=cs({name:"chartLayout",initialState:dY,reducers:{setLayout(t,e){t.layoutType=e.payload},setChartSize(t,e){t.width=e.payload.width,t.height=e.payload.height},setMargin(t,e){var n,r,i,s;t.margin.top=(n=e.payload.top)!==null&&n!==void 0?n:0,t.margin.right=(r=e.payload.right)!==null&&r!==void 0?r:0,t.margin.bottom=(i=e.payload.bottom)!==null&&i!==void 0?i:0,t.margin.left=(s=e.payload.left)!==null&&s!==void 0?s:0},setScale(t,e){t.scale=e.payload}}}),fS=f4.actions,fY=fS.setMargin,hY=fS.setLayout,pY=fS.setChartSize,mY=fS.setScale,gY=f4.reducer;function h4(t,e,n){return Array.isArray(t)&&t&&e+n!==0?t.slice(e,n+1):t}function wn(t){return Number.isFinite(t)}function Ll(t){return typeof t=="number"&&t>0&&Number.isFinite(t)}function uk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Wm(t){for(var e=1;e{if(e&&n){var r=n.width,i=n.height,s=e.align,o=e.verticalAlign,a=e.layout;if((a==="vertical"||a==="horizontal"&&o==="middle")&&s!=="center"&&It(t[s]))return Wm(Wm({},t),{},{[s]:t[s]+(r||0)});if((a==="horizontal"||a==="vertical"&&s==="center")&&o!=="middle"&&It(t[o]))return Wm(Wm({},t),{},{[o]:t[o]+(i||0)})}return t},Bl=(t,e)=>t==="horizontal"&&e==="xAxis"||t==="vertical"&&e==="yAxis"||t==="centric"&&e==="angleAxis"||t==="radial"&&e==="radiusAxis",p4=(t,e,n,r)=>{if(r)return t.map(a=>a.coordinate);var i,s,o=t.map(a=>(a.coordinate===e&&(i=!0),a.coordinate===n&&(s=!0),a.coordinate));return i||o.push(e),s||o.push(n),o},m4=(t,e,n)=>{if(!t)return null;var r=t.duplicateDomain,i=t.type,s=t.range,o=t.scale,a=t.realScaleType,l=t.isCategorical,c=t.categoricalDomain,d=t.tickCount,f=t.ticks,m=t.niceTicks,y=t.axisType;if(!o)return null;var x=a==="scaleBand"&&o.bandwidth?o.bandwidth()/2:2,S=i==="category"&&o.bandwidth?o.bandwidth()/x:0;if(S=y==="angleAxis"&&s&&s.length>=2?Wo(s[0]-s[1])*2*S:S,f||m){var w=(f||m||[]).map((_,E)=>{var T=r?r.indexOf(_):_,C=o.map(T);return wn(C)?{coordinate:C+S,value:_,offset:S,index:E}:null}).filter(Ys);return w}return l&&c?c.map((_,E)=>{var T=o.map(_);return wn(T)?{coordinate:T+S,value:_,index:E,offset:S}:null}).filter(Ys):o.ticks&&d!=null?o.ticks(d).map((_,E)=>{var T=o.map(_);return wn(T)?{coordinate:T+S,value:_,index:E,offset:S}:null}).filter(Ys):o.domain().map((_,E)=>{var T=o.map(_);return wn(T)?{coordinate:T+S,value:r?r[_]:_,index:E,offset:S}:null}).filter(Ys)},_Y=t=>{var e,n=t.length;if(!(n<=0)){var r=(e=t[0])===null||e===void 0?void 0:e.length;if(!(r==null||r<=0))for(var i=0;i=0?(c[0]=s,s+=m,c[1]=s):(c[0]=o,o+=m,c[1]=o)}}}},wY=t=>{var e,n=t.length;if(!(n<=0)){var r=(e=t[0])===null||e===void 0?void 0:e.length;if(!(r==null||r<=0))for(var i=0;i=0?(l[0]=s,s+=c,l[1]=s):(l[0]=0,l[1]=0)}}}},SY={sign:_Y,expand:FX,none:Ph,silhouette:zX,wiggle:BX,positive:wY},MY=(t,e,n)=>{var r,i=(r=SY[n])!==null&&r!==void 0?r:Ph,s=UX().keys(e).value((a,l)=>Number(yi(a,l,0))).order(QT).offset(i),o=s(t);return o.forEach((a,l)=>{a.forEach((c,d)=>{var f=yi(t[d],e[l],0);Array.isArray(f)&&f.length===2&&It(f[0])&&It(f[1])&&(c[0]=f[0],c[1]=f[1])})}),o};function EY(t){return t==null?void 0:String(t)}function dk(t){var e=t.axis,n=t.ticks,r=t.bandSize,i=t.entry,s=t.index,o=t.dataKey;if(e.type==="category"){if(!e.allowDuplicatedCategory&&e.dataKey&&!Hi(i[e.dataKey])){var a=_5(n,"value",i[e.dataKey]);if(a)return a.coordinate+r/2}return n!=null&&n[s]?n[s].coordinate+r/2:null}var l=yi(i,Hi(o)?e.dataKey:o),c=e.scale.map(l);return It(c)?c:null}var AY=t=>{var e=t.flat(2).filter(It);return[Math.min(...e),Math.max(...e)]},TY=t=>[t[0]===1/0?0:t[0],t[1]===-1/0?0:t[1]],CY=(t,e,n)=>{if(!(t==null||Object.keys(t).length===0))return TY(Object.keys(t).reduce((r,i)=>{var s=t[i];if(!s)return r;var o=s.stackedData,a=o.reduce((l,c)=>{var d=h4(c,e,n),f=AY(d);return!wn(f[0])||!wn(f[1])?l:[Math.min(l[0],f[0]),Math.max(l[1],f[1])]},[1/0,-1/0]);return[Math.min(a[0],r[0]),Math.max(a[1],r[1])]},[1/0,-1/0]))},fk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,hk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,yw=(t,e,n)=>{if(t&&t.scale&&t.scale.bandwidth){var r=t.scale.bandwidth();if(!n||r>0)return r}if(t&&e&&e.length>=2){for(var i=nS(e,d=>d.coordinate),s=1/0,o=1,a=i.length;o{if(e==="horizontal")return t.relativeX;if(e==="vertical")return t.relativeY},RY=(t,e)=>e==="centric"?t.angle:t.radius,tu=t=>t.layout.width,nu=t=>t.layout.height,NY=t=>t.layout.scale,v4=t=>t.layout.margin,hS=Oe(t=>t.cartesianAxis.xAxis,t=>Object.values(t)),pS=Oe(t=>t.cartesianAxis.yAxis,t=>Object.values(t)),IY="data-recharts-item-index",kY="data-recharts-item-id",qy=60;function mk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Tb(t){for(var e=1;et.brush.height;function UY(t){var e=pS(t);return e.reduce((n,r)=>{if(r.orientation==="left"&&!r.mirror&&!r.hide){var i=typeof r.width=="number"?r.width:qy;return n+i}return n},0)}function FY(t){var e=pS(t);return e.reduce((n,r)=>{if(r.orientation==="right"&&!r.mirror&&!r.hide){var i=typeof r.width=="number"?r.width:qy;return n+i}return n},0)}function zY(t){var e=hS(t);return e.reduce((n,r)=>r.orientation==="top"&&!r.mirror&&!r.hide?n+r.height:n,0)}function BY(t){var e=hS(t);return e.reduce((n,r)=>r.orientation==="bottom"&&!r.mirror&&!r.hide?n+r.height:n,0)}var Gi=Oe([tu,nu,v4,jY,UY,FY,zY,BY,j5,lK],(t,e,n,r,i,s,o,a,l,c)=>{var d={left:(n.left||0)+i,right:(n.right||0)+s},f={top:(n.top||0)+o,bottom:(n.bottom||0)+a},m=Tb(Tb({},f),d),y=m.bottom;m.bottom+=r,m=bY(m,l,c);var x=t-m.left-m.right,S=e-m.top-m.bottom;return Tb(Tb({brushBottom:y},m),{},{width:Math.max(x,0),height:Math.max(S,0)})}),HY=Oe(Gi,t=>({x:t.left,y:t.top,width:t.width,height:t.height})),y4=Oe(tu,nu,(t,e)=>({x:0,y:0,width:t,height:e})),VY=R.createContext(null),Js=()=>R.useContext(VY)!=null,mS=t=>t.brush,gS=Oe([mS,Gi,v4],(t,e,n)=>({height:t.height,x:It(t.x)?t.x:e.left,y:It(t.y)?t.y:e.top+e.height+e.brushBottom-((n==null?void 0:n.bottom)||0),width:It(t.width)?t.width:e.width}));function GY(t,e,{signal:n,edges:r}={}){let i,s=null;const o=r!=null&&r.includes("leading"),a=r==null||r.includes("trailing"),l=()=>{s!==null&&(t.apply(i,s),i=void 0,s=null)},c=()=>{a&&l(),y()};let d=null;const f=()=>{d!=null&&clearTimeout(d),d=setTimeout(()=>{d=null,c()},e)},m=()=>{d!==null&&(clearTimeout(d),d=null)},y=()=>{m(),i=void 0,s=null},x=()=>{l()},S=function(...w){if(n!=null&&n.aborted)return;i=this,s=w;const _=d==null;f(),o&&_&&l()};return S.schedule=f,S.cancel=y,S.flush=x,n==null||n.addEventListener("abort",y,{once:!0}),S}function WY(t,e=0,n={}){typeof n!="object"&&(n={});const{leading:r=!1,trailing:i=!0,maxWait:s}=n,o=Array(2);r&&(o[0]="leading"),i&&(o[1]="trailing");let a,l=null;const c=GY(function(...m){a=t.apply(this,m),l=null},e,{edges:o}),d=function(...m){return s!=null&&(l===null&&(l=Date.now()),Date.now()-l>=s)?(a=t.apply(this,m),l=Date.now(),c.cancel(),c.schedule(),a):(c.apply(this,m),a)},f=()=>(c.flush(),a);return d.cancel=c.cancel,d.flush=f,d}function $Y(t,e=0,n={}){const{leading:r=!0,trailing:i=!0}=n;return WY(t,e,{leading:r,maxWait:e,trailing:i})}var xw=function(e,n){for(var r=arguments.length,i=new Array(r>2?r-2:0),s=2;si[o++]))}},wl={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},x4=(t,e,n)=>{var r=n.width,i=r===void 0?wl.width:r,s=n.height,o=s===void 0?wl.height:s,a=n.aspect,l=n.maxHeight,c=Rh(i)?t:Number(i),d=Rh(o)?e:Number(o);return a&&a>0&&(c?d=c/a:d&&(c=d*a),l&&d!=null&&d>l&&(d=l)),{calculatedWidth:c,calculatedHeight:d}},XY={width:0,height:0,overflow:"visible"},qY={width:0,overflowX:"visible"},KY={height:0,overflowY:"visible"},YY={},ZY=t=>{var e=t.width,n=t.height,r=Rh(e),i=Rh(n);return r&&i?XY:r?qY:i?KY:YY};function QY(t){var e=t.width,n=t.height,r=t.aspect,i=e,s=n;return i===void 0&&s===void 0?(i=wl.width,s=wl.height):i===void 0?i=r&&r>0?void 0:wl.width:s===void 0&&(s=r&&r>0?void 0:wl.height),{width:i,height:s}}var JY=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function bw(){return bw=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n({width:n,height:r}),[n,r]);return uZ(i)?R.createElement(b4.Provider,{value:i},e):null}var $P=()=>R.useContext(b4),dZ=R.forwardRef((t,e)=>{var n=t.aspect,r=t.initialDimension,i=r===void 0?wl.initialDimension:r,s=t.width,o=t.height,a=t.minWidth,l=a===void 0?wl.minWidth:a,c=t.minHeight,d=t.maxHeight,f=t.children,m=t.debounce,y=m===void 0?wl.debounce:m,x=t.id,S=t.className,w=t.onResize,_=t.style,E=_===void 0?{}:_,T=lZ(t,JY),C=R.useRef(null),O=R.useRef();O.current=w,R.useImperativeHandle(e,()=>C.current);var N=R.useState({containerWidth:i.width,containerHeight:i.height}),D=rZ(N,2),F=D[0],G=D[1],k=R.useCallback((se,fe)=>{G(B=>{var J=Math.round(se),Y=Math.round(fe);return B.containerWidth===J&&B.containerHeight===Y?B:{containerWidth:J,containerHeight:Y}})},[]);R.useEffect(()=>{if(C.current==null||typeof ResizeObserver>"u")return Vg;var se=V=>{var q,pe=V[0];if(pe!=null){var ae=pe.contentRect,le=ae.width,be=ae.height;k(le,be),(q=O.current)===null||q===void 0||q.call(O,le,be)}};y>0&&(se=$Y(se,y,{trailing:!0,leading:!1}));var fe=new ResizeObserver(se),B=C.current.getBoundingClientRect(),J=B.width,Y=B.height;return k(J,Y),fe.observe(C.current),()=>{fe.disconnect()}},[k,y]);var U=F.containerWidth,H=F.containerHeight;xw(!n||n>0,"The aspect(%s) must be greater than zero.",n);var ne=x4(U,H,{width:s,height:o,aspect:n,maxHeight:d}),te=ne.calculatedWidth,he=ne.calculatedHeight;return xw(U<0||H<0||te!=null&&te>0||he!=null&&he>0,`The width(%s) and height(%s) of chart should be greater than 0, + */var BI;function Bq(){if(BI)return vE;BI=1;var t=$h(),e=zq();function n(c,d){return c===d&&(c!==0||1/c===1/d)||c!==c&&d!==d}var r=typeof Object.is=="function"?Object.is:n,i=e.useSyncExternalStore,s=t.useRef,o=t.useEffect,a=t.useMemo,l=t.useDebugValue;return vE.useSyncExternalStoreWithSelector=function(c,d,f,m,y){var x=s(null);if(x.current===null){var S={hasValue:!1,value:null};x.current=S}else S=x.current;x=a(function(){function _(N){if(!E){if(E=!0,T=N,N=m(N),y!==void 0&&S.hasValue){var D=S.value;if(y(D,N))return C=D}return C=N}if(D=C,r(T,N))return D;var F=m(N);return y!==void 0&&y(D,F)?(T=N,D):(T=N,C=F)}var E=!1,T,C,O=f===void 0?null:f;return[function(){return _(d())},O===null?void 0:function(){return _(O())}]},[d,f,m,y]);var w=i(c,x[0],x[1]);return o(function(){S.hasValue=!0,S.value=w},[w]),l(w),w},vE}var HI;function Hq(){return HI||(HI=1,gE.exports=Bq()),gE.exports}var Vq=Hq(),FP=R.createContext(null),Gq=t=>t,Wr=()=>{var t=R.useContext(FP);return t?t.store.dispatch:Gq},z_=()=>{},Wq=()=>z_,$q=(t,e)=>t===e;function zt(t){var e=R.useContext(FP),n=R.useMemo(()=>e?r=>{if(r!=null)return t(r)}:z_,[e,t]);return Vq.useSyncExternalStoreWithSelector(e?e.subscription.addNestedSub:Wq,e?e.store.getState:z_,e?e.store.getState:z_,n,$q)}function Xq(t,e=`expected a function, instead received ${typeof t}`){if(typeof t!="function")throw new TypeError(e)}function qq(t,e="expected all items to be functions, instead received the following types: "){if(!t.every(n=>typeof n=="function")){const n=t.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${e}[${n}]`)}}var VI=t=>Array.isArray(t)?t:[t];function Kq(t){const e=Array.isArray(t[0])?t[0]:t;return qq(e,"createSelector expects all input-selectors to be functions, but received the following types: "),e}function Yq(t,e){const n=[],{length:r}=t;for(let i=0;itypeof WeakRef>"u"?Zq:WeakRef,O5=Qq(),Jq=0,GI=1;function wb(){return{s:Jq,v:void 0,o:null,p:null}}function eK(t){return t instanceof O5?t.deref():t}function L5(t,e={}){let n=wb();const{resultEqualityCheck:r}=e;let i,s=0;function o(){let a=n;const{length:l}=arguments;for(let f=0,m=l;f{n=wb(),o.resetResultsCount()},o.resultsCount=()=>s,o.resetResultsCount=()=>{s=0},o}function tK(t,...e){const n=typeof t=="function"?{memoize:t,memoizeOptions:e}:t,r=(...i)=>{let s=0,o=0,a,l={},c=i.pop();typeof c=="object"&&(l=c,c=i.pop()),Xq(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const d={...n,...l},{memoize:f,memoizeOptions:m=[],argsMemoize:y=L5,argsMemoizeOptions:x=[]}=d,S=VI(m),w=VI(x),_=Kq(i),E=f(function(){return s++,c.apply(null,arguments)},...S),T=y(function(){o++;const O=Yq(_,arguments);return a=E.apply(null,O),a},...w);return Object.assign(T,{resultFunc:c,memoizedResultFunc:E,dependencies:_,dependencyRecomputations:()=>o,resetDependencyRecomputations:()=>{o=0},lastResult:()=>a,recomputations:()=>s,resetRecomputations:()=>{s=0},memoize:f,argsMemoize:y})};return Object.assign(r,{withTypes:()=>r}),r}var ke=tK(L5);function nK(t,e=1){const n=[],r=Math.floor(e),i=(s,o)=>{for(let a=0;a{if(t!==e){const r=WI(t),i=WI(e);if(r===i&&r===0){if(te)return n==="desc"?-1:1}return n==="desc"?i-r:r-i}return 0};function D5(t){return typeof t=="symbol"||t instanceof Symbol}const iK=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,sK=/^\w*$/;function oK(t,e){return Array.isArray(t)?!1:typeof t=="number"||typeof t=="boolean"||t==null||D5(t)?!0:typeof t=="string"&&(sK.test(t)||!iK.test(t))||e!=null}function aK(t,e,n,r){if(t==null)return[];n=n,Array.isArray(t)||(t=Object.values(t)),Array.isArray(e)||(e=e==null?[null]:[e]),e.length===0&&(e=[null]),Array.isArray(n)||(n=n==null?[]:[n]),n=n.map(a=>String(a));const i=(a,l)=>{let c=a;for(let d=0;dl==null||a==null?l:typeof a=="object"&&"key"in a?Object.hasOwn(l,a.key)?l[a.key]:i(l,a.path):typeof a=="function"?a(l):Array.isArray(a)?i(l,a):typeof l=="object"?l[a]:l,o=e.map(a=>(Array.isArray(a)&&a.length===1&&(a=a[0]),a==null||typeof a=="function"||Array.isArray(a)||oK(a)?a:{key:a,path:LP(a)}));return t.map(a=>({original:a,criteria:o.map(l=>s(l,a))})).slice().sort((a,l)=>{for(let c=0;ca.original)}function nS(t,...e){const n=e.length;return n>1&&nC(t,e[0],e[1])?e=[]:n>2&&nC(e[0],e[1],e[2])&&(e=[e[0]]),aK(t,nK(e),["asc"])}var j5=t=>t.legend.settings,lK=t=>t.legend.size,cK=t=>t.legend.payload;ke([cK,j5],(t,e)=>{var n=e.itemSorter,r=t.flat(1);return n?nS(r,n):r});function uK(t,e){return pK(t)||hK(t,e)||fK(t,e)||dK()}function dK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function fK(t,e){if(t){if(typeof t=="string")return $I(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$I(t,e):void 0}}function $I(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);nSb||Math.abs(t.left-e.left)>Sb||Math.abs(t.top-e.top)>Sb||Math.abs(t.width-e.width)>Sb}function qI(t){var e=t.getBoundingClientRect();return{height:e.height,left:e.left,top:e.top,width:e.width}}function mK(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],e=R.useState({height:0,left:0,top:0,width:0}),n=uK(e,2),r=n[0],i=n[1],s=R.useRef(null),o=R.useRef(r);o.current=r;var a=R.useCallback(l=>{if(s.current!=null&&(s.current.disconnect(),s.current=null),l!=null){var c=qI(l);if(XI(c,o.current)&&i(c),typeof ResizeObserver<"u"){var d=new ResizeObserver(()=>{var f=qI(l);XI(f,o.current)&&i(f)});d.observe(l),s.current=d}}},[...t]);return R.useEffect(()=>()=>{var l;(l=s.current)===null||l===void 0||l.disconnect()},[]),[r,a]}function Li(t){return`Minified Redux error #${t}; visit https://redux.js.org/Errors?code=${t} for the full message or use the non-minified dev environment for full errors. `}var gK=typeof Symbol=="function"&&Symbol.observable||"@@observable",KI=gK,bE=()=>Math.random().toString(36).substring(7).split("").join("."),vK={INIT:`@@redux/INIT${bE()}`,REPLACE:`@@redux/REPLACE${bE()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${bE()}`},lw=vK;function zP(t){if(typeof t!="object"||t===null)return!1;let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e||Object.getPrototypeOf(t)===null}function U5(t,e,n){if(typeof t!="function")throw new Error(Li(2));if(typeof e=="function"&&typeof n=="function"||typeof n=="function"&&typeof arguments[3]=="function")throw new Error(Li(0));if(typeof e=="function"&&typeof n>"u"&&(n=e,e=void 0),typeof n<"u"){if(typeof n!="function")throw new Error(Li(1));return n(U5)(t,e)}let r=t,i=e,s=new Map,o=s,a=0,l=!1;function c(){o===s&&(o=new Map,s.forEach((w,_)=>{o.set(_,w)}))}function d(){if(l)throw new Error(Li(3));return i}function f(w){if(typeof w!="function")throw new Error(Li(4));if(l)throw new Error(Li(5));let _=!0;c();const E=a++;return o.set(E,w),function(){if(_){if(l)throw new Error(Li(6));_=!1,c(),o.delete(E),s=null}}}function m(w){if(!zP(w))throw new Error(Li(7));if(typeof w.type>"u")throw new Error(Li(8));if(typeof w.type!="string")throw new Error(Li(17));if(l)throw new Error(Li(9));try{l=!0,i=r(i,w)}finally{l=!1}return(s=o).forEach(E=>{E()}),w}function y(w){if(typeof w!="function")throw new Error(Li(10));r=w,m({type:lw.REPLACE})}function x(){const w=f;return{subscribe(_){if(typeof _!="object"||_===null)throw new Error(Li(11));function E(){const C=_;C.next&&C.next(d())}return E(),{unsubscribe:w(E)}},[KI](){return this}}}return m({type:lw.INIT}),{dispatch:m,subscribe:f,getState:d,replaceReducer:y,[KI]:x}}function yK(t){Object.keys(t).forEach(e=>{const n=t[e];if(typeof n(void 0,{type:lw.INIT})>"u")throw new Error(Li(12));if(typeof n(void 0,{type:lw.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(Li(13))})}function F5(t){const e=Object.keys(t),n={};for(let s=0;s"u")throw a&&a.type,new Error(Li(14));c[f]=x,l=l||x!==y}return l=l||r.length!==Object.keys(o).length,l?c:o}}function cw(...t){return t.length===0?e=>e:t.length===1?t[0]:t.reduce((e,n)=>(...r)=>e(n(...r)))}function xK(...t){return e=>(n,r)=>{const i=e(n,r);let s=()=>{throw new Error(Li(15))};const o={getState:i.getState,dispatch:(l,...c)=>s(l,...c)},a=t.map(l=>l(o));return s=cw(...a)(i.dispatch),{...i,dispatch:s}}}function z5(t){return zP(t)&&"type"in t&&typeof t.type=="string"}var B5=Symbol.for("immer-nothing"),YI=Symbol.for("immer-draftable"),Cs=Symbol.for("immer-state");function ja(t,...e){throw new Error(`[Immer] minified error nr: ${t}. Full error at: https://bit.ly/3cXEKWf`)}var bo=Object,Eg=bo.getPrototypeOf,uw="constructor",rS="prototype",rC="configurable",dw="enumerable",B_="writable",dy="value",Kc=t=>!!t&&!!t[Cs];function Ba(t){var e;return t?H5(t)||sS(t)||!!t[YI]||!!((e=t[uw])!=null&&e[YI])||oS(t)||aS(t):!1}var bK=bo[rS][uw].toString(),ZI=new WeakMap;function H5(t){if(!t||!BP(t))return!1;const e=Eg(t);if(e===null||e===bo[rS])return!0;const n=bo.hasOwnProperty.call(e,uw)&&e[uw];if(n===Object)return!0;if(!Fm(n))return!1;let r=ZI.get(n);return r===void 0&&(r=Function.toString.call(n),ZI.set(n,r)),r===bK}function iS(t,e,n=!0){$y(t)===0?(n?Reflect.ownKeys(t):bo.keys(t)).forEach(i=>{e(i,t[i],t)}):t.forEach((r,i)=>e(i,r,t))}function $y(t){const e=t[Cs];return e?e.type_:sS(t)?1:oS(t)?2:aS(t)?3:0}var QI=(t,e,n=$y(t))=>n===2?t.has(e):bo[rS].hasOwnProperty.call(t,e),iC=(t,e,n=$y(t))=>n===2?t.get(e):t[e],fw=(t,e,n,r=$y(t))=>{r===2?t.set(e,n):r===3?t.add(n):t[e]=n};function _K(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}var sS=Array.isArray,oS=t=>t instanceof Map,aS=t=>t instanceof Set,BP=t=>typeof t=="object",Fm=t=>typeof t=="function",_E=t=>typeof t=="boolean";function wK(t){const e=+t;return Number.isInteger(e)&&String(e)===t}var Ic=t=>t.copy_||t.base_,HP=t=>t.modified_?t.copy_:t.base_;function sC(t,e){if(oS(t))return new Map(t);if(aS(t))return new Set(t);if(sS(t))return Array[rS].slice.call(t);const n=H5(t);if(e===!0||e==="class_only"&&!n){const r=bo.getOwnPropertyDescriptors(t);delete r[Cs];let i=Reflect.ownKeys(r);for(let s=0;s1&&bo.defineProperties(t,{set:Mb,add:Mb,clear:Mb,delete:Mb}),bo.freeze(t),e&&iS(t,(n,r)=>{VP(r,!0)},!1)),t}function SK(){ja(2)}var Mb={[dy]:SK};function lS(t){return t===null||!BP(t)?!0:bo.isFrozen(t)}var hw="MapSet",oC="Patches",JI="ArrayMethods",V5={};function Ih(t){const e=V5[t];return e||ja(0,t),e}var ek=t=>!!V5[t],fy,G5=()=>fy,MK=(t,e)=>({drafts_:[],parent_:t,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:ek(hw)?Ih(hw):void 0,arrayMethodsPlugin_:ek(JI)?Ih(JI):void 0});function tk(t,e){e&&(t.patchPlugin_=Ih(oC),t.patches_=[],t.inversePatches_=[],t.patchListener_=e)}function aC(t){lC(t),t.drafts_.forEach(EK),t.drafts_=null}function lC(t){t===fy&&(fy=t.parent_)}var nk=t=>fy=MK(fy,t);function EK(t){const e=t[Cs];e.type_===0||e.type_===1?e.revoke_():e.revoked_=!0}function rk(t,e){e.unfinalizedDrafts_=e.drafts_.length;const n=e.drafts_[0];if(t!==void 0&&t!==n){n[Cs].modified_&&(aC(e),ja(4)),Ba(t)&&(t=ik(e,t));const{patchPlugin_:i}=e;i&&i.generateReplacementPatches_(n[Cs].base_,t,e)}else t=ik(e,n);return AK(e,t,!0),aC(e),e.patches_&&e.patchListener_(e.patches_,e.inversePatches_),t!==B5?t:void 0}function ik(t,e){if(lS(e))return e;const n=e[Cs];if(!n)return pw(e,t.handledSet_,t);if(!cS(n,t))return e;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:r}=n;if(r)for(;r.length>0;)r.pop()(t);X5(n,t)}return n.copy_}function AK(t,e,n=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_&&VP(e,n)}function W5(t){t.finalized_=!0,t.scope_.unfinalizedDrafts_--}var cS=(t,e)=>t.scope_===e,TK=[];function $5(t,e,n,r){const i=Ic(t),s=t.type_;if(r!==void 0&&iC(i,r,s)===e){fw(i,r,n,s);return}if(!t.draftLocations_){const a=t.draftLocations_=new Map;iS(i,(l,c)=>{if(Kc(c)){const d=a.get(c)||[];d.push(l),a.set(c,d)}})}const o=t.draftLocations_.get(e)??TK;for(const a of o)fw(i,a,n,s)}function CK(t,e,n){t.callbacks_.push(function(i){var a;const s=e;if(!s||!cS(s,i))return;(a=i.mapSetPlugin_)==null||a.fixSetContents(s);const o=HP(s);$5(t,s.draft_??s,o,n),X5(s,i)})}function X5(t,e){var r;if(t.modified_&&!t.finalized_&&(t.type_===3||t.type_===1&&t.allIndicesReassigned_||(((r=t.assigned_)==null?void 0:r.size)??0)>0)){const{patchPlugin_:i}=e;if(i){const s=i.getPath(t);s&&i.generatePatches_(t,s,e)}W5(t)}}function PK(t,e,n){const{scope_:r}=t;if(Kc(n)){const i=n[Cs];cS(i,r)&&i.callbacks_.push(function(){H_(t);const o=HP(i);$5(t,n,o,e)})}else Ba(n)&&t.callbacks_.push(function(){const s=Ic(t);t.type_===3?s.has(n)&&pw(n,r.handledSet_,r):iC(s,e,t.type_)===n&&r.drafts_.length>1&&(t.assigned_.get(e)??!1)===!0&&t.copy_&&pw(iC(t.copy_,e,t.type_),r.handledSet_,r)})}function pw(t,e,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Kc(t)||e.has(t)||!Ba(t)||lS(t)||(e.add(t),iS(t,(r,i)=>{if(Kc(i)){const s=i[Cs];if(cS(s,n)){const o=HP(s);fw(t,r,o,t.type_),W5(s)}}else Ba(i)&&pw(i,e,n)})),t}function RK(t,e){const n=sS(t),r={type_:n?1:0,scope_:e?e.scope_:G5(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:e,base_:t,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,s=mw;n&&(i=[r],s=hy);const{revoke:o,proxy:a}=Proxy.revocable(i,s);return r.draft_=a,r.revoke_=o,[a,r]}var mw={get(t,e){if(e===Cs)return t;let n=t.scope_.arrayMethodsPlugin_;const r=t.type_===1&&typeof e=="string";if(r&&n!=null&&n.isArrayOperationMethod(e))return n.createMethodInterceptor(t,e);const i=Ic(t);if(!QI(i,e,t.type_))return NK(t,i,e);const s=i[e];if(t.finalized_||!Ba(s)||r&&t.operationMethod&&(n!=null&&n.isMutatingArrayMethod(t.operationMethod))&&wK(e))return s;if(s===wE(t.base_,e)){H_(t);const o=t.type_===1?+e:e,a=uC(t.scope_,s,t,o);return t.copy_[o]=a}return s},has(t,e){return e in Ic(t)},ownKeys(t){return Reflect.ownKeys(Ic(t))},set(t,e,n){const r=q5(Ic(t),e);if(r!=null&&r.set)return r.set.call(t.draft_,n),!0;if(!t.modified_){const i=wE(Ic(t),e),s=i==null?void 0:i[Cs];if(s&&s.base_===n)return t.copy_[e]=n,t.assigned_.set(e,!1),!0;if(_K(n,i)&&(n!==void 0||QI(t.base_,e,t.type_)))return!0;H_(t),cC(t)}return t.copy_[e]===n&&(n!==void 0||e in t.copy_)||Number.isNaN(n)&&Number.isNaN(t.copy_[e])||(t.copy_[e]=n,t.assigned_.set(e,!0),PK(t,e,n)),!0},deleteProperty(t,e){return H_(t),wE(t.base_,e)!==void 0||e in t.base_?(t.assigned_.set(e,!1),cC(t)):t.assigned_.delete(e),t.copy_&&delete t.copy_[e],!0},getOwnPropertyDescriptor(t,e){const n=Ic(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r&&{[B_]:!0,[rC]:t.type_!==1||e!=="length",[dw]:r[dw],[dy]:n[e]}},defineProperty(){ja(11)},getPrototypeOf(t){return Eg(t.base_)},setPrototypeOf(){ja(12)}},hy={};for(let t in mw){let e=mw[t];hy[t]=function(){const n=arguments;return n[0]=n[0][0],e.apply(this,n)}}hy.deleteProperty=function(t,e){return hy.set.call(this,t,e,void 0)};hy.set=function(t,e,n){return mw.set.call(this,t[0],e,n,t[0])};function wE(t,e){const n=t[Cs];return(n?Ic(n):t)[e]}function NK(t,e,n){var i;const r=q5(e,n);return r?dy in r?r[dy]:(i=r.get)==null?void 0:i.call(t.draft_):void 0}function q5(t,e){if(!(e in t))return;let n=Eg(t);for(;n;){const r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=Eg(n)}}function cC(t){t.modified_||(t.modified_=!0,t.parent_&&cC(t.parent_))}function H_(t){t.copy_||(t.assigned_=new Map,t.copy_=sC(t.base_,t.scope_.immer_.useStrictShallowCopy_))}var IK=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(n,r,i)=>{if(Fm(n)&&!Fm(r)){const o=r;r=n;const a=this;return function(c=o,...d){return a.produce(c,f=>r.call(this,f,...d))}}Fm(r)||ja(6),i!==void 0&&!Fm(i)&&ja(7);let s;if(Ba(n)){const o=nk(this),a=uC(o,n,void 0);let l=!0;try{s=r(a),l=!1}finally{l?aC(o):lC(o)}return tk(o,i),rk(s,o)}else if(!n||!BP(n)){if(s=r(n),s===void 0&&(s=n),s===B5&&(s=void 0),this.autoFreeze_&&VP(s,!0),i){const o=[],a=[];Ih(oC).generateReplacementPatches_(n,s,{patches_:o,inversePatches_:a}),i(o,a)}return s}else ja(1,n)},this.produceWithPatches=(n,r)=>{if(Fm(n))return(a,...l)=>this.produceWithPatches(a,c=>n(c,...l));let i,s;return[this.produce(n,r,(a,l)=>{i=a,s=l}),i,s]},_E(e==null?void 0:e.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),_E(e==null?void 0:e.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),_E(e==null?void 0:e.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Ba(e)||ja(8),Kc(e)&&(e=$o(e));const n=nk(this),r=uC(n,e,void 0);return r[Cs].isManual_=!0,lC(n),r}finishDraft(e,n){const r=e&&e[Cs];(!r||!r.isManual_)&&ja(9);const{scope_:i}=r;return tk(i,n),rk(void 0,i)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,n){let r;for(r=n.length-1;r>=0;r--){const s=n[r];if(s.path.length===0&&s.op==="replace"){e=s.value;break}}r>-1&&(n=n.slice(r+1));const i=Ih(oC).applyPatches_;return Kc(e)?i(e,n):this.produce(e,s=>i(s,n))}};function uC(t,e,n,r){const[i,s]=oS(e)?Ih(hw).proxyMap_(e,n):aS(e)?Ih(hw).proxySet_(e,n):RK(e,n);return((n==null?void 0:n.scope_)??G5()).drafts_.push(i),s.callbacks_=(n==null?void 0:n.callbacks_)??[],s.key_=r,n&&r!==void 0?CK(n,s,r):s.callbacks_.push(function(l){var d;(d=l.mapSetPlugin_)==null||d.fixSetContents(s);const{patchPlugin_:c}=l;s.modified_&&c&&c.generatePatches_(s,[],l)}),i}function $o(t){return Kc(t)||ja(10,t),K5(t)}function K5(t){if(!Ba(t)||lS(t))return t;const e=t[Cs];let n,r=!0;if(e){if(!e.modified_)return e.base_;e.finalized_=!0,n=sC(t,e.scope_.immer_.useStrictShallowCopy_),r=e.scope_.immer_.shouldUseStrictIteration()}else n=sC(t,!0);return iS(n,(i,s)=>{fw(n,i,K5(s))},r),e&&(e.finalized_=!1),n}var kK=new IK,Y5=kK.produce;function Z5(t){return({dispatch:n,getState:r})=>i=>s=>typeof s=="function"?s(n,r,t):i(s)}var OK=Z5(),LK=Z5,DK=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?cw:cw.apply(null,arguments)};function Mo(t,e){function n(...r){if(e){let i=e(...r);if(!i)throw new Error(wo(0));return{type:t,payload:i.payload,..."meta"in i&&{meta:i.meta},..."error"in i&&{error:i.error}}}return{type:t,payload:r[0]}}return n.toString=()=>`${t}`,n.type=t,n.match=r=>z5(r)&&r.type===t,n}var Q5=class z0 extends Array{constructor(...e){super(...e),Object.setPrototypeOf(this,z0.prototype)}static get[Symbol.species](){return z0}concat(...e){return super.concat.apply(this,e)}prepend(...e){return e.length===1&&Array.isArray(e[0])?new z0(...e[0].concat(this)):new z0(...e.concat(this))}};function sk(t){return Ba(t)?Y5(t,()=>{}):t}function Eb(t,e,n){return t.has(e)?t.get(e):t.set(e,n(e)).get(e)}function jK(t){return typeof t=="boolean"}var UK=()=>function(e){const{thunk:n=!0,immutableCheck:r=!0,serializableCheck:i=!0,actionCreatorCheck:s=!0}=e??{};let o=new Q5;return n&&(jK(n)?o.push(OK):o.push(LK(n.extraArgument))),o},J5="RTK_autoBatch",sr=()=>t=>({payload:t,meta:{[J5]:!0}}),ok=t=>e=>{setTimeout(e,t)},FK=(t,e)=>n=>{let r=!1;const i=()=>{r||(r=!0,cancelAnimationFrame(s),clearTimeout(o),n())},s=t(i),o=setTimeout(i,e)},e4=(t={type:"raf"})=>e=>(...n)=>{const r=e(...n);let i=!0,s=!1,o=!1;const a=new Set,l=t.type==="tick"?queueMicrotask:t.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?FK(window.requestAnimationFrame,100):ok(10):t.type==="callback"?t.queueNotification:ok(t.timeout),c=()=>{o=!1,s&&(s=!1,a.forEach(d=>d()))};return Object.assign({},r,{subscribe(d){const f=()=>i&&d(),m=r.subscribe(f);return a.add(d),()=>{m(),a.delete(d)}},dispatch(d){var f;try{return i=!((f=d==null?void 0:d.meta)!=null&&f[J5]),s=!i,s&&(o||(o=!0,l(c))),r.dispatch(d)}finally{i=!0}}})},zK=t=>function(n){const{autoBatch:r=!0}=n??{};let i=new Q5(t);return r&&i.push(e4(typeof r=="object"?r:void 0)),i};function BK(t){const e=UK(),{reducer:n=void 0,middleware:r,devTools:i=!0,preloadedState:s=void 0,enhancers:o=void 0}=t||{};let a;if(typeof n=="function")a=n;else if(zP(n))a=F5(n);else throw new Error(wo(1));let l;typeof r=="function"?l=r(e):l=e();let c=cw;i&&(c=DK({trace:!1,...typeof i=="object"&&i}));const d=xK(...l),f=zK(d);let m=typeof o=="function"?o(f):f();const y=c(...m);return U5(a,s,y)}function t4(t){const e={},n=[];let r;const i={addCase(s,o){const a=typeof s=="string"?s:s.type;if(!a)throw new Error(wo(28));if(a in e)throw new Error(wo(29));return e[a]=o,i},addAsyncThunk(s,o){return o.pending&&(e[s.pending.type]=o.pending),o.rejected&&(e[s.rejected.type]=o.rejected),o.fulfilled&&(e[s.fulfilled.type]=o.fulfilled),o.settled&&n.push({matcher:s.settled,reducer:o.settled}),i},addMatcher(s,o){return n.push({matcher:s,reducer:o}),i},addDefaultCase(s){return r=s,i}};return t(i),[e,n,r]}function HK(t){return typeof t=="function"}function VK(t,e){let[n,r,i]=t4(e),s;if(HK(t))s=()=>sk(t());else{const a=sk(t);s=()=>a}function o(a=s(),l){let c=[n[l.type],...r.filter(({matcher:d})=>d(l)).map(({reducer:d})=>d)];return c.filter(d=>!!d).length===0&&(c=[i]),c.reduce((d,f)=>{if(f)if(Kc(d)){const y=f(d,l);return y===void 0?d:y}else{if(Ba(d))return Y5(d,m=>f(m,l));{const m=f(d,l);if(m===void 0){if(d===null)return d;throw Error("A case reducer on a non-draftable value must not return undefined")}return m}}return d},a)}return o.getInitialState=s,o}var GK="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",WK=(t=21)=>{let e="",n=t;for(;n--;)e+=GK[Math.random()*64|0];return e},$K=Symbol.for("rtk-slice-createasyncthunk");function XK(t,e){return`${t}/${e}`}function qK({creators:t}={}){var n;const e=(n=t==null?void 0:t.asyncThunk)==null?void 0:n[$K];return function(i){const{name:s,reducerPath:o=s}=i;if(!s)throw new Error(wo(11));const a=(typeof i.reducers=="function"?i.reducers(YK()):i.reducers)||{},l=Object.keys(a),c={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},d={addCase(C,O){const N=typeof C=="string"?C:C.type;if(!N)throw new Error(wo(12));if(N in c.sliceCaseReducersByType)throw new Error(wo(13));return c.sliceCaseReducersByType[N]=O,d},addMatcher(C,O){return c.sliceMatchers.push({matcher:C,reducer:O}),d},exposeAction(C,O){return c.actionCreators[C]=O,d},exposeCaseReducer(C,O){return c.sliceCaseReducersByName[C]=O,d}};l.forEach(C=>{const O=a[C],N={reducerName:C,type:XK(s,C),createNotation:typeof i.reducers=="function"};QK(O)?eY(N,O,d,e):ZK(N,O,d)});function f(){const[C={},O=[],N=void 0]=typeof i.extraReducers=="function"?t4(i.extraReducers):[i.extraReducers],D={...C,...c.sliceCaseReducersByType};return VK(i.initialState,F=>{for(let G in D)F.addCase(G,D[G]);for(let G of c.sliceMatchers)F.addMatcher(G.matcher,G.reducer);for(let G of O)F.addMatcher(G.matcher,G.reducer);N&&F.addDefaultCase(N)})}const m=C=>C,y=new Map,x=new WeakMap;let S;function w(C,O){return S||(S=f()),S(C,O)}function _(){return S||(S=f()),S.getInitialState()}function E(C,O=!1){function N(F){let G=F[C];return typeof G>"u"&&O&&(G=Eb(x,N,_)),G}function D(F=m){const G=Eb(y,O,()=>new WeakMap);return Eb(G,F,()=>{const k={};for(const[U,H]of Object.entries(i.selectors??{}))k[U]=KK(H,F,()=>Eb(x,F,_),O);return k})}return{reducerPath:C,getSelectors:D,get selectors(){return D(N)},selectSlice:N}}const T={name:s,reducer:w,actions:c.actionCreators,caseReducers:c.sliceCaseReducersByName,getInitialState:_,...E(o),injectInto(C,{reducerPath:O,...N}={}){const D=O??o;return C.inject({reducerPath:D,reducer:w},N),{...T,...E(D,!0)}}};return T}}function KK(t,e,n,r){function i(s,...o){let a=e(s);return typeof a>"u"&&r&&(a=n()),t(a,...o)}return i.unwrapped=t,i}var cs=qK();function YK(){function t(e,n){return{_reducerDefinitionType:"asyncThunk",payloadCreator:e,...n}}return t.withTypes=()=>t,{reducer(e){return Object.assign({[e.name](...n){return e(...n)}}[e.name],{_reducerDefinitionType:"reducer"})},preparedReducer(e,n){return{_reducerDefinitionType:"reducerWithPrepare",prepare:e,reducer:n}},asyncThunk:t}}function ZK({type:t,reducerName:e,createNotation:n},r,i){let s,o;if("reducer"in r){if(n&&!JK(r))throw new Error(wo(17));s=r.reducer,o=r.prepare}else s=r;i.addCase(t,s).exposeCaseReducer(e,s).exposeAction(e,o?Mo(t,o):Mo(t))}function QK(t){return t._reducerDefinitionType==="asyncThunk"}function JK(t){return t._reducerDefinitionType==="reducerWithPrepare"}function eY({type:t,reducerName:e},n,r,i){if(!i)throw new Error(wo(18));const{payloadCreator:s,fulfilled:o,pending:a,rejected:l,settled:c,options:d}=n,f=i(t,s,d);r.exposeAction(e,f),o&&r.addCase(f.fulfilled,o),a&&r.addCase(f.pending,a),l&&r.addCase(f.rejected,l),c&&r.addMatcher(f.settled,c),r.exposeCaseReducer(e,{fulfilled:o||Ab,pending:a||Ab,rejected:l||Ab,settled:c||Ab})}function Ab(){}var tY="task",n4="listener",r4="completed",GP="cancelled",nY=`task-${GP}`,rY=`task-${r4}`,dC=`${n4}-${GP}`,iY=`${n4}-${r4}`,uS=class{constructor(t){Gs(this,"code");Gs(this,"name","TaskAbortError");Gs(this,"message");this.code=t,this.message=`${tY} ${GP} (reason: ${t})`}},WP=(t,e)=>{if(typeof t!="function")throw new TypeError(wo(32))},gw=()=>{},i4=(t,e=gw)=>(t.catch(e),t),s4=(t,e)=>(t.addEventListener("abort",e,{once:!0}),()=>t.removeEventListener("abort",e)),_h=t=>{if(t.aborted)throw new uS(t.reason)};function o4(t,e){let n=gw;return new Promise((r,i)=>{const s=()=>i(new uS(t.reason));if(t.aborted){s();return}n=s4(t,s),e.finally(()=>n()).then(r,i)}).finally(()=>{n=gw})}var sY=async(t,e)=>{try{return await Promise.resolve(),{status:"ok",value:await t()}}catch(n){return{status:n instanceof uS?"cancelled":"rejected",error:n}}finally{e==null||e()}},vw=t=>e=>i4(o4(t,e).then(n=>(_h(t),n))),a4=t=>{const e=vw(t);return n=>e(new Promise(r=>setTimeout(r,n)))},{assign:eg}=Object,ak={},dS="listenerMiddleware",oY=(t,e)=>{const n=r=>s4(t,()=>r.abort(t.reason));return(r,i)=>{WP(r);const s=new AbortController;n(s);const o=sY(async()=>{_h(t),_h(s.signal);const a=await r({pause:vw(s.signal),delay:a4(s.signal),signal:s.signal});return _h(s.signal),a},()=>s.abort(rY));return i!=null&&i.autoJoin&&e.push(o.catch(gw)),{result:vw(t)(o),cancel(){s.abort(nY)}}}},aY=(t,e)=>{const n=async(r,i)=>{_h(e);let s=()=>{};const a=[new Promise((l,c)=>{let d=t({predicate:r,effect:(f,m)=>{m.unsubscribe(),l([f,m.getState(),m.getOriginalState()])}});s=()=>{d(),c()}})];i!=null&&a.push(new Promise(l=>setTimeout(l,i,null)));try{const l=await o4(e,Promise.race(a));return _h(e),l}finally{s()}};return((r,i)=>i4(n(r,i)))},l4=t=>{let{type:e,actionCreator:n,matcher:r,predicate:i,effect:s}=t;if(e)i=Mo(e).match;else if(n)e=n.type,i=n.match;else if(r)i=r;else if(!i)throw new Error(wo(21));return WP(s),{predicate:i,type:e,effect:s}},c4=eg(t=>{const{type:e,predicate:n,effect:r}=l4(t);return{id:WK(),effect:r,type:e,predicate:n,pending:new Set,unsubscribe:()=>{throw new Error(wo(22))}}},{withTypes:()=>c4}),lk=(t,e)=>{const{type:n,effect:r,predicate:i}=l4(e);return Array.from(t.values()).find(s=>(typeof n=="string"?s.type===n:s.predicate===i)&&s.effect===r)},fC=t=>{t.pending.forEach(e=>{e.abort(dC)})},lY=(t,e)=>()=>{for(const n of e.keys())fC(n);t.clear()},ck=(t,e,n)=>{try{t(e,n)}catch(r){setTimeout(()=>{throw r},0)}},u4=eg(Mo(`${dS}/add`),{withTypes:()=>u4}),cY=Mo(`${dS}/removeAll`),d4=eg(Mo(`${dS}/remove`),{withTypes:()=>d4}),uY=(...t)=>{console.error(`${dS}/error`,...t)},Xy=(t={})=>{const e=new Map,n=new Map,r=y=>{const x=n.get(y)??0;n.set(y,x+1)},i=y=>{const x=n.get(y)??1;x===1?n.delete(y):n.set(y,x-1)},{extra:s,onError:o=uY}=t;WP(o);const a=y=>(y.unsubscribe=()=>e.delete(y.id),e.set(y.id,y),x=>{y.unsubscribe(),x!=null&&x.cancelActive&&fC(y)}),l=(y=>{const x=lk(e,y)??c4(y);return a(x)});eg(l,{withTypes:()=>l});const c=y=>{const x=lk(e,y);return x&&(x.unsubscribe(),y.cancelActive&&fC(x)),!!x};eg(c,{withTypes:()=>c});const d=async(y,x,S,w)=>{const _=new AbortController,E=aY(l,_.signal),T=[];try{y.pending.add(_),r(y),await Promise.resolve(y.effect(x,eg({},S,{getOriginalState:w,condition:(C,O)=>E(C,O).then(Boolean),take:E,delay:a4(_.signal),pause:vw(_.signal),extra:s,signal:_.signal,fork:oY(_.signal,T),unsubscribe:y.unsubscribe,subscribe:()=>{e.set(y.id,y)},cancelActiveListeners:()=>{y.pending.forEach((C,O,N)=>{C!==_&&(C.abort(dC),N.delete(C))})},cancel:()=>{_.abort(dC),y.pending.delete(_)},throwIfCancelled:()=>{_h(_.signal)}})))}catch(C){C instanceof uS||ck(o,C,{raisedBy:"effect"})}finally{await Promise.all(T),_.abort(iY),i(y),y.pending.delete(_)}},f=lY(e,n);return{middleware:y=>x=>S=>{if(!z5(S))return x(S);if(u4.match(S))return l(S.payload);if(cY.match(S)){f();return}if(d4.match(S))return c(S.payload);let w=y.getState();const _=()=>{if(w===ak)throw new Error(wo(23));return w};let E;try{if(E=x(S),e.size>0){const T=y.getState(),C=Array.from(e.values());for(const O of C){let N=!1;try{N=O.predicate(S,T,w)}catch(D){N=!1,ck(o,D,{raisedBy:"predicate"})}N&&d(O,S,y,_)}}}finally{w=ak}return E},startListening:l,stopListening:c,clearListeners:f}};function wo(t){return`Minified Redux Toolkit error #${t}; visit https://redux-toolkit.js.org/Errors?code=${t} for the full message or use the non-minified dev environment for full errors. `}var dY={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},f4=cs({name:"chartLayout",initialState:dY,reducers:{setLayout(t,e){t.layoutType=e.payload},setChartSize(t,e){t.width=e.payload.width,t.height=e.payload.height},setMargin(t,e){var n,r,i,s;t.margin.top=(n=e.payload.top)!==null&&n!==void 0?n:0,t.margin.right=(r=e.payload.right)!==null&&r!==void 0?r:0,t.margin.bottom=(i=e.payload.bottom)!==null&&i!==void 0?i:0,t.margin.left=(s=e.payload.left)!==null&&s!==void 0?s:0},setScale(t,e){t.scale=e.payload}}}),fS=f4.actions,fY=fS.setMargin,hY=fS.setLayout,pY=fS.setChartSize,mY=fS.setScale,gY=f4.reducer;function h4(t,e,n){return Array.isArray(t)&&t&&e+n!==0?t.slice(e,n+1):t}function wn(t){return Number.isFinite(t)}function Ll(t){return typeof t=="number"&&t>0&&Number.isFinite(t)}function uk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Wm(t){for(var e=1;e{if(e&&n){var r=n.width,i=n.height,s=e.align,o=e.verticalAlign,a=e.layout;if((a==="vertical"||a==="horizontal"&&o==="middle")&&s!=="center"&&kt(t[s]))return Wm(Wm({},t),{},{[s]:t[s]+(r||0)});if((a==="horizontal"||a==="vertical"&&s==="center")&&o!=="middle"&&kt(t[o]))return Wm(Wm({},t),{},{[o]:t[o]+(i||0)})}return t},Bl=(t,e)=>t==="horizontal"&&e==="xAxis"||t==="vertical"&&e==="yAxis"||t==="centric"&&e==="angleAxis"||t==="radial"&&e==="radiusAxis",p4=(t,e,n,r)=>{if(r)return t.map(a=>a.coordinate);var i,s,o=t.map(a=>(a.coordinate===e&&(i=!0),a.coordinate===n&&(s=!0),a.coordinate));return i||o.push(e),s||o.push(n),o},m4=(t,e,n)=>{if(!t)return null;var r=t.duplicateDomain,i=t.type,s=t.range,o=t.scale,a=t.realScaleType,l=t.isCategorical,c=t.categoricalDomain,d=t.tickCount,f=t.ticks,m=t.niceTicks,y=t.axisType;if(!o)return null;var x=a==="scaleBand"&&o.bandwidth?o.bandwidth()/2:2,S=i==="category"&&o.bandwidth?o.bandwidth()/x:0;if(S=y==="angleAxis"&&s&&s.length>=2?Wo(s[0]-s[1])*2*S:S,f||m){var w=(f||m||[]).map((_,E)=>{var T=r?r.indexOf(_):_,C=o.map(T);return wn(C)?{coordinate:C+S,value:_,offset:S,index:E}:null}).filter(Ys);return w}return l&&c?c.map((_,E)=>{var T=o.map(_);return wn(T)?{coordinate:T+S,value:_,index:E,offset:S}:null}).filter(Ys):o.ticks&&d!=null?o.ticks(d).map((_,E)=>{var T=o.map(_);return wn(T)?{coordinate:T+S,value:_,index:E,offset:S}:null}).filter(Ys):o.domain().map((_,E)=>{var T=o.map(_);return wn(T)?{coordinate:T+S,value:r?r[_]:_,index:E,offset:S}:null}).filter(Ys)},_Y=t=>{var e,n=t.length;if(!(n<=0)){var r=(e=t[0])===null||e===void 0?void 0:e.length;if(!(r==null||r<=0))for(var i=0;i=0?(c[0]=s,s+=m,c[1]=s):(c[0]=o,o+=m,c[1]=o)}}}},wY=t=>{var e,n=t.length;if(!(n<=0)){var r=(e=t[0])===null||e===void 0?void 0:e.length;if(!(r==null||r<=0))for(var i=0;i=0?(l[0]=s,s+=c,l[1]=s):(l[0]=0,l[1]=0)}}}},SY={sign:_Y,expand:FX,none:Rh,silhouette:zX,wiggle:BX,positive:wY},MY=(t,e,n)=>{var r,i=(r=SY[n])!==null&&r!==void 0?r:Rh,s=UX().keys(e).value((a,l)=>Number(yi(a,l,0))).order(QT).offset(i),o=s(t);return o.forEach((a,l)=>{a.forEach((c,d)=>{var f=yi(t[d],e[l],0);Array.isArray(f)&&f.length===2&&kt(f[0])&&kt(f[1])&&(c[0]=f[0],c[1]=f[1])})}),o};function EY(t){return t==null?void 0:String(t)}function dk(t){var e=t.axis,n=t.ticks,r=t.bandSize,i=t.entry,s=t.index,o=t.dataKey;if(e.type==="category"){if(!e.allowDuplicatedCategory&&e.dataKey&&!Hi(i[e.dataKey])){var a=_5(n,"value",i[e.dataKey]);if(a)return a.coordinate+r/2}return n!=null&&n[s]?n[s].coordinate+r/2:null}var l=yi(i,Hi(o)?e.dataKey:o),c=e.scale.map(l);return kt(c)?c:null}var AY=t=>{var e=t.flat(2).filter(kt);return[Math.min(...e),Math.max(...e)]},TY=t=>[t[0]===1/0?0:t[0],t[1]===-1/0?0:t[1]],CY=(t,e,n)=>{if(!(t==null||Object.keys(t).length===0))return TY(Object.keys(t).reduce((r,i)=>{var s=t[i];if(!s)return r;var o=s.stackedData,a=o.reduce((l,c)=>{var d=h4(c,e,n),f=AY(d);return!wn(f[0])||!wn(f[1])?l:[Math.min(l[0],f[0]),Math.max(l[1],f[1])]},[1/0,-1/0]);return[Math.min(a[0],r[0]),Math.max(a[1],r[1])]},[1/0,-1/0]))},fk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,hk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,yw=(t,e,n)=>{if(t&&t.scale&&t.scale.bandwidth){var r=t.scale.bandwidth();if(!n||r>0)return r}if(t&&e&&e.length>=2){for(var i=nS(e,d=>d.coordinate),s=1/0,o=1,a=i.length;o{if(e==="horizontal")return t.relativeX;if(e==="vertical")return t.relativeY},RY=(t,e)=>e==="centric"?t.angle:t.radius,tu=t=>t.layout.width,nu=t=>t.layout.height,NY=t=>t.layout.scale,v4=t=>t.layout.margin,hS=ke(t=>t.cartesianAxis.xAxis,t=>Object.values(t)),pS=ke(t=>t.cartesianAxis.yAxis,t=>Object.values(t)),IY="data-recharts-item-index",kY="data-recharts-item-id",qy=60;function mk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Tb(t){for(var e=1;et.brush.height;function UY(t){var e=pS(t);return e.reduce((n,r)=>{if(r.orientation==="left"&&!r.mirror&&!r.hide){var i=typeof r.width=="number"?r.width:qy;return n+i}return n},0)}function FY(t){var e=pS(t);return e.reduce((n,r)=>{if(r.orientation==="right"&&!r.mirror&&!r.hide){var i=typeof r.width=="number"?r.width:qy;return n+i}return n},0)}function zY(t){var e=hS(t);return e.reduce((n,r)=>r.orientation==="top"&&!r.mirror&&!r.hide?n+r.height:n,0)}function BY(t){var e=hS(t);return e.reduce((n,r)=>r.orientation==="bottom"&&!r.mirror&&!r.hide?n+r.height:n,0)}var Gi=ke([tu,nu,v4,jY,UY,FY,zY,BY,j5,lK],(t,e,n,r,i,s,o,a,l,c)=>{var d={left:(n.left||0)+i,right:(n.right||0)+s},f={top:(n.top||0)+o,bottom:(n.bottom||0)+a},m=Tb(Tb({},f),d),y=m.bottom;m.bottom+=r,m=bY(m,l,c);var x=t-m.left-m.right,S=e-m.top-m.bottom;return Tb(Tb({brushBottom:y},m),{},{width:Math.max(x,0),height:Math.max(S,0)})}),HY=ke(Gi,t=>({x:t.left,y:t.top,width:t.width,height:t.height})),y4=ke(tu,nu,(t,e)=>({x:0,y:0,width:t,height:e})),VY=R.createContext(null),Js=()=>R.useContext(VY)!=null,mS=t=>t.brush,gS=ke([mS,Gi,v4],(t,e,n)=>({height:t.height,x:kt(t.x)?t.x:e.left,y:kt(t.y)?t.y:e.top+e.height+e.brushBottom-((n==null?void 0:n.bottom)||0),width:kt(t.width)?t.width:e.width}));function GY(t,e,{signal:n,edges:r}={}){let i,s=null;const o=r!=null&&r.includes("leading"),a=r==null||r.includes("trailing"),l=()=>{s!==null&&(t.apply(i,s),i=void 0,s=null)},c=()=>{a&&l(),y()};let d=null;const f=()=>{d!=null&&clearTimeout(d),d=setTimeout(()=>{d=null,c()},e)},m=()=>{d!==null&&(clearTimeout(d),d=null)},y=()=>{m(),i=void 0,s=null},x=()=>{l()},S=function(...w){if(n!=null&&n.aborted)return;i=this,s=w;const _=d==null;f(),o&&_&&l()};return S.schedule=f,S.cancel=y,S.flush=x,n==null||n.addEventListener("abort",y,{once:!0}),S}function WY(t,e=0,n={}){typeof n!="object"&&(n={});const{leading:r=!1,trailing:i=!0,maxWait:s}=n,o=Array(2);r&&(o[0]="leading"),i&&(o[1]="trailing");let a,l=null;const c=GY(function(...m){a=t.apply(this,m),l=null},e,{edges:o}),d=function(...m){return s!=null&&(l===null&&(l=Date.now()),Date.now()-l>=s)?(a=t.apply(this,m),l=Date.now(),c.cancel(),c.schedule(),a):(c.apply(this,m),a)},f=()=>(c.flush(),a);return d.cancel=c.cancel,d.flush=f,d}function $Y(t,e=0,n={}){const{leading:r=!0,trailing:i=!0}=n;return WY(t,e,{leading:r,maxWait:e,trailing:i})}var xw=function(e,n){for(var r=arguments.length,i=new Array(r>2?r-2:0),s=2;si[o++]))}},wl={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},x4=(t,e,n)=>{var r=n.width,i=r===void 0?wl.width:r,s=n.height,o=s===void 0?wl.height:s,a=n.aspect,l=n.maxHeight,c=Nh(i)?t:Number(i),d=Nh(o)?e:Number(o);return a&&a>0&&(c?d=c/a:d&&(c=d*a),l&&d!=null&&d>l&&(d=l)),{calculatedWidth:c,calculatedHeight:d}},XY={width:0,height:0,overflow:"visible"},qY={width:0,overflowX:"visible"},KY={height:0,overflowY:"visible"},YY={},ZY=t=>{var e=t.width,n=t.height,r=Nh(e),i=Nh(n);return r&&i?XY:r?qY:i?KY:YY};function QY(t){var e=t.width,n=t.height,r=t.aspect,i=e,s=n;return i===void 0&&s===void 0?(i=wl.width,s=wl.height):i===void 0?i=r&&r>0?void 0:wl.width:s===void 0&&(s=r&&r>0?void 0:wl.height),{width:i,height:s}}var JY=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function bw(){return bw=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n({width:n,height:r}),[n,r]);return uZ(i)?R.createElement(b4.Provider,{value:i},e):null}var $P=()=>R.useContext(b4),dZ=R.forwardRef((t,e)=>{var n=t.aspect,r=t.initialDimension,i=r===void 0?wl.initialDimension:r,s=t.width,o=t.height,a=t.minWidth,l=a===void 0?wl.minWidth:a,c=t.minHeight,d=t.maxHeight,f=t.children,m=t.debounce,y=m===void 0?wl.debounce:m,x=t.id,S=t.className,w=t.onResize,_=t.style,E=_===void 0?{}:_,T=lZ(t,JY),C=R.useRef(null),O=R.useRef();O.current=w,R.useImperativeHandle(e,()=>C.current);var N=R.useState({containerWidth:i.width,containerHeight:i.height}),D=rZ(N,2),F=D[0],G=D[1],k=R.useCallback((oe,fe)=>{G(B=>{var J=Math.round(oe),Y=Math.round(fe);return B.containerWidth===J&&B.containerHeight===Y?B:{containerWidth:J,containerHeight:Y}})},[]);R.useEffect(()=>{if(C.current==null||typeof ResizeObserver>"u")return Vg;var oe=V=>{var q,pe=V[0];if(pe!=null){var le=pe.contentRect,ce=le.width,be=le.height;k(ce,be),(q=O.current)===null||q===void 0||q.call(O,ce,be)}};y>0&&(oe=$Y(oe,y,{trailing:!0,leading:!1}));var fe=new ResizeObserver(oe),B=C.current.getBoundingClientRect(),J=B.width,Y=B.height;return k(J,Y),fe.observe(C.current),()=>{fe.disconnect()}},[k,y]);var U=F.containerWidth,H=F.containerHeight;xw(!n||n>0,"The aspect(%s) must be greater than zero.",n);var ne=x4(U,H,{width:s,height:o,aspect:n,maxHeight:d}),te=ne.calculatedWidth,he=ne.calculatedHeight;return xw(U<0||H<0||te!=null&&te>0||he!=null&&he>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,te,he,s,o,l,c,n),R.createElement("div",bw({id:x?"".concat(x):void 0,className:er("recharts-responsive-container",S),style:vk(vk({},E),{},{width:s,height:o,minWidth:l,minHeight:c,maxHeight:d}),ref:C},T),R.createElement("div",{style:ZY({width:s,height:o})},R.createElement(_4,{width:te,height:he},f)))}),fZ=R.forwardRef((t,e)=>{var n=$P();if(Ll(n.width)&&Ll(n.height))return t.children;var r=QY({width:t.width,height:t.height,aspect:t.aspect}),i=r.width,s=r.height,o=x4(void 0,void 0,{width:i,height:s,aspect:t.aspect,maxHeight:t.maxHeight}),a=o.calculatedWidth,l=o.calculatedHeight;return It(a)&&It(l)?R.createElement(_4,{width:a,height:l},t.children):R.createElement(dZ,bw({},t,{width:i,height:s,ref:e}))});function XP(t){if(t)return{x:t.x,y:t.y,upperWidth:"upperWidth"in t?t.upperWidth:t.width,lowerWidth:"lowerWidth"in t?t.lowerWidth:t.width,width:t.width,height:t.height}}var vS=()=>{var t,e=Js(),n=Bt(HY),r=Bt(gS),i=(t=Bt(mS))===null||t===void 0?void 0:t.padding;return!e||!r||!i?n:{width:r.width-i.left-i.right,height:r.height-i.top-i.bottom,x:i.left,y:i.top}},hZ={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},w4=()=>{var t;return(t=Bt(Gi))!==null&&t!==void 0?t:hZ},S4=()=>Bt(tu),M4=()=>Bt(nu),fr=t=>t.layout.layoutType,Gg=()=>Bt(fr),qP=()=>{var t=Gg();if(t==="horizontal"||t==="vertical")return t},E4=t=>{var e=t.layout.layoutType;if(e==="centric"||e==="radial")return e},pZ=()=>{var t=Gg();return t!==void 0},Ky=t=>{var e=Wr(),n=Js(),r=t.width,i=t.height,s=$P(),o=r,a=i;return s&&(o=s.width>0?s.width:r,a=s.height>0?s.height:i),R.useEffect(()=>{!n&&Ll(o)&&Ll(a)&&e(pY({width:o,height:a}))},[e,n,o,a]),null},A4=Symbol.for("immer-nothing"),xk=Symbol.for("immer-draftable"),Eo=Symbol.for("immer-state");function Ua(t,...e){throw new Error(`[Immer] minified error nr: ${t}. Full error at: https://bit.ly/3cXEKWf`)}var py=Object.getPrototypeOf;function Ag(t){return!!t&&!!t[Eo]}function Ih(t){var e;return t?T4(t)||Array.isArray(t)||!!t[xk]||!!((e=t.constructor)!=null&&e[xk])||Yy(t)||xS(t):!1}var mZ=Object.prototype.constructor.toString(),bk=new WeakMap;function T4(t){if(!t||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);if(e===null||e===Object.prototype)return!0;const n=Object.hasOwnProperty.call(e,"constructor")&&e.constructor;if(n===Object)return!0;if(typeof n!="function")return!1;let r=bk.get(n);return r===void 0&&(r=Function.toString.call(n),bk.set(n,r)),r===mZ}function _w(t,e,n=!0){yS(t)===0?(n?Reflect.ownKeys(t):Object.keys(t)).forEach(i=>{e(i,t[i],t)}):t.forEach((r,i)=>e(i,r,t))}function yS(t){const e=t[Eo];return e?e.type_:Array.isArray(t)?1:Yy(t)?2:xS(t)?3:0}function hC(t,e){return yS(t)===2?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function C4(t,e,n){const r=yS(t);r===2?t.set(e,n):r===3?t.add(n):t[e]=n}function gZ(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}function Yy(t){return t instanceof Map}function xS(t){return t instanceof Set}function Wf(t){return t.copy_||t.base_}function pC(t,e){if(Yy(t))return new Map(t);if(xS(t))return new Set(t);if(Array.isArray(t))return Array.prototype.slice.call(t);const n=T4(t);if(e===!0||e==="class_only"&&!n){const r=Object.getOwnPropertyDescriptors(t);delete r[Eo];let i=Reflect.ownKeys(r);for(let s=0;s1&&Object.defineProperties(t,{set:Cb,add:Cb,clear:Cb,delete:Cb}),Object.freeze(t),e&&Object.values(t).forEach(n=>KP(n,!0))),t}function vZ(){Ua(2)}var Cb={value:vZ};function bS(t){return t===null||typeof t!="object"?!0:Object.isFrozen(t)}var yZ={};function kh(t){const e=yZ[t];return e||Ua(0,t),e}var my;function P4(){return my}function xZ(t,e){return{drafts_:[],parent_:t,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function _k(t,e){e&&(kh("Patches"),t.patches_=[],t.inversePatches_=[],t.patchListener_=e)}function mC(t){gC(t),t.drafts_.forEach(bZ),t.drafts_=null}function gC(t){t===my&&(my=t.parent_)}function wk(t){return my=xZ(my,t)}function bZ(t){const e=t[Eo];e.type_===0||e.type_===1?e.revoke_():e.revoked_=!0}function Sk(t,e){e.unfinalizedDrafts_=e.drafts_.length;const n=e.drafts_[0];return t!==void 0&&t!==n?(n[Eo].modified_&&(mC(e),Ua(4)),Ih(t)&&(t=ww(e,t),e.parent_||Sw(e,t)),e.patches_&&kh("Patches").generateReplacementPatches_(n[Eo].base_,t,e.patches_,e.inversePatches_)):t=ww(e,n,[]),mC(e),e.patches_&&e.patchListener_(e.patches_,e.inversePatches_),t!==A4?t:void 0}function ww(t,e,n){if(bS(e))return e;const r=t.immer_.shouldUseStrictIteration(),i=e[Eo];if(!i)return _w(e,(s,o)=>Mk(t,i,e,s,o,n),r),e;if(i.scope_!==t)return e;if(!i.modified_)return Sw(t,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const s=i.copy_;let o=s,a=!1;i.type_===3&&(o=new Set(s),s.clear(),a=!0),_w(o,(l,c)=>Mk(t,i,s,l,c,n,a),r),Sw(t,s,!1),n&&t.patches_&&kh("Patches").generatePatches_(i,n,t.patches_,t.inversePatches_)}return i.copy_}function Mk(t,e,n,r,i,s,o){if(i==null||typeof i!="object"&&!o)return;const a=bS(i);if(!(a&&!o)){if(Ag(i)){const l=s&&e&&e.type_!==3&&!hC(e.assigned_,r)?s.concat(r):void 0,c=ww(t,i,l);if(C4(n,r,c),Ag(c))t.canAutoFreeze_=!1;else return}else o&&n.add(i);if(Ih(i)&&!a){if(!t.immer_.autoFreeze_&&t.unfinalizedDrafts_<1||e&&e.base_&&e.base_[r]===i&&a)return;ww(t,i),(!e||!e.scope_.parent_)&&typeof r!="symbol"&&(Yy(n)?n.has(r):Object.prototype.propertyIsEnumerable.call(n,r))&&Sw(t,i)}}}function Sw(t,e,n=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_&&KP(e,n)}function _Z(t,e){const n=Array.isArray(t),r={type_:n?1:0,scope_:e?e.scope_:P4(),modified_:!1,finalized_:!1,assigned_:{},parent_:e,base_:t,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=r,s=YP;n&&(i=[r],s=gy);const{revoke:o,proxy:a}=Proxy.revocable(i,s);return r.draft_=a,r.revoke_=o,a}var YP={get(t,e){if(e===Eo)return t;const n=Wf(t);if(!hC(n,e))return wZ(t,n,e);const r=n[e];return t.finalized_||!Ih(r)?r:r===SE(t.base_,e)?(ME(t),t.copy_[e]=yC(r,t)):r},has(t,e){return e in Wf(t)},ownKeys(t){return Reflect.ownKeys(Wf(t))},set(t,e,n){const r=R4(Wf(t),e);if(r!=null&&r.set)return r.set.call(t.draft_,n),!0;if(!t.modified_){const i=SE(Wf(t),e),s=i==null?void 0:i[Eo];if(s&&s.base_===n)return t.copy_[e]=n,t.assigned_[e]=!1,!0;if(gZ(n,i)&&(n!==void 0||hC(t.base_,e)))return!0;ME(t),vC(t)}return t.copy_[e]===n&&(n!==void 0||e in t.copy_)||Number.isNaN(n)&&Number.isNaN(t.copy_[e])||(t.copy_[e]=n,t.assigned_[e]=!0),!0},deleteProperty(t,e){return SE(t.base_,e)!==void 0||e in t.base_?(t.assigned_[e]=!1,ME(t),vC(t)):delete t.assigned_[e],t.copy_&&delete t.copy_[e],!0},getOwnPropertyDescriptor(t,e){const n=Wf(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r&&{writable:!0,configurable:t.type_!==1||e!=="length",enumerable:r.enumerable,value:n[e]}},defineProperty(){Ua(11)},getPrototypeOf(t){return py(t.base_)},setPrototypeOf(){Ua(12)}},gy={};_w(YP,(t,e)=>{gy[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}});gy.deleteProperty=function(t,e){return gy.set.call(this,t,e,void 0)};gy.set=function(t,e,n){return YP.set.call(this,t[0],e,n,t[0])};function SE(t,e){const n=t[Eo];return(n?Wf(n):t)[e]}function wZ(t,e,n){var i;const r=R4(e,n);return r?"value"in r?r.value:(i=r.get)==null?void 0:i.call(t.draft_):void 0}function R4(t,e){if(!(e in t))return;let n=py(t);for(;n;){const r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=py(n)}}function vC(t){t.modified_||(t.modified_=!0,t.parent_&&vC(t.parent_))}function ME(t){t.copy_||(t.copy_=pC(t.base_,t.scope_.immer_.useStrictShallowCopy_))}var SZ=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(e,n,r)=>{if(typeof e=="function"&&typeof n!="function"){const s=n;n=e;const o=this;return function(l=s,...c){return o.produce(l,d=>n.call(this,d,...c))}}typeof n!="function"&&Ua(6),r!==void 0&&typeof r!="function"&&Ua(7);let i;if(Ih(e)){const s=wk(this),o=yC(e,void 0);let a=!0;try{i=n(o),a=!1}finally{a?mC(s):gC(s)}return _k(s,r),Sk(i,s)}else if(!e||typeof e!="object"){if(i=n(e),i===void 0&&(i=e),i===A4&&(i=void 0),this.autoFreeze_&&KP(i,!0),r){const s=[],o=[];kh("Patches").generateReplacementPatches_(e,i,s,o),r(s,o)}return i}else Ua(1,e)},this.produceWithPatches=(e,n)=>{if(typeof e=="function")return(o,...a)=>this.produceWithPatches(o,l=>e(l,...a));let r,i;return[this.produce(e,n,(o,a)=>{r=o,i=a}),r,i]},typeof(t==null?void 0:t.autoFreeze)=="boolean"&&this.setAutoFreeze(t.autoFreeze),typeof(t==null?void 0:t.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),typeof(t==null?void 0:t.useStrictIteration)=="boolean"&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){Ih(t)||Ua(8),Ag(t)&&(t=MZ(t));const e=wk(this),n=yC(t,void 0);return n[Eo].isManual_=!0,gC(e),n}finishDraft(t,e){const n=t&&t[Eo];(!n||!n.isManual_)&&Ua(9);const{scope_:r}=n;return _k(r,e),Sk(void 0,r)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,e){let n;for(n=e.length-1;n>=0;n--){const i=e[n];if(i.path.length===0&&i.op==="replace"){t=i.value;break}}n>-1&&(e=e.slice(n+1));const r=kh("Patches").applyPatches_;return Ag(t)?r(t,e):this.produce(t,i=>r(i,e))}};function yC(t,e){const n=Yy(t)?kh("MapSet").proxyMap_(t,e):xS(t)?kh("MapSet").proxySet_(t,e):_Z(t,e);return(e?e.scope_:P4()).drafts_.push(n),n}function MZ(t){return Ag(t)||Ua(10,t),N4(t)}function N4(t){if(!Ih(t)||bS(t))return t;const e=t[Eo];let n,r=!0;if(e){if(!e.modified_)return e.base_;e.finalized_=!0,n=pC(t,e.scope_.immer_.useStrictShallowCopy_),r=e.scope_.immer_.shouldUseStrictIteration()}else n=pC(t,!0);return _w(n,(i,s)=>{C4(n,i,N4(s))},r),e&&(e.finalized_=!1),n}var EZ=new SZ;EZ.produce;var AZ={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value"},size:{width:0,height:0},payload:[]},I4=cs({name:"legend",initialState:AZ,reducers:{setLegendSize(t,e){t.size.width=e.payload.width,t.size.height=e.payload.height},setLegendSettings(t,e){t.settings.align=e.payload.align,t.settings.layout=e.payload.layout,t.settings.verticalAlign=e.payload.verticalAlign,t.settings.itemSorter=e.payload.itemSorter},addLegendPayload:{reducer(t,e){t.payload.push(e.payload)},prepare:sr()},replaceLegendPayload:{reducer(t,e){var n=e.payload,r=n.prev,i=n.next,s=$o(t).payload.indexOf(r);s>-1&&(t.payload[s]=i)},prepare:sr()},removeLegendPayload:{reducer(t,e){var n=$o(t).payload.indexOf(e.payload);n>-1&&t.payload.splice(n,1)},prepare:sr()}}}),Zy=I4.actions;Zy.setLegendSize;Zy.setLegendSettings;var TZ=Zy.addLegendPayload,CZ=Zy.replaceLegendPayload,PZ=Zy.removeLegendPayload,RZ=I4.reducer,EE={exports:{}},AE={};/** + height and width.`,te,he,s,o,l,c,n),R.createElement("div",bw({id:x?"".concat(x):void 0,className:er("recharts-responsive-container",S),style:vk(vk({},E),{},{width:s,height:o,minWidth:l,minHeight:c,maxHeight:d}),ref:C},T),R.createElement("div",{style:ZY({width:s,height:o})},R.createElement(_4,{width:te,height:he},f)))}),fZ=R.forwardRef((t,e)=>{var n=$P();if(Ll(n.width)&&Ll(n.height))return t.children;var r=QY({width:t.width,height:t.height,aspect:t.aspect}),i=r.width,s=r.height,o=x4(void 0,void 0,{width:i,height:s,aspect:t.aspect,maxHeight:t.maxHeight}),a=o.calculatedWidth,l=o.calculatedHeight;return kt(a)&&kt(l)?R.createElement(_4,{width:a,height:l},t.children):R.createElement(dZ,bw({},t,{width:i,height:s,ref:e}))});function XP(t){if(t)return{x:t.x,y:t.y,upperWidth:"upperWidth"in t?t.upperWidth:t.width,lowerWidth:"lowerWidth"in t?t.lowerWidth:t.width,width:t.width,height:t.height}}var vS=()=>{var t,e=Js(),n=zt(HY),r=zt(gS),i=(t=zt(mS))===null||t===void 0?void 0:t.padding;return!e||!r||!i?n:{width:r.width-i.left-i.right,height:r.height-i.top-i.bottom,x:i.left,y:i.top}},hZ={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},w4=()=>{var t;return(t=zt(Gi))!==null&&t!==void 0?t:hZ},S4=()=>zt(tu),M4=()=>zt(nu),fr=t=>t.layout.layoutType,Gg=()=>zt(fr),qP=()=>{var t=Gg();if(t==="horizontal"||t==="vertical")return t},E4=t=>{var e=t.layout.layoutType;if(e==="centric"||e==="radial")return e},pZ=()=>{var t=Gg();return t!==void 0},Ky=t=>{var e=Wr(),n=Js(),r=t.width,i=t.height,s=$P(),o=r,a=i;return s&&(o=s.width>0?s.width:r,a=s.height>0?s.height:i),R.useEffect(()=>{!n&&Ll(o)&&Ll(a)&&e(pY({width:o,height:a}))},[e,n,o,a]),null},A4=Symbol.for("immer-nothing"),xk=Symbol.for("immer-draftable"),Eo=Symbol.for("immer-state");function Ua(t,...e){throw new Error(`[Immer] minified error nr: ${t}. Full error at: https://bit.ly/3cXEKWf`)}var py=Object.getPrototypeOf;function Ag(t){return!!t&&!!t[Eo]}function kh(t){var e;return t?T4(t)||Array.isArray(t)||!!t[xk]||!!((e=t.constructor)!=null&&e[xk])||Yy(t)||xS(t):!1}var mZ=Object.prototype.constructor.toString(),bk=new WeakMap;function T4(t){if(!t||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);if(e===null||e===Object.prototype)return!0;const n=Object.hasOwnProperty.call(e,"constructor")&&e.constructor;if(n===Object)return!0;if(typeof n!="function")return!1;let r=bk.get(n);return r===void 0&&(r=Function.toString.call(n),bk.set(n,r)),r===mZ}function _w(t,e,n=!0){yS(t)===0?(n?Reflect.ownKeys(t):Object.keys(t)).forEach(i=>{e(i,t[i],t)}):t.forEach((r,i)=>e(i,r,t))}function yS(t){const e=t[Eo];return e?e.type_:Array.isArray(t)?1:Yy(t)?2:xS(t)?3:0}function hC(t,e){return yS(t)===2?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function C4(t,e,n){const r=yS(t);r===2?t.set(e,n):r===3?t.add(n):t[e]=n}function gZ(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}function Yy(t){return t instanceof Map}function xS(t){return t instanceof Set}function Wf(t){return t.copy_||t.base_}function pC(t,e){if(Yy(t))return new Map(t);if(xS(t))return new Set(t);if(Array.isArray(t))return Array.prototype.slice.call(t);const n=T4(t);if(e===!0||e==="class_only"&&!n){const r=Object.getOwnPropertyDescriptors(t);delete r[Eo];let i=Reflect.ownKeys(r);for(let s=0;s1&&Object.defineProperties(t,{set:Cb,add:Cb,clear:Cb,delete:Cb}),Object.freeze(t),e&&Object.values(t).forEach(n=>KP(n,!0))),t}function vZ(){Ua(2)}var Cb={value:vZ};function bS(t){return t===null||typeof t!="object"?!0:Object.isFrozen(t)}var yZ={};function Oh(t){const e=yZ[t];return e||Ua(0,t),e}var my;function P4(){return my}function xZ(t,e){return{drafts_:[],parent_:t,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function _k(t,e){e&&(Oh("Patches"),t.patches_=[],t.inversePatches_=[],t.patchListener_=e)}function mC(t){gC(t),t.drafts_.forEach(bZ),t.drafts_=null}function gC(t){t===my&&(my=t.parent_)}function wk(t){return my=xZ(my,t)}function bZ(t){const e=t[Eo];e.type_===0||e.type_===1?e.revoke_():e.revoked_=!0}function Sk(t,e){e.unfinalizedDrafts_=e.drafts_.length;const n=e.drafts_[0];return t!==void 0&&t!==n?(n[Eo].modified_&&(mC(e),Ua(4)),kh(t)&&(t=ww(e,t),e.parent_||Sw(e,t)),e.patches_&&Oh("Patches").generateReplacementPatches_(n[Eo].base_,t,e.patches_,e.inversePatches_)):t=ww(e,n,[]),mC(e),e.patches_&&e.patchListener_(e.patches_,e.inversePatches_),t!==A4?t:void 0}function ww(t,e,n){if(bS(e))return e;const r=t.immer_.shouldUseStrictIteration(),i=e[Eo];if(!i)return _w(e,(s,o)=>Mk(t,i,e,s,o,n),r),e;if(i.scope_!==t)return e;if(!i.modified_)return Sw(t,i.base_,!0),i.base_;if(!i.finalized_){i.finalized_=!0,i.scope_.unfinalizedDrafts_--;const s=i.copy_;let o=s,a=!1;i.type_===3&&(o=new Set(s),s.clear(),a=!0),_w(o,(l,c)=>Mk(t,i,s,l,c,n,a),r),Sw(t,s,!1),n&&t.patches_&&Oh("Patches").generatePatches_(i,n,t.patches_,t.inversePatches_)}return i.copy_}function Mk(t,e,n,r,i,s,o){if(i==null||typeof i!="object"&&!o)return;const a=bS(i);if(!(a&&!o)){if(Ag(i)){const l=s&&e&&e.type_!==3&&!hC(e.assigned_,r)?s.concat(r):void 0,c=ww(t,i,l);if(C4(n,r,c),Ag(c))t.canAutoFreeze_=!1;else return}else o&&n.add(i);if(kh(i)&&!a){if(!t.immer_.autoFreeze_&&t.unfinalizedDrafts_<1||e&&e.base_&&e.base_[r]===i&&a)return;ww(t,i),(!e||!e.scope_.parent_)&&typeof r!="symbol"&&(Yy(n)?n.has(r):Object.prototype.propertyIsEnumerable.call(n,r))&&Sw(t,i)}}}function Sw(t,e,n=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_&&KP(e,n)}function _Z(t,e){const n=Array.isArray(t),r={type_:n?1:0,scope_:e?e.scope_:P4(),modified_:!1,finalized_:!1,assigned_:{},parent_:e,base_:t,draft_:null,copy_:null,revoke_:null,isManual_:!1};let i=r,s=YP;n&&(i=[r],s=gy);const{revoke:o,proxy:a}=Proxy.revocable(i,s);return r.draft_=a,r.revoke_=o,a}var YP={get(t,e){if(e===Eo)return t;const n=Wf(t);if(!hC(n,e))return wZ(t,n,e);const r=n[e];return t.finalized_||!kh(r)?r:r===SE(t.base_,e)?(ME(t),t.copy_[e]=yC(r,t)):r},has(t,e){return e in Wf(t)},ownKeys(t){return Reflect.ownKeys(Wf(t))},set(t,e,n){const r=R4(Wf(t),e);if(r!=null&&r.set)return r.set.call(t.draft_,n),!0;if(!t.modified_){const i=SE(Wf(t),e),s=i==null?void 0:i[Eo];if(s&&s.base_===n)return t.copy_[e]=n,t.assigned_[e]=!1,!0;if(gZ(n,i)&&(n!==void 0||hC(t.base_,e)))return!0;ME(t),vC(t)}return t.copy_[e]===n&&(n!==void 0||e in t.copy_)||Number.isNaN(n)&&Number.isNaN(t.copy_[e])||(t.copy_[e]=n,t.assigned_[e]=!0),!0},deleteProperty(t,e){return SE(t.base_,e)!==void 0||e in t.base_?(t.assigned_[e]=!1,ME(t),vC(t)):delete t.assigned_[e],t.copy_&&delete t.copy_[e],!0},getOwnPropertyDescriptor(t,e){const n=Wf(t),r=Reflect.getOwnPropertyDescriptor(n,e);return r&&{writable:!0,configurable:t.type_!==1||e!=="length",enumerable:r.enumerable,value:n[e]}},defineProperty(){Ua(11)},getPrototypeOf(t){return py(t.base_)},setPrototypeOf(){Ua(12)}},gy={};_w(YP,(t,e)=>{gy[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}});gy.deleteProperty=function(t,e){return gy.set.call(this,t,e,void 0)};gy.set=function(t,e,n){return YP.set.call(this,t[0],e,n,t[0])};function SE(t,e){const n=t[Eo];return(n?Wf(n):t)[e]}function wZ(t,e,n){var i;const r=R4(e,n);return r?"value"in r?r.value:(i=r.get)==null?void 0:i.call(t.draft_):void 0}function R4(t,e){if(!(e in t))return;let n=py(t);for(;n;){const r=Object.getOwnPropertyDescriptor(n,e);if(r)return r;n=py(n)}}function vC(t){t.modified_||(t.modified_=!0,t.parent_&&vC(t.parent_))}function ME(t){t.copy_||(t.copy_=pC(t.base_,t.scope_.immer_.useStrictShallowCopy_))}var SZ=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(e,n,r)=>{if(typeof e=="function"&&typeof n!="function"){const s=n;n=e;const o=this;return function(l=s,...c){return o.produce(l,d=>n.call(this,d,...c))}}typeof n!="function"&&Ua(6),r!==void 0&&typeof r!="function"&&Ua(7);let i;if(kh(e)){const s=wk(this),o=yC(e,void 0);let a=!0;try{i=n(o),a=!1}finally{a?mC(s):gC(s)}return _k(s,r),Sk(i,s)}else if(!e||typeof e!="object"){if(i=n(e),i===void 0&&(i=e),i===A4&&(i=void 0),this.autoFreeze_&&KP(i,!0),r){const s=[],o=[];Oh("Patches").generateReplacementPatches_(e,i,s,o),r(s,o)}return i}else Ua(1,e)},this.produceWithPatches=(e,n)=>{if(typeof e=="function")return(o,...a)=>this.produceWithPatches(o,l=>e(l,...a));let r,i;return[this.produce(e,n,(o,a)=>{r=o,i=a}),r,i]},typeof(t==null?void 0:t.autoFreeze)=="boolean"&&this.setAutoFreeze(t.autoFreeze),typeof(t==null?void 0:t.useStrictShallowCopy)=="boolean"&&this.setUseStrictShallowCopy(t.useStrictShallowCopy),typeof(t==null?void 0:t.useStrictIteration)=="boolean"&&this.setUseStrictIteration(t.useStrictIteration)}createDraft(t){kh(t)||Ua(8),Ag(t)&&(t=MZ(t));const e=wk(this),n=yC(t,void 0);return n[Eo].isManual_=!0,gC(e),n}finishDraft(t,e){const n=t&&t[Eo];(!n||!n.isManual_)&&Ua(9);const{scope_:r}=n;return _k(r,e),Sk(void 0,r)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}setUseStrictIteration(t){this.useStrictIteration_=t}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(t,e){let n;for(n=e.length-1;n>=0;n--){const i=e[n];if(i.path.length===0&&i.op==="replace"){t=i.value;break}}n>-1&&(e=e.slice(n+1));const r=Oh("Patches").applyPatches_;return Ag(t)?r(t,e):this.produce(t,i=>r(i,e))}};function yC(t,e){const n=Yy(t)?Oh("MapSet").proxyMap_(t,e):xS(t)?Oh("MapSet").proxySet_(t,e):_Z(t,e);return(e?e.scope_:P4()).drafts_.push(n),n}function MZ(t){return Ag(t)||Ua(10,t),N4(t)}function N4(t){if(!kh(t)||bS(t))return t;const e=t[Eo];let n,r=!0;if(e){if(!e.modified_)return e.base_;e.finalized_=!0,n=pC(t,e.scope_.immer_.useStrictShallowCopy_),r=e.scope_.immer_.shouldUseStrictIteration()}else n=pC(t,!0);return _w(n,(i,s)=>{C4(n,i,N4(s))},r),e&&(e.finalized_=!1),n}var EZ=new SZ;EZ.produce;var AZ={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value"},size:{width:0,height:0},payload:[]},I4=cs({name:"legend",initialState:AZ,reducers:{setLegendSize(t,e){t.size.width=e.payload.width,t.size.height=e.payload.height},setLegendSettings(t,e){t.settings.align=e.payload.align,t.settings.layout=e.payload.layout,t.settings.verticalAlign=e.payload.verticalAlign,t.settings.itemSorter=e.payload.itemSorter},addLegendPayload:{reducer(t,e){t.payload.push(e.payload)},prepare:sr()},replaceLegendPayload:{reducer(t,e){var n=e.payload,r=n.prev,i=n.next,s=$o(t).payload.indexOf(r);s>-1&&(t.payload[s]=i)},prepare:sr()},removeLegendPayload:{reducer(t,e){var n=$o(t).payload.indexOf(e.payload);n>-1&&t.payload.splice(n,1)},prepare:sr()}}}),Zy=I4.actions;Zy.setLegendSize;Zy.setLegendSettings;var TZ=Zy.addLegendPayload,CZ=Zy.replaceLegendPayload,PZ=Zy.removeLegendPayload,RZ=I4.reducer,EE={exports:{}},AE={};/** * @license React * use-sync-external-store-with-selector.production.js * @@ -511,10 +511,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Ek;function NZ(){if(Ek)return AE;Ek=1;var t=Wh();function e(l,c){return l===c&&(l!==0||1/l===1/c)||l!==l&&c!==c}var n=typeof Object.is=="function"?Object.is:e,r=t.useSyncExternalStore,i=t.useRef,s=t.useEffect,o=t.useMemo,a=t.useDebugValue;return AE.useSyncExternalStoreWithSelector=function(l,c,d,f,m){var y=i(null);if(y.current===null){var x={hasValue:!1,value:null};y.current=x}else x=y.current;y=o(function(){function w(O){if(!_){if(_=!0,E=O,O=f(O),m!==void 0&&x.hasValue){var N=x.value;if(m(N,O))return T=N}return T=O}if(N=T,n(E,O))return N;var D=f(O);return m!==void 0&&m(N,D)?(E=O,N):(E=O,T=D)}var _=!1,E,T,C=d===void 0?null:d;return[function(){return w(c())},C===null?void 0:function(){return w(C())}]},[c,d,f,m]);var S=r(l,y[0],y[1]);return s(function(){x.hasValue=!0,x.value=S},[S]),a(S),S},AE}var Ak;function IZ(){return Ak||(Ak=1,EE.exports=NZ()),EE.exports}IZ();function kZ(t){t()}function OZ(){let t=null,e=null;return{clear(){t=null,e=null},notify(){kZ(()=>{let n=t;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=t;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=e={callback:n,next:null,prev:e};return i.prev?i.prev.next=i:t=i,function(){!r||t===null||(r=!1,i.next?i.next.prev=i.prev:e=i.prev,i.prev?i.prev.next=i.next:t=i.next)}}}}var Tk={notify(){},get:()=>[]};function LZ(t,e){let n,r=Tk,i=0,s=!1;function o(S){d();const w=r.subscribe(S);let _=!1;return()=>{_||(_=!0,w(),f())}}function a(){r.notify()}function l(){x.onStateChange&&x.onStateChange()}function c(){return s}function d(){i++,n||(n=t.subscribe(l),r=OZ())}function f(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=Tk)}function m(){s||(s=!0,d())}function y(){s&&(s=!1,f())}const x={addNestedSub:o,notifyNestedSubs:a,handleChangeWrapper:l,isSubscribed:c,trySubscribe:m,tryUnsubscribe:y,getListeners:()=>r};return x}var DZ=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",jZ=DZ(),UZ=()=>typeof navigator<"u"&&navigator.product==="ReactNative",FZ=UZ(),zZ=()=>jZ||FZ?R.useLayoutEffect:R.useEffect,BZ=zZ();function Ck(t,e){return t===e?t!==0||e!==0||1/t===1/e:t!==t&&e!==e}function HZ(t,e){if(Ck(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;const n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(let i=0;i{const l=LZ(i);return{store:i,subscription:l,getServerState:r?()=>r:void 0}},[i,r]),o=R.useMemo(()=>i.getState(),[i]);BZ(()=>{const{subscription:l}=s;return l.onStateChange=l.notifyNestedSubs,l.trySubscribe(),o!==i.getState()&&l.notifyNestedSubs(),()=>{l.tryUnsubscribe(),l.onStateChange=void 0}},[s,o]);const a=n||GZ;return R.createElement(a.Provider,{value:s},e)}var $Z=WZ,XZ=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function qZ(t,e){return t==null&&e==null?!0:typeof t=="number"&&typeof e=="number"?t===e||t!==t&&e!==e:t===e}function _S(t,e){var n=new Set([...Object.keys(t),...Object.keys(e)]);for(var r of n)if(XZ.has(r)){if(t[r]==null&&e[r]==null)continue;if(!HZ(t[r],e[r]))return!1}else if(!qZ(t[r],e[r]))return!1;return!0}function xC(){return xC=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n{var e=t.separator,n=e===void 0?om.separator:e,r=t.contentStyle,i=t.itemStyle,s=t.labelStyle,o=s===void 0?om.labelStyle:s,a=t.payload,l=t.formatter,c=t.itemSorter,d=t.wrapperClassName,f=t.labelClassName,m=t.label,y=t.labelFormatter,x=t.accessibilityLayer,S=x===void 0?om.accessibilityLayer:x,w=()=>{if(a&&a.length){var F={padding:0,margin:0},G=iQ(a,c),k=G.map((U,H)=>{if(!U||U.type==="none")return null;var ne=U.formatter||l||rQ,te=U.value,he=U.name,se=te,fe=he;if(ne){var B=ne(te,he,U,H,a);if(Array.isArray(B)){var J=QZ(B,2);se=J[0],fe=J[1]}else if(B!=null)se=B;else return null}var Y=o0(o0({},om.itemStyle),{},{color:U.color||om.itemStyle.color},i);return R.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(H),style:Y},Ol(fe)?R.createElement("span",{className:"recharts-tooltip-item-name"},fe):null,Ol(fe)?R.createElement("span",{className:"recharts-tooltip-item-separator"},n):null,R.createElement("span",{className:"recharts-tooltip-item-value"},se),R.createElement("span",{className:"recharts-tooltip-item-unit"},U.unit||""))});return R.createElement("ul",{className:"recharts-tooltip-item-list",style:F},k)}return null},_=o0(o0({},om.contentStyle),r),E=o0({margin:0},o),T=!Hi(m),C=T?m:"",O=er("recharts-default-tooltip",d),N=er("recharts-tooltip-label",f);T&&y&&a!==void 0&&a!==null&&(C=y(m,a));var D=S?{role:"status","aria-live":"assertive"}:{};return R.createElement("div",xC({className:O,style:_},D),R.createElement("p",{className:N,style:E},R.isValidElement(C)?C:"".concat(C)),w())},a0="recharts-tooltip-wrapper",oQ={visibility:"hidden"};function aQ(t){var e=t.coordinate,n=t.translateX,r=t.translateY;return er(a0,{["".concat(a0,"-right")]:It(n)&&e&&It(e.x)&&n>=e.x,["".concat(a0,"-left")]:It(n)&&e&&It(e.x)&&n=e.y,["".concat(a0,"-top")]:It(r)&&e&&It(e.y)&&r0?i:0),f=n[r]+i;if(e[r])return o[r]?d:f;var m=l[r];if(m==null)return 0;if(o[r]){var y=d,x=m;return yw?Math.max(d,m):Math.max(f,m)}function lQ(t){var e=t.translateX,n=t.translateY,r=t.useTranslate3d;return{transform:r?"translate3d(".concat(e,"px, ").concat(n,"px, 0)"):"translate(".concat(e,"px, ").concat(n,"px)")}}function cQ(t){var e=t.allowEscapeViewBox,n=t.coordinate,r=t.offsetTop,i=t.offsetLeft,s=t.position,o=t.reverseDirection,a=t.tooltipBox,l=t.useTranslate3d,c=t.viewBox,d,f,m;return a.height>0&&a.width>0&&n?(f=Nk({allowEscapeViewBox:e,coordinate:n,key:"x",offset:i,position:s,reverseDirection:o,tooltipDimension:a.width,viewBox:c,viewBoxDimension:c.width}),m=Nk({allowEscapeViewBox:e,coordinate:n,key:"y",offset:r,position:s,reverseDirection:o,tooltipDimension:a.height,viewBox:c,viewBoxDimension:c.height}),d=lQ({translateX:f,translateY:m,useTranslate3d:l})):d=oQ,{cssProperties:d,cssClasses:aQ({translateX:f,translateY:m,coordinate:n})}}var uQ=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Qy={isSsr:uQ()};function dQ(t,e){return mQ(t)||pQ(t,e)||hQ(t,e)||fQ()}function fQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hQ(t,e){if(t){if(typeof t=="string")return Ik(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ik(t,e):void 0}}function Ik(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);nQy.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),e=dQ(t,2),n=e[0],r=e[1];return R.useEffect(()=>{if(window.matchMedia){var i=window.matchMedia("(prefers-reduced-motion: reduce)"),s=()=>{r(i.matches)};return i.addEventListener("change",s),()=>{i.removeEventListener("change",s)}}},[]),n}function kk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function am(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),c=xQ(l,2),d=c[0],f=c[1];R.useEffect(()=>{var _=E=>{if(E.key==="Escape"){var T,C,O,N;f({dismissed:!0,dismissedAtCoordinate:{x:(T=(C=t.coordinate)===null||C===void 0?void 0:C.x)!==null&&T!==void 0?T:0,y:(O=(N=t.coordinate)===null||N===void 0?void 0:N.y)!==null&&O!==void 0?O:0}})}};return document.addEventListener("keydown",_),()=>{document.removeEventListener("keydown",_)}},[(e=t.coordinate)===null||e===void 0?void 0:e.x,(n=t.coordinate)===null||n===void 0?void 0:n.y]),d.dismissed&&(((r=(i=t.coordinate)===null||i===void 0?void 0:i.x)!==null&&r!==void 0?r:0)!==d.dismissedAtCoordinate.x||((s=(o=t.coordinate)===null||o===void 0?void 0:o.y)!==null&&s!==void 0?s:0)!==d.dismissedAtCoordinate.y)&&f(am(am({},d),{},{dismissed:!1}));var m=cQ({allowEscapeViewBox:t.allowEscapeViewBox,coordinate:t.coordinate,offsetLeft:typeof t.offset=="number"?t.offset:t.offset.x,offsetTop:typeof t.offset=="number"?t.offset:t.offset.y,position:t.position,reverseDirection:t.reverseDirection,tooltipBox:{height:t.lastBoundingBox.height,width:t.lastBoundingBox.width},useTranslate3d:t.useTranslate3d,viewBox:t.viewBox}),y=m.cssClasses,x=m.cssProperties,S=t.hasPortalFromProps?{}:am(am({transition:MQ({prefersReducedMotion:a,isAnimationActive:t.isAnimationActive,active:t.active,animationDuration:t.animationDuration,animationEasing:t.animationEasing})},x),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),w=am(am({},S),{},{visibility:!d.dismissed&&t.active&&t.hasPayload?"visible":"hidden"},t.wrapperStyle);return R.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:y,style:w,ref:t.innerRef},t.children)}var AQ=R.memo(EQ),O4=()=>{var t;return(t=Bt(e=>e.rootProps.accessibilityLayer))!==null&&t!==void 0?t:!0};function bC(){return bC=Object.assign?Object.assign.bind():function(t){for(var e=1;ewn(t.x)&&wn(t.y),Uk=t=>t.base!=null&&Mw(t.base)&&Mw(t),l0=t=>t.x,c0=t=>t.y,RQ=(t,e)=>{if(typeof t=="function")return t;var n="curve".concat(DP(t));if((n==="curveMonotone"||n==="curveBump")&&e){var r=jk["".concat(n).concat(e==="vertical"?"Y":"X")];if(r)return r}return jk[n]||eS},Fk={connectNulls:!1,type:"linear"},NQ=t=>{var e=t.type,n=e===void 0?Fk.type:e,r=t.points,i=r===void 0?[]:r,s=t.baseLine,o=t.layout,a=t.connectNulls,l=a===void 0?Fk.connectNulls:a,c=RQ(n,o),d=l?i.filter(Mw):i;if(Array.isArray(s)){var f,m=i.map((_,E)=>Dk(Dk({},_),{},{base:s[E]}));o==="vertical"?f=_b().y(c0).x1(l0).x0(_=>_.base.x):f=_b().x(l0).y1(c0).y0(_=>_.base.y);var y=f.defined(Uk).curve(c),x=l?m.filter(Uk):m;return y(x)}var S;o==="vertical"&&It(s)?S=_b().y(c0).x1(l0).x0(s):It(s)?S=_b().x(l0).y1(c0).y0(s):S=c5().x(l0).y(c0);var w=S.defined(Mw).curve(c);return w(d)},V_=t=>{var e=t.className,n=t.points,r=t.path,i=t.pathRef,s=Gg();if((!n||!n.length)&&!r)return null;var o={type:t.type,points:t.points,baseLine:t.baseLine,layout:t.layout||s,connectNulls:t.connectNulls},a=n&&n.length?NQ(o):r;return R.createElement("path",bC({},za(t),jP(t),{className:er("recharts-curve",e),d:a===null?void 0:a,ref:i}))},IQ=["x","y","top","left","width","height","className"];function _C(){return _C=Object.assign?Object.assign.bind():function(t){for(var e=1;e"M".concat(t,",").concat(i,"v").concat(r,"M").concat(s,",").concat(e,"h").concat(n),zQ=t=>{var e=t.x,n=e===void 0?0:e,r=t.y,i=r===void 0?0:r,s=t.top,o=s===void 0?0:s,a=t.left,l=a===void 0?0:a,c=t.width,d=c===void 0?0:c,f=t.height,m=f===void 0?0:f,y=t.className,x=jQ(t,IQ),S=kQ({x:n,y:i,top:o,left:l,width:d,height:m},x);return!It(n)||!It(i)||!It(d)||!It(m)||!It(o)||!It(l)?null:R.createElement("path",_C({},Ko(S),{className:er("recharts-cross",y),d:FQ(n,i,d,m,o,l)}))};function BQ(t,e,n,r){var i=r/2;return{stroke:"none",fill:"#ccc",x:t==="horizontal"?e.x-i:n.left+.5,y:t==="horizontal"?n.top+.5:e.y-i,width:t==="horizontal"?r:n.width-1,height:t==="horizontal"?n.height-1:r}}var Ew=1e-4,L4=(t,e)=>[0,3*t,3*e-6*t,3*t-3*e+1],D4=(t,e)=>t.map((n,r)=>n*e**r).reduce((n,r)=>n+r),Bk=(t,e)=>n=>{var r=L4(t,e);return D4(r,n)},HQ=(t,e)=>n=>{var r=L4(t,e),i=[...r.map((s,o)=>s*o).slice(1),0];return D4(i,n)},VQ=t=>{var e,n=t.split("(");if(n.length!==2||n[0]!=="cubic-bezier")return null;var r=(e=n[1])===null||e===void 0||(e=e.split(")")[0])===null||e===void 0?void 0:e.split(",");if(r==null||r.length!==4)return null;var i=r.map(s=>parseFloat(s));return[i[0],i[1],i[2],i[3]]},GQ=function(){for(var e=arguments.length,n=new Array(e),r=0;r{var i=Bk(t,n),s=Bk(e,r),o=HQ(t,n),a=c=>c>1?1:c<0?0:c,l=c=>{for(var d=c>1?1:c,f=d,m=0;m<8;++m){var y=i(f)-d,x=o(f);if(Math.abs(y-d)0&&arguments[0]!==void 0?arguments[0]:{},n=e.stiff,r=n===void 0?100:n,i=e.damping,s=i===void 0?8:i,o=e.dt,a=o===void 0?16.67:o,l=1,c=[0],d=0,f=0,m=1e4,y=0;y{var E,T,C;if(_<=0)return 0;if(_>=1)return l;var O=_*w,N=Math.floor(O),D=O-N;return((E=c[N])!==null&&E!==void 0?E:0)+(((T=c[N+1])!==null&&T!==void 0?T:0)-((C=c[N])!==null&&C!==void 0?C:0))*D}},XQ=t=>{if(typeof t=="string")switch(t){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return Hk(t);case"spring":return $Q();default:if(t.split("(")[0]==="cubic-bezier")return Hk(t)}return typeof t=="function"?t:null},qQ=(t,e,n)=>{var r,i=s=>{var o=e.tick(s);if(e.getState()==="active"){if(n(e.getInterpolated()),e.getProgress()===1){e.complete(),r=void 0;return}r=t.setTimeout(i,o);return}r=t.setTimeout(i,o)};return r=t.setTimeout(i,0),()=>{var s;return(s=r)===null||s===void 0?void 0:s()}},j4=R.createContext(qQ);j4.Provider;function KQ(t){var e=R.useContext(j4);return R.useMemo(()=>t??e,[t,e])}function YQ(t,e,n){return(e=ZQ(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ZQ(t){var e=QQ(t,"string");return typeof e=="symbol"?e:e+""}function QQ(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}var Vk="init",Gk="pending",Wk="active",JQ="completed";function PE(t){return Math.max(0,t)}class eJ{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(e){var n;YQ(this,"state",Vk),this.animationId=e.animationId,this.onAnimationEnd=e.onAnimationEnd,this.animationDuration=PE(e.animationDuration),this.animationBegin=PE(e.animationBegin),this.progress=0,this.from=e.from,this.to=e.to,this.easing=e.easing,(n=e.onAnimationStart)===null||n===void 0||n.call(e)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(e){if(this.getState()===Vk)return this.state=Gk,this.beginStartedTime=e,this.animationBegin;if(this.getState()===Gk){if(this.beginStartedTime==null)throw new Error;var n=e-this.beginStartedTime;return n>=this.animationBegin?(this.state=Wk,this.animationStartedTime=e,this.nextAnimationUpdate(0)):PE(this.animationBegin-n)}if(this.getState()===Wk){if(this.animationStartedTime==null)throw new Error;var r=e-this.animationStartedTime;return this.setProgress(r/this.animationDuration),this.nextAnimationUpdate(r)}return 0}setProgress(e){this.progress=Math.min(1,Math.max(0,e))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var e;(e=this.onAnimationEnd)===null||e===void 0||e.call(this)}this.state=JQ}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class tJ extends eJ{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Fc(this.getFrom(),this.getTo(),this.getProgress()))}}class nJ{setTimeout(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=performance.now(),i=null,s=o=>{o-r>=n?e(o):i=requestAnimationFrame(s)};return i=requestAnimationFrame(s),()=>{i!=null&&cancelAnimationFrame(i)}}}function rJ(t,e){return aJ(t)||oJ(t,e)||sJ(t,e)||iJ()}function iJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. + */var Ek;function NZ(){if(Ek)return AE;Ek=1;var t=$h();function e(l,c){return l===c&&(l!==0||1/l===1/c)||l!==l&&c!==c}var n=typeof Object.is=="function"?Object.is:e,r=t.useSyncExternalStore,i=t.useRef,s=t.useEffect,o=t.useMemo,a=t.useDebugValue;return AE.useSyncExternalStoreWithSelector=function(l,c,d,f,m){var y=i(null);if(y.current===null){var x={hasValue:!1,value:null};y.current=x}else x=y.current;y=o(function(){function w(O){if(!_){if(_=!0,E=O,O=f(O),m!==void 0&&x.hasValue){var N=x.value;if(m(N,O))return T=N}return T=O}if(N=T,n(E,O))return N;var D=f(O);return m!==void 0&&m(N,D)?(E=O,N):(E=O,T=D)}var _=!1,E,T,C=d===void 0?null:d;return[function(){return w(c())},C===null?void 0:function(){return w(C())}]},[c,d,f,m]);var S=r(l,y[0],y[1]);return s(function(){x.hasValue=!0,x.value=S},[S]),a(S),S},AE}var Ak;function IZ(){return Ak||(Ak=1,EE.exports=NZ()),EE.exports}IZ();function kZ(t){t()}function OZ(){let t=null,e=null;return{clear(){t=null,e=null},notify(){kZ(()=>{let n=t;for(;n;)n.callback(),n=n.next})},get(){const n=[];let r=t;for(;r;)n.push(r),r=r.next;return n},subscribe(n){let r=!0;const i=e={callback:n,next:null,prev:e};return i.prev?i.prev.next=i:t=i,function(){!r||t===null||(r=!1,i.next?i.next.prev=i.prev:e=i.prev,i.prev?i.prev.next=i.next:t=i.next)}}}}var Tk={notify(){},get:()=>[]};function LZ(t,e){let n,r=Tk,i=0,s=!1;function o(S){d();const w=r.subscribe(S);let _=!1;return()=>{_||(_=!0,w(),f())}}function a(){r.notify()}function l(){x.onStateChange&&x.onStateChange()}function c(){return s}function d(){i++,n||(n=t.subscribe(l),r=OZ())}function f(){i--,n&&i===0&&(n(),n=void 0,r.clear(),r=Tk)}function m(){s||(s=!0,d())}function y(){s&&(s=!1,f())}const x={addNestedSub:o,notifyNestedSubs:a,handleChangeWrapper:l,isSubscribed:c,trySubscribe:m,tryUnsubscribe:y,getListeners:()=>r};return x}var DZ=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",jZ=DZ(),UZ=()=>typeof navigator<"u"&&navigator.product==="ReactNative",FZ=UZ(),zZ=()=>jZ||FZ?R.useLayoutEffect:R.useEffect,BZ=zZ();function Ck(t,e){return t===e?t!==0||e!==0||1/t===1/e:t!==t&&e!==e}function HZ(t,e){if(Ck(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;const n=Object.keys(t),r=Object.keys(e);if(n.length!==r.length)return!1;for(let i=0;i{const l=LZ(i);return{store:i,subscription:l,getServerState:r?()=>r:void 0}},[i,r]),o=R.useMemo(()=>i.getState(),[i]);BZ(()=>{const{subscription:l}=s;return l.onStateChange=l.notifyNestedSubs,l.trySubscribe(),o!==i.getState()&&l.notifyNestedSubs(),()=>{l.tryUnsubscribe(),l.onStateChange=void 0}},[s,o]);const a=n||GZ;return R.createElement(a.Provider,{value:s},e)}var $Z=WZ,XZ=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function qZ(t,e){return t==null&&e==null?!0:typeof t=="number"&&typeof e=="number"?t===e||t!==t&&e!==e:t===e}function _S(t,e){var n=new Set([...Object.keys(t),...Object.keys(e)]);for(var r of n)if(XZ.has(r)){if(t[r]==null&&e[r]==null)continue;if(!HZ(t[r],e[r]))return!1}else if(!qZ(t[r],e[r]))return!1;return!0}function xC(){return xC=Object.assign?Object.assign.bind():function(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n{var e=t.separator,n=e===void 0?am.separator:e,r=t.contentStyle,i=t.itemStyle,s=t.labelStyle,o=s===void 0?am.labelStyle:s,a=t.payload,l=t.formatter,c=t.itemSorter,d=t.wrapperClassName,f=t.labelClassName,m=t.label,y=t.labelFormatter,x=t.accessibilityLayer,S=x===void 0?am.accessibilityLayer:x,w=()=>{if(a&&a.length){var F={padding:0,margin:0},G=iQ(a,c),k=G.map((U,H)=>{if(!U||U.type==="none")return null;var ne=U.formatter||l||rQ,te=U.value,he=U.name,oe=te,fe=he;if(ne){var B=ne(te,he,U,H,a);if(Array.isArray(B)){var J=QZ(B,2);oe=J[0],fe=J[1]}else if(B!=null)oe=B;else return null}var Y=o0(o0({},am.itemStyle),{},{color:U.color||am.itemStyle.color},i);return R.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(H),style:Y},Ol(fe)?R.createElement("span",{className:"recharts-tooltip-item-name"},fe):null,Ol(fe)?R.createElement("span",{className:"recharts-tooltip-item-separator"},n):null,R.createElement("span",{className:"recharts-tooltip-item-value"},oe),R.createElement("span",{className:"recharts-tooltip-item-unit"},U.unit||""))});return R.createElement("ul",{className:"recharts-tooltip-item-list",style:F},k)}return null},_=o0(o0({},am.contentStyle),r),E=o0({margin:0},o),T=!Hi(m),C=T?m:"",O=er("recharts-default-tooltip",d),N=er("recharts-tooltip-label",f);T&&y&&a!==void 0&&a!==null&&(C=y(m,a));var D=S?{role:"status","aria-live":"assertive"}:{};return R.createElement("div",xC({className:O,style:_},D),R.createElement("p",{className:N,style:E},R.isValidElement(C)?C:"".concat(C)),w())},a0="recharts-tooltip-wrapper",oQ={visibility:"hidden"};function aQ(t){var e=t.coordinate,n=t.translateX,r=t.translateY;return er(a0,{["".concat(a0,"-right")]:kt(n)&&e&&kt(e.x)&&n>=e.x,["".concat(a0,"-left")]:kt(n)&&e&&kt(e.x)&&n=e.y,["".concat(a0,"-top")]:kt(r)&&e&&kt(e.y)&&r0?i:0),f=n[r]+i;if(e[r])return o[r]?d:f;var m=l[r];if(m==null)return 0;if(o[r]){var y=d,x=m;return yw?Math.max(d,m):Math.max(f,m)}function lQ(t){var e=t.translateX,n=t.translateY,r=t.useTranslate3d;return{transform:r?"translate3d(".concat(e,"px, ").concat(n,"px, 0)"):"translate(".concat(e,"px, ").concat(n,"px)")}}function cQ(t){var e=t.allowEscapeViewBox,n=t.coordinate,r=t.offsetTop,i=t.offsetLeft,s=t.position,o=t.reverseDirection,a=t.tooltipBox,l=t.useTranslate3d,c=t.viewBox,d,f,m;return a.height>0&&a.width>0&&n?(f=Nk({allowEscapeViewBox:e,coordinate:n,key:"x",offset:i,position:s,reverseDirection:o,tooltipDimension:a.width,viewBox:c,viewBoxDimension:c.width}),m=Nk({allowEscapeViewBox:e,coordinate:n,key:"y",offset:r,position:s,reverseDirection:o,tooltipDimension:a.height,viewBox:c,viewBoxDimension:c.height}),d=lQ({translateX:f,translateY:m,useTranslate3d:l})):d=oQ,{cssProperties:d,cssClasses:aQ({translateX:f,translateY:m,coordinate:n})}}var uQ=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Qy={isSsr:uQ()};function dQ(t,e){return mQ(t)||pQ(t,e)||hQ(t,e)||fQ()}function fQ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function hQ(t,e){if(t){if(typeof t=="string")return Ik(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Ik(t,e):void 0}}function Ik(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);nQy.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),e=dQ(t,2),n=e[0],r=e[1];return R.useEffect(()=>{if(window.matchMedia){var i=window.matchMedia("(prefers-reduced-motion: reduce)"),s=()=>{r(i.matches)};return i.addEventListener("change",s),()=>{i.removeEventListener("change",s)}}},[]),n}function kk(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function lm(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),c=xQ(l,2),d=c[0],f=c[1];R.useEffect(()=>{var _=E=>{if(E.key==="Escape"){var T,C,O,N;f({dismissed:!0,dismissedAtCoordinate:{x:(T=(C=t.coordinate)===null||C===void 0?void 0:C.x)!==null&&T!==void 0?T:0,y:(O=(N=t.coordinate)===null||N===void 0?void 0:N.y)!==null&&O!==void 0?O:0}})}};return document.addEventListener("keydown",_),()=>{document.removeEventListener("keydown",_)}},[(e=t.coordinate)===null||e===void 0?void 0:e.x,(n=t.coordinate)===null||n===void 0?void 0:n.y]),d.dismissed&&(((r=(i=t.coordinate)===null||i===void 0?void 0:i.x)!==null&&r!==void 0?r:0)!==d.dismissedAtCoordinate.x||((s=(o=t.coordinate)===null||o===void 0?void 0:o.y)!==null&&s!==void 0?s:0)!==d.dismissedAtCoordinate.y)&&f(lm(lm({},d),{},{dismissed:!1}));var m=cQ({allowEscapeViewBox:t.allowEscapeViewBox,coordinate:t.coordinate,offsetLeft:typeof t.offset=="number"?t.offset:t.offset.x,offsetTop:typeof t.offset=="number"?t.offset:t.offset.y,position:t.position,reverseDirection:t.reverseDirection,tooltipBox:{height:t.lastBoundingBox.height,width:t.lastBoundingBox.width},useTranslate3d:t.useTranslate3d,viewBox:t.viewBox}),y=m.cssClasses,x=m.cssProperties,S=t.hasPortalFromProps?{}:lm(lm({transition:MQ({prefersReducedMotion:a,isAnimationActive:t.isAnimationActive,active:t.active,animationDuration:t.animationDuration,animationEasing:t.animationEasing})},x),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),w=lm(lm({},S),{},{visibility:!d.dismissed&&t.active&&t.hasPayload?"visible":"hidden"},t.wrapperStyle);return R.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:y,style:w,ref:t.innerRef},t.children)}var AQ=R.memo(EQ),O4=()=>{var t;return(t=zt(e=>e.rootProps.accessibilityLayer))!==null&&t!==void 0?t:!0};function bC(){return bC=Object.assign?Object.assign.bind():function(t){for(var e=1;ewn(t.x)&&wn(t.y),Uk=t=>t.base!=null&&Mw(t.base)&&Mw(t),l0=t=>t.x,c0=t=>t.y,RQ=(t,e)=>{if(typeof t=="function")return t;var n="curve".concat(DP(t));if((n==="curveMonotone"||n==="curveBump")&&e){var r=jk["".concat(n).concat(e==="vertical"?"Y":"X")];if(r)return r}return jk[n]||eS},Fk={connectNulls:!1,type:"linear"},NQ=t=>{var e=t.type,n=e===void 0?Fk.type:e,r=t.points,i=r===void 0?[]:r,s=t.baseLine,o=t.layout,a=t.connectNulls,l=a===void 0?Fk.connectNulls:a,c=RQ(n,o),d=l?i.filter(Mw):i;if(Array.isArray(s)){var f,m=i.map((_,E)=>Dk(Dk({},_),{},{base:s[E]}));o==="vertical"?f=_b().y(c0).x1(l0).x0(_=>_.base.x):f=_b().x(l0).y1(c0).y0(_=>_.base.y);var y=f.defined(Uk).curve(c),x=l?m.filter(Uk):m;return y(x)}var S;o==="vertical"&&kt(s)?S=_b().y(c0).x1(l0).x0(s):kt(s)?S=_b().x(l0).y1(c0).y0(s):S=c5().x(l0).y(c0);var w=S.defined(Mw).curve(c);return w(d)},V_=t=>{var e=t.className,n=t.points,r=t.path,i=t.pathRef,s=Gg();if((!n||!n.length)&&!r)return null;var o={type:t.type,points:t.points,baseLine:t.baseLine,layout:t.layout||s,connectNulls:t.connectNulls},a=n&&n.length?NQ(o):r;return R.createElement("path",bC({},za(t),jP(t),{className:er("recharts-curve",e),d:a===null?void 0:a,ref:i}))},IQ=["x","y","top","left","width","height","className"];function _C(){return _C=Object.assign?Object.assign.bind():function(t){for(var e=1;e"M".concat(t,",").concat(i,"v").concat(r,"M").concat(s,",").concat(e,"h").concat(n),zQ=t=>{var e=t.x,n=e===void 0?0:e,r=t.y,i=r===void 0?0:r,s=t.top,o=s===void 0?0:s,a=t.left,l=a===void 0?0:a,c=t.width,d=c===void 0?0:c,f=t.height,m=f===void 0?0:f,y=t.className,x=jQ(t,IQ),S=kQ({x:n,y:i,top:o,left:l,width:d,height:m},x);return!kt(n)||!kt(i)||!kt(d)||!kt(m)||!kt(o)||!kt(l)?null:R.createElement("path",_C({},Ko(S),{className:er("recharts-cross",y),d:FQ(n,i,d,m,o,l)}))};function BQ(t,e,n,r){var i=r/2;return{stroke:"none",fill:"#ccc",x:t==="horizontal"?e.x-i:n.left+.5,y:t==="horizontal"?n.top+.5:e.y-i,width:t==="horizontal"?r:n.width-1,height:t==="horizontal"?n.height-1:r}}var Ew=1e-4,L4=(t,e)=>[0,3*t,3*e-6*t,3*t-3*e+1],D4=(t,e)=>t.map((n,r)=>n*e**r).reduce((n,r)=>n+r),Bk=(t,e)=>n=>{var r=L4(t,e);return D4(r,n)},HQ=(t,e)=>n=>{var r=L4(t,e),i=[...r.map((s,o)=>s*o).slice(1),0];return D4(i,n)},VQ=t=>{var e,n=t.split("(");if(n.length!==2||n[0]!=="cubic-bezier")return null;var r=(e=n[1])===null||e===void 0||(e=e.split(")")[0])===null||e===void 0?void 0:e.split(",");if(r==null||r.length!==4)return null;var i=r.map(s=>parseFloat(s));return[i[0],i[1],i[2],i[3]]},GQ=function(){for(var e=arguments.length,n=new Array(e),r=0;r{var i=Bk(t,n),s=Bk(e,r),o=HQ(t,n),a=c=>c>1?1:c<0?0:c,l=c=>{for(var d=c>1?1:c,f=d,m=0;m<8;++m){var y=i(f)-d,x=o(f);if(Math.abs(y-d)0&&arguments[0]!==void 0?arguments[0]:{},n=e.stiff,r=n===void 0?100:n,i=e.damping,s=i===void 0?8:i,o=e.dt,a=o===void 0?16.67:o,l=1,c=[0],d=0,f=0,m=1e4,y=0;y{var E,T,C;if(_<=0)return 0;if(_>=1)return l;var O=_*w,N=Math.floor(O),D=O-N;return((E=c[N])!==null&&E!==void 0?E:0)+(((T=c[N+1])!==null&&T!==void 0?T:0)-((C=c[N])!==null&&C!==void 0?C:0))*D}},XQ=t=>{if(typeof t=="string")switch(t){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return Hk(t);case"spring":return $Q();default:if(t.split("(")[0]==="cubic-bezier")return Hk(t)}return typeof t=="function"?t:null},qQ=(t,e,n)=>{var r,i=s=>{var o=e.tick(s);if(e.getState()==="active"){if(n(e.getInterpolated()),e.getProgress()===1){e.complete(),r=void 0;return}r=t.setTimeout(i,o);return}r=t.setTimeout(i,o)};return r=t.setTimeout(i,0),()=>{var s;return(s=r)===null||s===void 0?void 0:s()}},j4=R.createContext(qQ);j4.Provider;function KQ(t){var e=R.useContext(j4);return R.useMemo(()=>t??e,[t,e])}function YQ(t,e,n){return(e=ZQ(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ZQ(t){var e=QQ(t,"string");return typeof e=="symbol"?e:e+""}function QQ(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}var Vk="init",Gk="pending",Wk="active",JQ="completed";function PE(t){return Math.max(0,t)}class eJ{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(e){var n;YQ(this,"state",Vk),this.animationId=e.animationId,this.onAnimationEnd=e.onAnimationEnd,this.animationDuration=PE(e.animationDuration),this.animationBegin=PE(e.animationBegin),this.progress=0,this.from=e.from,this.to=e.to,this.easing=e.easing,(n=e.onAnimationStart)===null||n===void 0||n.call(e)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(e){if(this.getState()===Vk)return this.state=Gk,this.beginStartedTime=e,this.animationBegin;if(this.getState()===Gk){if(this.beginStartedTime==null)throw new Error;var n=e-this.beginStartedTime;return n>=this.animationBegin?(this.state=Wk,this.animationStartedTime=e,this.nextAnimationUpdate(0)):PE(this.animationBegin-n)}if(this.getState()===Wk){if(this.animationStartedTime==null)throw new Error;var r=e-this.animationStartedTime;return this.setProgress(r/this.animationDuration),this.nextAnimationUpdate(r)}return 0}setProgress(e){this.progress=Math.min(1,Math.max(0,e))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var e;(e=this.onAnimationEnd)===null||e===void 0||e.call(this)}this.state=JQ}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}}class tJ extends eJ{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Fc(this.getFrom(),this.getTo(),this.getProgress()))}}class nJ{setTimeout(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=performance.now(),i=null,s=o=>{o-r>=n?e(o):i=requestAnimationFrame(s)};return i=requestAnimationFrame(s),()=>{i!=null&&cancelAnimationFrame(i)}}}function rJ(t,e){return aJ(t)||oJ(t,e)||sJ(t,e)||iJ()}function iJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function sJ(t,e){if(t){if(typeof t=="string")return $k(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$k(t,e):void 0}}function $k(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{},onAnimationStart:()=>{}},Xk=0,RE=1;function U4(t){var e=Jo(t,lJ),n=e.animationId,r=e.isActive,i=e.canBegin,s=e.duration,o=e.easing,a=e.begin,l=e.onAnimationEnd,c=e.onAnimationStart,d=e.children,f=k4(),m=r==="auto"?!Qy.isSsr&&!f:r,y=KQ(e.animationController),x=R.useState(m?Xk:RE),S=rJ(x,2),w=S[0],_=S[1];return R.useEffect(()=>{m||_(RE)},[m]),R.useEffect(()=>{var E=XQ(o);if(!m||!i||E==null)return Vg;var T=new nJ,C=new tJ({animationId:n,easing:E,animationDuration:s,animationBegin:a,onAnimationStart:c,onAnimationEnd:l,from:Xk,to:RE});return y(T,C,_)},[y,n,m,i,s,o,a,c,l]),d(Number(w))}function F4(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",n=R.useRef(uy(e)),r=R.useRef(t);return r.current!==t&&(n.current=uy(e),r.current=t),n.current}var cJ=t=>t.replace(/([A-Z])/g,e=>"-".concat(e.toLowerCase())),uJ=(t,e,n)=>t.map(r=>"".concat(cJ(r)," ").concat(e,"ms ").concat(n)).join(","),dJ=["radius"],fJ=["radius"],qk,Kk,Yk,Zk,Qk,Jk,eO,tO,nO,rO;function iO(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function sO(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n{var s=xd(n),o=xd(r),a=Math.min(Math.abs(s)/2,Math.abs(o)/2),l=o>=0?1:-1,c=s>=0?1:-1,d=o>=0&&s>=0||o<0&&s<0?1:0,f;if(a>0&&Array.isArray(i)){for(var m=[0,0,0,0],y=0,x=4;ya?a:w}f=Di(qk||(qk=fl(["M",",",""])),t,e+l*m[0]),m[0]>0&&(f+=Di(Kk||(Kk=fl(["A ",",",",0,0,",",",",",""])),m[0],m[0],d,t+c*m[0],e)),f+=Di(Yk||(Yk=fl(["L ",",",""])),t+n-c*m[1],e),m[1]>0&&(f+=Di(Zk||(Zk=fl(["A ",",",",0,0,",`, `,",",""])),m[1],m[1],d,t+n,e+l*m[1])),f+=Di(Qk||(Qk=fl(["L ",",",""])),t+n,e+r-l*m[2]),m[2]>0&&(f+=Di(Jk||(Jk=fl(["A ",",",",0,0,",`, @@ -526,41 +526,41 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho L `,",",` A `,",",",0,0,",",",",",` L `,",",` - A `,",",",0,0,",",",","," Z"])),t,e+l*_,_,_,d,t+c*_,e,t+n-c*_,e,_,_,d,t+n,e+l*_,t+n,e+r-l*_,_,_,d,t+n-c*_,e+r,t+c*_,e+r,_,_,d,t,e+r-l*_)}else f=Di(rO||(rO=fl(["M ",","," h "," v "," h "," Z"])),t,e,n,r,-n);return f},cO={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},wJ=t=>{var e=Jo(t,cO),n=R.useRef(null),r=R.useState(-1),i=vJ(r,2),s=i[0],o=i[1];R.useEffect(()=>{if(n.current&&n.current.getTotalLength)try{var B=n.current.getTotalLength();B&&o(B)}catch{}},[]);var a=e.x,l=e.y,c=e.width,d=e.height,f=e.radius,m=e.className,y=e.animationEasing,x=e.animationDuration,S=e.animationBegin,w=e.isAnimationActive,_=e.isUpdateAnimationActive,E=R.useRef(c),T=R.useRef(d),C=R.useRef(a),O=R.useRef(l),N=R.useMemo(()=>({x:a,y:l,width:c,height:d,radius:f}),[a,l,c,d,f]),D=F4(N,"rectangle-");if(a!==+a||l!==+l||c!==+c||d!==+d||c===0||d===0)return null;var F=er("recharts-rectangle",m);if(!_){var G=Ko(e);G.radius;var k=oO(G,dJ);return R.createElement("path",Aw({},k,{x:xd(a),y:xd(l),width:xd(c),height:xd(d),radius:typeof f=="number"?f:void 0,className:F,d:lO(a,l,c,d,f)}))}var U=E.current,H=T.current,ne=C.current,te=O.current,he="0px ".concat(s===-1?1:s,"px"),se="".concat(s,"px ").concat(s,"px"),fe=uJ(["strokeDasharray"],x,typeof y=="string"?y:cO.animationEasing);return R.createElement(U4,{animationId:D,key:D,canBegin:s>0,duration:x,easing:y,isActive:_,begin:S},B=>{var J=Fc(U,c,B),Y=Fc(H,d,B),V=Fc(ne,a,B),q=Fc(te,l,B);n.current&&(E.current=J,T.current=Y,C.current=V,O.current=q);var pe;w?B>0?pe={transition:fe,strokeDasharray:se}:pe={strokeDasharray:he}:pe={strokeDasharray:se};var ae=Ko(e);ae.radius;var le=oO(ae,fJ);return R.createElement("path",Aw({},le,{radius:typeof f=="number"?f:void 0,className:F,d:lO(V,q,J,Y,f),ref:n,style:sO(sO({},pe),e.style)}))})};function uO(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function dO(t){for(var e=1;et*180/Math.PI,zi=(t,e,n,r)=>({x:t+Math.cos(-Tw*r)*n,y:e+Math.sin(-Tw*r)*n}),TJ=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(e-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},CJ=(t,e)=>{var n=t.x,r=t.y,i=e.x,s=e.y;return Math.sqrt((n-i)**2+(r-s)**2)},PJ=(t,e)=>{var n=t.x,r=t.y,i=e.cx,s=e.cy,o=CJ({x:n,y:r},{x:i,y:s});if(o<=0)return{radius:o,angle:0};var a=(n-i)/o,l=Math.acos(a);return r>s&&(l=2*Math.PI-l),{radius:o,angle:AJ(l),angleInRadian:l}},RJ=t=>{var e=t.startAngle,n=t.endAngle,r=Math.floor(e/360),i=Math.floor(n/360),s=Math.min(r,i);return{startAngle:e-s*360,endAngle:n-s*360}},NJ=(t,e)=>{var n=e.startAngle,r=e.endAngle,i=Math.floor(n/360),s=Math.floor(r/360),o=Math.min(i,s);return t+o*360},IJ=(t,e)=>{var n=t.relativeX,r=t.relativeY,i=PJ({x:n,y:r},e),s=i.radius,o=i.angle,a=e.innerRadius,l=e.outerRadius;if(sl||s===0)return null;var c=RJ(e),d=c.startAngle,f=c.endAngle,m=o,y;if(d<=f){for(;m>f;)m-=360;for(;m=d&&m<=f}else{for(;m>d;)m-=360;for(;m=f&&m<=d}return y?dO(dO({},e),{},{radius:s,angle:NJ(m,e)}):null};function z4(t){var e=t.cx,n=t.cy,r=t.radius,i=t.startAngle,s=t.endAngle,o=zi(e,n,r,i),a=zi(e,n,r,s);return{points:[o,a],cx:e,cy:n,radius:r,startAngle:i,endAngle:s}}var fO,hO,pO,mO,gO,vO,yO;function wC(){return wC=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=Wo(e-t),r=Math.min(Math.abs(e-t),359.999);return n*r},Pb=t=>{var e=t.cx,n=t.cy,r=t.radius,i=t.angle,s=t.sign,o=t.isExternal,a=t.cornerRadius,l=t.cornerIsExternal,c=a*(o?1:-1)+r,d=Math.asin(a/c)/Tw,f=l?i:i+s*d,m=zi(e,n,c,f),y=zi(e,n,r,f),x=l?i-s*d:i,S=zi(e,n,c*Math.cos(d*Tw),x);return{center:m,circleTangency:y,lineTangency:S,theta:d}},B4=t=>{var e=t.cx,n=t.cy,r=t.innerRadius,i=t.outerRadius,s=t.startAngle,o=t.endAngle,a=kJ(s,o),l=s+a,c=zi(e,n,i,s),d=zi(e,n,i,l),f=Di(fO||(fO=eh(["M ",",",` + A `,",",",0,0,",",",","," Z"])),t,e+l*_,_,_,d,t+c*_,e,t+n-c*_,e,_,_,d,t+n,e+l*_,t+n,e+r-l*_,_,_,d,t+n-c*_,e+r,t+c*_,e+r,_,_,d,t,e+r-l*_)}else f=Di(rO||(rO=fl(["M ",","," h "," v "," h "," Z"])),t,e,n,r,-n);return f},cO={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},wJ=t=>{var e=Jo(t,cO),n=R.useRef(null),r=R.useState(-1),i=vJ(r,2),s=i[0],o=i[1];R.useEffect(()=>{if(n.current&&n.current.getTotalLength)try{var B=n.current.getTotalLength();B&&o(B)}catch{}},[]);var a=e.x,l=e.y,c=e.width,d=e.height,f=e.radius,m=e.className,y=e.animationEasing,x=e.animationDuration,S=e.animationBegin,w=e.isAnimationActive,_=e.isUpdateAnimationActive,E=R.useRef(c),T=R.useRef(d),C=R.useRef(a),O=R.useRef(l),N=R.useMemo(()=>({x:a,y:l,width:c,height:d,radius:f}),[a,l,c,d,f]),D=F4(N,"rectangle-");if(a!==+a||l!==+l||c!==+c||d!==+d||c===0||d===0)return null;var F=er("recharts-rectangle",m);if(!_){var G=Ko(e);G.radius;var k=oO(G,dJ);return R.createElement("path",Aw({},k,{x:xd(a),y:xd(l),width:xd(c),height:xd(d),radius:typeof f=="number"?f:void 0,className:F,d:lO(a,l,c,d,f)}))}var U=E.current,H=T.current,ne=C.current,te=O.current,he="0px ".concat(s===-1?1:s,"px"),oe="".concat(s,"px ").concat(s,"px"),fe=uJ(["strokeDasharray"],x,typeof y=="string"?y:cO.animationEasing);return R.createElement(U4,{animationId:D,key:D,canBegin:s>0,duration:x,easing:y,isActive:_,begin:S},B=>{var J=Fc(U,c,B),Y=Fc(H,d,B),V=Fc(ne,a,B),q=Fc(te,l,B);n.current&&(E.current=J,T.current=Y,C.current=V,O.current=q);var pe;w?B>0?pe={transition:fe,strokeDasharray:oe}:pe={strokeDasharray:he}:pe={strokeDasharray:oe};var le=Ko(e);le.radius;var ce=oO(le,fJ);return R.createElement("path",Aw({},ce,{radius:typeof f=="number"?f:void 0,className:F,d:lO(V,q,J,Y,f),ref:n,style:sO(sO({},pe),e.style)}))})};function uO(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function dO(t){for(var e=1;et*180/Math.PI,zi=(t,e,n,r)=>({x:t+Math.cos(-Tw*r)*n,y:e+Math.sin(-Tw*r)*n}),TJ=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(e-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},CJ=(t,e)=>{var n=t.x,r=t.y,i=e.x,s=e.y;return Math.sqrt((n-i)**2+(r-s)**2)},PJ=(t,e)=>{var n=t.x,r=t.y,i=e.cx,s=e.cy,o=CJ({x:n,y:r},{x:i,y:s});if(o<=0)return{radius:o,angle:0};var a=(n-i)/o,l=Math.acos(a);return r>s&&(l=2*Math.PI-l),{radius:o,angle:AJ(l),angleInRadian:l}},RJ=t=>{var e=t.startAngle,n=t.endAngle,r=Math.floor(e/360),i=Math.floor(n/360),s=Math.min(r,i);return{startAngle:e-s*360,endAngle:n-s*360}},NJ=(t,e)=>{var n=e.startAngle,r=e.endAngle,i=Math.floor(n/360),s=Math.floor(r/360),o=Math.min(i,s);return t+o*360},IJ=(t,e)=>{var n=t.relativeX,r=t.relativeY,i=PJ({x:n,y:r},e),s=i.radius,o=i.angle,a=e.innerRadius,l=e.outerRadius;if(sl||s===0)return null;var c=RJ(e),d=c.startAngle,f=c.endAngle,m=o,y;if(d<=f){for(;m>f;)m-=360;for(;m=d&&m<=f}else{for(;m>d;)m-=360;for(;m=f&&m<=d}return y?dO(dO({},e),{},{radius:s,angle:NJ(m,e)}):null};function z4(t){var e=t.cx,n=t.cy,r=t.radius,i=t.startAngle,s=t.endAngle,o=zi(e,n,r,i),a=zi(e,n,r,s);return{points:[o,a],cx:e,cy:n,radius:r,startAngle:i,endAngle:s}}var fO,hO,pO,mO,gO,vO,yO;function wC(){return wC=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var n=Wo(e-t),r=Math.min(Math.abs(e-t),359.999);return n*r},Pb=t=>{var e=t.cx,n=t.cy,r=t.radius,i=t.angle,s=t.sign,o=t.isExternal,a=t.cornerRadius,l=t.cornerIsExternal,c=a*(o?1:-1)+r,d=Math.asin(a/c)/Tw,f=l?i:i+s*d,m=zi(e,n,c,f),y=zi(e,n,r,f),x=l?i-s*d:i,S=zi(e,n,c*Math.cos(d*Tw),x);return{center:m,circleTangency:y,lineTangency:S,theta:d}},B4=t=>{var e=t.cx,n=t.cy,r=t.innerRadius,i=t.outerRadius,s=t.startAngle,o=t.endAngle,a=kJ(s,o),l=s+a,c=zi(e,n,i,s),d=zi(e,n,i,l),f=Di(fO||(fO=th(["M ",",",` A `,",",`,0, `,",",`, `,",",` - `])),c.x,c.y,i,i,+(Math.abs(a)>180),+(s>l),d.x,d.y);if(r>0){var m=zi(e,n,r,s),y=zi(e,n,r,l);f+=Di(hO||(hO=eh(["L ",",",` + `])),c.x,c.y,i,i,+(Math.abs(a)>180),+(s>l),d.x,d.y);if(r>0){var m=zi(e,n,r,s),y=zi(e,n,r,l);f+=Di(hO||(hO=th(["L ",",",` A `,",",`,0, `,",",`, - `,","," Z"])),y.x,y.y,r,r,+(Math.abs(a)>180),+(s<=l),m.x,m.y)}else f+=Di(pO||(pO=eh(["L ",","," Z"])),e,n);return f},OJ=t=>{var e=t.cx,n=t.cy,r=t.innerRadius,i=t.outerRadius,s=t.cornerRadius,o=t.forceCornerRadius,a=t.cornerIsExternal,l=t.startAngle,c=t.endAngle,d=Wo(c-l),f=Pb({cx:e,cy:n,radius:i,angle:l,sign:d,cornerRadius:s,cornerIsExternal:a}),m=f.circleTangency,y=f.lineTangency,x=f.theta,S=Pb({cx:e,cy:n,radius:i,angle:c,sign:-d,cornerRadius:s,cornerIsExternal:a}),w=S.circleTangency,_=S.lineTangency,E=S.theta,T=a?Math.abs(l-c):Math.abs(l-c)-x-E;if(T<0)return o?Di(mO||(mO=eh(["M ",",",` + `,","," Z"])),y.x,y.y,r,r,+(Math.abs(a)>180),+(s<=l),m.x,m.y)}else f+=Di(pO||(pO=th(["L ",","," Z"])),e,n);return f},OJ=t=>{var e=t.cx,n=t.cy,r=t.innerRadius,i=t.outerRadius,s=t.cornerRadius,o=t.forceCornerRadius,a=t.cornerIsExternal,l=t.startAngle,c=t.endAngle,d=Wo(c-l),f=Pb({cx:e,cy:n,radius:i,angle:l,sign:d,cornerRadius:s,cornerIsExternal:a}),m=f.circleTangency,y=f.lineTangency,x=f.theta,S=Pb({cx:e,cy:n,radius:i,angle:c,sign:-d,cornerRadius:s,cornerIsExternal:a}),w=S.circleTangency,_=S.lineTangency,E=S.theta,T=a?Math.abs(l-c):Math.abs(l-c)-x-E;if(T<0)return o?Di(mO||(mO=th(["M ",",",` a`,",",",0,0,1,",`,0 a`,",",",0,0,1,",`,0 - `])),y.x,y.y,s,s,s*2,s,s,-s*2):B4({cx:e,cy:n,innerRadius:r,outerRadius:i,startAngle:l,endAngle:c});var C=Di(gO||(gO=eh(["M ",",",` + `])),y.x,y.y,s,s,s*2,s,s,-s*2):B4({cx:e,cy:n,innerRadius:r,outerRadius:i,startAngle:l,endAngle:c});var C=Di(gO||(gO=th(["M ",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` A`,",",",0,0,",",",",",` - `])),y.x,y.y,s,s,+(d<0),m.x,m.y,i,i,+(T>180),+(d<0),w.x,w.y,s,s,+(d<0),_.x,_.y);if(r>0){var O=Pb({cx:e,cy:n,radius:r,angle:l,sign:d,isExternal:!0,cornerRadius:s,cornerIsExternal:a}),N=O.circleTangency,D=O.lineTangency,F=O.theta,G=Pb({cx:e,cy:n,radius:r,angle:c,sign:-d,isExternal:!0,cornerRadius:s,cornerIsExternal:a}),k=G.circleTangency,U=G.lineTangency,H=G.theta,ne=a?Math.abs(l-c):Math.abs(l-c)-F-H;if(ne<0&&s===0)return"".concat(C,"L").concat(e,",").concat(n,"Z");C+=Di(vO||(vO=eh(["L",",",` + `])),y.x,y.y,s,s,+(d<0),m.x,m.y,i,i,+(T>180),+(d<0),w.x,w.y,s,s,+(d<0),_.x,_.y);if(r>0){var O=Pb({cx:e,cy:n,radius:r,angle:l,sign:d,isExternal:!0,cornerRadius:s,cornerIsExternal:a}),N=O.circleTangency,D=O.lineTangency,F=O.theta,G=Pb({cx:e,cy:n,radius:r,angle:c,sign:-d,isExternal:!0,cornerRadius:s,cornerIsExternal:a}),k=G.circleTangency,U=G.lineTangency,H=G.theta,ne=a?Math.abs(l-c):Math.abs(l-c)-F-H;if(ne<0&&s===0)return"".concat(C,"L").concat(e,",").concat(n,"Z");C+=Di(vO||(vO=th(["L",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",","Z"])),U.x,U.y,s,s,+(d<0),k.x,k.y,r,r,+(ne>180),+(d>0),N.x,N.y,s,s,+(d<0),D.x,D.y)}else C+=Di(yO||(yO=eh(["L",",","Z"])),e,n);return C},LJ={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},DJ=t=>{var e=Jo(t,LJ),n=e.cx,r=e.cy,i=e.innerRadius,s=e.outerRadius,o=e.cornerRadius,a=e.forceCornerRadius,l=e.cornerIsExternal,c=e.startAngle,d=e.endAngle,f=e.className;if(s0&&Math.abs(c-d)<360?S=OJ({cx:n,cy:r,innerRadius:i,outerRadius:s,cornerRadius:Math.min(x,y/2),forceCornerRadius:a,cornerIsExternal:l,startAngle:c,endAngle:d}):S=B4({cx:n,cy:r,innerRadius:i,outerRadius:s,startAngle:c,endAngle:d}),R.createElement("path",wC({},Ko(e),{className:m,d:S}))};function jJ(t,e,n){if(t==="horizontal")return[{x:e.x,y:n.top},{x:e.x,y:n.top+n.height}];if(t==="vertical")return[{x:n.left,y:e.y},{x:n.left+n.width,y:e.y}];if(w5(e)){if(t==="centric"){var r=e.cx,i=e.cy,s=e.innerRadius,o=e.outerRadius,a=e.angle,l=zi(r,i,s,a),c=zi(r,i,o,a);return[{x:l.x,y:l.y},{x:c.x,y:c.y}]}return z4(e)}}function UJ(t){return D5(t)?NaN:Number(t)}function NE(t){return t?(t=UJ(t),t===1/0||t===-1/0?(t<0?-1:1)*Number.MAX_VALUE:t===t?t:0):t===0?t:0}function H4(t,e,n){n&&typeof n!="number"&&nC(t,e,n)&&(e=n=void 0),t=NE(t),e===void 0?(e=t,t=0):e=NE(e),n=n===void 0?tt.chartData,ZP=Oe([$a],t=>{var e=t.chartData!=null?t.chartData.length-1:0;return{chartData:t.chartData,computedData:t.computedData,dataEndIndex:e,dataStartIndex:0}}),wS=(t,e,n,r)=>r?ZP(t):$a(t),FJ=(t,e,n)=>n?ZP(t):$a(t),zJ=Oe([wS],t=>{var e=t.chartData,n=t.dataStartIndex,r=t.dataEndIndex;return e!=null?e.slice(n,r+1):[]});Oe([ZP],t=>{var e=t.chartData,n=t.dataStartIndex,r=t.dataEndIndex;return e!=null?e.slice(n,r+1):[]});var BJ=Oe([$a],t=>{var e=t.chartData,n=t.dataStartIndex,r=t.dataEndIndex;return e!=null?e.slice(n,r+1):[]});function QP(t,e){return WJ(t)||GJ(t,e)||VJ(t,e)||HJ()}function HJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VJ(t,e){if(t){if(typeof t=="string")return xO(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xO(t,e):void 0}}function xO(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);nt.e^s.s<0?1:-1;for(r=s.d.length,i=t.d.length,e=0,n=rt.d[e]^s.s<0?1:-1;return r===i?0:r>i^s.s<0?1:-1};Tt.decimalPlaces=Tt.dp=function(){var t=this,e=t.d.length-1,n=(e-t.e)*or;if(e=t.d[e],e)for(;e%10==0;e/=10)n--;return n<0?0:n};Tt.dividedBy=Tt.div=function(t){return Gc(this,new this.constructor(t))};Tt.dividedToIntegerBy=Tt.idiv=function(t){var e=this,n=e.constructor;return Yn(Gc(e,new n(t),0,1),n.precision)};Tt.equals=Tt.eq=function(t){return!this.cmp(t)};Tt.exponent=function(){return Vr(this)};Tt.greaterThan=Tt.gt=function(t){return this.cmp(t)>0};Tt.greaterThanOrEqualTo=Tt.gte=function(t){return this.cmp(t)>=0};Tt.isInteger=Tt.isint=function(){return this.e>this.d.length-2};Tt.isNegative=Tt.isneg=function(){return this.s<0};Tt.isPositive=Tt.ispos=function(){return this.s>0};Tt.isZero=function(){return this.s===0};Tt.lessThan=Tt.lt=function(t){return this.cmp(t)<0};Tt.lessThanOrEqualTo=Tt.lte=function(t){return this.cmp(t)<1};Tt.logarithm=Tt.log=function(t){var e,n=this,r=n.constructor,i=r.precision,s=i+5;if(t===void 0)t=new r(10);else if(t=new r(t),t.s<1||t.eq(yo))throw Error(Zo+"NaN");if(n.s<1)throw Error(Zo+(n.s?"NaN":"-Infinity"));return n.eq(yo)?new r(0):(ur=!1,e=Gc(vy(n,s),vy(t,s),s),ur=!0,Yn(e,i))};Tt.minus=Tt.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?X4(e,t):W4(e,(t.s=-t.s,t))};Tt.modulo=Tt.mod=function(t){var e,n=this,r=n.constructor,i=r.precision;if(t=new r(t),!t.s)throw Error(Zo+"NaN");return n.s?(ur=!1,e=Gc(n,t,0,1).times(t),ur=!0,n.minus(e)):Yn(new r(n),i)};Tt.naturalExponential=Tt.exp=function(){return $4(this)};Tt.naturalLogarithm=Tt.ln=function(){return vy(this)};Tt.negated=Tt.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};Tt.plus=Tt.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?W4(e,t):X4(e,(t.s=-t.s,t))};Tt.precision=Tt.sd=function(t){var e,n,r,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(_h+t);if(e=Vr(i)+1,r=i.d.length-1,n=r*or+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return t&&e>n?e:n};Tt.squareRoot=Tt.sqrt=function(){var t,e,n,r,i,s,o,a=this,l=a.constructor;if(a.s<1){if(!a.s)return new l(0);throw Error(Zo+"NaN")}for(t=Vr(a),ur=!1,i=Math.sqrt(+a),i==0||i==1/0?(e=Sl(a.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=$g((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),r=new l(e)):r=new l(i.toString()),n=l.precision,i=o=n+3;;)if(s=r,r=s.plus(Gc(a,s,o+2)).times(.5),Sl(s.d).slice(0,o)===(e=Sl(r.d)).slice(0,o)){if(e=e.slice(o-3,o+1),i==o&&e=="4999"){if(Yn(s,n+1,0),s.times(s).eq(a)){r=s;break}}else if(e!="9999")break;o+=4}return ur=!0,Yn(r,n)};Tt.times=Tt.mul=function(t){var e,n,r,i,s,o,a,l,c,d=this,f=d.constructor,m=d.d,y=(t=new f(t)).d;if(!d.s||!t.s)return new f(0);for(t.s*=d.s,n=d.e+t.e,l=m.length,c=y.length,l=0;){for(e=0,i=l+r;i>r;)a=s[i]+y[r]*m[i-r-1]+e,s[i--]=a%vi|0,e=a/vi|0;s[i]=(s[i]+e)%vi|0}for(;!s[--o];)s.pop();return e?++n:s.shift(),t.d=s,t.e=n,ur?Yn(t,f.precision):t};Tt.toDecimalPlaces=Tt.todp=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(Dl(t,0,Wg),e===void 0?e=r.rounding:Dl(e,0,8),Yn(n,t+Vr(n)+1,e))};Tt.toExponential=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=Oh(r,!0):(Dl(t,0,Wg),e===void 0?e=i.rounding:Dl(e,0,8),r=Yn(new i(r),t+1,e),n=Oh(r,!0,t+1)),n};Tt.toFixed=function(t,e){var n,r,i=this,s=i.constructor;return t===void 0?Oh(i):(Dl(t,0,Wg),e===void 0?e=s.rounding:Dl(e,0,8),r=Yn(new s(i),t+Vr(i)+1,e),n=Oh(r.abs(),!1,t+Vr(r)+1),i.isneg()&&!i.isZero()?"-"+n:n)};Tt.toInteger=Tt.toint=function(){var t=this,e=t.constructor;return Yn(new e(t),Vr(t)+1,e.rounding)};Tt.toNumber=function(){return+this};Tt.toPower=Tt.pow=function(t){var e,n,r,i,s,o,a=this,l=a.constructor,c=12,d=+(t=new l(t));if(!t.s)return new l(yo);if(a=new l(a),!a.s){if(t.s<1)throw Error(Zo+"Infinity");return a}if(a.eq(yo))return a;if(r=l.precision,t.eq(yo))return Yn(a,r);if(e=t.e,n=t.d.length-1,o=e>=n,s=a.s,o){if((n=d<0?-d:d)<=G4){for(i=new l(yo),e=Math.ceil(r/or+4),ur=!1;n%2&&(i=i.times(a),wO(i.d,e)),n=$g(n/2),n!==0;)a=a.times(a),wO(a.d,e);return ur=!0,t.s<0?new l(yo).div(i):Yn(i,r)}}else if(s<0)throw Error(Zo+"NaN");return s=s<0&&t.d[Math.max(e,n)]&1?-1:1,a.s=1,ur=!1,i=t.times(vy(a,r+c)),ur=!0,i=$4(i),i.s=s,i};Tt.toPrecision=function(t,e){var n,r,i=this,s=i.constructor;return t===void 0?(n=Vr(i),r=Oh(i,n<=s.toExpNeg||n>=s.toExpPos)):(Dl(t,1,Wg),e===void 0?e=s.rounding:Dl(e,0,8),i=Yn(new s(i),t,e),n=Vr(i),r=Oh(i,t<=n||n<=s.toExpNeg,t)),r};Tt.toSignificantDigits=Tt.tosd=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(Dl(t,1,Wg),e===void 0?e=r.rounding:Dl(e,0,8)),Yn(new r(n),t,e)};Tt.toString=Tt.valueOf=Tt.val=Tt.toJSON=Tt[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=Vr(t),n=t.constructor;return Oh(t,e<=n.toExpNeg||e>=n.toExpPos)};function W4(t,e){var n,r,i,s,o,a,l,c,d=t.constructor,f=d.precision;if(!t.s||!e.s)return e.s||(e=new d(t)),ur?Yn(e,f):e;if(l=t.d,c=e.d,o=t.e,i=e.e,l=l.slice(),s=o-i,s){for(s<0?(r=l,s=-s,a=c.length):(r=c,i=o,a=l.length),o=Math.ceil(f/or),a=o>a?o+1:a+1,s>a&&(s=a,r.length=1),r.reverse();s--;)r.push(0);r.reverse()}for(a=l.length,s=c.length,a-s<0&&(s=a,r=c,c=l,l=r),n=0;s;)n=(l[--s]=l[s]+c[s]+n)/vi|0,l[s]%=vi;for(n&&(l.unshift(n),++i),a=l.length;l[--a]==0;)l.pop();return e.d=l,e.e=i,ur?Yn(e,f):e}function Dl(t,e,n){if(t!==~~t||tn)throw Error(_h+t)}function Sl(t){var e,n,r,i=t.length-1,s="",o=t[0];if(i>0){for(s+=o,e=1;eo?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function n(r,i,s){for(var o=0;s--;)r[s]-=o,o=r[s]1;)r.shift()}return function(r,i,s,o){var a,l,c,d,f,m,y,x,S,w,_,E,T,C,O,N,D,F,G=r.constructor,k=r.s==i.s?1:-1,U=r.d,H=i.d;if(!r.s)return new G(r);if(!i.s)throw Error(Zo+"Division by zero");for(l=r.e-i.e,D=H.length,O=U.length,y=new G(k),x=y.d=[],c=0;H[c]==(U[c]||0);)++c;if(H[c]>(U[c]||0)&&--l,s==null?E=s=G.precision:o?E=s+(Vr(r)-Vr(i))+1:E=s,E<0)return new G(0);if(E=E/or+2|0,c=0,D==1)for(d=0,H=H[0],E++;(c1&&(H=t(H,d),U=t(U,d),D=H.length,O=U.length),C=D,S=U.slice(0,D),w=S.length;w=vi/2&&++N;do d=0,a=e(H,S,D,w),a<0?(_=S[0],D!=w&&(_=_*vi+(S[1]||0)),d=_/N|0,d>1?(d>=vi&&(d=vi-1),f=t(H,d),m=f.length,w=S.length,a=e(f,S,m,w),a==1&&(d--,n(f,D16)throw Error(JP+Vr(t));if(!t.s)return new d(yo);for(ur=!1,a=f,o=new d(.03125);t.abs().gte(.1);)t=t.times(o),c+=5;for(r=Math.log($f(2,c))/Math.LN10*2+5|0,a+=r,n=i=s=new d(yo),d.precision=a;;){if(i=Yn(i.times(t),a),n=n.times(++l),o=s.plus(Gc(i,n,a)),Sl(o.d).slice(0,a)===Sl(s.d).slice(0,a)){for(;c--;)s=Yn(s.times(s),a);return d.precision=f,e==null?(ur=!0,Yn(s,f)):s}s=o}}function Vr(t){for(var e=t.e*or,n=t.d[0];n>=10;n/=10)e++;return e}function IE(t,e,n){if(e>t.LN10.sd())throw ur=!0,n&&(t.precision=n),Error(Zo+"LN10 precision limit exceeded");return Yn(new t(t.LN10),e)}function ad(t){for(var e="";t--;)e+="0";return e}function vy(t,e){var n,r,i,s,o,a,l,c,d,f=1,m=10,y=t,x=y.d,S=y.constructor,w=S.precision;if(y.s<1)throw Error(Zo+(y.s?"NaN":"-Infinity"));if(y.eq(yo))return new S(0);if(e==null?(ur=!1,c=w):c=e,y.eq(10))return e==null&&(ur=!0),IE(S,c);if(c+=m,S.precision=c,n=Sl(x),r=n.charAt(0),s=Vr(y),Math.abs(s)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)y=y.times(t),n=Sl(y.d),r=n.charAt(0),f++;s=Vr(y),r>1?(y=new S("0."+n),s++):y=new S(r+"."+n.slice(1))}else return l=IE(S,c+2,w).times(s+""),y=vy(new S(r+"."+n.slice(1)),c-m).plus(l),S.precision=w,e==null?(ur=!0,Yn(y,w)):y;for(a=o=y=Gc(y.minus(yo),y.plus(yo),c),d=Yn(y.times(y),c),i=3;;){if(o=Yn(o.times(d),c),l=a.plus(Gc(o,new S(i),c)),Sl(l.d).slice(0,c)===Sl(a.d).slice(0,c))return a=a.times(2),s!==0&&(a=a.plus(IE(S,c+2,w).times(s+""))),a=Gc(a,new S(f),c),S.precision=w,e==null?(ur=!0,Yn(a,w)):a;a=l,i+=2}}function _O(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;)++r;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(r,i),e){if(i-=r,n=n-r-1,t.e=$g(n/or),t.d=[],r=(n+1)%or,n<0&&(r+=or),rCw||t.e<-Cw))throw Error(JP+n)}else t.s=0,t.e=0,t.d=[0];return t}function Yn(t,e,n){var r,i,s,o,a,l,c,d,f=t.d;for(o=1,s=f[0];s>=10;s/=10)o++;if(r=e-o,r<0)r+=or,i=e,c=f[d=0];else{if(d=Math.ceil((r+1)/or),s=f.length,d>=s)return t;for(c=s=f[d],o=1;s>=10;s/=10)o++;r%=or,i=r-or+o}if(n!==void 0&&(s=$f(10,o-i-1),a=c/s%10|0,l=e<0||f[d+1]!==void 0||c%s,l=n<4?(a||l)&&(n==0||n==(t.s<0?3:2)):a>5||a==5&&(n==4||l||n==6&&(r>0?i>0?c/$f(10,o-i):0:f[d-1])%10&1||n==(t.s<0?8:7))),e<1||!f[0])return l?(s=Vr(t),f.length=1,e=e-s-1,f[0]=$f(10,(or-e%or)%or),t.e=$g(-e/or)||0):(f.length=1,f[0]=t.e=t.s=0),t;if(r==0?(f.length=d,s=1,d--):(f.length=d+1,s=$f(10,or-r),f[d]=i>0?(c/$f(10,o-i)%$f(10,i)|0)*s:0),l)for(;;)if(d==0){(f[0]+=s)==vi&&(f[0]=1,++t.e);break}else{if(f[d]+=s,f[d]!=vi)break;f[d--]=0,s=1}for(r=f.length;f[--r]===0;)f.pop();if(ur&&(t.e>Cw||t.e<-Cw))throw Error(JP+Vr(t));return t}function X4(t,e){var n,r,i,s,o,a,l,c,d,f,m=t.constructor,y=m.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new m(t),ur?Yn(e,y):e;if(l=t.d,f=e.d,r=e.e,c=t.e,l=l.slice(),o=c-r,o){for(d=o<0,d?(n=l,o=-o,a=f.length):(n=f,r=c,a=l.length),i=Math.max(Math.ceil(y/or),a)+2,o>i&&(o=i,n.length=1),n.reverse(),i=o;i--;)n.push(0);n.reverse()}else{for(i=l.length,a=f.length,d=i0;--i)l[a++]=0;for(i=f.length;i>o;){if(l[--i]0?s=s.charAt(0)+"."+s.slice(1)+ad(r):o>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(i<0?"e":"e+")+i):i<0?(s="0."+ad(-i-1)+s,n&&(r=n-o)>0&&(s+=ad(r))):i>=o?(s+=ad(i+1-o),n&&(r=n-i-1)>0&&(s=s+"."+ad(r))):((r=i+1)0&&(i+1===o&&(s+="."),s+=ad(r))),t.s<0?"-"+s:s}function wO(t,e){if(t.length>e)return t.length=e,!0}function q4(t){var e,n,r;function i(s){var o=this;if(!(o instanceof i))return new i(s);if(o.constructor=i,s instanceof i){o.s=s.s,o.e=s.e,o.d=(s=s.d)?s.slice():s;return}if(typeof s=="number"){if(s*0!==0)throw Error(_h+s);if(s>0)o.s=1;else if(s<0)s=-s,o.s=-1;else{o.s=0,o.e=0,o.d=[0];return}if(s===~~s&&s<1e7){o.e=0,o.d=[s];return}return _O(o,s.toString())}else if(typeof s!="string")throw Error(_h+s);if(s.charCodeAt(0)===45?(s=s.slice(1),o.s=-1):o.s=1,qJ.test(s))_O(o,s);else throw Error(_h+s)}if(i.prototype=Tt,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=q4,i.config=i.set=KJ,t===void 0&&(t={}),t)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&r<=i[e+2])this[n]=r;else throw Error(_h+n+": "+r);if((r=t[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(_h+n+": "+r);return this}var e2=q4(XJ);yo=new e2(1);const Tn=e2;function K4(t){var e;return t===0?e=1:e=Math.floor(new Tn(t).abs().log(10).toNumber())+1,e}function Y4(t,e,n){for(var r=new Tn(t),i=0,s=[];r.lt(e)&&i<1e5;)s.push(r.toNumber()),r=r.add(n),i++;return s}function yy(t,e){return JJ(t)||QJ(t,e)||ZJ(t,e)||YJ()}function YJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ZJ(t,e){if(t){if(typeof t=="string")return SO(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?SO(t,e):void 0}}function SO(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{var e=yy(t,2),n=e[0],r=e[1],i=n,s=r;return n>r&&(i=r,s=n),[i,s]},t2=(t,e,n)=>{if(t.lte(0))return new Tn(0);var r=K4(t.toNumber()),i=new Tn(10).pow(r),s=t.div(i),o=r!==1?.05:.1,a=new Tn(Math.ceil(s.div(o).toNumber())).add(n).mul(o),l=a.mul(i);return e?new Tn(l.toNumber()):new Tn(Math.ceil(l.toNumber()))},Q4=(t,e,n)=>{var r;if(t.lte(0))return new Tn(0);var i=[1,2,2.5,5],s=t.toNumber(),o=Math.floor(new Tn(s).abs().log(10).toNumber()),a=new Tn(10).pow(o),l=t.div(a).toNumber(),c=i.findIndex(y=>y>=l-1e-10);if(c===-1&&(a=a.mul(10),c=0),c+=n,c>=i.length){var d=Math.floor(c/i.length);c%=i.length,a=a.mul(new Tn(10).pow(d))}var f=(r=i[c])!==null&&r!==void 0?r:1,m=new Tn(f).mul(a);return e?m:new Tn(Math.ceil(m.toNumber()))},eee=(t,e,n)=>{var r=new Tn(1),i=new Tn(t);if(!i.isint()&&n){var s=Math.abs(t);s<1?(r=new Tn(10).pow(K4(t)-1),i=new Tn(Math.floor(i.div(r).toNumber())).mul(r)):s>1&&(i=new Tn(Math.floor(t)))}else t===0?i=new Tn(Math.floor((e-1)/2)):n||(i=new Tn(Math.floor(t)));for(var o=Math.floor((e-1)/2),a=[],l=0;l4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:t2;if(!Number.isFinite((n-e)/(r-1)))return{step:new Tn(0),tickMin:new Tn(0),tickMax:new Tn(0)};var a=o(new Tn(n).sub(e).div(r-1),i,s),l;e<=0&&n>=0?l=new Tn(0):(l=new Tn(e).add(n).div(2),l=l.sub(new Tn(l).mod(a)));var c=Math.ceil(l.sub(e).div(a).toNumber()),d=Math.ceil(new Tn(n).sub(l).div(a).toNumber()),f=c+d+1;return f>r?J4(e,n,r,i,s+1,o):(f0?d+(r-f):d,c=n>0?c:c+(r-f)),{step:a,tickMin:l.sub(new Tn(c).mul(a)),tickMax:l.add(new Tn(d).mul(a))})},MO=function(e){var n=yy(e,2),r=n[0],i=n[1],s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",l=Math.max(s,2),c=Z4([r,i]),d=yy(c,2),f=d[0],m=d[1];if(f===-1/0||m===1/0){var y=m===1/0?[f,...Array(s-1).fill(1/0)]:[...Array(s-1).fill(-1/0),m];return r>i?y.reverse():y}if(f===m)return eee(f,s,o);var x=a==="snap125"?Q4:t2,S=J4(f,m,l,o,0,x),w=S.step,_=S.tickMin,E=S.tickMax,T=Y4(_,E.add(new Tn(.1).mul(w)),w);return r>i?T.reverse():T},EO=function(e,n){var r=yy(e,2),i=r[0],s=r[1],o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",l=Z4([i,s]),c=yy(l,2),d=c[0],f=c[1];if(d===-1/0||f===1/0)return[i,s];if(d===f)return[d];var m=a==="snap125"?Q4:t2,y=Math.max(n,2),x=m(new Tn(f).sub(d).div(y-1),o,0),S=[...Y4(new Tn(d),new Tn(f),x),f];return o===!1&&(S=S.map(w=>Math.round(w))),i>s?S.reverse():S},tee=t=>t.rootProps.barCategoryGap,SS=t=>t.rootProps.stackOffset,ez=t=>t.rootProps.reverseStackOrder,n2=t=>t.options.chartName,r2=t=>t.rootProps.syncId,tz=t=>t.rootProps.syncMethod,i2=t=>t.options.eventEmitter,nee=t=>t.rootProps.baseValue,Ms={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},wf={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},hl={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},MS=(t,e)=>{if(!(!t||!e))return t!=null&&t.reversed?[e[1],e[0]]:e};function ES(t,e,n){if(n!=="auto")return n;if(t!=null)return Bl(t,e)?"category":"number"}function AO(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Pw(t){for(var e=1;e{if(e!=null)return t.polarAxis.angleAxis[e]},s2=Oe([oee,E4],(t,e)=>{var n;if(t!=null)return t;var r=(n=ES(e,"angleAxis",TO.type))!==null&&n!==void 0?n:"category";return Pw(Pw({},TO),{},{type:r})}),aee=(t,e)=>t.polarAxis.radiusAxis[e],o2=Oe([aee,E4],(t,e)=>{var n;if(t!=null)return t;var r=(n=ES(e,"radiusAxis",CO.type))!==null&&n!==void 0?n:"category";return Pw(Pw({},CO),{},{type:r})}),AS=t=>t.polarOptions,a2=Oe([tu,nu,Gi],TJ),nz=Oe([AS,a2],(t,e)=>{if(t!=null)return Ad(t.innerRadius,e,0)}),rz=Oe([AS,a2],(t,e)=>{if(t!=null)return Ad(t.outerRadius,e,e*.8)}),lee=t=>{if(t==null)return[0,0];var e=t.startAngle,n=t.endAngle;return[e,n]},iz=Oe([AS],lee);Oe([s2,iz],MS);var sz=Oe([a2,nz,rz],(t,e,n)=>{if(!(t==null||e==null||n==null))return[e,n]});Oe([o2,sz],MS);var oz=Oe([fr,AS,nz,rz,tu,nu],(t,e,n,r,i,s)=>{if(!(t!=="centric"&&t!=="radial"||e==null||n==null||r==null)){var o=e.cx,a=e.cy,l=e.startAngle,c=e.endAngle;return{cx:Ad(o,i,i/2),cy:Ad(a,s,s/2),innerRadius:n,outerRadius:r,startAngle:l,endAngle:c,clockWise:!1}}}),bi=(t,e)=>e,TS=(t,e,n)=>n;function l2(t){return t==null?void 0:t.id}function az(t,e,n){var r=e.chartData,i=r===void 0?[]:r,s=n.allowDuplicatedCategory,o=n.dataKey,a=new Map;return t.forEach(l=>{var c,d=(c=l.data)!==null&&c!==void 0?c:i;if(!(d==null||d.length===0)){var f=l2(l);d.forEach((m,y)=>{var x=o==null||s?y:String(yi(m,o,null)),S=yi(m,l.dataKey,0),w;a.has(x)?w=a.get(x):w={},Object.assign(w,{[f]:S}),a.set(x,w)})}}),Array.from(a.values())}function c2(t){return"stackId"in t&&t.stackId!=null&&t.dataKey!=null}var CS=(t,e)=>t===e?!0:t==null||e==null?!1:t[0]===e[0]&&t[1]===e[1];function PS(t,e){return Array.isArray(t)&&Array.isArray(e)&&t.length===0&&e.length===0?!0:t===e}function cee(t,e){if(t.length===e.length){for(var n=0;n{var e=fr(t);return e==="horizontal"?"xAxis":e==="vertical"?"yAxis":e==="centric"?"angleAxis":"radiusAxis"},Xg=t=>t.tooltip.settings.axisId;function u2(t){if(t!=null){var e=t.ticks,n=t.bandwidth,r=t.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>t.domain(),range:(function(s){function o(){return s.apply(this,arguments)}return o.toString=function(){return s.toString()},o})(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(s){var o=i[0],a=i[1];return o<=a?s>=o&&s<=a:s>=a&&s<=o},bandwidth:n?()=>n.call(t):void 0,ticks:e?s=>e.call(t,s):void 0,map:(s,o)=>{var a=t(s);if(a!=null){if(t.bandwidth&&o!==null&&o!==void 0&&o.position){var l=t.bandwidth();switch(o.position){case"middle":a+=l/2;break;case"end":a+=l;break}}return a}}}}}var uee=(t,e)=>{if(e!=null)switch(t){case"linear":{if(!Tl(e)){for(var n,r,i=0;ir)&&(r=s))}return n!==void 0&&r!==void 0?[n,r]:void 0}return e}default:return e}};function wd(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function dee(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function d2(t){let e,n,r;t.length!==2?(e=wd,n=(a,l)=>wd(t(a),l),r=(a,l)=>t(a)-l):(e=t===wd||t===dee?t:fee,n=t,r=t);function i(a,l,c=0,d=a.length){if(c>>1;n(a[f],l)<0?c=f+1:d=f}while(c>>1;n(a[f],l)<=0?c=f+1:d=f}while(cc&&r(a[f-1],l)>-r(a[f],l)?f-1:f}return{left:i,center:o,right:s}}function fee(){return 0}function lz(t){return t===null?NaN:+t}function*hee(t,e){for(let n of t)n!=null&&(n=+n)>=n&&(yield n)}const pee=d2(wd),Jy=pee.right;d2(lz).center;class PO extends Map{constructor(e,n=vee){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(RO(this,e))}has(e){return super.has(RO(this,e))}set(e,n){return super.set(mee(this,e),n)}delete(e){return super.delete(gee(this,e))}}function RO({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function mee({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function gee({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function vee(t){return t!==null&&typeof t=="object"?t.valueOf():t}function yee(t=wd){if(t===wd)return cz;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function cz(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(te?1:0)}const xee=Math.sqrt(50),bee=Math.sqrt(10),_ee=Math.sqrt(2);function Rw(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),s=r/Math.pow(10,i),o=s>=xee?10:s>=bee?5:s>=_ee?2:1;let a,l,c;return i<0?(c=Math.pow(10,-i)/o,a=Math.round(t*c),l=Math.round(e*c),a/ce&&--l,c=-c):(c=Math.pow(10,i)*o,a=Math.round(t/c),l=Math.round(e/c),a*ce&&--l),l0))return[];if(t===e)return[t];const r=e=i))return[];const a=s-i+1,l=new Array(a);if(r)if(o<0)for(let c=0;c=r)&&(n=r);return n}function IO(t,e){let n;for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function uz(t,e,n=0,r=1/0,i){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(i=i===void 0?cz:yee(i);r>n;){if(r-n>600){const l=r-n+1,c=e-n+1,d=Math.log(l),f=.5*Math.exp(2*d/3),m=.5*Math.sqrt(d*f*(l-f)/l)*(c-l/2<0?-1:1),y=Math.max(n,Math.floor(e-c*f/l+m)),x=Math.min(r,Math.floor(e+(l-c)*f/l+m));uz(t,e,y,x,i)}const s=t[e];let o=n,a=r;for(u0(t,n,e),i(t[r],s)>0&&u0(t,n,r);o0;)--a}i(t[n],s)===0?u0(t,n,a):(++a,u0(t,a,r)),a<=e&&(n=a+1),e<=a&&(r=a-1)}return t}function u0(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function wee(t,e,n){if(t=Float64Array.from(hee(t)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return IO(t);if(e>=1)return NO(t);var r,i=(r-1)*e,s=Math.floor(i),o=NO(uz(t,s).subarray(0,s+1)),a=IO(t.subarray(s+1));return o+(a-o)*(i-s)}}function See(t,e,n=lz){if(!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,s=Math.floor(i),o=+n(t[s],s,t),a=+n(t[s+1],s+1,t);return o+(a-o)*(i-s)}}function Mee(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,s=new Array(i);++r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?Rb(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?Rb(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Tee.exec(t))?new Zs(e[1],e[2],e[3],1):(e=Cee.exec(t))?new Zs(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Pee.exec(t))?Rb(e[1],e[2],e[3],e[4]):(e=Ree.exec(t))?Rb(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Nee.exec(t))?FO(e[1],e[2]/100,e[3]/100,1):(e=Iee.exec(t))?FO(e[1],e[2]/100,e[3]/100,e[4]):kO.hasOwnProperty(t)?DO(kO[t]):t==="transparent"?new Zs(NaN,NaN,NaN,0):null}function DO(t){return new Zs(t>>16&255,t>>8&255,t&255,1)}function Rb(t,e,n,r){return r<=0&&(t=e=n=NaN),new Zs(t,e,n,r)}function Lee(t){return t instanceof ex||(t=_y(t)),t?(t=t.rgb(),new Zs(t.r,t.g,t.b,t.opacity)):new Zs}function TC(t,e,n,r){return arguments.length===1?Lee(t):new Zs(t,e,n,r??1)}function Zs(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}p2(Zs,TC,fz(ex,{brighter(t){return t=t==null?Nw:Math.pow(Nw,t),new Zs(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?xy:Math.pow(xy,t),new Zs(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Zs(wh(this.r),wh(this.g),wh(this.b),Iw(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:jO,formatHex:jO,formatHex8:Dee,formatRgb:UO,toString:UO}));function jO(){return`#${th(this.r)}${th(this.g)}${th(this.b)}`}function Dee(){return`#${th(this.r)}${th(this.g)}${th(this.b)}${th((isNaN(this.opacity)?1:this.opacity)*255)}`}function UO(){const t=Iw(this.opacity);return`${t===1?"rgb(":"rgba("}${wh(this.r)}, ${wh(this.g)}, ${wh(this.b)}${t===1?")":`, ${t})`}`}function Iw(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function wh(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function th(t){return t=wh(t),(t<16?"0":"")+t.toString(16)}function FO(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Fa(t,e,n,r)}function hz(t){if(t instanceof Fa)return new Fa(t.h,t.s,t.l,t.opacity);if(t instanceof ex||(t=_y(t)),!t)return new Fa;if(t instanceof Fa)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),s=Math.max(e,n,r),o=NaN,a=s-i,l=(s+i)/2;return a?(e===s?o=(n-r)/a+(n0&&l<1?0:o,new Fa(o,a,l,t.opacity)}function jee(t,e,n,r){return arguments.length===1?hz(t):new Fa(t,e,n,r??1)}function Fa(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}p2(Fa,jee,fz(ex,{brighter(t){return t=t==null?Nw:Math.pow(Nw,t),new Fa(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?xy:Math.pow(xy,t),new Fa(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Zs(kE(t>=240?t-240:t+120,i,r),kE(t,i,r),kE(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Fa(zO(this.h),Nb(this.s),Nb(this.l),Iw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Iw(this.opacity);return`${t===1?"hsl(":"hsla("}${zO(this.h)}, ${Nb(this.s)*100}%, ${Nb(this.l)*100}%${t===1?")":`, ${t})`}`}}));function zO(t){return t=(t||0)%360,t<0?t+360:t}function Nb(t){return Math.max(0,Math.min(1,t||0))}function kE(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const m2=t=>()=>t;function Uee(t,e){return function(n){return t+n*e}}function Fee(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function zee(t){return(t=+t)==1?pz:function(e,n){return n-e?Fee(e,n,t):m2(isNaN(e)?n:e)}}function pz(t,e){var n=e-t;return n?Uee(t,n):m2(isNaN(t)?e:t)}const BO=(function t(e){var n=zee(e);function r(i,s){var o=n((i=TC(i)).r,(s=TC(s)).r),a=n(i.g,s.g),l=n(i.b,s.b),c=pz(i.opacity,s.opacity);return function(d){return i.r=o(d),i.g=a(d),i.b=l(d),i.opacity=c(d),i+""}}return r.gamma=t,r})(1);function Bee(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(s){for(i=0;in&&(s=e.slice(n,s),a[o]?a[o]+=s:a[++o]=s),(r=r[0])===(i=i[0])?a[o]?a[o]+=i:a[++o]=i:(a[++o]=null,l.push({i:o,x:kw(r,i)})),n=OE.lastIndex;return ne&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function Qee(t,e,n){var r=t[0],i=t[1],s=e[0],o=e[1];return i2?Jee:Qee,l=c=null,f}function f(m){return m==null||isNaN(m=+m)?s:(l||(l=a(t.map(r),e,n)))(r(o(m)))}return f.invert=function(m){return o(i((c||(c=a(e,t.map(r),kw)))(m)))},f.domain=function(m){return arguments.length?(t=Array.from(m,Ow),d()):t.slice()},f.range=function(m){return arguments.length?(e=Array.from(m),d()):e.slice()},f.rangeRound=function(m){return e=Array.from(m),n=g2,d()},f.clamp=function(m){return arguments.length?(o=m?!0:Es,d()):o!==Es},f.interpolate=function(m){return arguments.length?(n=m,d()):n},f.unknown=function(m){return arguments.length?(s=m,f):s},function(m,y){return r=m,i=y,d()}}function v2(){return RS()(Es,Es)}function ete(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Lw(t,e){if(!isFinite(t)||t===0)return null;var n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Tg(t){return t=Lw(Math.abs(t)),t?t[1]:NaN}function tte(t,e){return function(n,r){for(var i=n.length,s=[],o=0,a=t[0],l=0;i>0&&a>0&&(l+a+1>r&&(a=Math.max(1,r-l)),s.push(n.substring(i-=a,i+a)),!((l+=a+1)>r));)a=t[o=(o+1)%t.length];return s.reverse().join(e)}}function nte(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var rte=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function wy(t){if(!(e=rte.exec(t)))throw new Error("invalid format: "+t);var e;return new y2({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}wy.prototype=y2.prototype;function y2(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}y2.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function ite(t){e:for(var e=t.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var Dw;function ste(t,e){var n=Lw(t,e);if(!n)return Dw=void 0,t.toPrecision(e);var r=n[0],i=n[1],s=i-(Dw=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return s===o?r:s>o?r+new Array(s-o+1).join("0"):s>0?r.slice(0,s)+"."+r.slice(s):"0."+new Array(1-s).join("0")+Lw(t,Math.max(0,e+s-1))[0]}function VO(t,e){var n=Lw(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const GO={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:ete,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>VO(t*100,e),r:VO,s:ste,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function WO(t){return t}var $O=Array.prototype.map,XO=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function ote(t){var e=t.grouping===void 0||t.thousands===void 0?WO:tte($O.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",s=t.numerals===void 0?WO:nte($O.call(t.numerals,String)),o=t.percent===void 0?"%":t.percent+"",a=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function c(f,m){f=wy(f);var y=f.fill,x=f.align,S=f.sign,w=f.symbol,_=f.zero,E=f.width,T=f.comma,C=f.precision,O=f.trim,N=f.type;N==="n"?(T=!0,N="g"):GO[N]||(C===void 0&&(C=12),O=!0,N="g"),(_||y==="0"&&x==="=")&&(_=!0,y="0",x="=");var D=(m&&m.prefix!==void 0?m.prefix:"")+(w==="$"?n:w==="#"&&/[boxX]/.test(N)?"0"+N.toLowerCase():""),F=(w==="$"?r:/[%p]/.test(N)?o:"")+(m&&m.suffix!==void 0?m.suffix:""),G=GO[N],k=/[defgprs%]/.test(N);C=C===void 0?6:/[gprs]/.test(N)?Math.max(1,Math.min(21,C)):Math.max(0,Math.min(20,C));function U(H){var ne=D,te=F,he,se,fe;if(N==="c")te=G(H)+te,H="";else{H=+H;var B=H<0||1/H<0;if(H=isNaN(H)?l:G(Math.abs(H),C),O&&(H=ite(H)),B&&+H==0&&S!=="+"&&(B=!1),ne=(B?S==="("?S:a:S==="-"||S==="("?"":S)+ne,te=(N==="s"&&!isNaN(H)&&Dw!==void 0?XO[8+Dw/3]:"")+te+(B&&S==="("?")":""),k){for(he=-1,se=H.length;++hefe||fe>57){te=(fe===46?i+H.slice(he+1):H.slice(he))+te,H=H.slice(0,he);break}}}T&&!_&&(H=e(H,1/0));var J=ne.length+H.length+te.length,Y=J>1)+ne+H+te+Y.slice(J);break;default:H=Y+ne+H+te;break}return s(H)}return U.toString=function(){return f+""},U}function d(f,m){var y=Math.max(-8,Math.min(8,Math.floor(Tg(m)/3)))*3,x=Math.pow(10,-y),S=c((f=wy(f),f.type="f",f),{suffix:XO[8+y/3]});return function(w){return S(x*w)}}return{format:c,formatPrefix:d}}var Ib,x2,mz;ate({thousands:",",grouping:[3],currency:["$",""]});function ate(t){return Ib=ote(t),x2=Ib.format,mz=Ib.formatPrefix,Ib}function lte(t){return Math.max(0,-Tg(Math.abs(t)))}function cte(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Tg(e)/3)))*3-Tg(Math.abs(t)))}function ute(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Tg(e)-Tg(t))+1}function gz(t,e,n,r){var i=EC(t,e,n),s;switch(r=wy(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(s=cte(i,o))&&(r.precision=s),mz(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(s=ute(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=s-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(s=lte(i))&&(r.precision=s-(r.type==="%")*2);break}}return x2(r)}function Rd(t){var e=t.domain;return t.ticks=function(n){var r=e();return SC(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return gz(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,s=r.length-1,o=r[i],a=r[s],l,c,d=10;for(a0;){if(c=MC(o,a,n),c===l)return r[i]=o,r[s]=a,e(r);if(c>0)o=Math.floor(o/c)*c,a=Math.ceil(a/c)*c;else if(c<0)o=Math.ceil(o*c)/c,a=Math.floor(a*c)/c;else break;l=c}return t},t}function vz(){var t=v2();return t.copy=function(){return tx(t,vz())},ea.apply(t,arguments),Rd(t)}function yz(t){var e;function n(r){return r==null||isNaN(r=+r)?e:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(t=Array.from(r,Ow),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return yz(t).unknown(e)},t=arguments.length?Array.from(t,Ow):[0,1],Rd(n)}function xz(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],s=t[r],o;return sMath.pow(t,e)}function mte(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function YO(t){return(e,n)=>-t(-e,n)}function b2(t){const e=t(qO,KO),n=e.domain;let r=10,i,s;function o(){return i=mte(r),s=pte(r),n()[0]<0?(i=YO(i),s=YO(s),t(dte,fte)):t(qO,KO),e}return e.base=function(a){return arguments.length?(r=+a,o()):r},e.domain=function(a){return arguments.length?(n(a),o()):n()},e.ticks=a=>{const l=n();let c=l[0],d=l[l.length-1];const f=d0){for(;m<=y;++m)for(x=1;xd)break;_.push(S)}}else for(;m<=y;++m)for(x=r-1;x>=1;--x)if(S=m>0?x/s(-m):x*s(m),!(Sd)break;_.push(S)}_.length*2{if(a==null&&(a=10),l==null&&(l=r===10?"s":","),typeof l!="function"&&(!(r%1)&&(l=wy(l)).precision==null&&(l.trim=!0),l=x2(l)),a===1/0)return l;const c=Math.max(1,r*a/e.ticks().length);return d=>{let f=d/s(Math.round(i(d)));return f*rn(xz(n(),{floor:a=>s(Math.floor(i(a))),ceil:a=>s(Math.ceil(i(a)))})),e}function bz(){const t=b2(RS()).domain([1,10]);return t.copy=()=>tx(t,bz()).base(t.base()),ea.apply(t,arguments),t}function ZO(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function QO(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function _2(t){var e=1,n=t(ZO(e),QO(e));return n.constant=function(r){return arguments.length?t(ZO(e=+r),QO(e)):e},Rd(n)}function _z(){var t=_2(RS());return t.copy=function(){return tx(t,_z()).constant(t.constant())},ea.apply(t,arguments)}function JO(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function gte(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function vte(t){return t<0?-t*t:t*t}function w2(t){var e=t(Es,Es),n=1;function r(){return n===1?t(Es,Es):n===.5?t(gte,vte):t(JO(n),JO(1/n))}return e.exponent=function(i){return arguments.length?(n=+i,r()):n},Rd(e)}function S2(){var t=w2(RS());return t.copy=function(){return tx(t,S2()).exponent(t.exponent())},ea.apply(t,arguments),t}function yte(){return S2.apply(null,arguments).exponent(.5)}function eL(t){return Math.sign(t)*t*t}function xte(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function wz(){var t=v2(),e=[0,1],n=!1,r;function i(s){var o=xte(t(s));return isNaN(o)?r:n?Math.round(o):o}return i.invert=function(s){return t.invert(eL(s))},i.domain=function(s){return arguments.length?(t.domain(s),i):t.domain()},i.range=function(s){return arguments.length?(t.range((e=Array.from(s,Ow)).map(eL)),i):e.slice()},i.rangeRound=function(s){return i.range(s).round(!0)},i.round=function(s){return arguments.length?(n=!!s,i):n},i.clamp=function(s){return arguments.length?(t.clamp(s),i):t.clamp()},i.unknown=function(s){return arguments.length?(r=s,i):r},i.copy=function(){return wz(t.domain(),e).round(n).clamp(t.clamp()).unknown(r)},ea.apply(i,arguments),Rd(i)}function Sz(){var t=[],e=[],n=[],r;function i(){var o=0,a=Math.max(1,e.length);for(n=new Array(a-1);++o0?n[a-1]:t[0],a=n?[r[n-1],e]:[r[c-1],r[c]]},o.unknown=function(l){return arguments.length&&(s=l),o},o.thresholds=function(){return r.slice()},o.copy=function(){return Mz().domain([t,e]).range(i).unknown(s)},ea.apply(Rd(o),arguments)}function Ez(){var t=[.5],e=[0,1],n,r=1;function i(s){return s!=null&&s<=s?e[Jy(t,s,0,r)]:n}return i.domain=function(s){return arguments.length?(t=Array.from(s),r=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(s){return arguments.length?(e=Array.from(s),r=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(s){var o=e.indexOf(s);return[t[o-1],t[o]]},i.unknown=function(s){return arguments.length?(n=s,i):n},i.copy=function(){return Ez().domain(t).range(e).unknown(n)},ea.apply(i,arguments)}const LE=new Date,DE=new Date;function oi(t,e,n,r){function i(s){return t(s=arguments.length===0?new Date:new Date(+s)),s}return i.floor=s=>(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const o=i(s),a=i.ceil(s);return s-o(e(s=new Date(+s),o==null?1:Math.floor(o)),s),i.range=(s,o,a)=>{const l=[];if(s=i.ceil(s),a=a==null?1:Math.floor(a),!(s0))return l;let c;do l.push(c=new Date(+s)),e(s,a),t(s);while(coi(o=>{if(o>=o)for(;t(o),!s(o);)o.setTime(o-1)},(o,a)=>{if(o>=o)if(a<0)for(;++a<=0;)for(;e(o,-1),!s(o););else for(;--a>=0;)for(;e(o,1),!s(o););}),n&&(i.count=(s,o)=>(LE.setTime(+s),DE.setTime(+o),t(LE),t(DE),Math.floor(n(LE,DE))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?o=>r(o)%s===0:o=>i.count(0,o)%s===0):i)),i}const jw=oi(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);jw.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?oi(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):jw);jw.range;const zc=1e3,Xo=zc*60,Bc=Xo*60,Yc=Bc*24,M2=Yc*7,tL=Yc*30,jE=Yc*365,nh=oi(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*zc)},(t,e)=>(e-t)/zc,t=>t.getUTCSeconds());nh.range;const E2=oi(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*zc)},(t,e)=>{t.setTime(+t+e*Xo)},(t,e)=>(e-t)/Xo,t=>t.getMinutes());E2.range;const A2=oi(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Xo)},(t,e)=>(e-t)/Xo,t=>t.getUTCMinutes());A2.range;const T2=oi(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*zc-t.getMinutes()*Xo)},(t,e)=>{t.setTime(+t+e*Bc)},(t,e)=>(e-t)/Bc,t=>t.getHours());T2.range;const C2=oi(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*Bc)},(t,e)=>(e-t)/Bc,t=>t.getUTCHours());C2.range;const nx=oi(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Xo)/Yc,t=>t.getDate()-1);nx.range;const NS=oi(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Yc,t=>t.getUTCDate()-1);NS.range;const Az=oi(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Yc,t=>Math.floor(t/Yc));Az.range;function Yh(t){return oi(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*Xo)/M2)}const IS=Yh(0),Uw=Yh(1),bte=Yh(2),_te=Yh(3),Cg=Yh(4),wte=Yh(5),Ste=Yh(6);IS.range;Uw.range;bte.range;_te.range;Cg.range;wte.range;Ste.range;function Zh(t){return oi(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/M2)}const kS=Zh(0),Fw=Zh(1),Mte=Zh(2),Ete=Zh(3),Pg=Zh(4),Ate=Zh(5),Tte=Zh(6);kS.range;Fw.range;Mte.range;Ete.range;Pg.range;Ate.range;Tte.range;const P2=oi(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());P2.range;const R2=oi(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());R2.range;const Zc=oi(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Zc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:oi(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});Zc.range;const Qc=oi(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Qc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:oi(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});Qc.range;function Tz(t,e,n,r,i,s){const o=[[nh,1,zc],[nh,5,5*zc],[nh,15,15*zc],[nh,30,30*zc],[s,1,Xo],[s,5,5*Xo],[s,15,15*Xo],[s,30,30*Xo],[i,1,Bc],[i,3,3*Bc],[i,6,6*Bc],[i,12,12*Bc],[r,1,Yc],[r,2,2*Yc],[n,1,M2],[e,1,tL],[e,3,3*tL],[t,1,jE]];function a(c,d,f){const m=dw).right(o,m);if(y===o.length)return t.every(EC(c/jE,d/jE,f));if(y===0)return jw.every(Math.max(EC(c,d,f),1));const[x,S]=o[m/o[y-1][2]53)return null;"w"in ce||(ce.w=1),"Z"in ce?(We=FE(d0(ce.y,0,1)),je=We.getUTCDay(),We=je>4||je===0?Fw.ceil(We):Fw(We),We=NS.offset(We,(ce.V-1)*7),ce.y=We.getUTCFullYear(),ce.m=We.getUTCMonth(),ce.d=We.getUTCDate()+(ce.w+6)%7):(We=UE(d0(ce.y,0,1)),je=We.getDay(),We=je>4||je===0?Uw.ceil(We):Uw(We),We=nx.offset(We,(ce.V-1)*7),ce.y=We.getFullYear(),ce.m=We.getMonth(),ce.d=We.getDate()+(ce.w+6)%7)}else("W"in ce||"U"in ce)&&("w"in ce||(ce.w="u"in ce?ce.u%7:"W"in ce?1:0),je="Z"in ce?FE(d0(ce.y,0,1)).getUTCDay():UE(d0(ce.y,0,1)).getDay(),ce.m=0,ce.d="W"in ce?(ce.w+6)%7+ce.W*7-(je+5)%7:ce.w+ce.U*7-(je+6)%7);return"Z"in ce?(ce.H+=ce.Z/100|0,ce.M+=ce.Z%100,FE(ce)):UE(ce)}}function F(Me,$e,Ke,ce){for(var Z=0,We=$e.length,je=Ke.length,Xe,Je;Z=je)return-1;if(Xe=$e.charCodeAt(Z++),Xe===37){if(Xe=$e.charAt(Z++),Je=O[Xe in nL?$e.charAt(Z++):Xe],!Je||(ce=Je(Me,Ke,ce))<0)return-1}else if(Xe!=Ke.charCodeAt(ce++))return-1}return ce}function G(Me,$e,Ke){var ce=c.exec($e.slice(Ke));return ce?(Me.p=d.get(ce[0].toLowerCase()),Ke+ce[0].length):-1}function k(Me,$e,Ke){var ce=y.exec($e.slice(Ke));return ce?(Me.w=x.get(ce[0].toLowerCase()),Ke+ce[0].length):-1}function U(Me,$e,Ke){var ce=f.exec($e.slice(Ke));return ce?(Me.w=m.get(ce[0].toLowerCase()),Ke+ce[0].length):-1}function H(Me,$e,Ke){var ce=_.exec($e.slice(Ke));return ce?(Me.m=E.get(ce[0].toLowerCase()),Ke+ce[0].length):-1}function ne(Me,$e,Ke){var ce=S.exec($e.slice(Ke));return ce?(Me.m=w.get(ce[0].toLowerCase()),Ke+ce[0].length):-1}function te(Me,$e,Ke){return F(Me,e,$e,Ke)}function he(Me,$e,Ke){return F(Me,n,$e,Ke)}function se(Me,$e,Ke){return F(Me,r,$e,Ke)}function fe(Me){return o[Me.getDay()]}function B(Me){return s[Me.getDay()]}function J(Me){return l[Me.getMonth()]}function Y(Me){return a[Me.getMonth()]}function V(Me){return i[+(Me.getHours()>=12)]}function q(Me){return 1+~~(Me.getMonth()/3)}function pe(Me){return o[Me.getUTCDay()]}function ae(Me){return s[Me.getUTCDay()]}function le(Me){return l[Me.getUTCMonth()]}function be(Me){return a[Me.getUTCMonth()]}function Se(Me){return i[+(Me.getUTCHours()>=12)]}function qe(Me){return 1+~~(Me.getUTCMonth()/3)}return{format:function(Me){var $e=N(Me+="",T);return $e.toString=function(){return Me},$e},parse:function(Me){var $e=D(Me+="",!1);return $e.toString=function(){return Me},$e},utcFormat:function(Me){var $e=N(Me+="",C);return $e.toString=function(){return Me},$e},utcParse:function(Me){var $e=D(Me+="",!0);return $e.toString=function(){return Me},$e}}}var nL={"-":"",_:" ",0:"0"},wi=/^\s*\d+/,kte=/^%/,Ote=/[\\^$*+?|[\]().{}]/g;function Un(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function Dte(t,e,n){var r=wi.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function jte(t,e,n){var r=wi.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Ute(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Fte(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function zte(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function rL(t,e,n){var r=wi.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function iL(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Bte(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Hte(t,e,n){var r=wi.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Vte(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function sL(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Gte(t,e,n){var r=wi.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function oL(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Wte(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function $te(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Xte(t,e,n){var r=wi.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function qte(t,e,n){var r=wi.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Kte(t,e,n){var r=kte.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Yte(t,e,n){var r=wi.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Zte(t,e,n){var r=wi.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function aL(t,e){return Un(t.getDate(),e,2)}function Qte(t,e){return Un(t.getHours(),e,2)}function Jte(t,e){return Un(t.getHours()%12||12,e,2)}function ene(t,e){return Un(1+nx.count(Zc(t),t),e,3)}function Cz(t,e){return Un(t.getMilliseconds(),e,3)}function tne(t,e){return Cz(t,e)+"000"}function nne(t,e){return Un(t.getMonth()+1,e,2)}function rne(t,e){return Un(t.getMinutes(),e,2)}function ine(t,e){return Un(t.getSeconds(),e,2)}function sne(t){var e=t.getDay();return e===0?7:e}function one(t,e){return Un(IS.count(Zc(t)-1,t),e,2)}function Pz(t){var e=t.getDay();return e>=4||e===0?Cg(t):Cg.ceil(t)}function ane(t,e){return t=Pz(t),Un(Cg.count(Zc(t),t)+(Zc(t).getDay()===4),e,2)}function lne(t){return t.getDay()}function cne(t,e){return Un(Uw.count(Zc(t)-1,t),e,2)}function une(t,e){return Un(t.getFullYear()%100,e,2)}function dne(t,e){return t=Pz(t),Un(t.getFullYear()%100,e,2)}function fne(t,e){return Un(t.getFullYear()%1e4,e,4)}function hne(t,e){var n=t.getDay();return t=n>=4||n===0?Cg(t):Cg.ceil(t),Un(t.getFullYear()%1e4,e,4)}function pne(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Un(e/60|0,"0",2)+Un(e%60,"0",2)}function lL(t,e){return Un(t.getUTCDate(),e,2)}function mne(t,e){return Un(t.getUTCHours(),e,2)}function gne(t,e){return Un(t.getUTCHours()%12||12,e,2)}function vne(t,e){return Un(1+NS.count(Qc(t),t),e,3)}function Rz(t,e){return Un(t.getUTCMilliseconds(),e,3)}function yne(t,e){return Rz(t,e)+"000"}function xne(t,e){return Un(t.getUTCMonth()+1,e,2)}function bne(t,e){return Un(t.getUTCMinutes(),e,2)}function _ne(t,e){return Un(t.getUTCSeconds(),e,2)}function wne(t){var e=t.getUTCDay();return e===0?7:e}function Sne(t,e){return Un(kS.count(Qc(t)-1,t),e,2)}function Nz(t){var e=t.getUTCDay();return e>=4||e===0?Pg(t):Pg.ceil(t)}function Mne(t,e){return t=Nz(t),Un(Pg.count(Qc(t),t)+(Qc(t).getUTCDay()===4),e,2)}function Ene(t){return t.getUTCDay()}function Ane(t,e){return Un(Fw.count(Qc(t)-1,t),e,2)}function Tne(t,e){return Un(t.getUTCFullYear()%100,e,2)}function Cne(t,e){return t=Nz(t),Un(t.getUTCFullYear()%100,e,2)}function Pne(t,e){return Un(t.getUTCFullYear()%1e4,e,4)}function Rne(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Pg(t):Pg.ceil(t),Un(t.getUTCFullYear()%1e4,e,4)}function Nne(){return"+0000"}function cL(){return"%"}function uL(t){return+t}function dL(t){return Math.floor(+t/1e3)}var lm,Iz,kz;Ine({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ine(t){return lm=Ite(t),Iz=lm.format,lm.parse,kz=lm.utcFormat,lm.utcParse,lm}function kne(t){return new Date(t)}function One(t){return t instanceof Date?+t:+new Date(+t)}function N2(t,e,n,r,i,s,o,a,l,c){var d=v2(),f=d.invert,m=d.domain,y=c(".%L"),x=c(":%S"),S=c("%I:%M"),w=c("%I %p"),_=c("%a %d"),E=c("%b %d"),T=c("%B"),C=c("%Y");function O(N){return(l(N)e(i/(t.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,s)=>wee(t,s/r))},n.copy=function(){return jz(e).domain(t)},ru.apply(n,arguments)}function LS(){var t=0,e=.5,n=1,r=1,i,s,o,a,l,c=Es,d,f=!1,m;function y(S){return isNaN(S=+S)?m:(S=.5+((S=+d(S))-s)*(r*S{if(t!=null){var r=t.scale,i=t.type;if(r==="auto")return i==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!e)?"point":i==="category"?"band":"linear";if(typeof r=="string")return Bne(r)?r:"point"}};function Hne(t,e){for(var n=0,r=t.length,i=t[0]e)?n=s+1:r=s}return n}function Vz(t,e){if(t){var n=e??t.domain(),r=n.map(s=>{var o;return(o=t(s))!==null&&o!==void 0?o:0}),i=t.range();if(!(n.length===0||i.length<2))return s=>{var o,a,l=Hne(r,s);if(l<=0)return n[0];if(l>=n.length)return n[n.length-1];var c=(o=r[l-1])!==null&&o!==void 0?o:0,d=(a=r[l])!==null&&a!==void 0?a:0;return Math.abs(s-c)<=Math.abs(s-d)?n[l-1]:n[l]}}}function Vne(t){if(t!=null)return"invert"in t&&typeof t.invert=="function"?t.invert.bind(t):Vz(t,void 0)}function hL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function zw(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);nt.cartesianAxis.xAxis[e],iu=(t,e)=>{var n=Wz(t,e);return n??ti},ni={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:RC,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:qy},$z=(t,e)=>t.cartesianAxis.yAxis[e],su=(t,e)=>{var n=$z(t,e);return n??ni},Zne={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},L2=(t,e)=>{var n=t.cartesianAxis.zAxis[e];return n??Zne},Ps=(t,e,n)=>{switch(e){case"xAxis":return iu(t,n);case"yAxis":return su(t,n);case"zAxis":return L2(t,n);case"angleAxis":return s2(t,n);case"radiusAxis":return o2(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},Qne=(t,e,n)=>{switch(e){case"xAxis":return iu(t,n);case"yAxis":return su(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},rx=(t,e,n)=>{switch(e){case"xAxis":return iu(t,n);case"yAxis":return su(t,n);case"angleAxis":return s2(t,n);case"radiusAxis":return o2(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},Xz=t=>t.graphicalItems.cartesianItems.some(e=>e.type==="bar")||t.graphicalItems.polarItems.some(e=>e.type==="radialBar");function qz(t,e){return n=>{switch(t){case"xAxis":return"xAxisId"in n&&n.xAxisId===e;case"yAxis":return"yAxisId"in n&&n.yAxisId===e;case"zAxis":return"zAxisId"in n&&n.zAxisId===e;case"angleAxis":return"angleAxisId"in n&&n.angleAxisId===e;case"radiusAxis":return"radiusAxisId"in n&&n.radiusAxisId===e;default:return!1}}}var Kz=t=>t.graphicalItems.cartesianItems,Jne=Oe([bi,TS],qz),Yz=(t,e,n)=>t.filter(n).filter(r=>(e==null?void 0:e.includeHidden)===!0?!0:!r.hide),Kg=Oe([Kz,Ps,Jne],Yz,{memoizeOptions:{resultEqualityCheck:PS}}),Zz=Oe([Kg],t=>t.filter(e=>e.type==="area"||e.type==="bar").filter(c2)),Qz=t=>t.filter(e=>!("stackId"in e)||e.stackId===void 0),ere=Oe([Kg],Qz),Jz=t=>t.map(e=>e.data).filter(Boolean).flat(1),tre=Oe([Kg],t=>t.some(e=>!e.data)),eB=Oe([Kg],Jz,{memoizeOptions:{resultEqualityCheck:PS}}),tB=(t,e)=>{var n=e.chartData,r=n===void 0?[]:n,i=e.dataStartIndex,s=e.dataEndIndex;return t.length>0?t:r.slice(i,s+1)},D2=Oe([eB,wS],tB),nre=(t,e,n)=>(e==null?void 0:e.dataKey)!=null?t.map(r=>({value:yi(r,e.dataKey)})):n.length>0?n.map(r=>r.dataKey).flatMap(r=>t.map(i=>({value:yi(i,r)}))):t.map(r=>({value:r})),nB=(t,e,n,r,i,s)=>{var o=r.chartData,a=o===void 0?[]:o,l=r.dataStartIndex,c=r.dataEndIndex,d=nre(t,e,n);if(i&&(e==null?void 0:e.dataKey)!=null&&s.length>0){var f=a.slice(l,c+1),m=f.map(y=>({value:yi(y,e.dataKey)})).filter(y=>y.value!=null);return[...m,...d]}return d},ix=Oe([D2,Ps,Kg,wS,tre,eB],nB);function ng(t){if(Ol(t)||t instanceof Date){var e=Number(t);if(wn(e))return e}}function mL(t){if(Array.isArray(t)){var e=[ng(t[0]),ng(t[1])];return Tl(e)?e:void 0}var n=ng(t);if(n!=null)return[n,n]}function jl(t){return t.map(ng).filter(Ys)}function rre(t,e){var n=ng(t),r=ng(e);return n==null&&r==null?0:n==null?-1:r==null?1:n-r}var ire=Oe([ix],t=>t==null?void 0:t.map(e=>e.value).sort(rre));function rB(t,e){switch(t){case"xAxis":return e.direction==="x";case"yAxis":return e.direction==="y";default:return!1}}function sre(t,e,n){if(!n)return[];if(!n.length)return[];var r;if(typeof e=="number"&&!kl(e))r=e;else if(Array.isArray(e)){var i=jl(e);i.length>0&&(r=Math.max(...i))}return r==null?[]:jl(n.flatMap(s=>{var o=yi(t,s.dataKey),a,l;if(Array.isArray(o)){var c=Gz(o,2);a=c[0],l=c[1]}else a=l=o;if(!(!wn(a)||!wn(l)))return[r-a,r+l]}))}var ai=t=>{var e=_i(t),n=Xg(t);return rx(t,e,n)},Rg=Oe([ai],t=>t==null?void 0:t.dataKey),ore=Oe([Zz,wS,ai],az),iB=(t,e,n,r)=>{var i={},s=e.reduce((o,a)=>{if(a.stackId==null)return o;var l=o[a.stackId];return l==null&&(l=[]),l.push(a),o[a.stackId]=l,o},i);return Object.fromEntries(Object.entries(s).map(o=>{var a=Gz(o,2),l=a[0],c=a[1],d=r?[...c].reverse():c,f=d.map(l2);return[l,{stackedData:MY(t,f,n),graphicalItems:d}]}))},sB=Oe([ore,Zz,SS,ez],iB),oB=(t,e,n,r)=>{var i=e.dataStartIndex,s=e.dataEndIndex;if(r==null&&n!=="zAxis")return CY(t,i,s)},are=Oe([Ps],t=>t.allowDataOverflow),j2=t=>{var e;if(t==null||!("domain"in t))return RC;if(t.domain!=null)return t.domain;if("ticks"in t&&t.ticks!=null){if(t.type==="number"){var n=jl(t.ticks);return[Math.min(...n),Math.max(...n)]}if(t.type==="category")return t.ticks.map(String)}return(e=t==null?void 0:t.domain)!==null&&e!==void 0?e:RC},aB=Oe([Ps],j2),lB=Oe([aB,are],V4),lre=Oe([sB,$a,bi,lB],oB,{memoizeOptions:{resultEqualityCheck:CS}}),U2=t=>t.errorBars,cre=(t,e,n)=>t.flatMap(r=>e[r.id]).filter(Boolean).filter(r=>rB(n,r)),Bw=function(){for(var e=arguments.length,n=new Array(e),r=0;r5&&arguments[5]!==void 0?arguments[5]:[],a,l;if(r.length>0&&r.forEach(c=>{var d,f=c.data!=null?[...c.data]:o,m=(d=i[c.id])===null||d===void 0?void 0:d.filter(y=>rB(s,y));f.forEach(y=>{var x,S=yi(y,(x=n.dataKey)!==null&&x!==void 0?x:c.dataKey),w=sre(y,S,m);if(w.length>=2){var _=Math.min(...w),E=Math.max(...w);(a==null||_l)&&(l=E)}var T=mL(S);T!=null&&(a=a==null?T[0]:Math.min(a,T[0]),l=l==null?T[1]:Math.max(l,T[1]))})}),(n==null?void 0:n.dataKey)!=null&&r.length===0&&e.forEach(c=>{var d=mL(yi(c,n.dataKey));d!=null&&(a=a==null?d[0]:Math.min(a,d[0]),l=l==null?d[1]:Math.max(l,d[1]))}),wn(a)&&wn(l))return[a,l]},ure=Oe([D2,Ps,ere,U2,bi,zJ],cB,{memoizeOptions:{resultEqualityCheck:CS}});function dre(t){var e=t.value;if(Ol(e)||e instanceof Date)return e}var fre=(t,e,n)=>{var r=t.map(dre).filter(i=>i!=null);return n&&(e.dataKey==null||e.allowDuplicatedCategory&&b5(r))?H4(0,t.length):e.allowDuplicatedCategory?r:Array.from(new Set(r))},uB=t=>t.referenceElements.dots,Yg=(t,e,n)=>t.filter(r=>r.ifOverflow==="extendDomain").filter(r=>e==="xAxis"?r.xAxisId===n:r.yAxisId===n),hre=Oe([uB,bi,TS],Yg),dB=t=>t.referenceElements.areas,pre=Oe([dB,bi,TS],Yg),fB=t=>t.referenceElements.lines,mre=Oe([fB,bi,TS],Yg),hB=(t,e)=>{if(t!=null){var n=jl(t.map(r=>e==="xAxis"?r.x:r.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},gre=Oe(hre,bi,hB),pB=(t,e)=>{if(t!=null){var n=jl(t.flatMap(r=>[e==="xAxis"?r.x1:r.y1,e==="xAxis"?r.x2:r.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},vre=Oe([pre,bi],pB);function yre(t){var e;if(t.x!=null)return jl([t.x]);var n=(e=t.segment)===null||e===void 0?void 0:e.map(r=>r.x);return n==null||n.length===0?[]:jl(n)}function xre(t){var e;if(t.y!=null)return jl([t.y]);var n=(e=t.segment)===null||e===void 0?void 0:e.map(r=>r.y);return n==null||n.length===0?[]:jl(n)}var mB=(t,e)=>{if(t!=null){var n=t.flatMap(r=>e==="xAxis"?yre(r):xre(r));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},bre=Oe([mre,bi],mB),_re=Oe(gre,bre,vre,(t,e,n)=>Bw(t,n,e)),gB=(t,e,n,r,i,s,o,a)=>{if(n!=null)return n;var l=o==="vertical"&&a==="xAxis"||o==="horizontal"&&a==="yAxis",c=l?Bw(r,s,i):Bw(s,i);return $J(e,c,t.allowDataOverflow)},wre=Oe([Ps,aB,lB,lre,ure,_re,fr,bi],gB,{memoizeOptions:{resultEqualityCheck:CS}}),Sre=[0,1],vB=(t,e,n,r,i,s,o)=>{if(!((t==null||n==null||n.length===0)&&o===void 0)){var a=t.dataKey,l=t.type,c=Bl(e,s);if(c&&a==null){var d;return H4(0,(d=n==null?void 0:n.length)!==null&&d!==void 0?d:0)}return l==="category"?fre(r,t,c):i==="expand"&&!c?Sre:o}},F2=Oe([Ps,fr,D2,ix,SS,bi,wre],vB),Zg=Oe([Ps,Xz,n2],Hz),yB=(t,e,n)=>{var r=e.niceTicks;if(r!=="none"){var i=j2(e),s=Array.isArray(i)&&(i[0]==="auto"||i[1]==="auto");if((r==="snap125"||r==="adaptive")&&e!=null&&e.tickCount&&Tl(t)){if(s)return MO(t,e.tickCount,e.allowDecimals,r);if(e.type==="number")return EO(t,e.tickCount,e.allowDecimals,r)}if(r==="auto"&&n==="linear"&&e!=null&&e.tickCount){if(s&&Tl(t))return MO(t,e.tickCount,e.allowDecimals,"adaptive");if(e.type==="number"&&Tl(t))return EO(t,e.tickCount,e.allowDecimals,"adaptive")}}},z2=Oe([F2,rx,Zg],yB),xB=(t,e,n,r)=>{if(r!=="angleAxis"&&(t==null?void 0:t.type)==="number"&&Tl(e)&&Array.isArray(n)&&n.length>0){var i,s,o=e[0],a=(i=n[0])!==null&&i!==void 0?i:0,l=e[1],c=(s=n[n.length-1])!==null&&s!==void 0?s:0;return[Math.min(o,a),Math.max(l,c)]}return e},Mre=Oe([Ps,F2,z2,bi],xB),Ere=Oe(ix,Ps,(t,e)=>{if(!(!e||e.type!=="number")){var n=1/0,r=Array.from(jl(t.map(f=>f.value))).sort((f,m)=>f-m),i=r[0],s=r[r.length-1];if(i==null||s==null)return 1/0;var o=s-i;if(o===0)return 1/0;for(var a=0;ai,(t,e,n,r,i)=>{if(!wn(t))return 0;var s=e==="vertical"?r.height:r.width;if(i==="gap")return t*s/2;if(i==="no-gap"){var o=Ad(n,t*s),a=t*s/2;return a-o-(a-o)/s*o}return 0}),Are=(t,e,n)=>{var r=iu(t,e);return r==null||typeof r.padding!="string"?0:bB(t,"xAxis",e,n,r.padding)},Tre=(t,e,n)=>{var r=su(t,e);return r==null||typeof r.padding!="string"?0:bB(t,"yAxis",e,n,r.padding)},Cre=Oe(iu,Are,(t,e)=>{var n,r;if(t==null)return{left:0,right:0};var i=t.padding;return typeof i=="string"?{left:e,right:e}:{left:((n=i.left)!==null&&n!==void 0?n:0)+e,right:((r=i.right)!==null&&r!==void 0?r:0)+e}}),Pre=Oe(su,Tre,(t,e)=>{var n,r;if(t==null)return{top:0,bottom:0};var i=t.padding;return typeof i=="string"?{top:e,bottom:e}:{top:((n=i.top)!==null&&n!==void 0?n:0)+e,bottom:((r=i.bottom)!==null&&r!==void 0?r:0)+e}}),_B=Oe([Gi,Cre,gS,mS,(t,e,n)=>n],(t,e,n,r,i)=>{var s=r.padding;return i?[s.left,n.width-s.right]:[t.left+e.left,t.left+t.width-e.right]}),wB=Oe([Gi,fr,Pre,gS,mS,(t,e,n)=>n],(t,e,n,r,i,s)=>{var o=i.padding;return s?[r.height-o.bottom,o.top]:e==="horizontal"?[t.top+t.height-n.bottom,t.top+n.top]:[t.top+n.top,t.top+t.height-n.bottom]}),sx=(t,e,n,r)=>{var i;switch(e){case"xAxis":return _B(t,n,r);case"yAxis":return wB(t,n,r);case"zAxis":return(i=L2(t,n))===null||i===void 0?void 0:i.range;case"angleAxis":return iz(t);case"radiusAxis":return sz(t,n);default:return}},SB=Oe([Ps,sx],MS),Rre=Oe([Zg,Mre],uee),B2=Oe([Ps,Zg,Rre,SB],O2),MB=(t,e,n,r)=>{if(!(n==null||n.dataKey==null)){var i=n.type,s=n.scale,o=Bl(t,r);if(o&&(i==="number"||s!=="auto"))return e.map(a=>a.value)}},H2=Oe([fr,ix,rx,bi],MB),DS=Oe([B2],u2);Oe([B2],Vne);Oe([B2,ire],Vz);Oe([Kg,U2,bi],cre);function EB(t,e){return t.ide.id?1:0}var jS=(t,e)=>e,US=(t,e,n)=>n,Nre=Oe(hS,jS,US,(t,e,n)=>t.filter(r=>r.orientation===e).filter(r=>r.mirror===n).sort(EB)),Ire=Oe(pS,jS,US,(t,e,n)=>t.filter(r=>r.orientation===e).filter(r=>r.mirror===n).sort(EB)),AB=(t,e)=>({width:t.width,height:e.height}),kre=(t,e)=>{var n=typeof e.width=="number"?e.width:qy;return{width:n,height:t.height}},Ore=Oe(Gi,iu,AB),Lre=(t,e,n)=>{switch(e){case"top":return t.top;case"bottom":return n-t.bottom;default:return 0}},Dre=(t,e,n)=>{switch(e){case"left":return t.left;case"right":return n-t.right;default:return 0}},jre=Oe(nu,Gi,Nre,jS,US,(t,e,n,r,i)=>{var s={},o;return n.forEach(a=>{var l=AB(e,a);o==null&&(o=Lre(e,r,t));var c=r==="top"&&!i||r==="bottom"&&i;s[a.id]=o-Number(c)*l.height,o+=(c?-1:1)*l.height}),s}),Ure=Oe(tu,Gi,Ire,jS,US,(t,e,n,r,i)=>{var s={},o;return n.forEach(a=>{var l=kre(e,a);o==null&&(o=Dre(e,r,t));var c=r==="left"&&!i||r==="right"&&i;s[a.id]=o-Number(c)*l.width,o+=(c?-1:1)*l.width}),s}),Fre=(t,e)=>{var n=iu(t,e);if(n!=null)return jre(t,n.orientation,n.mirror)},zre=Oe([Gi,iu,Fre,(t,e)=>e],(t,e,n,r)=>{if(e!=null){var i=n==null?void 0:n[r];return i==null?{x:t.left,y:0}:{x:t.left,y:i}}}),Bre=(t,e)=>{var n=su(t,e);if(n!=null)return Ure(t,n.orientation,n.mirror)},Hre=Oe([Gi,su,Bre,(t,e)=>e],(t,e,n,r)=>{if(e!=null){var i=n==null?void 0:n[r];return i==null?{x:0,y:t.top}:{x:i,y:t.top}}}),Vre=Oe(Gi,su,(t,e)=>{var n=typeof e.width=="number"?e.width:qy;return{width:n,height:t.height}}),TB=(t,e,n,r)=>{if(n!=null){var i=n.allowDuplicatedCategory,s=n.type,o=n.dataKey,a=Bl(t,r),l=e.map(d=>d.value),c=l.filter(d=>d!=null);if(o&&a&&s==="category"&&i&&b5(c))return l}},V2=Oe([fr,ix,Ps,bi],TB),gL=Oe([fr,Qne,Zg,DS,V2,H2,sx,z2,bi],(t,e,n,r,i,s,o,a,l)=>{if(e!=null){var c=Bl(t,l);return{angle:e.angle,interval:e.interval,minTickGap:e.minTickGap,orientation:e.orientation,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit,axisType:l,categoricalDomain:s,duplicateDomain:i,isCategorical:c,niceTicks:a,range:o,realScaleType:n,scale:r}}}),Gre=(t,e,n,r,i,s,o,a,l)=>{if(!(e==null||r==null)){var c=Bl(t,l),d=e.type,f=e.ticks,m=e.tickCount,y=n==="scaleBand"&&typeof r.bandwidth=="function"?r.bandwidth()/2:2,x=d==="category"&&r.bandwidth?r.bandwidth()/y:0;x=l==="angleAxis"&&s!=null&&s.length>=2?Wo(s[0]-s[1])*2*x:x;var S=f||i;return S?S.map((w,_)=>{var E=o?o.indexOf(w):w,T=r.map(E);return wn(T)?{index:_,coordinate:T+x,value:w,offset:x}:null}).filter(Ys):c&&a?a.map((w,_)=>{var E=r.map(w);return wn(E)?{coordinate:E+x,value:w,index:_,offset:x}:null}).filter(Ys):r.ticks?r.ticks(m).map((w,_)=>{var E=r.map(w);return wn(E)?{coordinate:E+x,value:w,index:_,offset:x}:null}).filter(Ys):r.domain().map((w,_)=>{var E=r.map(w);return wn(E)?{coordinate:E+x,value:o?o[w]:w,index:_,offset:x}:null}).filter(Ys)}},CB=Oe([fr,rx,Zg,DS,z2,sx,V2,H2,bi],Gre),Wre=(t,e,n,r,i,s,o)=>{if(!(e==null||n==null||r==null||r[0]===r[1])){var a=Bl(t,o),l=e.tickCount,c=0;return c=o==="angleAxis"&&(r==null?void 0:r.length)>=2?Wo(r[0]-r[1])*2*c:c,a&&s?s.map((d,f)=>{var m=n.map(d);return wn(m)?{coordinate:m+c,value:d,index:f,offset:c}:null}).filter(Ys):n.ticks?n.ticks(l).map((d,f)=>{var m=n.map(d);return wn(m)?{coordinate:m+c,value:d,index:f,offset:c}:null}).filter(Ys):n.domain().map((d,f)=>{var m=n.map(d);return wn(m)?{coordinate:m+c,value:i?i[d]:d,index:f,offset:c}:null}).filter(Ys)}},PB=Oe([fr,rx,DS,sx,V2,H2,bi],Wre),RB=Oe(Ps,DS,(t,e)=>{if(!(t==null||e==null))return zw(zw({},t),{},{scale:e})}),$re=Oe([Ps,Zg,F2,SB],O2),Xre=Oe([$re],u2);Oe((t,e,n)=>L2(t,n),Xre,(t,e)=>{if(!(t==null||e==null))return zw(zw({},t),{},{scale:e})});var qre=Oe([fr,hS,pS],(t,e,n)=>{switch(t){case"horizontal":return e.some(r=>r.reversed)?"right-to-left":"left-to-right";case"vertical":return n.some(r=>r.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),Kre=(t,e,n)=>{var r;return(r=t.renderedTicks[e])===null||r===void 0?void 0:r[n]};Oe([Kre],t=>{if(!(!t||t.length===0))return e=>{var n,r=1/0,i=t[0];for(var s of t){var o=Math.abs(s.coordinate-e);ot.options.defaultTooltipEventType,IB=t=>t.options.validateTooltipEventTypes;function kB(t,e,n){if(t==null)return e;var r=t?"axis":"item";return n==null?e:n.includes(r)?r:e}function ox(t,e){var n=NB(t),r=IB(t);return kB(e,n,r)}function Yre(t){return Bt(e=>ox(e,t))}var OB=(t,e)=>{var n,r=Number(e);if(!(kl(r)||e==null))return r>=0?t==null||(n=t[r])===null||n===void 0?void 0:n.value:void 0},Zre=t=>t.tooltip.settings,cd={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},Qre={itemInteraction:{click:cd,hover:cd},axisInteraction:{click:cd,hover:cd},keyboardInteraction:cd,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},LB=cs({name:"tooltip",initialState:Qre,reducers:{addTooltipEntrySettings:{reducer(t,e){t.tooltipItemPayloads.push(e.payload)},prepare:sr()},replaceTooltipEntrySettings:{reducer(t,e){var n=e.payload,r=n.prev,i=n.next,s=$o(t).tooltipItemPayloads.indexOf(r);s>-1&&(t.tooltipItemPayloads[s]=i)},prepare:sr()},removeTooltipEntrySettings:{reducer(t,e){var n=$o(t).tooltipItemPayloads.indexOf(e.payload);n>-1&&t.tooltipItemPayloads.splice(n,1)},prepare:sr()},setTooltipSettingsState(t,e){t.settings=e.payload},setActiveMouseOverItemIndex(t,e){t.syncInteraction.active=!1,t.syncInteraction.sourceViewBox=void 0,t.keyboardInteraction.active=!1,t.itemInteraction.hover.active=!0,t.itemInteraction.hover.index=e.payload.activeIndex,t.itemInteraction.hover.dataKey=e.payload.activeDataKey,t.itemInteraction.hover.graphicalItemId=e.payload.activeGraphicalItemId,t.itemInteraction.hover.coordinate=e.payload.activeCoordinate},mouseLeaveChart(t){t.itemInteraction.hover.active=!1,t.axisInteraction.hover.active=!1},mouseLeaveItem(t){t.itemInteraction.hover.active=!1},setActiveClickItemIndex(t,e){t.syncInteraction.active=!1,t.syncInteraction.sourceViewBox=void 0,t.itemInteraction.click.active=!0,t.keyboardInteraction.active=!1,t.itemInteraction.click.index=e.payload.activeIndex,t.itemInteraction.click.dataKey=e.payload.activeDataKey,t.itemInteraction.click.graphicalItemId=e.payload.activeGraphicalItemId,t.itemInteraction.click.coordinate=e.payload.activeCoordinate},setMouseOverAxisIndex(t,e){t.syncInteraction.active=!1,t.syncInteraction.sourceViewBox=void 0,t.axisInteraction.hover.active=!0,t.keyboardInteraction.active=!1,t.axisInteraction.hover.index=e.payload.activeIndex,t.axisInteraction.hover.dataKey=e.payload.activeDataKey,t.axisInteraction.hover.coordinate=e.payload.activeCoordinate},setMouseClickAxisIndex(t,e){t.syncInteraction.active=!1,t.syncInteraction.sourceViewBox=void 0,t.keyboardInteraction.active=!1,t.axisInteraction.click.active=!0,t.axisInteraction.click.index=e.payload.activeIndex,t.axisInteraction.click.dataKey=e.payload.activeDataKey,t.axisInteraction.click.coordinate=e.payload.activeCoordinate},setSyncInteraction(t,e){t.syncInteraction=e.payload},setKeyboardInteraction(t,e){t.keyboardInteraction.active=e.payload.active,t.keyboardInteraction.index=e.payload.activeIndex,t.keyboardInteraction.coordinate=e.payload.activeCoordinate}}}),ta=LB.actions,Jre=ta.addTooltipEntrySettings,eie=ta.replaceTooltipEntrySettings,tie=ta.removeTooltipEntrySettings,nie=ta.setTooltipSettingsState,rie=ta.setActiveMouseOverItemIndex;ta.mouseLeaveItem;var DB=ta.mouseLeaveChart;ta.setActiveClickItemIndex;var jB=ta.setMouseOverAxisIndex,iie=ta.setMouseClickAxisIndex,B0=ta.setSyncInteraction,Hw=ta.setKeyboardInteraction,sie=LB.reducer;function vL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function kb(t){for(var e=1;e{if(e==null)return cd;var i=cie(t,e,n);if(i==null)return cd;if(i.active)return i;if(t.keyboardInteraction.active)return t.keyboardInteraction;if(t.syncInteraction.active&&t.syncInteraction.index!=null)return t.syncInteraction;var s=t.settings.active===!0;if(uie(i)){if(s)return kb(kb({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return kb(kb({},cd),{},{coordinate:i.coordinate})};function die(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(t instanceof Date){var e=t.valueOf();return Number.isFinite(e)?e:void 0}var n=Number(t);return Number.isFinite(n)?n:void 0}function fie(t,e){var n=die(t),r=e[0],i=e[1];if(n===void 0)return!1;var s=Math.min(r,i),o=Math.max(r,i);return n>=s&&n<=o}function hie(t,e,n){if(n==null||e==null)return!0;var r=yi(t,e);return r==null||!Tl(n)?!0:fie(r,n)}var $0=(t,e,n,r)=>{var i=t==null?void 0:t.index;if(i==null)return null;var s=Number(i);if(!wn(s))return i;var o=0,a=1/0;e.length>0&&(a=e.length-1);var l=Math.max(o,Math.min(s,a)),c=e[l];return c==null||hie(c,n,r)?String(l):null},FB=(t,e,n,r,i,s,o)=>{if(s!=null){var a=o[0],l=a==null?void 0:a.getPosition(s);if(l!=null)return l;var c=i==null?void 0:i[Number(s)];if(c)switch(n){case"horizontal":return{x:c.coordinate,y:(r.top+e)/2};default:return{x:(r.left+t)/2,y:c.coordinate}}}},zB=(t,e,n,r)=>{if(e==="axis")return t.tooltipItemPayloads;if(t.tooltipItemPayloads.length===0)return[];var i;if(n==="hover"?i=t.itemInteraction.hover.graphicalItemId:i=t.itemInteraction.click.graphicalItemId,t.syncInteraction.active&&i==null)return t.tooltipItemPayloads;if(i==null&&(r!=null||t.keyboardInteraction.active)){var s=t.tooltipItemPayloads[0];return s!=null?[s]:[]}return t.tooltipItemPayloads.filter(o=>{var a;return((a=o.settings)===null||a===void 0?void 0:a.graphicalItemId)===i})},BB=t=>t.options.tooltipPayloadSearcher,Qg=t=>t.tooltip;function yL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function xL(t){for(var e=1;et(e)}function bL(t){if(typeof t=="string")return t}function bie(t){if(!(t==null||typeof t!="object")){var e="name"in t?vie(t.name):void 0,n="unit"in t?yie(t.unit):void 0,r="dataKey"in t?xie(t.dataKey):void 0,i="payload"in t?t.payload:void 0,s="color"in t?bL(t.color):void 0,o="fill"in t?bL(t.fill):void 0;return{name:e,unit:n,dataKey:r,payload:i,color:s,fill:o}}}function _ie(t,e){return t??e}var HB=(t,e,n,r,i,s,o)=>{if(!(e==null||s==null)){var a=n.chartData,l=n.computedData,c=n.dataStartIndex,d=n.dataEndIndex,f=[];return t.reduce((m,y)=>{var x,S=y.dataDefinedOnItem,w=y.settings,_=_ie(S,a),E=Array.isArray(_)?h4(_,c,d):_,T=(x=w==null?void 0:w.dataKey)!==null&&x!==void 0?x:r,C=w==null?void 0:w.nameKey,O;if(r&&Array.isArray(E)&&!Array.isArray(E[0])&&o==="axis"?O=_5(E,r,i):O=s(E,e,l,C),Array.isArray(O))O.forEach(D=>{var F,G,k=bie(D),U=k==null?void 0:k.name,H=k==null?void 0:k.dataKey,ne=k==null?void 0:k.payload,te=xL(xL({},w),{},{name:U,unit:k==null?void 0:k.unit,color:(F=k==null?void 0:k.color)!==null&&F!==void 0?F:w==null?void 0:w.color,fill:(G=k==null?void 0:k.fill)!==null&&G!==void 0?G:w==null?void 0:w.fill});m.push(pk({tooltipEntrySettings:te,dataKey:H,payload:ne,value:yi(ne,H),name:U==null?void 0:String(U)}))});else{var N;m.push(pk({tooltipEntrySettings:w,dataKey:T,payload:O,value:yi(O,T),name:(N=yi(O,C))!==null&&N!==void 0?N:w==null?void 0:w.name}))}return m},f)}},G2=Oe([ai,Xz,n2],Hz),wie=Oe([t=>t.graphicalItems.cartesianItems,t=>t.graphicalItems.polarItems],(t,e)=>[...t,...e]),Sie=Oe([_i,Xg],qz),Qh=Oe([wie,ai,Sie],Yz,{memoizeOptions:{resultEqualityCheck:PS}}),Mie=Oe([Qh],t=>t.filter(c2)),VB=Oe([Qh],Jz,{memoizeOptions:{resultEqualityCheck:PS}}),Eie=Oe([Qh],t=>t.some(e=>!e.data)),Lh=Oe([VB,$a],tB),Aie=Oe([Mie,$a,ai],az),W2=Oe([Lh,ai,Qh,$a,Eie,VB],nB),GB=Oe([ai],j2),Tie=Oe([ai],t=>t.allowDataOverflow),WB=Oe([GB,Tie],V4),Cie=Oe([Qh],t=>t.filter(c2)),Pie=Oe([Aie,Cie,SS,ez],iB),Rie=Oe([Pie,$a,_i,WB],oB),Nie=Oe([Qh],Qz),Iie=Oe([Lh,ai,Nie,U2,_i,BJ],cB,{memoizeOptions:{resultEqualityCheck:CS}}),kie=Oe([uB,_i,Xg],Yg),Oie=Oe([kie,_i],hB),Lie=Oe([dB,_i,Xg],Yg),Die=Oe([Lie,_i],pB),jie=Oe([fB,_i,Xg],Yg),Uie=Oe([jie,_i],mB),Fie=Oe([Oie,Uie,Die],Bw),zie=Oe([ai,GB,WB,Rie,Iie,Fie,fr,_i],gB),Ng=Oe([ai,fr,Lh,W2,SS,_i,zie],vB),Bie=Oe([Ng,ai,G2],yB),Hie=Oe([ai,Ng,Bie,_i],xB),$B=t=>{var e=_i(t),n=Xg(t),r=!1;return sx(t,e,n,r)},XB=Oe([ai,$B],MS),Vie=Oe([ai,G2,Hie,XB],O2),qB=Oe([Vie],u2),Gie=Oe([fr,W2,ai,_i],TB),Wie=Oe([fr,W2,ai,_i],MB),$ie=(t,e,n,r,i,s,o,a)=>{if(e){var l=e.type,c=Bl(t,a);if(r){var d=n==="scaleBand"&&r.bandwidth?r.bandwidth()/2:2,f=l==="category"&&r.bandwidth?r.bandwidth()/d:0;return f=a==="angleAxis"&&i!=null&&(i==null?void 0:i.length)>=2?Wo(i[0]-i[1])*2*f:f,c&&o?o.map((m,y)=>{var x=r.map(m);return wn(x)?{coordinate:x+f,value:m,index:y,offset:f}:null}).filter(Ys):r.domain().map((m,y)=>{var x=r.map(m);return wn(x)?{coordinate:x+f,value:s?s[m]:m,index:y,offset:f}:null}).filter(Ys)}}},ou=Oe([fr,ai,G2,qB,$B,Gie,Wie,_i],$ie),$2=Oe([NB,IB,Zre],(t,e,n)=>kB(n.shared,t,e)),KB=t=>t.tooltip.settings.trigger,X2=t=>t.tooltip.settings.defaultIndex,ax=Oe([Qg,$2,KB,X2],UB),Sy=Oe([ax,Lh,Rg,Ng],$0),YB=Oe([ou,Sy],OB),Xie=Oe([ax],t=>{if(t)return t.dataKey}),qie=Oe([ax],t=>{if(t)return t.graphicalItemId}),ZB=Oe([Qg,$2,KB,X2],zB),Kie=Oe([tu,nu,fr,Gi,ou,X2,ZB],FB),Yie=Oe([ax,Kie],(t,e)=>t!=null&&t.coordinate?t.coordinate:e),Zie=Oe([ax],t=>{var e;return(e=t==null?void 0:t.active)!==null&&e!==void 0?e:!1}),Qie=Oe([ZB,Sy,$a,Rg,YB,BB,$2],HB),Jie=Oe([Qie],t=>{if(t!=null){var e=t.map(n=>n.payload).filter(n=>n!=null);return Array.from(new Set(e))}});function _L(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function wL(t){for(var e=1;eBt(ai),ise=()=>{var t=rse(),e=Bt(ou),n=Bt(qB);return yw(!t||!n?void 0:wL(wL({},t),{},{scale:n}),e)};function SL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function cm(t){for(var e=1;e{var i=e.find(s=>s&&s.index===n);if(i){if(t==="horizontal")return{x:i.coordinate,y:r.relativeY};if(t==="vertical")return{x:r.relativeX,y:i.coordinate}}return{x:0,y:0}},cse=(t,e,n,r)=>{var i=e.find(c=>c&&c.index===n);if(i){if(t==="centric"){var s=i.coordinate,o=r.radius;return cm(cm(cm({},r),zi(r.cx,r.cy,o,s)),{},{angle:s,radius:o})}var a=i.coordinate,l=r.angle;return cm(cm(cm({},r),zi(r.cx,r.cy,a,l)),{},{angle:l,radius:a})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function use(t,e){var n=t.relativeX,r=t.relativeY;return n>=e.left&&n<=e.left+e.width&&r>=e.top&&r<=e.top+e.height}var QB=(t,e,n,r,i)=>{var s,o=(s=e==null?void 0:e.length)!==null&&s!==void 0?s:0;if(o<=1||t==null)return 0;if(r==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var a=0;a0?(l=n[a-1])===null||l===void 0?void 0:l.coordinate:(c=n[o-1])===null||c===void 0?void 0:c.coordinate,x=(d=n[a])===null||d===void 0?void 0:d.coordinate,S=a>=o-1?(f=n[0])===null||f===void 0?void 0:f.coordinate:(m=n[a+1])===null||m===void 0?void 0:m.coordinate,w=void 0;if(!(y==null||x==null||S==null))if(Wo(x-y)!==Wo(S-x)){var _=[];if(Wo(S-x)===Wo(i[1]-i[0])){w=S;var E=x+i[1]-i[0];_[0]=Math.min(E,(E+y)/2),_[1]=Math.max(E,(E+y)/2)}else{w=y;var T=S+i[1]-i[0];_[0]=Math.min(x,(T+x)/2),_[1]=Math.max(x,(T+x)/2)}var C=[Math.min(x,(w+x)/2),Math.max(x,(w+x)/2)];if(t>C[0]&&t<=C[1]||t>=_[0]&&t<=_[1]){var O;return(O=n[a])===null||O===void 0?void 0:O.index}}else{var N=Math.min(y,S),D=Math.max(y,S);if(t>(N+x)/2&&t<=(D+x)/2){var F;return(F=n[a])===null||F===void 0?void 0:F.index}}}else if(e)for(var G=0;G(k.coordinate+H.coordinate)/2||G>0&&G(k.coordinate+H.coordinate)/2&&t<=(k.coordinate+U.coordinate)/2)return k.index}}return-1},JB=()=>Bt(n2),q2=(t,e)=>e,eH=(t,e,n)=>n,K2=(t,e,n,r)=>r,dse=Oe(ou,t=>nS(t,e=>e.coordinate)),Y2=Oe([Qg,q2,eH,K2],UB),Z2=Oe([Y2,Lh,Rg,Ng],$0),fse=(t,e,n)=>{if(e!=null){var r=Qg(t);return e==="axis"?n==="hover"?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n==="hover"?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},tH=Oe([Qg,q2,eH,K2],zB),Vw=Oe([tu,nu,fr,Gi,ou,K2,tH],FB),hse=Oe([Y2,Vw],(t,e)=>{var n;return(n=t.coordinate)!==null&&n!==void 0?n:e}),nH=Oe([ou,Z2],OB),pse=Oe([tH,Z2,$a,Rg,nH,BB,q2],HB),mse=Oe([Y2,Z2],(t,e)=>({isActive:t.active&&e!=null,activeIndex:e})),gse=(t,e,n,r,i,s,o)=>{if(!(!t||!n||!r||!i)&&use(t,o)){var a=PY(t,e),l=QB(a,s,i,n,r),c=lse(e,i,l,t);return{activeIndex:String(l),activeCoordinate:c}}},vse=(t,e,n,r,i,s,o)=>{if(!(!t||!r||!i||!s||!n)){var a=IJ(t,n);if(a){var l=RY(a,e),c=QB(l,o,s,r,i),d=cse(e,s,c,a);return{activeIndex:String(c),activeCoordinate:d}}}},yse=(t,e,n,r,i,s,o,a)=>{if(!(!t||!e||!r||!i||!s))return e==="horizontal"||e==="vertical"?gse(t,e,r,i,s,o,a):vse(t,e,n,r,i,s,o)},xse=Oe(t=>t.zIndex.zIndexMap,(t,e)=>e,(t,e,n)=>n,(t,e,n)=>{if(e!=null){var r=t[e];if(r!=null)return n?r.panoramaElement:r.element}}),bse=Oe(t=>t.zIndex.zIndexMap,t=>{var e=Object.keys(t).map(r=>parseInt(r,10)).concat(Object.values(Ms)),n=Array.from(new Set(e));return n.sort((r,i)=>r-i)},{memoizeOptions:{resultEqualityCheck:cee}});function ML(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function EL(t){for(var e=1;eEL(EL({},t),{},{[e]:{element:void 0,panoramaElement:void 0,consumers:0}}),Mse)},Ase=new Set(Object.values(Ms));function Tse(t){return Ase.has(t)}var rH=cs({name:"zIndex",initialState:Ese,reducers:{registerZIndexPortal:{reducer:(t,e)=>{var n=e.payload.zIndex;t.zIndexMap[n]?t.zIndexMap[n].consumers+=1:t.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:sr()},unregisterZIndexPortal:{reducer:(t,e)=>{var n=e.payload.zIndex;t.zIndexMap[n]&&(t.zIndexMap[n].consumers-=1,t.zIndexMap[n].consumers<=0&&!Tse(n)&&delete t.zIndexMap[n])},prepare:sr()},registerZIndexPortalElement:{reducer:(t,e)=>{var n=e.payload,r=n.zIndex,i=n.element,s=n.isPanorama;t.zIndexMap[r]?s?t.zIndexMap[r].panoramaElement=i:t.zIndexMap[r].element=i:t.zIndexMap[r]={consumers:0,element:s?void 0:i,panoramaElement:s?i:void 0}},prepare:sr()},unregisterZIndexPortalElement:{reducer:(t,e)=>{var n=e.payload.zIndex;t.zIndexMap[n]&&(e.payload.isPanorama?t.zIndexMap[n].panoramaElement=void 0:t.zIndexMap[n].element=void 0)},prepare:sr()}}}),FS=rH.actions,Cse=FS.registerZIndexPortal,zE=FS.unregisterZIndexPortal,Pse=FS.registerZIndexPortalElement,Rse=FS.unregisterZIndexPortalElement,Nse=rH.reducer;function au(t){var e=t.zIndex,n=t.children,r=pZ(),i=r&&e!==void 0&&e!==0,s=Js(),o=R.useRef(void 0),a=R.useRef(new Set),l=Wr(),c=Bt(f=>xse(f,e,s));if(R.useLayoutEffect(()=>{if(!i){var f=a.current;f.forEach(y=>{l(zE({zIndex:y}))}),f.clear(),o.current=void 0;return}if(a.current.has(e)||(l(Cse({zIndex:e})),a.current.add(e)),c){o.current=c;var m=a.current;m.forEach(y=>{y!==e&&(l(zE({zIndex:y})),m.delete(y))})}},[l,e,i,c]),R.useLayoutEffect(()=>{var f=a.current;return()=>{f.forEach(m=>{l(zE({zIndex:m}))}),f.clear()}},[l]),!i)return n;var d=c??o.current;return d?X1.createPortal(n,d):null}function NC(){return NC=Object.assign?Object.assign.bind():function(t){for(var e=1;eR.useContext(iH),BE={exports:{}},TL;function Fse(){return TL||(TL=1,(function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function i(l,c,d){this.fn=l,this.context=c,this.once=d||!1}function s(l,c,d,f,m){if(typeof d!="function")throw new TypeError("The listener must be a function");var y=new i(d,f||l,m),x=n?n+c:c;return l._events[x]?l._events[x].fn?l._events[x]=[l._events[x],y]:l._events[x].push(y):(l._events[x]=y,l._eventsCount++),l}function o(l,c){--l._eventsCount===0?l._events=new r:delete l._events[c]}function a(){this._events=new r,this._eventsCount=0}a.prototype.eventNames=function(){var c=[],d,f;if(this._eventsCount===0)return c;for(f in d=this._events)e.call(d,f)&&c.push(n?f.slice(1):f);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(d)):c},a.prototype.listeners=function(c){var d=n?n+c:c,f=this._events[d];if(!f)return[];if(f.fn)return[f.fn];for(var m=0,y=f.length,x=new Array(y);m{if(e&&Array.isArray(t)){var n=Number.parseInt(e,10);if(!kl(n))return t[n]}},Vse={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},sH=cs({name:"options",initialState:Vse,reducers:{createEventEmitter:t=>{t.eventEmitter==null&&(t.eventEmitter=Symbol("rechartsEventEmitter"))}}}),Gse=sH.reducer,Wse=sH.actions.createEventEmitter;function $se(t){return t.tooltip.syncInteraction}var Xse={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},oH=cs({name:"chartData",initialState:Xse,reducers:{setChartData(t,e){if(t.chartData=e.payload,e.payload==null){t.dataStartIndex=0,t.dataEndIndex=0;return}e.payload.length>0&&t.dataEndIndex!==e.payload.length-1&&(t.dataEndIndex=e.payload.length-1)},setComputedData(t,e){t.computedData=e.payload},setDataStartEndIndexes(t,e){var n=e.payload,r=n.startIndex,i=n.endIndex;r!=null&&(t.dataStartIndex=r),i!=null&&(t.dataEndIndex=i)}}}),Q2=oH.actions,PL=Q2.setChartData,qse=Q2.setDataStartEndIndexes;Q2.setComputedData;var Kse=oH.reducer,Yse=["x","y"];function RL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function um(t){for(var e=1;el.rootProps.className);R.useEffect(()=>{if(t==null)return Vg;var l=(c,d,f)=>{if(e!==f&&t===c){if(d.payload.active===!1){n(B0({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(r==="index"){var m;if(o&&d!==null&&d!==void 0&&(m=d.payload)!==null&&m!==void 0&&m.coordinate&&d.payload.sourceViewBox){var y=d.payload.coordinate,x=y.x,S=y.y,w=eoe(y,Yse),_=d.payload.sourceViewBox,E=_.x,T=_.y,C=_.width,O=_.height,N=um(um({},w),{},{x:o.x+(C?(x-E)/C:0)*o.width,y:o.y+(O?(S-T)/O:0)*o.height});n(um(um({},d),{},{payload:um(um({},d.payload),{},{coordinate:N})}))}else n(d);return}if(i!=null){var D;if(typeof r=="function"){var F={activeTooltipIndex:d.payload.index==null?void 0:Number(d.payload.index),isTooltipActive:d.payload.active,activeIndex:d.payload.index==null?void 0:Number(d.payload.index),activeLabel:d.payload.label,activeDataKey:d.payload.dataKey,activeCoordinate:d.payload.coordinate},G=r(i,F);D=i[G]}else r==="value"&&(D=i.find(fe=>String(fe.value)===d.payload.label));var k=d.payload.coordinate;if(k==null||o==null){n(B0({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(D==null){n(B0({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:d.payload.sourceViewBox,graphicalItemId:void 0}));return}var U=k.x,H=k.y,ne=Math.min(U,o.x+o.width),te=Math.min(H,o.y+o.height),he={x:s==="horizontal"?D.coordinate:ne,y:s==="horizontal"?te:D.coordinate},se=B0({active:d.payload.active,coordinate:he,dataKey:d.payload.dataKey,index:String(D.index),label:d.payload.label,sourceViewBox:d.payload.sourceViewBox,graphicalItemId:d.payload.graphicalItemId});n(se)}}};return My.on(IC,l),()=>{My.off(IC,l)}},[a,n,e,t,r,i,s,o])}function roe(){var t=Bt(r2),e=Bt(i2),n=Wr();R.useEffect(()=>{if(t==null)return Vg;var r=(i,s,o)=>{e!==o&&t===i&&n(qse(s))};return My.on(CL,r),()=>{My.off(CL,r)}},[n,e,t])}function ioe(){var t=Wr();R.useEffect(()=>{t(Wse())},[t]),noe(),roe()}function soe(t,e,n,r,i,s){var o=Bt(x=>fse(x,t,e)),a=Bt(qie),l=Bt(i2),c=Bt(r2),d=Bt(tz),f=Bt($se),m=(f==null?void 0:f.sourceViewBox)!=null,y=vS();R.useEffect(()=>{if(!m&&c!=null&&l!=null){var x=B0({active:s,coordinate:n,dataKey:o,index:i,label:typeof r=="number"?String(r):r,sourceViewBox:y,graphicalItemId:a});My.emit(IC,c,x,l)}},[m,n,o,a,i,r,l,c,d,s,y])}function NL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function IL(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n{D(nie({shared:E,trigger:T,axisId:N,active:i,defaultIndex:F}))},[D,E,T,N,i,F]);var G=vS(),k=O4(),U=Yre(E),H=(e=Bt(Ke=>mse(Ke,U,T,F)))!==null&&e!==void 0?e:{},ne=H.activeIndex,te=H.isActive,he=Bt(Ke=>pse(Ke,U,T,F)),se=Bt(Ke=>nH(Ke,U,T,F)),fe=Bt(Ke=>hse(Ke,U,T,F)),B=he,J=Use(),Y=(n=i??te)!==null&&n!==void 0?n:!1,V=mK([B,Y]),q=coe(V,2),pe=q[0],ae=q[1],le=U==="axis"?se:void 0;soe(U,T,fe,le,ne,Y);var be=O??J;if(be==null||G==null||U==null)return null;var Se=B??OL;Y||(Se=OL),c&&Se.length&&(Se=Uq(Se.filter(Ke=>Ke.value!=null&&(Ke.hide!==!0||r.includeHidden)),m,poe));var qe=Se.length>0,Me=IL(IL({},r),{},{payload:Se,label:le,active:Y,activeIndex:ne,coordinate:fe,accessibilityLayer:k}),$e=R.createElement(AQ,{allowEscapeViewBox:s,animationDuration:o,animationEasing:a,isAnimationActive:d,active:Y,coordinate:fe,hasPayload:qe,offset:f,position:y,reverseDirection:x,useTranslate3d:S,viewBox:G,wrapperStyle:w,lastBoundingBox:pe,innerRef:ae,hasPortalFromProps:!!O},moe(l,Me));return R.createElement(R.Fragment,null,X1.createPortal($e,be),Y&&R.createElement(jse,{cursor:_,tooltipEventType:U,coordinate:fe,payload:Se,index:ne}))}function yoe(t,e,n){return(e=xoe(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function xoe(t){var e=boe(t,"string");return typeof e=="symbol"?e:e+""}function boe(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}class _oe{constructor(e){yoe(this,"cache",new Map),this.maxSize=e}get(e){var n=this.cache.get(e);return n!==void 0&&(this.cache.delete(e),this.cache.set(e,n)),n}set(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var r=this.cache.keys().next().value;r!=null&&this.cache.delete(r)}this.cache.set(e,n)}clear(){this.cache.clear()}size(){return this.cache.size}}function LL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function woe(t){for(var e=1;e{try{var n=document.getElementById(jL);n||(n=document.createElement("span"),n.setAttribute("id",jL),n.setAttribute("aria-hidden","true"),document.body.appendChild(n)),Object.assign(n.style,Toe,e),n.textContent="".concat(t);var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},X0=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||Qy.isSsr)return{width:0,height:0};if(!aH.enableCache)return UL(e,n);var r=Coe(e,n),i=DL.get(r);if(i)return i;var s=UL(e,n);return DL.set(r,s),s},lH;function Gw(t,e){return Ioe(t)||Noe(t,e)||Roe(t,e)||Poe()}function Poe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. + A`,",",",0,0,",",",",","Z"])),U.x,U.y,s,s,+(d<0),k.x,k.y,r,r,+(ne>180),+(d>0),N.x,N.y,s,s,+(d<0),D.x,D.y)}else C+=Di(yO||(yO=th(["L",",","Z"])),e,n);return C},LJ={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},DJ=t=>{var e=Jo(t,LJ),n=e.cx,r=e.cy,i=e.innerRadius,s=e.outerRadius,o=e.cornerRadius,a=e.forceCornerRadius,l=e.cornerIsExternal,c=e.startAngle,d=e.endAngle,f=e.className;if(s0&&Math.abs(c-d)<360?S=OJ({cx:n,cy:r,innerRadius:i,outerRadius:s,cornerRadius:Math.min(x,y/2),forceCornerRadius:a,cornerIsExternal:l,startAngle:c,endAngle:d}):S=B4({cx:n,cy:r,innerRadius:i,outerRadius:s,startAngle:c,endAngle:d}),R.createElement("path",wC({},Ko(e),{className:m,d:S}))};function jJ(t,e,n){if(t==="horizontal")return[{x:e.x,y:n.top},{x:e.x,y:n.top+n.height}];if(t==="vertical")return[{x:n.left,y:e.y},{x:n.left+n.width,y:e.y}];if(w5(e)){if(t==="centric"){var r=e.cx,i=e.cy,s=e.innerRadius,o=e.outerRadius,a=e.angle,l=zi(r,i,s,a),c=zi(r,i,o,a);return[{x:l.x,y:l.y},{x:c.x,y:c.y}]}return z4(e)}}function UJ(t){return D5(t)?NaN:Number(t)}function NE(t){return t?(t=UJ(t),t===1/0||t===-1/0?(t<0?-1:1)*Number.MAX_VALUE:t===t?t:0):t===0?t:0}function H4(t,e,n){n&&typeof n!="number"&&nC(t,e,n)&&(e=n=void 0),t=NE(t),e===void 0?(e=t,t=0):e=NE(e),n=n===void 0?tt.chartData,ZP=ke([$a],t=>{var e=t.chartData!=null?t.chartData.length-1:0;return{chartData:t.chartData,computedData:t.computedData,dataEndIndex:e,dataStartIndex:0}}),wS=(t,e,n,r)=>r?ZP(t):$a(t),FJ=(t,e,n)=>n?ZP(t):$a(t),zJ=ke([wS],t=>{var e=t.chartData,n=t.dataStartIndex,r=t.dataEndIndex;return e!=null?e.slice(n,r+1):[]});ke([ZP],t=>{var e=t.chartData,n=t.dataStartIndex,r=t.dataEndIndex;return e!=null?e.slice(n,r+1):[]});var BJ=ke([$a],t=>{var e=t.chartData,n=t.dataStartIndex,r=t.dataEndIndex;return e!=null?e.slice(n,r+1):[]});function QP(t,e){return WJ(t)||GJ(t,e)||VJ(t,e)||HJ()}function HJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VJ(t,e){if(t){if(typeof t=="string")return xO(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xO(t,e):void 0}}function xO(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);nt.e^s.s<0?1:-1;for(r=s.d.length,i=t.d.length,e=0,n=rt.d[e]^s.s<0?1:-1;return r===i?0:r>i^s.s<0?1:-1};Ct.decimalPlaces=Ct.dp=function(){var t=this,e=t.d.length-1,n=(e-t.e)*or;if(e=t.d[e],e)for(;e%10==0;e/=10)n--;return n<0?0:n};Ct.dividedBy=Ct.div=function(t){return Gc(this,new this.constructor(t))};Ct.dividedToIntegerBy=Ct.idiv=function(t){var e=this,n=e.constructor;return Yn(Gc(e,new n(t),0,1),n.precision)};Ct.equals=Ct.eq=function(t){return!this.cmp(t)};Ct.exponent=function(){return Vr(this)};Ct.greaterThan=Ct.gt=function(t){return this.cmp(t)>0};Ct.greaterThanOrEqualTo=Ct.gte=function(t){return this.cmp(t)>=0};Ct.isInteger=Ct.isint=function(){return this.e>this.d.length-2};Ct.isNegative=Ct.isneg=function(){return this.s<0};Ct.isPositive=Ct.ispos=function(){return this.s>0};Ct.isZero=function(){return this.s===0};Ct.lessThan=Ct.lt=function(t){return this.cmp(t)<0};Ct.lessThanOrEqualTo=Ct.lte=function(t){return this.cmp(t)<1};Ct.logarithm=Ct.log=function(t){var e,n=this,r=n.constructor,i=r.precision,s=i+5;if(t===void 0)t=new r(10);else if(t=new r(t),t.s<1||t.eq(yo))throw Error(Zo+"NaN");if(n.s<1)throw Error(Zo+(n.s?"NaN":"-Infinity"));return n.eq(yo)?new r(0):(ur=!1,e=Gc(vy(n,s),vy(t,s),s),ur=!0,Yn(e,i))};Ct.minus=Ct.sub=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?X4(e,t):W4(e,(t.s=-t.s,t))};Ct.modulo=Ct.mod=function(t){var e,n=this,r=n.constructor,i=r.precision;if(t=new r(t),!t.s)throw Error(Zo+"NaN");return n.s?(ur=!1,e=Gc(n,t,0,1).times(t),ur=!0,n.minus(e)):Yn(new r(n),i)};Ct.naturalExponential=Ct.exp=function(){return $4(this)};Ct.naturalLogarithm=Ct.ln=function(){return vy(this)};Ct.negated=Ct.neg=function(){var t=new this.constructor(this);return t.s=-t.s||0,t};Ct.plus=Ct.add=function(t){var e=this;return t=new e.constructor(t),e.s==t.s?W4(e,t):X4(e,(t.s=-t.s,t))};Ct.precision=Ct.sd=function(t){var e,n,r,i=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(wh+t);if(e=Vr(i)+1,r=i.d.length-1,n=r*or+1,r=i.d[r],r){for(;r%10==0;r/=10)n--;for(r=i.d[0];r>=10;r/=10)n++}return t&&e>n?e:n};Ct.squareRoot=Ct.sqrt=function(){var t,e,n,r,i,s,o,a=this,l=a.constructor;if(a.s<1){if(!a.s)return new l(0);throw Error(Zo+"NaN")}for(t=Vr(a),ur=!1,i=Math.sqrt(+a),i==0||i==1/0?(e=Sl(a.d),(e.length+t)%2==0&&(e+="0"),i=Math.sqrt(e),t=$g((t+1)/2)-(t<0||t%2),i==1/0?e="5e"+t:(e=i.toExponential(),e=e.slice(0,e.indexOf("e")+1)+t),r=new l(e)):r=new l(i.toString()),n=l.precision,i=o=n+3;;)if(s=r,r=s.plus(Gc(a,s,o+2)).times(.5),Sl(s.d).slice(0,o)===(e=Sl(r.d)).slice(0,o)){if(e=e.slice(o-3,o+1),i==o&&e=="4999"){if(Yn(s,n+1,0),s.times(s).eq(a)){r=s;break}}else if(e!="9999")break;o+=4}return ur=!0,Yn(r,n)};Ct.times=Ct.mul=function(t){var e,n,r,i,s,o,a,l,c,d=this,f=d.constructor,m=d.d,y=(t=new f(t)).d;if(!d.s||!t.s)return new f(0);for(t.s*=d.s,n=d.e+t.e,l=m.length,c=y.length,l=0;){for(e=0,i=l+r;i>r;)a=s[i]+y[r]*m[i-r-1]+e,s[i--]=a%vi|0,e=a/vi|0;s[i]=(s[i]+e)%vi|0}for(;!s[--o];)s.pop();return e?++n:s.shift(),t.d=s,t.e=n,ur?Yn(t,f.precision):t};Ct.toDecimalPlaces=Ct.todp=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(Dl(t,0,Wg),e===void 0?e=r.rounding:Dl(e,0,8),Yn(n,t+Vr(n)+1,e))};Ct.toExponential=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=Lh(r,!0):(Dl(t,0,Wg),e===void 0?e=i.rounding:Dl(e,0,8),r=Yn(new i(r),t+1,e),n=Lh(r,!0,t+1)),n};Ct.toFixed=function(t,e){var n,r,i=this,s=i.constructor;return t===void 0?Lh(i):(Dl(t,0,Wg),e===void 0?e=s.rounding:Dl(e,0,8),r=Yn(new s(i),t+Vr(i)+1,e),n=Lh(r.abs(),!1,t+Vr(r)+1),i.isneg()&&!i.isZero()?"-"+n:n)};Ct.toInteger=Ct.toint=function(){var t=this,e=t.constructor;return Yn(new e(t),Vr(t)+1,e.rounding)};Ct.toNumber=function(){return+this};Ct.toPower=Ct.pow=function(t){var e,n,r,i,s,o,a=this,l=a.constructor,c=12,d=+(t=new l(t));if(!t.s)return new l(yo);if(a=new l(a),!a.s){if(t.s<1)throw Error(Zo+"Infinity");return a}if(a.eq(yo))return a;if(r=l.precision,t.eq(yo))return Yn(a,r);if(e=t.e,n=t.d.length-1,o=e>=n,s=a.s,o){if((n=d<0?-d:d)<=G4){for(i=new l(yo),e=Math.ceil(r/or+4),ur=!1;n%2&&(i=i.times(a),wO(i.d,e)),n=$g(n/2),n!==0;)a=a.times(a),wO(a.d,e);return ur=!0,t.s<0?new l(yo).div(i):Yn(i,r)}}else if(s<0)throw Error(Zo+"NaN");return s=s<0&&t.d[Math.max(e,n)]&1?-1:1,a.s=1,ur=!1,i=t.times(vy(a,r+c)),ur=!0,i=$4(i),i.s=s,i};Ct.toPrecision=function(t,e){var n,r,i=this,s=i.constructor;return t===void 0?(n=Vr(i),r=Lh(i,n<=s.toExpNeg||n>=s.toExpPos)):(Dl(t,1,Wg),e===void 0?e=s.rounding:Dl(e,0,8),i=Yn(new s(i),t,e),n=Vr(i),r=Lh(i,t<=n||n<=s.toExpNeg,t)),r};Ct.toSignificantDigits=Ct.tosd=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(Dl(t,1,Wg),e===void 0?e=r.rounding:Dl(e,0,8)),Yn(new r(n),t,e)};Ct.toString=Ct.valueOf=Ct.val=Ct.toJSON=Ct[Symbol.for("nodejs.util.inspect.custom")]=function(){var t=this,e=Vr(t),n=t.constructor;return Lh(t,e<=n.toExpNeg||e>=n.toExpPos)};function W4(t,e){var n,r,i,s,o,a,l,c,d=t.constructor,f=d.precision;if(!t.s||!e.s)return e.s||(e=new d(t)),ur?Yn(e,f):e;if(l=t.d,c=e.d,o=t.e,i=e.e,l=l.slice(),s=o-i,s){for(s<0?(r=l,s=-s,a=c.length):(r=c,i=o,a=l.length),o=Math.ceil(f/or),a=o>a?o+1:a+1,s>a&&(s=a,r.length=1),r.reverse();s--;)r.push(0);r.reverse()}for(a=l.length,s=c.length,a-s<0&&(s=a,r=c,c=l,l=r),n=0;s;)n=(l[--s]=l[s]+c[s]+n)/vi|0,l[s]%=vi;for(n&&(l.unshift(n),++i),a=l.length;l[--a]==0;)l.pop();return e.d=l,e.e=i,ur?Yn(e,f):e}function Dl(t,e,n){if(t!==~~t||tn)throw Error(wh+t)}function Sl(t){var e,n,r,i=t.length-1,s="",o=t[0];if(i>0){for(s+=o,e=1;eo?1:-1;else for(a=l=0;ai[a]?1:-1;break}return l}function n(r,i,s){for(var o=0;s--;)r[s]-=o,o=r[s]1;)r.shift()}return function(r,i,s,o){var a,l,c,d,f,m,y,x,S,w,_,E,T,C,O,N,D,F,G=r.constructor,k=r.s==i.s?1:-1,U=r.d,H=i.d;if(!r.s)return new G(r);if(!i.s)throw Error(Zo+"Division by zero");for(l=r.e-i.e,D=H.length,O=U.length,y=new G(k),x=y.d=[],c=0;H[c]==(U[c]||0);)++c;if(H[c]>(U[c]||0)&&--l,s==null?E=s=G.precision:o?E=s+(Vr(r)-Vr(i))+1:E=s,E<0)return new G(0);if(E=E/or+2|0,c=0,D==1)for(d=0,H=H[0],E++;(c1&&(H=t(H,d),U=t(U,d),D=H.length,O=U.length),C=D,S=U.slice(0,D),w=S.length;w=vi/2&&++N;do d=0,a=e(H,S,D,w),a<0?(_=S[0],D!=w&&(_=_*vi+(S[1]||0)),d=_/N|0,d>1?(d>=vi&&(d=vi-1),f=t(H,d),m=f.length,w=S.length,a=e(f,S,m,w),a==1&&(d--,n(f,D16)throw Error(JP+Vr(t));if(!t.s)return new d(yo);for(ur=!1,a=f,o=new d(.03125);t.abs().gte(.1);)t=t.times(o),c+=5;for(r=Math.log($f(2,c))/Math.LN10*2+5|0,a+=r,n=i=s=new d(yo),d.precision=a;;){if(i=Yn(i.times(t),a),n=n.times(++l),o=s.plus(Gc(i,n,a)),Sl(o.d).slice(0,a)===Sl(s.d).slice(0,a)){for(;c--;)s=Yn(s.times(s),a);return d.precision=f,e==null?(ur=!0,Yn(s,f)):s}s=o}}function Vr(t){for(var e=t.e*or,n=t.d[0];n>=10;n/=10)e++;return e}function IE(t,e,n){if(e>t.LN10.sd())throw ur=!0,n&&(t.precision=n),Error(Zo+"LN10 precision limit exceeded");return Yn(new t(t.LN10),e)}function ad(t){for(var e="";t--;)e+="0";return e}function vy(t,e){var n,r,i,s,o,a,l,c,d,f=1,m=10,y=t,x=y.d,S=y.constructor,w=S.precision;if(y.s<1)throw Error(Zo+(y.s?"NaN":"-Infinity"));if(y.eq(yo))return new S(0);if(e==null?(ur=!1,c=w):c=e,y.eq(10))return e==null&&(ur=!0),IE(S,c);if(c+=m,S.precision=c,n=Sl(x),r=n.charAt(0),s=Vr(y),Math.abs(s)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)y=y.times(t),n=Sl(y.d),r=n.charAt(0),f++;s=Vr(y),r>1?(y=new S("0."+n),s++):y=new S(r+"."+n.slice(1))}else return l=IE(S,c+2,w).times(s+""),y=vy(new S(r+"."+n.slice(1)),c-m).plus(l),S.precision=w,e==null?(ur=!0,Yn(y,w)):y;for(a=o=y=Gc(y.minus(yo),y.plus(yo),c),d=Yn(y.times(y),c),i=3;;){if(o=Yn(o.times(d),c),l=a.plus(Gc(o,new S(i),c)),Sl(l.d).slice(0,c)===Sl(a.d).slice(0,c))return a=a.times(2),s!==0&&(a=a.plus(IE(S,c+2,w).times(s+""))),a=Gc(a,new S(f),c),S.precision=w,e==null?(ur=!0,Yn(a,w)):a;a=l,i+=2}}function _O(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;)++r;for(i=e.length;e.charCodeAt(i-1)===48;)--i;if(e=e.slice(r,i),e){if(i-=r,n=n-r-1,t.e=$g(n/or),t.d=[],r=(n+1)%or,n<0&&(r+=or),rCw||t.e<-Cw))throw Error(JP+n)}else t.s=0,t.e=0,t.d=[0];return t}function Yn(t,e,n){var r,i,s,o,a,l,c,d,f=t.d;for(o=1,s=f[0];s>=10;s/=10)o++;if(r=e-o,r<0)r+=or,i=e,c=f[d=0];else{if(d=Math.ceil((r+1)/or),s=f.length,d>=s)return t;for(c=s=f[d],o=1;s>=10;s/=10)o++;r%=or,i=r-or+o}if(n!==void 0&&(s=$f(10,o-i-1),a=c/s%10|0,l=e<0||f[d+1]!==void 0||c%s,l=n<4?(a||l)&&(n==0||n==(t.s<0?3:2)):a>5||a==5&&(n==4||l||n==6&&(r>0?i>0?c/$f(10,o-i):0:f[d-1])%10&1||n==(t.s<0?8:7))),e<1||!f[0])return l?(s=Vr(t),f.length=1,e=e-s-1,f[0]=$f(10,(or-e%or)%or),t.e=$g(-e/or)||0):(f.length=1,f[0]=t.e=t.s=0),t;if(r==0?(f.length=d,s=1,d--):(f.length=d+1,s=$f(10,or-r),f[d]=i>0?(c/$f(10,o-i)%$f(10,i)|0)*s:0),l)for(;;)if(d==0){(f[0]+=s)==vi&&(f[0]=1,++t.e);break}else{if(f[d]+=s,f[d]!=vi)break;f[d--]=0,s=1}for(r=f.length;f[--r]===0;)f.pop();if(ur&&(t.e>Cw||t.e<-Cw))throw Error(JP+Vr(t));return t}function X4(t,e){var n,r,i,s,o,a,l,c,d,f,m=t.constructor,y=m.precision;if(!t.s||!e.s)return e.s?e.s=-e.s:e=new m(t),ur?Yn(e,y):e;if(l=t.d,f=e.d,r=e.e,c=t.e,l=l.slice(),o=c-r,o){for(d=o<0,d?(n=l,o=-o,a=f.length):(n=f,r=c,a=l.length),i=Math.max(Math.ceil(y/or),a)+2,o>i&&(o=i,n.length=1),n.reverse(),i=o;i--;)n.push(0);n.reverse()}else{for(i=l.length,a=f.length,d=i0;--i)l[a++]=0;for(i=f.length;i>o;){if(l[--i]0?s=s.charAt(0)+"."+s.slice(1)+ad(r):o>1&&(s=s.charAt(0)+"."+s.slice(1)),s=s+(i<0?"e":"e+")+i):i<0?(s="0."+ad(-i-1)+s,n&&(r=n-o)>0&&(s+=ad(r))):i>=o?(s+=ad(i+1-o),n&&(r=n-i-1)>0&&(s=s+"."+ad(r))):((r=i+1)0&&(i+1===o&&(s+="."),s+=ad(r))),t.s<0?"-"+s:s}function wO(t,e){if(t.length>e)return t.length=e,!0}function q4(t){var e,n,r;function i(s){var o=this;if(!(o instanceof i))return new i(s);if(o.constructor=i,s instanceof i){o.s=s.s,o.e=s.e,o.d=(s=s.d)?s.slice():s;return}if(typeof s=="number"){if(s*0!==0)throw Error(wh+s);if(s>0)o.s=1;else if(s<0)s=-s,o.s=-1;else{o.s=0,o.e=0,o.d=[0];return}if(s===~~s&&s<1e7){o.e=0,o.d=[s];return}return _O(o,s.toString())}else if(typeof s!="string")throw Error(wh+s);if(s.charCodeAt(0)===45?(s=s.slice(1),o.s=-1):o.s=1,qJ.test(s))_O(o,s);else throw Error(wh+s)}if(i.prototype=Ct,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.clone=q4,i.config=i.set=KJ,t===void 0&&(t={}),t)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],e=0;e=i[e+1]&&r<=i[e+2])this[n]=r;else throw Error(wh+n+": "+r);if((r=t[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(wh+n+": "+r);return this}var e2=q4(XJ);yo=new e2(1);const Tn=e2;function K4(t){var e;return t===0?e=1:e=Math.floor(new Tn(t).abs().log(10).toNumber())+1,e}function Y4(t,e,n){for(var r=new Tn(t),i=0,s=[];r.lt(e)&&i<1e5;)s.push(r.toNumber()),r=r.add(n),i++;return s}function yy(t,e){return JJ(t)||QJ(t,e)||ZJ(t,e)||YJ()}function YJ(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ZJ(t,e){if(t){if(typeof t=="string")return SO(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?SO(t,e):void 0}}function SO(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{var e=yy(t,2),n=e[0],r=e[1],i=n,s=r;return n>r&&(i=r,s=n),[i,s]},t2=(t,e,n)=>{if(t.lte(0))return new Tn(0);var r=K4(t.toNumber()),i=new Tn(10).pow(r),s=t.div(i),o=r!==1?.05:.1,a=new Tn(Math.ceil(s.div(o).toNumber())).add(n).mul(o),l=a.mul(i);return e?new Tn(l.toNumber()):new Tn(Math.ceil(l.toNumber()))},Q4=(t,e,n)=>{var r;if(t.lte(0))return new Tn(0);var i=[1,2,2.5,5],s=t.toNumber(),o=Math.floor(new Tn(s).abs().log(10).toNumber()),a=new Tn(10).pow(o),l=t.div(a).toNumber(),c=i.findIndex(y=>y>=l-1e-10);if(c===-1&&(a=a.mul(10),c=0),c+=n,c>=i.length){var d=Math.floor(c/i.length);c%=i.length,a=a.mul(new Tn(10).pow(d))}var f=(r=i[c])!==null&&r!==void 0?r:1,m=new Tn(f).mul(a);return e?m:new Tn(Math.ceil(m.toNumber()))},eee=(t,e,n)=>{var r=new Tn(1),i=new Tn(t);if(!i.isint()&&n){var s=Math.abs(t);s<1?(r=new Tn(10).pow(K4(t)-1),i=new Tn(Math.floor(i.div(r).toNumber())).mul(r)):s>1&&(i=new Tn(Math.floor(t)))}else t===0?i=new Tn(Math.floor((e-1)/2)):n||(i=new Tn(Math.floor(t)));for(var o=Math.floor((e-1)/2),a=[],l=0;l4&&arguments[4]!==void 0?arguments[4]:0,o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:t2;if(!Number.isFinite((n-e)/(r-1)))return{step:new Tn(0),tickMin:new Tn(0),tickMax:new Tn(0)};var a=o(new Tn(n).sub(e).div(r-1),i,s),l;e<=0&&n>=0?l=new Tn(0):(l=new Tn(e).add(n).div(2),l=l.sub(new Tn(l).mod(a)));var c=Math.ceil(l.sub(e).div(a).toNumber()),d=Math.ceil(new Tn(n).sub(l).div(a).toNumber()),f=c+d+1;return f>r?J4(e,n,r,i,s+1,o):(f0?d+(r-f):d,c=n>0?c:c+(r-f)),{step:a,tickMin:l.sub(new Tn(c).mul(a)),tickMax:l.add(new Tn(d).mul(a))})},MO=function(e){var n=yy(e,2),r=n[0],i=n[1],s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",l=Math.max(s,2),c=Z4([r,i]),d=yy(c,2),f=d[0],m=d[1];if(f===-1/0||m===1/0){var y=m===1/0?[f,...Array(s-1).fill(1/0)]:[...Array(s-1).fill(-1/0),m];return r>i?y.reverse():y}if(f===m)return eee(f,s,o);var x=a==="snap125"?Q4:t2,S=J4(f,m,l,o,0,x),w=S.step,_=S.tickMin,E=S.tickMax,T=Y4(_,E.add(new Tn(.1).mul(w)),w);return r>i?T.reverse():T},EO=function(e,n){var r=yy(e,2),i=r[0],s=r[1],o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",l=Z4([i,s]),c=yy(l,2),d=c[0],f=c[1];if(d===-1/0||f===1/0)return[i,s];if(d===f)return[d];var m=a==="snap125"?Q4:t2,y=Math.max(n,2),x=m(new Tn(f).sub(d).div(y-1),o,0),S=[...Y4(new Tn(d),new Tn(f),x),f];return o===!1&&(S=S.map(w=>Math.round(w))),i>s?S.reverse():S},tee=t=>t.rootProps.barCategoryGap,SS=t=>t.rootProps.stackOffset,ez=t=>t.rootProps.reverseStackOrder,n2=t=>t.options.chartName,r2=t=>t.rootProps.syncId,tz=t=>t.rootProps.syncMethod,i2=t=>t.options.eventEmitter,nee=t=>t.rootProps.baseValue,Ms={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3},wf={allowDecimals:!1,allowDataOverflow:!1,angleAxisId:0,reversed:!1,scale:"auto",tick:!0,type:"auto"},hl={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,includeHidden:!1,radiusAxisId:0,reversed:!1,scale:"auto",tick:!0,tickCount:5,type:"auto"},MS=(t,e)=>{if(!(!t||!e))return t!=null&&t.reversed?[e[1],e[0]]:e};function ES(t,e,n){if(n!=="auto")return n;if(t!=null)return Bl(t,e)?"category":"number"}function AO(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function Pw(t){for(var e=1;e{if(e!=null)return t.polarAxis.angleAxis[e]},s2=ke([oee,E4],(t,e)=>{var n;if(t!=null)return t;var r=(n=ES(e,"angleAxis",TO.type))!==null&&n!==void 0?n:"category";return Pw(Pw({},TO),{},{type:r})}),aee=(t,e)=>t.polarAxis.radiusAxis[e],o2=ke([aee,E4],(t,e)=>{var n;if(t!=null)return t;var r=(n=ES(e,"radiusAxis",CO.type))!==null&&n!==void 0?n:"category";return Pw(Pw({},CO),{},{type:r})}),AS=t=>t.polarOptions,a2=ke([tu,nu,Gi],TJ),nz=ke([AS,a2],(t,e)=>{if(t!=null)return Ad(t.innerRadius,e,0)}),rz=ke([AS,a2],(t,e)=>{if(t!=null)return Ad(t.outerRadius,e,e*.8)}),lee=t=>{if(t==null)return[0,0];var e=t.startAngle,n=t.endAngle;return[e,n]},iz=ke([AS],lee);ke([s2,iz],MS);var sz=ke([a2,nz,rz],(t,e,n)=>{if(!(t==null||e==null||n==null))return[e,n]});ke([o2,sz],MS);var oz=ke([fr,AS,nz,rz,tu,nu],(t,e,n,r,i,s)=>{if(!(t!=="centric"&&t!=="radial"||e==null||n==null||r==null)){var o=e.cx,a=e.cy,l=e.startAngle,c=e.endAngle;return{cx:Ad(o,i,i/2),cy:Ad(a,s,s/2),innerRadius:n,outerRadius:r,startAngle:l,endAngle:c,clockWise:!1}}}),bi=(t,e)=>e,TS=(t,e,n)=>n;function l2(t){return t==null?void 0:t.id}function az(t,e,n){var r=e.chartData,i=r===void 0?[]:r,s=n.allowDuplicatedCategory,o=n.dataKey,a=new Map;return t.forEach(l=>{var c,d=(c=l.data)!==null&&c!==void 0?c:i;if(!(d==null||d.length===0)){var f=l2(l);d.forEach((m,y)=>{var x=o==null||s?y:String(yi(m,o,null)),S=yi(m,l.dataKey,0),w;a.has(x)?w=a.get(x):w={},Object.assign(w,{[f]:S}),a.set(x,w)})}}),Array.from(a.values())}function c2(t){return"stackId"in t&&t.stackId!=null&&t.dataKey!=null}var CS=(t,e)=>t===e?!0:t==null||e==null?!1:t[0]===e[0]&&t[1]===e[1];function PS(t,e){return Array.isArray(t)&&Array.isArray(e)&&t.length===0&&e.length===0?!0:t===e}function cee(t,e){if(t.length===e.length){for(var n=0;n{var e=fr(t);return e==="horizontal"?"xAxis":e==="vertical"?"yAxis":e==="centric"?"angleAxis":"radiusAxis"},Xg=t=>t.tooltip.settings.axisId;function u2(t){if(t!=null){var e=t.ticks,n=t.bandwidth,r=t.range(),i=[Math.min(...r),Math.max(...r)];return{domain:()=>t.domain(),range:(function(s){function o(){return s.apply(this,arguments)}return o.toString=function(){return s.toString()},o})(()=>i),rangeMin:()=>i[0],rangeMax:()=>i[1],isInRange(s){var o=i[0],a=i[1];return o<=a?s>=o&&s<=a:s>=a&&s<=o},bandwidth:n?()=>n.call(t):void 0,ticks:e?s=>e.call(t,s):void 0,map:(s,o)=>{var a=t(s);if(a!=null){if(t.bandwidth&&o!==null&&o!==void 0&&o.position){var l=t.bandwidth();switch(o.position){case"middle":a+=l/2;break;case"end":a+=l;break}}return a}}}}}var uee=(t,e)=>{if(e!=null)switch(t){case"linear":{if(!Tl(e)){for(var n,r,i=0;ir)&&(r=s))}return n!==void 0&&r!==void 0?[n,r]:void 0}return e}default:return e}};function wd(t,e){return t==null||e==null?NaN:te?1:t>=e?0:NaN}function dee(t,e){return t==null||e==null?NaN:et?1:e>=t?0:NaN}function d2(t){let e,n,r;t.length!==2?(e=wd,n=(a,l)=>wd(t(a),l),r=(a,l)=>t(a)-l):(e=t===wd||t===dee?t:fee,n=t,r=t);function i(a,l,c=0,d=a.length){if(c>>1;n(a[f],l)<0?c=f+1:d=f}while(c>>1;n(a[f],l)<=0?c=f+1:d=f}while(cc&&r(a[f-1],l)>-r(a[f],l)?f-1:f}return{left:i,center:o,right:s}}function fee(){return 0}function lz(t){return t===null?NaN:+t}function*hee(t,e){for(let n of t)n!=null&&(n=+n)>=n&&(yield n)}const pee=d2(wd),Jy=pee.right;d2(lz).center;class PO extends Map{constructor(e,n=vee){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,i]of e)this.set(r,i)}get(e){return super.get(RO(this,e))}has(e){return super.has(RO(this,e))}set(e,n){return super.set(mee(this,e),n)}delete(e){return super.delete(gee(this,e))}}function RO({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function mee({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function gee({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function vee(t){return t!==null&&typeof t=="object"?t.valueOf():t}function yee(t=wd){if(t===wd)return cz;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function cz(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(te?1:0)}const xee=Math.sqrt(50),bee=Math.sqrt(10),_ee=Math.sqrt(2);function Rw(t,e,n){const r=(e-t)/Math.max(0,n),i=Math.floor(Math.log10(r)),s=r/Math.pow(10,i),o=s>=xee?10:s>=bee?5:s>=_ee?2:1;let a,l,c;return i<0?(c=Math.pow(10,-i)/o,a=Math.round(t*c),l=Math.round(e*c),a/ce&&--l,c=-c):(c=Math.pow(10,i)*o,a=Math.round(t/c),l=Math.round(e/c),a*ce&&--l),l0))return[];if(t===e)return[t];const r=e=i))return[];const a=s-i+1,l=new Array(a);if(r)if(o<0)for(let c=0;c=r)&&(n=r);return n}function IO(t,e){let n;for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function uz(t,e,n=0,r=1/0,i){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(i=i===void 0?cz:yee(i);r>n;){if(r-n>600){const l=r-n+1,c=e-n+1,d=Math.log(l),f=.5*Math.exp(2*d/3),m=.5*Math.sqrt(d*f*(l-f)/l)*(c-l/2<0?-1:1),y=Math.max(n,Math.floor(e-c*f/l+m)),x=Math.min(r,Math.floor(e+(l-c)*f/l+m));uz(t,e,y,x,i)}const s=t[e];let o=n,a=r;for(u0(t,n,e),i(t[r],s)>0&&u0(t,n,r);o0;)--a}i(t[n],s)===0?u0(t,n,a):(++a,u0(t,a,r)),a<=e&&(n=a+1),e<=a&&(r=a-1)}return t}function u0(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function wee(t,e,n){if(t=Float64Array.from(hee(t)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return IO(t);if(e>=1)return NO(t);var r,i=(r-1)*e,s=Math.floor(i),o=NO(uz(t,s).subarray(0,s+1)),a=IO(t.subarray(s+1));return o+(a-o)*(i-s)}}function See(t,e,n=lz){if(!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,i=(r-1)*e,s=Math.floor(i),o=+n(t[s],s,t),a=+n(t[s+1],s+1,t);return o+(a-o)*(i-s)}}function Mee(t,e,n){t=+t,e=+e,n=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((e-t)/n))|0,s=new Array(i);++r>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?Rb(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?Rb(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Tee.exec(t))?new Zs(e[1],e[2],e[3],1):(e=Cee.exec(t))?new Zs(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Pee.exec(t))?Rb(e[1],e[2],e[3],e[4]):(e=Ree.exec(t))?Rb(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Nee.exec(t))?FO(e[1],e[2]/100,e[3]/100,1):(e=Iee.exec(t))?FO(e[1],e[2]/100,e[3]/100,e[4]):kO.hasOwnProperty(t)?DO(kO[t]):t==="transparent"?new Zs(NaN,NaN,NaN,0):null}function DO(t){return new Zs(t>>16&255,t>>8&255,t&255,1)}function Rb(t,e,n,r){return r<=0&&(t=e=n=NaN),new Zs(t,e,n,r)}function Lee(t){return t instanceof ex||(t=_y(t)),t?(t=t.rgb(),new Zs(t.r,t.g,t.b,t.opacity)):new Zs}function TC(t,e,n,r){return arguments.length===1?Lee(t):new Zs(t,e,n,r??1)}function Zs(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}p2(Zs,TC,fz(ex,{brighter(t){return t=t==null?Nw:Math.pow(Nw,t),new Zs(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?xy:Math.pow(xy,t),new Zs(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Zs(Sh(this.r),Sh(this.g),Sh(this.b),Iw(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:jO,formatHex:jO,formatHex8:Dee,formatRgb:UO,toString:UO}));function jO(){return`#${nh(this.r)}${nh(this.g)}${nh(this.b)}`}function Dee(){return`#${nh(this.r)}${nh(this.g)}${nh(this.b)}${nh((isNaN(this.opacity)?1:this.opacity)*255)}`}function UO(){const t=Iw(this.opacity);return`${t===1?"rgb(":"rgba("}${Sh(this.r)}, ${Sh(this.g)}, ${Sh(this.b)}${t===1?")":`, ${t})`}`}function Iw(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Sh(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function nh(t){return t=Sh(t),(t<16?"0":"")+t.toString(16)}function FO(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Fa(t,e,n,r)}function hz(t){if(t instanceof Fa)return new Fa(t.h,t.s,t.l,t.opacity);if(t instanceof ex||(t=_y(t)),!t)return new Fa;if(t instanceof Fa)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),s=Math.max(e,n,r),o=NaN,a=s-i,l=(s+i)/2;return a?(e===s?o=(n-r)/a+(n0&&l<1?0:o,new Fa(o,a,l,t.opacity)}function jee(t,e,n,r){return arguments.length===1?hz(t):new Fa(t,e,n,r??1)}function Fa(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}p2(Fa,jee,fz(ex,{brighter(t){return t=t==null?Nw:Math.pow(Nw,t),new Fa(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?xy:Math.pow(xy,t),new Fa(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new Zs(kE(t>=240?t-240:t+120,i,r),kE(t,i,r),kE(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Fa(zO(this.h),Nb(this.s),Nb(this.l),Iw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=Iw(this.opacity);return`${t===1?"hsl(":"hsla("}${zO(this.h)}, ${Nb(this.s)*100}%, ${Nb(this.l)*100}%${t===1?")":`, ${t})`}`}}));function zO(t){return t=(t||0)%360,t<0?t+360:t}function Nb(t){return Math.max(0,Math.min(1,t||0))}function kE(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const m2=t=>()=>t;function Uee(t,e){return function(n){return t+n*e}}function Fee(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function zee(t){return(t=+t)==1?pz:function(e,n){return n-e?Fee(e,n,t):m2(isNaN(e)?n:e)}}function pz(t,e){var n=e-t;return n?Uee(t,n):m2(isNaN(t)?e:t)}const BO=(function t(e){var n=zee(e);function r(i,s){var o=n((i=TC(i)).r,(s=TC(s)).r),a=n(i.g,s.g),l=n(i.b,s.b),c=pz(i.opacity,s.opacity);return function(d){return i.r=o(d),i.g=a(d),i.b=l(d),i.opacity=c(d),i+""}}return r.gamma=t,r})(1);function Bee(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),i;return function(s){for(i=0;in&&(s=e.slice(n,s),a[o]?a[o]+=s:a[++o]=s),(r=r[0])===(i=i[0])?a[o]?a[o]+=i:a[++o]=i:(a[++o]=null,l.push({i:o,x:kw(r,i)})),n=OE.lastIndex;return ne&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function Qee(t,e,n){var r=t[0],i=t[1],s=e[0],o=e[1];return i2?Jee:Qee,l=c=null,f}function f(m){return m==null||isNaN(m=+m)?s:(l||(l=a(t.map(r),e,n)))(r(o(m)))}return f.invert=function(m){return o(i((c||(c=a(e,t.map(r),kw)))(m)))},f.domain=function(m){return arguments.length?(t=Array.from(m,Ow),d()):t.slice()},f.range=function(m){return arguments.length?(e=Array.from(m),d()):e.slice()},f.rangeRound=function(m){return e=Array.from(m),n=g2,d()},f.clamp=function(m){return arguments.length?(o=m?!0:Es,d()):o!==Es},f.interpolate=function(m){return arguments.length?(n=m,d()):n},f.unknown=function(m){return arguments.length?(s=m,f):s},function(m,y){return r=m,i=y,d()}}function v2(){return RS()(Es,Es)}function ete(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Lw(t,e){if(!isFinite(t)||t===0)return null;var n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Tg(t){return t=Lw(Math.abs(t)),t?t[1]:NaN}function tte(t,e){return function(n,r){for(var i=n.length,s=[],o=0,a=t[0],l=0;i>0&&a>0&&(l+a+1>r&&(a=Math.max(1,r-l)),s.push(n.substring(i-=a,i+a)),!((l+=a+1)>r));)a=t[o=(o+1)%t.length];return s.reverse().join(e)}}function nte(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var rte=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function wy(t){if(!(e=rte.exec(t)))throw new Error("invalid format: "+t);var e;return new y2({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}wy.prototype=y2.prototype;function y2(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}y2.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function ite(t){e:for(var e=t.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(i+1):t}var Dw;function ste(t,e){var n=Lw(t,e);if(!n)return Dw=void 0,t.toPrecision(e);var r=n[0],i=n[1],s=i-(Dw=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return s===o?r:s>o?r+new Array(s-o+1).join("0"):s>0?r.slice(0,s)+"."+r.slice(s):"0."+new Array(1-s).join("0")+Lw(t,Math.max(0,e+s-1))[0]}function VO(t,e){var n=Lw(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const GO={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:ete,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>VO(t*100,e),r:VO,s:ste,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function WO(t){return t}var $O=Array.prototype.map,XO=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function ote(t){var e=t.grouping===void 0||t.thousands===void 0?WO:tte($O.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",s=t.numerals===void 0?WO:nte($O.call(t.numerals,String)),o=t.percent===void 0?"%":t.percent+"",a=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function c(f,m){f=wy(f);var y=f.fill,x=f.align,S=f.sign,w=f.symbol,_=f.zero,E=f.width,T=f.comma,C=f.precision,O=f.trim,N=f.type;N==="n"?(T=!0,N="g"):GO[N]||(C===void 0&&(C=12),O=!0,N="g"),(_||y==="0"&&x==="=")&&(_=!0,y="0",x="=");var D=(m&&m.prefix!==void 0?m.prefix:"")+(w==="$"?n:w==="#"&&/[boxX]/.test(N)?"0"+N.toLowerCase():""),F=(w==="$"?r:/[%p]/.test(N)?o:"")+(m&&m.suffix!==void 0?m.suffix:""),G=GO[N],k=/[defgprs%]/.test(N);C=C===void 0?6:/[gprs]/.test(N)?Math.max(1,Math.min(21,C)):Math.max(0,Math.min(20,C));function U(H){var ne=D,te=F,he,oe,fe;if(N==="c")te=G(H)+te,H="";else{H=+H;var B=H<0||1/H<0;if(H=isNaN(H)?l:G(Math.abs(H),C),O&&(H=ite(H)),B&&+H==0&&S!=="+"&&(B=!1),ne=(B?S==="("?S:a:S==="-"||S==="("?"":S)+ne,te=(N==="s"&&!isNaN(H)&&Dw!==void 0?XO[8+Dw/3]:"")+te+(B&&S==="("?")":""),k){for(he=-1,oe=H.length;++hefe||fe>57){te=(fe===46?i+H.slice(he+1):H.slice(he))+te,H=H.slice(0,he);break}}}T&&!_&&(H=e(H,1/0));var J=ne.length+H.length+te.length,Y=J>1)+ne+H+te+Y.slice(J);break;default:H=Y+ne+H+te;break}return s(H)}return U.toString=function(){return f+""},U}function d(f,m){var y=Math.max(-8,Math.min(8,Math.floor(Tg(m)/3)))*3,x=Math.pow(10,-y),S=c((f=wy(f),f.type="f",f),{suffix:XO[8+y/3]});return function(w){return S(x*w)}}return{format:c,formatPrefix:d}}var Ib,x2,mz;ate({thousands:",",grouping:[3],currency:["$",""]});function ate(t){return Ib=ote(t),x2=Ib.format,mz=Ib.formatPrefix,Ib}function lte(t){return Math.max(0,-Tg(Math.abs(t)))}function cte(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Tg(e)/3)))*3-Tg(Math.abs(t)))}function ute(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Tg(e)-Tg(t))+1}function gz(t,e,n,r){var i=EC(t,e,n),s;switch(r=wy(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(s=cte(i,o))&&(r.precision=s),mz(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(s=ute(i,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=s-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(s=lte(i))&&(r.precision=s-(r.type==="%")*2);break}}return x2(r)}function Rd(t){var e=t.domain;return t.ticks=function(n){var r=e();return SC(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var i=e();return gz(i[0],i[i.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),i=0,s=r.length-1,o=r[i],a=r[s],l,c,d=10;for(a0;){if(c=MC(o,a,n),c===l)return r[i]=o,r[s]=a,e(r);if(c>0)o=Math.floor(o/c)*c,a=Math.ceil(a/c)*c;else if(c<0)o=Math.ceil(o*c)/c,a=Math.floor(a*c)/c;else break;l=c}return t},t}function vz(){var t=v2();return t.copy=function(){return tx(t,vz())},ea.apply(t,arguments),Rd(t)}function yz(t){var e;function n(r){return r==null||isNaN(r=+r)?e:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(t=Array.from(r,Ow),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return yz(t).unknown(e)},t=arguments.length?Array.from(t,Ow):[0,1],Rd(n)}function xz(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],s=t[r],o;return sMath.pow(t,e)}function mte(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function YO(t){return(e,n)=>-t(-e,n)}function b2(t){const e=t(qO,KO),n=e.domain;let r=10,i,s;function o(){return i=mte(r),s=pte(r),n()[0]<0?(i=YO(i),s=YO(s),t(dte,fte)):t(qO,KO),e}return e.base=function(a){return arguments.length?(r=+a,o()):r},e.domain=function(a){return arguments.length?(n(a),o()):n()},e.ticks=a=>{const l=n();let c=l[0],d=l[l.length-1];const f=d0){for(;m<=y;++m)for(x=1;xd)break;_.push(S)}}else for(;m<=y;++m)for(x=r-1;x>=1;--x)if(S=m>0?x/s(-m):x*s(m),!(Sd)break;_.push(S)}_.length*2{if(a==null&&(a=10),l==null&&(l=r===10?"s":","),typeof l!="function"&&(!(r%1)&&(l=wy(l)).precision==null&&(l.trim=!0),l=x2(l)),a===1/0)return l;const c=Math.max(1,r*a/e.ticks().length);return d=>{let f=d/s(Math.round(i(d)));return f*rn(xz(n(),{floor:a=>s(Math.floor(i(a))),ceil:a=>s(Math.ceil(i(a)))})),e}function bz(){const t=b2(RS()).domain([1,10]);return t.copy=()=>tx(t,bz()).base(t.base()),ea.apply(t,arguments),t}function ZO(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function QO(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function _2(t){var e=1,n=t(ZO(e),QO(e));return n.constant=function(r){return arguments.length?t(ZO(e=+r),QO(e)):e},Rd(n)}function _z(){var t=_2(RS());return t.copy=function(){return tx(t,_z()).constant(t.constant())},ea.apply(t,arguments)}function JO(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function gte(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function vte(t){return t<0?-t*t:t*t}function w2(t){var e=t(Es,Es),n=1;function r(){return n===1?t(Es,Es):n===.5?t(gte,vte):t(JO(n),JO(1/n))}return e.exponent=function(i){return arguments.length?(n=+i,r()):n},Rd(e)}function S2(){var t=w2(RS());return t.copy=function(){return tx(t,S2()).exponent(t.exponent())},ea.apply(t,arguments),t}function yte(){return S2.apply(null,arguments).exponent(.5)}function eL(t){return Math.sign(t)*t*t}function xte(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function wz(){var t=v2(),e=[0,1],n=!1,r;function i(s){var o=xte(t(s));return isNaN(o)?r:n?Math.round(o):o}return i.invert=function(s){return t.invert(eL(s))},i.domain=function(s){return arguments.length?(t.domain(s),i):t.domain()},i.range=function(s){return arguments.length?(t.range((e=Array.from(s,Ow)).map(eL)),i):e.slice()},i.rangeRound=function(s){return i.range(s).round(!0)},i.round=function(s){return arguments.length?(n=!!s,i):n},i.clamp=function(s){return arguments.length?(t.clamp(s),i):t.clamp()},i.unknown=function(s){return arguments.length?(r=s,i):r},i.copy=function(){return wz(t.domain(),e).round(n).clamp(t.clamp()).unknown(r)},ea.apply(i,arguments),Rd(i)}function Sz(){var t=[],e=[],n=[],r;function i(){var o=0,a=Math.max(1,e.length);for(n=new Array(a-1);++o0?n[a-1]:t[0],a=n?[r[n-1],e]:[r[c-1],r[c]]},o.unknown=function(l){return arguments.length&&(s=l),o},o.thresholds=function(){return r.slice()},o.copy=function(){return Mz().domain([t,e]).range(i).unknown(s)},ea.apply(Rd(o),arguments)}function Ez(){var t=[.5],e=[0,1],n,r=1;function i(s){return s!=null&&s<=s?e[Jy(t,s,0,r)]:n}return i.domain=function(s){return arguments.length?(t=Array.from(s),r=Math.min(t.length,e.length-1),i):t.slice()},i.range=function(s){return arguments.length?(e=Array.from(s),r=Math.min(t.length,e.length-1),i):e.slice()},i.invertExtent=function(s){var o=e.indexOf(s);return[t[o-1],t[o]]},i.unknown=function(s){return arguments.length?(n=s,i):n},i.copy=function(){return Ez().domain(t).range(e).unknown(n)},ea.apply(i,arguments)}const LE=new Date,DE=new Date;function oi(t,e,n,r){function i(s){return t(s=arguments.length===0?new Date:new Date(+s)),s}return i.floor=s=>(t(s=new Date(+s)),s),i.ceil=s=>(t(s=new Date(s-1)),e(s,1),t(s),s),i.round=s=>{const o=i(s),a=i.ceil(s);return s-o(e(s=new Date(+s),o==null?1:Math.floor(o)),s),i.range=(s,o,a)=>{const l=[];if(s=i.ceil(s),a=a==null?1:Math.floor(a),!(s0))return l;let c;do l.push(c=new Date(+s)),e(s,a),t(s);while(coi(o=>{if(o>=o)for(;t(o),!s(o);)o.setTime(o-1)},(o,a)=>{if(o>=o)if(a<0)for(;++a<=0;)for(;e(o,-1),!s(o););else for(;--a>=0;)for(;e(o,1),!s(o););}),n&&(i.count=(s,o)=>(LE.setTime(+s),DE.setTime(+o),t(LE),t(DE),Math.floor(n(LE,DE))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?o=>r(o)%s===0:o=>i.count(0,o)%s===0):i)),i}const jw=oi(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);jw.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?oi(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):jw);jw.range;const zc=1e3,Xo=zc*60,Bc=Xo*60,Yc=Bc*24,M2=Yc*7,tL=Yc*30,jE=Yc*365,rh=oi(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*zc)},(t,e)=>(e-t)/zc,t=>t.getUTCSeconds());rh.range;const E2=oi(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*zc)},(t,e)=>{t.setTime(+t+e*Xo)},(t,e)=>(e-t)/Xo,t=>t.getMinutes());E2.range;const A2=oi(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Xo)},(t,e)=>(e-t)/Xo,t=>t.getUTCMinutes());A2.range;const T2=oi(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*zc-t.getMinutes()*Xo)},(t,e)=>{t.setTime(+t+e*Bc)},(t,e)=>(e-t)/Bc,t=>t.getHours());T2.range;const C2=oi(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*Bc)},(t,e)=>(e-t)/Bc,t=>t.getUTCHours());C2.range;const nx=oi(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Xo)/Yc,t=>t.getDate()-1);nx.range;const NS=oi(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Yc,t=>t.getUTCDate()-1);NS.range;const Az=oi(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Yc,t=>Math.floor(t/Yc));Az.range;function Zh(t){return oi(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*Xo)/M2)}const IS=Zh(0),Uw=Zh(1),bte=Zh(2),_te=Zh(3),Cg=Zh(4),wte=Zh(5),Ste=Zh(6);IS.range;Uw.range;bte.range;_te.range;Cg.range;wte.range;Ste.range;function Qh(t){return oi(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/M2)}const kS=Qh(0),Fw=Qh(1),Mte=Qh(2),Ete=Qh(3),Pg=Qh(4),Ate=Qh(5),Tte=Qh(6);kS.range;Fw.range;Mte.range;Ete.range;Pg.range;Ate.range;Tte.range;const P2=oi(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());P2.range;const R2=oi(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());R2.range;const Zc=oi(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Zc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:oi(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});Zc.range;const Qc=oi(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Qc.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:oi(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});Qc.range;function Tz(t,e,n,r,i,s){const o=[[rh,1,zc],[rh,5,5*zc],[rh,15,15*zc],[rh,30,30*zc],[s,1,Xo],[s,5,5*Xo],[s,15,15*Xo],[s,30,30*Xo],[i,1,Bc],[i,3,3*Bc],[i,6,6*Bc],[i,12,12*Bc],[r,1,Yc],[r,2,2*Yc],[n,1,M2],[e,1,tL],[e,3,3*tL],[t,1,jE]];function a(c,d,f){const m=dw).right(o,m);if(y===o.length)return t.every(EC(c/jE,d/jE,f));if(y===0)return jw.every(Math.max(EC(c,d,f),1));const[x,S]=o[m/o[y-1][2]53)return null;"w"in ue||(ue.w=1),"Z"in ue?(Ge=FE(d0(ue.y,0,1)),De=Ge.getUTCDay(),Ge=De>4||De===0?Fw.ceil(Ge):Fw(Ge),Ge=NS.offset(Ge,(ue.V-1)*7),ue.y=Ge.getUTCFullYear(),ue.m=Ge.getUTCMonth(),ue.d=Ge.getUTCDate()+(ue.w+6)%7):(Ge=UE(d0(ue.y,0,1)),De=Ge.getDay(),Ge=De>4||De===0?Uw.ceil(Ge):Uw(Ge),Ge=nx.offset(Ge,(ue.V-1)*7),ue.y=Ge.getFullYear(),ue.m=Ge.getMonth(),ue.d=Ge.getDate()+(ue.w+6)%7)}else("W"in ue||"U"in ue)&&("w"in ue||(ue.w="u"in ue?ue.u%7:"W"in ue?1:0),De="Z"in ue?FE(d0(ue.y,0,1)).getUTCDay():UE(d0(ue.y,0,1)).getDay(),ue.m=0,ue.d="W"in ue?(ue.w+6)%7+ue.W*7-(De+5)%7:ue.w+ue.U*7-(De+6)%7);return"Z"in ue?(ue.H+=ue.Z/100|0,ue.M+=ue.Z%100,FE(ue)):UE(ue)}}function F(Me,We,qe,ue){for(var Z=0,Ge=We.length,De=qe.length,$e,et;Z=De)return-1;if($e=We.charCodeAt(Z++),$e===37){if($e=We.charAt(Z++),et=O[$e in nL?We.charAt(Z++):$e],!et||(ue=et(Me,qe,ue))<0)return-1}else if($e!=qe.charCodeAt(ue++))return-1}return ue}function G(Me,We,qe){var ue=c.exec(We.slice(qe));return ue?(Me.p=d.get(ue[0].toLowerCase()),qe+ue[0].length):-1}function k(Me,We,qe){var ue=y.exec(We.slice(qe));return ue?(Me.w=x.get(ue[0].toLowerCase()),qe+ue[0].length):-1}function U(Me,We,qe){var ue=f.exec(We.slice(qe));return ue?(Me.w=m.get(ue[0].toLowerCase()),qe+ue[0].length):-1}function H(Me,We,qe){var ue=_.exec(We.slice(qe));return ue?(Me.m=E.get(ue[0].toLowerCase()),qe+ue[0].length):-1}function ne(Me,We,qe){var ue=S.exec(We.slice(qe));return ue?(Me.m=w.get(ue[0].toLowerCase()),qe+ue[0].length):-1}function te(Me,We,qe){return F(Me,e,We,qe)}function he(Me,We,qe){return F(Me,n,We,qe)}function oe(Me,We,qe){return F(Me,r,We,qe)}function fe(Me){return o[Me.getDay()]}function B(Me){return s[Me.getDay()]}function J(Me){return l[Me.getMonth()]}function Y(Me){return a[Me.getMonth()]}function V(Me){return i[+(Me.getHours()>=12)]}function q(Me){return 1+~~(Me.getMonth()/3)}function pe(Me){return o[Me.getUTCDay()]}function le(Me){return s[Me.getUTCDay()]}function ce(Me){return l[Me.getUTCMonth()]}function be(Me){return a[Me.getUTCMonth()]}function Se(Me){return i[+(Me.getUTCHours()>=12)]}function Xe(Me){return 1+~~(Me.getUTCMonth()/3)}return{format:function(Me){var We=N(Me+="",T);return We.toString=function(){return Me},We},parse:function(Me){var We=D(Me+="",!1);return We.toString=function(){return Me},We},utcFormat:function(Me){var We=N(Me+="",C);return We.toString=function(){return Me},We},utcParse:function(Me){var We=D(Me+="",!0);return We.toString=function(){return Me},We}}}var nL={"-":"",_:" ",0:"0"},wi=/^\s*\d+/,kte=/^%/,Ote=/[\\^$*+?|[\]().{}]/g;function Un(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",s=i.length;return r+(s[e.toLowerCase(),n]))}function Dte(t,e,n){var r=wi.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function jte(t,e,n){var r=wi.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Ute(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Fte(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function zte(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function rL(t,e,n){var r=wi.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function iL(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Bte(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Hte(t,e,n){var r=wi.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function Vte(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function sL(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Gte(t,e,n){var r=wi.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function oL(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Wte(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function $te(t,e,n){var r=wi.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Xte(t,e,n){var r=wi.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function qte(t,e,n){var r=wi.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Kte(t,e,n){var r=kte.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Yte(t,e,n){var r=wi.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Zte(t,e,n){var r=wi.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function aL(t,e){return Un(t.getDate(),e,2)}function Qte(t,e){return Un(t.getHours(),e,2)}function Jte(t,e){return Un(t.getHours()%12||12,e,2)}function ene(t,e){return Un(1+nx.count(Zc(t),t),e,3)}function Cz(t,e){return Un(t.getMilliseconds(),e,3)}function tne(t,e){return Cz(t,e)+"000"}function nne(t,e){return Un(t.getMonth()+1,e,2)}function rne(t,e){return Un(t.getMinutes(),e,2)}function ine(t,e){return Un(t.getSeconds(),e,2)}function sne(t){var e=t.getDay();return e===0?7:e}function one(t,e){return Un(IS.count(Zc(t)-1,t),e,2)}function Pz(t){var e=t.getDay();return e>=4||e===0?Cg(t):Cg.ceil(t)}function ane(t,e){return t=Pz(t),Un(Cg.count(Zc(t),t)+(Zc(t).getDay()===4),e,2)}function lne(t){return t.getDay()}function cne(t,e){return Un(Uw.count(Zc(t)-1,t),e,2)}function une(t,e){return Un(t.getFullYear()%100,e,2)}function dne(t,e){return t=Pz(t),Un(t.getFullYear()%100,e,2)}function fne(t,e){return Un(t.getFullYear()%1e4,e,4)}function hne(t,e){var n=t.getDay();return t=n>=4||n===0?Cg(t):Cg.ceil(t),Un(t.getFullYear()%1e4,e,4)}function pne(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Un(e/60|0,"0",2)+Un(e%60,"0",2)}function lL(t,e){return Un(t.getUTCDate(),e,2)}function mne(t,e){return Un(t.getUTCHours(),e,2)}function gne(t,e){return Un(t.getUTCHours()%12||12,e,2)}function vne(t,e){return Un(1+NS.count(Qc(t),t),e,3)}function Rz(t,e){return Un(t.getUTCMilliseconds(),e,3)}function yne(t,e){return Rz(t,e)+"000"}function xne(t,e){return Un(t.getUTCMonth()+1,e,2)}function bne(t,e){return Un(t.getUTCMinutes(),e,2)}function _ne(t,e){return Un(t.getUTCSeconds(),e,2)}function wne(t){var e=t.getUTCDay();return e===0?7:e}function Sne(t,e){return Un(kS.count(Qc(t)-1,t),e,2)}function Nz(t){var e=t.getUTCDay();return e>=4||e===0?Pg(t):Pg.ceil(t)}function Mne(t,e){return t=Nz(t),Un(Pg.count(Qc(t),t)+(Qc(t).getUTCDay()===4),e,2)}function Ene(t){return t.getUTCDay()}function Ane(t,e){return Un(Fw.count(Qc(t)-1,t),e,2)}function Tne(t,e){return Un(t.getUTCFullYear()%100,e,2)}function Cne(t,e){return t=Nz(t),Un(t.getUTCFullYear()%100,e,2)}function Pne(t,e){return Un(t.getUTCFullYear()%1e4,e,4)}function Rne(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Pg(t):Pg.ceil(t),Un(t.getUTCFullYear()%1e4,e,4)}function Nne(){return"+0000"}function cL(){return"%"}function uL(t){return+t}function dL(t){return Math.floor(+t/1e3)}var cm,Iz,kz;Ine({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Ine(t){return cm=Ite(t),Iz=cm.format,cm.parse,kz=cm.utcFormat,cm.utcParse,cm}function kne(t){return new Date(t)}function One(t){return t instanceof Date?+t:+new Date(+t)}function N2(t,e,n,r,i,s,o,a,l,c){var d=v2(),f=d.invert,m=d.domain,y=c(".%L"),x=c(":%S"),S=c("%I:%M"),w=c("%I %p"),_=c("%a %d"),E=c("%b %d"),T=c("%B"),C=c("%Y");function O(N){return(l(N)e(i/(t.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,s)=>wee(t,s/r))},n.copy=function(){return jz(e).domain(t)},ru.apply(n,arguments)}function LS(){var t=0,e=.5,n=1,r=1,i,s,o,a,l,c=Es,d,f=!1,m;function y(S){return isNaN(S=+S)?m:(S=.5+((S=+d(S))-s)*(r*S{if(t!=null){var r=t.scale,i=t.type;if(r==="auto")return i==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!e)?"point":i==="category"?"band":"linear";if(typeof r=="string")return Bne(r)?r:"point"}};function Hne(t,e){for(var n=0,r=t.length,i=t[0]e)?n=s+1:r=s}return n}function Vz(t,e){if(t){var n=e??t.domain(),r=n.map(s=>{var o;return(o=t(s))!==null&&o!==void 0?o:0}),i=t.range();if(!(n.length===0||i.length<2))return s=>{var o,a,l=Hne(r,s);if(l<=0)return n[0];if(l>=n.length)return n[n.length-1];var c=(o=r[l-1])!==null&&o!==void 0?o:0,d=(a=r[l])!==null&&a!==void 0?a:0;return Math.abs(s-c)<=Math.abs(s-d)?n[l-1]:n[l]}}}function Vne(t){if(t!=null)return"invert"in t&&typeof t.invert=="function"?t.invert.bind(t):Vz(t,void 0)}function hL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function zw(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);nt.cartesianAxis.xAxis[e],iu=(t,e)=>{var n=Wz(t,e);return n??ti},ni={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:RC,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:qy},$z=(t,e)=>t.cartesianAxis.yAxis[e],su=(t,e)=>{var n=$z(t,e);return n??ni},Zne={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},L2=(t,e)=>{var n=t.cartesianAxis.zAxis[e];return n??Zne},Ps=(t,e,n)=>{switch(e){case"xAxis":return iu(t,n);case"yAxis":return su(t,n);case"zAxis":return L2(t,n);case"angleAxis":return s2(t,n);case"radiusAxis":return o2(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},Qne=(t,e,n)=>{switch(e){case"xAxis":return iu(t,n);case"yAxis":return su(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},rx=(t,e,n)=>{switch(e){case"xAxis":return iu(t,n);case"yAxis":return su(t,n);case"angleAxis":return s2(t,n);case"radiusAxis":return o2(t,n);default:throw new Error("Unexpected axis type: ".concat(e))}},Xz=t=>t.graphicalItems.cartesianItems.some(e=>e.type==="bar")||t.graphicalItems.polarItems.some(e=>e.type==="radialBar");function qz(t,e){return n=>{switch(t){case"xAxis":return"xAxisId"in n&&n.xAxisId===e;case"yAxis":return"yAxisId"in n&&n.yAxisId===e;case"zAxis":return"zAxisId"in n&&n.zAxisId===e;case"angleAxis":return"angleAxisId"in n&&n.angleAxisId===e;case"radiusAxis":return"radiusAxisId"in n&&n.radiusAxisId===e;default:return!1}}}var Kz=t=>t.graphicalItems.cartesianItems,Jne=ke([bi,TS],qz),Yz=(t,e,n)=>t.filter(n).filter(r=>(e==null?void 0:e.includeHidden)===!0?!0:!r.hide),Kg=ke([Kz,Ps,Jne],Yz,{memoizeOptions:{resultEqualityCheck:PS}}),Zz=ke([Kg],t=>t.filter(e=>e.type==="area"||e.type==="bar").filter(c2)),Qz=t=>t.filter(e=>!("stackId"in e)||e.stackId===void 0),ere=ke([Kg],Qz),Jz=t=>t.map(e=>e.data).filter(Boolean).flat(1),tre=ke([Kg],t=>t.some(e=>!e.data)),eB=ke([Kg],Jz,{memoizeOptions:{resultEqualityCheck:PS}}),tB=(t,e)=>{var n=e.chartData,r=n===void 0?[]:n,i=e.dataStartIndex,s=e.dataEndIndex;return t.length>0?t:r.slice(i,s+1)},D2=ke([eB,wS],tB),nre=(t,e,n)=>(e==null?void 0:e.dataKey)!=null?t.map(r=>({value:yi(r,e.dataKey)})):n.length>0?n.map(r=>r.dataKey).flatMap(r=>t.map(i=>({value:yi(i,r)}))):t.map(r=>({value:r})),nB=(t,e,n,r,i,s)=>{var o=r.chartData,a=o===void 0?[]:o,l=r.dataStartIndex,c=r.dataEndIndex,d=nre(t,e,n);if(i&&(e==null?void 0:e.dataKey)!=null&&s.length>0){var f=a.slice(l,c+1),m=f.map(y=>({value:yi(y,e.dataKey)})).filter(y=>y.value!=null);return[...m,...d]}return d},ix=ke([D2,Ps,Kg,wS,tre,eB],nB);function ng(t){if(Ol(t)||t instanceof Date){var e=Number(t);if(wn(e))return e}}function mL(t){if(Array.isArray(t)){var e=[ng(t[0]),ng(t[1])];return Tl(e)?e:void 0}var n=ng(t);if(n!=null)return[n,n]}function jl(t){return t.map(ng).filter(Ys)}function rre(t,e){var n=ng(t),r=ng(e);return n==null&&r==null?0:n==null?-1:r==null?1:n-r}var ire=ke([ix],t=>t==null?void 0:t.map(e=>e.value).sort(rre));function rB(t,e){switch(t){case"xAxis":return e.direction==="x";case"yAxis":return e.direction==="y";default:return!1}}function sre(t,e,n){if(!n)return[];if(!n.length)return[];var r;if(typeof e=="number"&&!kl(e))r=e;else if(Array.isArray(e)){var i=jl(e);i.length>0&&(r=Math.max(...i))}return r==null?[]:jl(n.flatMap(s=>{var o=yi(t,s.dataKey),a,l;if(Array.isArray(o)){var c=Gz(o,2);a=c[0],l=c[1]}else a=l=o;if(!(!wn(a)||!wn(l)))return[r-a,r+l]}))}var ai=t=>{var e=_i(t),n=Xg(t);return rx(t,e,n)},Rg=ke([ai],t=>t==null?void 0:t.dataKey),ore=ke([Zz,wS,ai],az),iB=(t,e,n,r)=>{var i={},s=e.reduce((o,a)=>{if(a.stackId==null)return o;var l=o[a.stackId];return l==null&&(l=[]),l.push(a),o[a.stackId]=l,o},i);return Object.fromEntries(Object.entries(s).map(o=>{var a=Gz(o,2),l=a[0],c=a[1],d=r?[...c].reverse():c,f=d.map(l2);return[l,{stackedData:MY(t,f,n),graphicalItems:d}]}))},sB=ke([ore,Zz,SS,ez],iB),oB=(t,e,n,r)=>{var i=e.dataStartIndex,s=e.dataEndIndex;if(r==null&&n!=="zAxis")return CY(t,i,s)},are=ke([Ps],t=>t.allowDataOverflow),j2=t=>{var e;if(t==null||!("domain"in t))return RC;if(t.domain!=null)return t.domain;if("ticks"in t&&t.ticks!=null){if(t.type==="number"){var n=jl(t.ticks);return[Math.min(...n),Math.max(...n)]}if(t.type==="category")return t.ticks.map(String)}return(e=t==null?void 0:t.domain)!==null&&e!==void 0?e:RC},aB=ke([Ps],j2),lB=ke([aB,are],V4),lre=ke([sB,$a,bi,lB],oB,{memoizeOptions:{resultEqualityCheck:CS}}),U2=t=>t.errorBars,cre=(t,e,n)=>t.flatMap(r=>e[r.id]).filter(Boolean).filter(r=>rB(n,r)),Bw=function(){for(var e=arguments.length,n=new Array(e),r=0;r5&&arguments[5]!==void 0?arguments[5]:[],a,l;if(r.length>0&&r.forEach(c=>{var d,f=c.data!=null?[...c.data]:o,m=(d=i[c.id])===null||d===void 0?void 0:d.filter(y=>rB(s,y));f.forEach(y=>{var x,S=yi(y,(x=n.dataKey)!==null&&x!==void 0?x:c.dataKey),w=sre(y,S,m);if(w.length>=2){var _=Math.min(...w),E=Math.max(...w);(a==null||_l)&&(l=E)}var T=mL(S);T!=null&&(a=a==null?T[0]:Math.min(a,T[0]),l=l==null?T[1]:Math.max(l,T[1]))})}),(n==null?void 0:n.dataKey)!=null&&r.length===0&&e.forEach(c=>{var d=mL(yi(c,n.dataKey));d!=null&&(a=a==null?d[0]:Math.min(a,d[0]),l=l==null?d[1]:Math.max(l,d[1]))}),wn(a)&&wn(l))return[a,l]},ure=ke([D2,Ps,ere,U2,bi,zJ],cB,{memoizeOptions:{resultEqualityCheck:CS}});function dre(t){var e=t.value;if(Ol(e)||e instanceof Date)return e}var fre=(t,e,n)=>{var r=t.map(dre).filter(i=>i!=null);return n&&(e.dataKey==null||e.allowDuplicatedCategory&&b5(r))?H4(0,t.length):e.allowDuplicatedCategory?r:Array.from(new Set(r))},uB=t=>t.referenceElements.dots,Yg=(t,e,n)=>t.filter(r=>r.ifOverflow==="extendDomain").filter(r=>e==="xAxis"?r.xAxisId===n:r.yAxisId===n),hre=ke([uB,bi,TS],Yg),dB=t=>t.referenceElements.areas,pre=ke([dB,bi,TS],Yg),fB=t=>t.referenceElements.lines,mre=ke([fB,bi,TS],Yg),hB=(t,e)=>{if(t!=null){var n=jl(t.map(r=>e==="xAxis"?r.x:r.y));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},gre=ke(hre,bi,hB),pB=(t,e)=>{if(t!=null){var n=jl(t.flatMap(r=>[e==="xAxis"?r.x1:r.y1,e==="xAxis"?r.x2:r.y2]));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},vre=ke([pre,bi],pB);function yre(t){var e;if(t.x!=null)return jl([t.x]);var n=(e=t.segment)===null||e===void 0?void 0:e.map(r=>r.x);return n==null||n.length===0?[]:jl(n)}function xre(t){var e;if(t.y!=null)return jl([t.y]);var n=(e=t.segment)===null||e===void 0?void 0:e.map(r=>r.y);return n==null||n.length===0?[]:jl(n)}var mB=(t,e)=>{if(t!=null){var n=t.flatMap(r=>e==="xAxis"?yre(r):xre(r));if(n.length!==0)return[Math.min(...n),Math.max(...n)]}},bre=ke([mre,bi],mB),_re=ke(gre,bre,vre,(t,e,n)=>Bw(t,n,e)),gB=(t,e,n,r,i,s,o,a)=>{if(n!=null)return n;var l=o==="vertical"&&a==="xAxis"||o==="horizontal"&&a==="yAxis",c=l?Bw(r,s,i):Bw(s,i);return $J(e,c,t.allowDataOverflow)},wre=ke([Ps,aB,lB,lre,ure,_re,fr,bi],gB,{memoizeOptions:{resultEqualityCheck:CS}}),Sre=[0,1],vB=(t,e,n,r,i,s,o)=>{if(!((t==null||n==null||n.length===0)&&o===void 0)){var a=t.dataKey,l=t.type,c=Bl(e,s);if(c&&a==null){var d;return H4(0,(d=n==null?void 0:n.length)!==null&&d!==void 0?d:0)}return l==="category"?fre(r,t,c):i==="expand"&&!c?Sre:o}},F2=ke([Ps,fr,D2,ix,SS,bi,wre],vB),Zg=ke([Ps,Xz,n2],Hz),yB=(t,e,n)=>{var r=e.niceTicks;if(r!=="none"){var i=j2(e),s=Array.isArray(i)&&(i[0]==="auto"||i[1]==="auto");if((r==="snap125"||r==="adaptive")&&e!=null&&e.tickCount&&Tl(t)){if(s)return MO(t,e.tickCount,e.allowDecimals,r);if(e.type==="number")return EO(t,e.tickCount,e.allowDecimals,r)}if(r==="auto"&&n==="linear"&&e!=null&&e.tickCount){if(s&&Tl(t))return MO(t,e.tickCount,e.allowDecimals,"adaptive");if(e.type==="number"&&Tl(t))return EO(t,e.tickCount,e.allowDecimals,"adaptive")}}},z2=ke([F2,rx,Zg],yB),xB=(t,e,n,r)=>{if(r!=="angleAxis"&&(t==null?void 0:t.type)==="number"&&Tl(e)&&Array.isArray(n)&&n.length>0){var i,s,o=e[0],a=(i=n[0])!==null&&i!==void 0?i:0,l=e[1],c=(s=n[n.length-1])!==null&&s!==void 0?s:0;return[Math.min(o,a),Math.max(l,c)]}return e},Mre=ke([Ps,F2,z2,bi],xB),Ere=ke(ix,Ps,(t,e)=>{if(!(!e||e.type!=="number")){var n=1/0,r=Array.from(jl(t.map(f=>f.value))).sort((f,m)=>f-m),i=r[0],s=r[r.length-1];if(i==null||s==null)return 1/0;var o=s-i;if(o===0)return 1/0;for(var a=0;ai,(t,e,n,r,i)=>{if(!wn(t))return 0;var s=e==="vertical"?r.height:r.width;if(i==="gap")return t*s/2;if(i==="no-gap"){var o=Ad(n,t*s),a=t*s/2;return a-o-(a-o)/s*o}return 0}),Are=(t,e,n)=>{var r=iu(t,e);return r==null||typeof r.padding!="string"?0:bB(t,"xAxis",e,n,r.padding)},Tre=(t,e,n)=>{var r=su(t,e);return r==null||typeof r.padding!="string"?0:bB(t,"yAxis",e,n,r.padding)},Cre=ke(iu,Are,(t,e)=>{var n,r;if(t==null)return{left:0,right:0};var i=t.padding;return typeof i=="string"?{left:e,right:e}:{left:((n=i.left)!==null&&n!==void 0?n:0)+e,right:((r=i.right)!==null&&r!==void 0?r:0)+e}}),Pre=ke(su,Tre,(t,e)=>{var n,r;if(t==null)return{top:0,bottom:0};var i=t.padding;return typeof i=="string"?{top:e,bottom:e}:{top:((n=i.top)!==null&&n!==void 0?n:0)+e,bottom:((r=i.bottom)!==null&&r!==void 0?r:0)+e}}),_B=ke([Gi,Cre,gS,mS,(t,e,n)=>n],(t,e,n,r,i)=>{var s=r.padding;return i?[s.left,n.width-s.right]:[t.left+e.left,t.left+t.width-e.right]}),wB=ke([Gi,fr,Pre,gS,mS,(t,e,n)=>n],(t,e,n,r,i,s)=>{var o=i.padding;return s?[r.height-o.bottom,o.top]:e==="horizontal"?[t.top+t.height-n.bottom,t.top+n.top]:[t.top+n.top,t.top+t.height-n.bottom]}),sx=(t,e,n,r)=>{var i;switch(e){case"xAxis":return _B(t,n,r);case"yAxis":return wB(t,n,r);case"zAxis":return(i=L2(t,n))===null||i===void 0?void 0:i.range;case"angleAxis":return iz(t);case"radiusAxis":return sz(t,n);default:return}},SB=ke([Ps,sx],MS),Rre=ke([Zg,Mre],uee),B2=ke([Ps,Zg,Rre,SB],O2),MB=(t,e,n,r)=>{if(!(n==null||n.dataKey==null)){var i=n.type,s=n.scale,o=Bl(t,r);if(o&&(i==="number"||s!=="auto"))return e.map(a=>a.value)}},H2=ke([fr,ix,rx,bi],MB),DS=ke([B2],u2);ke([B2],Vne);ke([B2,ire],Vz);ke([Kg,U2,bi],cre);function EB(t,e){return t.ide.id?1:0}var jS=(t,e)=>e,US=(t,e,n)=>n,Nre=ke(hS,jS,US,(t,e,n)=>t.filter(r=>r.orientation===e).filter(r=>r.mirror===n).sort(EB)),Ire=ke(pS,jS,US,(t,e,n)=>t.filter(r=>r.orientation===e).filter(r=>r.mirror===n).sort(EB)),AB=(t,e)=>({width:t.width,height:e.height}),kre=(t,e)=>{var n=typeof e.width=="number"?e.width:qy;return{width:n,height:t.height}},Ore=ke(Gi,iu,AB),Lre=(t,e,n)=>{switch(e){case"top":return t.top;case"bottom":return n-t.bottom;default:return 0}},Dre=(t,e,n)=>{switch(e){case"left":return t.left;case"right":return n-t.right;default:return 0}},jre=ke(nu,Gi,Nre,jS,US,(t,e,n,r,i)=>{var s={},o;return n.forEach(a=>{var l=AB(e,a);o==null&&(o=Lre(e,r,t));var c=r==="top"&&!i||r==="bottom"&&i;s[a.id]=o-Number(c)*l.height,o+=(c?-1:1)*l.height}),s}),Ure=ke(tu,Gi,Ire,jS,US,(t,e,n,r,i)=>{var s={},o;return n.forEach(a=>{var l=kre(e,a);o==null&&(o=Dre(e,r,t));var c=r==="left"&&!i||r==="right"&&i;s[a.id]=o-Number(c)*l.width,o+=(c?-1:1)*l.width}),s}),Fre=(t,e)=>{var n=iu(t,e);if(n!=null)return jre(t,n.orientation,n.mirror)},zre=ke([Gi,iu,Fre,(t,e)=>e],(t,e,n,r)=>{if(e!=null){var i=n==null?void 0:n[r];return i==null?{x:t.left,y:0}:{x:t.left,y:i}}}),Bre=(t,e)=>{var n=su(t,e);if(n!=null)return Ure(t,n.orientation,n.mirror)},Hre=ke([Gi,su,Bre,(t,e)=>e],(t,e,n,r)=>{if(e!=null){var i=n==null?void 0:n[r];return i==null?{x:0,y:t.top}:{x:i,y:t.top}}}),Vre=ke(Gi,su,(t,e)=>{var n=typeof e.width=="number"?e.width:qy;return{width:n,height:t.height}}),TB=(t,e,n,r)=>{if(n!=null){var i=n.allowDuplicatedCategory,s=n.type,o=n.dataKey,a=Bl(t,r),l=e.map(d=>d.value),c=l.filter(d=>d!=null);if(o&&a&&s==="category"&&i&&b5(c))return l}},V2=ke([fr,ix,Ps,bi],TB),gL=ke([fr,Qne,Zg,DS,V2,H2,sx,z2,bi],(t,e,n,r,i,s,o,a,l)=>{if(e!=null){var c=Bl(t,l);return{angle:e.angle,interval:e.interval,minTickGap:e.minTickGap,orientation:e.orientation,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit,axisType:l,categoricalDomain:s,duplicateDomain:i,isCategorical:c,niceTicks:a,range:o,realScaleType:n,scale:r}}}),Gre=(t,e,n,r,i,s,o,a,l)=>{if(!(e==null||r==null)){var c=Bl(t,l),d=e.type,f=e.ticks,m=e.tickCount,y=n==="scaleBand"&&typeof r.bandwidth=="function"?r.bandwidth()/2:2,x=d==="category"&&r.bandwidth?r.bandwidth()/y:0;x=l==="angleAxis"&&s!=null&&s.length>=2?Wo(s[0]-s[1])*2*x:x;var S=f||i;return S?S.map((w,_)=>{var E=o?o.indexOf(w):w,T=r.map(E);return wn(T)?{index:_,coordinate:T+x,value:w,offset:x}:null}).filter(Ys):c&&a?a.map((w,_)=>{var E=r.map(w);return wn(E)?{coordinate:E+x,value:w,index:_,offset:x}:null}).filter(Ys):r.ticks?r.ticks(m).map((w,_)=>{var E=r.map(w);return wn(E)?{coordinate:E+x,value:w,index:_,offset:x}:null}).filter(Ys):r.domain().map((w,_)=>{var E=r.map(w);return wn(E)?{coordinate:E+x,value:o?o[w]:w,index:_,offset:x}:null}).filter(Ys)}},CB=ke([fr,rx,Zg,DS,z2,sx,V2,H2,bi],Gre),Wre=(t,e,n,r,i,s,o)=>{if(!(e==null||n==null||r==null||r[0]===r[1])){var a=Bl(t,o),l=e.tickCount,c=0;return c=o==="angleAxis"&&(r==null?void 0:r.length)>=2?Wo(r[0]-r[1])*2*c:c,a&&s?s.map((d,f)=>{var m=n.map(d);return wn(m)?{coordinate:m+c,value:d,index:f,offset:c}:null}).filter(Ys):n.ticks?n.ticks(l).map((d,f)=>{var m=n.map(d);return wn(m)?{coordinate:m+c,value:d,index:f,offset:c}:null}).filter(Ys):n.domain().map((d,f)=>{var m=n.map(d);return wn(m)?{coordinate:m+c,value:i?i[d]:d,index:f,offset:c}:null}).filter(Ys)}},PB=ke([fr,rx,DS,sx,V2,H2,bi],Wre),RB=ke(Ps,DS,(t,e)=>{if(!(t==null||e==null))return zw(zw({},t),{},{scale:e})}),$re=ke([Ps,Zg,F2,SB],O2),Xre=ke([$re],u2);ke((t,e,n)=>L2(t,n),Xre,(t,e)=>{if(!(t==null||e==null))return zw(zw({},t),{},{scale:e})});var qre=ke([fr,hS,pS],(t,e,n)=>{switch(t){case"horizontal":return e.some(r=>r.reversed)?"right-to-left":"left-to-right";case"vertical":return n.some(r=>r.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),Kre=(t,e,n)=>{var r;return(r=t.renderedTicks[e])===null||r===void 0?void 0:r[n]};ke([Kre],t=>{if(!(!t||t.length===0))return e=>{var n,r=1/0,i=t[0];for(var s of t){var o=Math.abs(s.coordinate-e);ot.options.defaultTooltipEventType,IB=t=>t.options.validateTooltipEventTypes;function kB(t,e,n){if(t==null)return e;var r=t?"axis":"item";return n==null?e:n.includes(r)?r:e}function ox(t,e){var n=NB(t),r=IB(t);return kB(e,n,r)}function Yre(t){return zt(e=>ox(e,t))}var OB=(t,e)=>{var n,r=Number(e);if(!(kl(r)||e==null))return r>=0?t==null||(n=t[r])===null||n===void 0?void 0:n.value:void 0},Zre=t=>t.tooltip.settings,cd={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},Qre={itemInteraction:{click:cd,hover:cd},axisInteraction:{click:cd,hover:cd},keyboardInteraction:cd,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},LB=cs({name:"tooltip",initialState:Qre,reducers:{addTooltipEntrySettings:{reducer(t,e){t.tooltipItemPayloads.push(e.payload)},prepare:sr()},replaceTooltipEntrySettings:{reducer(t,e){var n=e.payload,r=n.prev,i=n.next,s=$o(t).tooltipItemPayloads.indexOf(r);s>-1&&(t.tooltipItemPayloads[s]=i)},prepare:sr()},removeTooltipEntrySettings:{reducer(t,e){var n=$o(t).tooltipItemPayloads.indexOf(e.payload);n>-1&&t.tooltipItemPayloads.splice(n,1)},prepare:sr()},setTooltipSettingsState(t,e){t.settings=e.payload},setActiveMouseOverItemIndex(t,e){t.syncInteraction.active=!1,t.syncInteraction.sourceViewBox=void 0,t.keyboardInteraction.active=!1,t.itemInteraction.hover.active=!0,t.itemInteraction.hover.index=e.payload.activeIndex,t.itemInteraction.hover.dataKey=e.payload.activeDataKey,t.itemInteraction.hover.graphicalItemId=e.payload.activeGraphicalItemId,t.itemInteraction.hover.coordinate=e.payload.activeCoordinate},mouseLeaveChart(t){t.itemInteraction.hover.active=!1,t.axisInteraction.hover.active=!1},mouseLeaveItem(t){t.itemInteraction.hover.active=!1},setActiveClickItemIndex(t,e){t.syncInteraction.active=!1,t.syncInteraction.sourceViewBox=void 0,t.itemInteraction.click.active=!0,t.keyboardInteraction.active=!1,t.itemInteraction.click.index=e.payload.activeIndex,t.itemInteraction.click.dataKey=e.payload.activeDataKey,t.itemInteraction.click.graphicalItemId=e.payload.activeGraphicalItemId,t.itemInteraction.click.coordinate=e.payload.activeCoordinate},setMouseOverAxisIndex(t,e){t.syncInteraction.active=!1,t.syncInteraction.sourceViewBox=void 0,t.axisInteraction.hover.active=!0,t.keyboardInteraction.active=!1,t.axisInteraction.hover.index=e.payload.activeIndex,t.axisInteraction.hover.dataKey=e.payload.activeDataKey,t.axisInteraction.hover.coordinate=e.payload.activeCoordinate},setMouseClickAxisIndex(t,e){t.syncInteraction.active=!1,t.syncInteraction.sourceViewBox=void 0,t.keyboardInteraction.active=!1,t.axisInteraction.click.active=!0,t.axisInteraction.click.index=e.payload.activeIndex,t.axisInteraction.click.dataKey=e.payload.activeDataKey,t.axisInteraction.click.coordinate=e.payload.activeCoordinate},setSyncInteraction(t,e){t.syncInteraction=e.payload},setKeyboardInteraction(t,e){t.keyboardInteraction.active=e.payload.active,t.keyboardInteraction.index=e.payload.activeIndex,t.keyboardInteraction.coordinate=e.payload.activeCoordinate}}}),ta=LB.actions,Jre=ta.addTooltipEntrySettings,eie=ta.replaceTooltipEntrySettings,tie=ta.removeTooltipEntrySettings,nie=ta.setTooltipSettingsState,rie=ta.setActiveMouseOverItemIndex;ta.mouseLeaveItem;var DB=ta.mouseLeaveChart;ta.setActiveClickItemIndex;var jB=ta.setMouseOverAxisIndex,iie=ta.setMouseClickAxisIndex,B0=ta.setSyncInteraction,Hw=ta.setKeyboardInteraction,sie=LB.reducer;function vL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function kb(t){for(var e=1;e{if(e==null)return cd;var i=cie(t,e,n);if(i==null)return cd;if(i.active)return i;if(t.keyboardInteraction.active)return t.keyboardInteraction;if(t.syncInteraction.active&&t.syncInteraction.index!=null)return t.syncInteraction;var s=t.settings.active===!0;if(uie(i)){if(s)return kb(kb({},i),{},{active:!0})}else if(r!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:r,graphicalItemId:void 0};return kb(kb({},cd),{},{coordinate:i.coordinate})};function die(t){if(typeof t=="number")return Number.isFinite(t)?t:void 0;if(t instanceof Date){var e=t.valueOf();return Number.isFinite(e)?e:void 0}var n=Number(t);return Number.isFinite(n)?n:void 0}function fie(t,e){var n=die(t),r=e[0],i=e[1];if(n===void 0)return!1;var s=Math.min(r,i),o=Math.max(r,i);return n>=s&&n<=o}function hie(t,e,n){if(n==null||e==null)return!0;var r=yi(t,e);return r==null||!Tl(n)?!0:fie(r,n)}var $0=(t,e,n,r)=>{var i=t==null?void 0:t.index;if(i==null)return null;var s=Number(i);if(!wn(s))return i;var o=0,a=1/0;e.length>0&&(a=e.length-1);var l=Math.max(o,Math.min(s,a)),c=e[l];return c==null||hie(c,n,r)?String(l):null},FB=(t,e,n,r,i,s,o)=>{if(s!=null){var a=o[0],l=a==null?void 0:a.getPosition(s);if(l!=null)return l;var c=i==null?void 0:i[Number(s)];if(c)switch(n){case"horizontal":return{x:c.coordinate,y:(r.top+e)/2};default:return{x:(r.left+t)/2,y:c.coordinate}}}},zB=(t,e,n,r)=>{if(e==="axis")return t.tooltipItemPayloads;if(t.tooltipItemPayloads.length===0)return[];var i;if(n==="hover"?i=t.itemInteraction.hover.graphicalItemId:i=t.itemInteraction.click.graphicalItemId,t.syncInteraction.active&&i==null)return t.tooltipItemPayloads;if(i==null&&(r!=null||t.keyboardInteraction.active)){var s=t.tooltipItemPayloads[0];return s!=null?[s]:[]}return t.tooltipItemPayloads.filter(o=>{var a;return((a=o.settings)===null||a===void 0?void 0:a.graphicalItemId)===i})},BB=t=>t.options.tooltipPayloadSearcher,Qg=t=>t.tooltip;function yL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function xL(t){for(var e=1;et(e)}function bL(t){if(typeof t=="string")return t}function bie(t){if(!(t==null||typeof t!="object")){var e="name"in t?vie(t.name):void 0,n="unit"in t?yie(t.unit):void 0,r="dataKey"in t?xie(t.dataKey):void 0,i="payload"in t?t.payload:void 0,s="color"in t?bL(t.color):void 0,o="fill"in t?bL(t.fill):void 0;return{name:e,unit:n,dataKey:r,payload:i,color:s,fill:o}}}function _ie(t,e){return t??e}var HB=(t,e,n,r,i,s,o)=>{if(!(e==null||s==null)){var a=n.chartData,l=n.computedData,c=n.dataStartIndex,d=n.dataEndIndex,f=[];return t.reduce((m,y)=>{var x,S=y.dataDefinedOnItem,w=y.settings,_=_ie(S,a),E=Array.isArray(_)?h4(_,c,d):_,T=(x=w==null?void 0:w.dataKey)!==null&&x!==void 0?x:r,C=w==null?void 0:w.nameKey,O;if(r&&Array.isArray(E)&&!Array.isArray(E[0])&&o==="axis"?O=_5(E,r,i):O=s(E,e,l,C),Array.isArray(O))O.forEach(D=>{var F,G,k=bie(D),U=k==null?void 0:k.name,H=k==null?void 0:k.dataKey,ne=k==null?void 0:k.payload,te=xL(xL({},w),{},{name:U,unit:k==null?void 0:k.unit,color:(F=k==null?void 0:k.color)!==null&&F!==void 0?F:w==null?void 0:w.color,fill:(G=k==null?void 0:k.fill)!==null&&G!==void 0?G:w==null?void 0:w.fill});m.push(pk({tooltipEntrySettings:te,dataKey:H,payload:ne,value:yi(ne,H),name:U==null?void 0:String(U)}))});else{var N;m.push(pk({tooltipEntrySettings:w,dataKey:T,payload:O,value:yi(O,T),name:(N=yi(O,C))!==null&&N!==void 0?N:w==null?void 0:w.name}))}return m},f)}},G2=ke([ai,Xz,n2],Hz),wie=ke([t=>t.graphicalItems.cartesianItems,t=>t.graphicalItems.polarItems],(t,e)=>[...t,...e]),Sie=ke([_i,Xg],qz),Jh=ke([wie,ai,Sie],Yz,{memoizeOptions:{resultEqualityCheck:PS}}),Mie=ke([Jh],t=>t.filter(c2)),VB=ke([Jh],Jz,{memoizeOptions:{resultEqualityCheck:PS}}),Eie=ke([Jh],t=>t.some(e=>!e.data)),Dh=ke([VB,$a],tB),Aie=ke([Mie,$a,ai],az),W2=ke([Dh,ai,Jh,$a,Eie,VB],nB),GB=ke([ai],j2),Tie=ke([ai],t=>t.allowDataOverflow),WB=ke([GB,Tie],V4),Cie=ke([Jh],t=>t.filter(c2)),Pie=ke([Aie,Cie,SS,ez],iB),Rie=ke([Pie,$a,_i,WB],oB),Nie=ke([Jh],Qz),Iie=ke([Dh,ai,Nie,U2,_i,BJ],cB,{memoizeOptions:{resultEqualityCheck:CS}}),kie=ke([uB,_i,Xg],Yg),Oie=ke([kie,_i],hB),Lie=ke([dB,_i,Xg],Yg),Die=ke([Lie,_i],pB),jie=ke([fB,_i,Xg],Yg),Uie=ke([jie,_i],mB),Fie=ke([Oie,Uie,Die],Bw),zie=ke([ai,GB,WB,Rie,Iie,Fie,fr,_i],gB),Ng=ke([ai,fr,Dh,W2,SS,_i,zie],vB),Bie=ke([Ng,ai,G2],yB),Hie=ke([ai,Ng,Bie,_i],xB),$B=t=>{var e=_i(t),n=Xg(t),r=!1;return sx(t,e,n,r)},XB=ke([ai,$B],MS),Vie=ke([ai,G2,Hie,XB],O2),qB=ke([Vie],u2),Gie=ke([fr,W2,ai,_i],TB),Wie=ke([fr,W2,ai,_i],MB),$ie=(t,e,n,r,i,s,o,a)=>{if(e){var l=e.type,c=Bl(t,a);if(r){var d=n==="scaleBand"&&r.bandwidth?r.bandwidth()/2:2,f=l==="category"&&r.bandwidth?r.bandwidth()/d:0;return f=a==="angleAxis"&&i!=null&&(i==null?void 0:i.length)>=2?Wo(i[0]-i[1])*2*f:f,c&&o?o.map((m,y)=>{var x=r.map(m);return wn(x)?{coordinate:x+f,value:m,index:y,offset:f}:null}).filter(Ys):r.domain().map((m,y)=>{var x=r.map(m);return wn(x)?{coordinate:x+f,value:s?s[m]:m,index:y,offset:f}:null}).filter(Ys)}}},ou=ke([fr,ai,G2,qB,$B,Gie,Wie,_i],$ie),$2=ke([NB,IB,Zre],(t,e,n)=>kB(n.shared,t,e)),KB=t=>t.tooltip.settings.trigger,X2=t=>t.tooltip.settings.defaultIndex,ax=ke([Qg,$2,KB,X2],UB),Sy=ke([ax,Dh,Rg,Ng],$0),YB=ke([ou,Sy],OB),Xie=ke([ax],t=>{if(t)return t.dataKey}),qie=ke([ax],t=>{if(t)return t.graphicalItemId}),ZB=ke([Qg,$2,KB,X2],zB),Kie=ke([tu,nu,fr,Gi,ou,X2,ZB],FB),Yie=ke([ax,Kie],(t,e)=>t!=null&&t.coordinate?t.coordinate:e),Zie=ke([ax],t=>{var e;return(e=t==null?void 0:t.active)!==null&&e!==void 0?e:!1}),Qie=ke([ZB,Sy,$a,Rg,YB,BB,$2],HB),Jie=ke([Qie],t=>{if(t!=null){var e=t.map(n=>n.payload).filter(n=>n!=null);return Array.from(new Set(e))}});function _L(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function wL(t){for(var e=1;ezt(ai),ise=()=>{var t=rse(),e=zt(ou),n=zt(qB);return yw(!t||!n?void 0:wL(wL({},t),{},{scale:n}),e)};function SL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function um(t){for(var e=1;e{var i=e.find(s=>s&&s.index===n);if(i){if(t==="horizontal")return{x:i.coordinate,y:r.relativeY};if(t==="vertical")return{x:r.relativeX,y:i.coordinate}}return{x:0,y:0}},cse=(t,e,n,r)=>{var i=e.find(c=>c&&c.index===n);if(i){if(t==="centric"){var s=i.coordinate,o=r.radius;return um(um(um({},r),zi(r.cx,r.cy,o,s)),{},{angle:s,radius:o})}var a=i.coordinate,l=r.angle;return um(um(um({},r),zi(r.cx,r.cy,a,l)),{},{angle:l,radius:a})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function use(t,e){var n=t.relativeX,r=t.relativeY;return n>=e.left&&n<=e.left+e.width&&r>=e.top&&r<=e.top+e.height}var QB=(t,e,n,r,i)=>{var s,o=(s=e==null?void 0:e.length)!==null&&s!==void 0?s:0;if(o<=1||t==null)return 0;if(r==="angleAxis"&&i!=null&&Math.abs(Math.abs(i[1]-i[0])-360)<=1e-6)for(var a=0;a0?(l=n[a-1])===null||l===void 0?void 0:l.coordinate:(c=n[o-1])===null||c===void 0?void 0:c.coordinate,x=(d=n[a])===null||d===void 0?void 0:d.coordinate,S=a>=o-1?(f=n[0])===null||f===void 0?void 0:f.coordinate:(m=n[a+1])===null||m===void 0?void 0:m.coordinate,w=void 0;if(!(y==null||x==null||S==null))if(Wo(x-y)!==Wo(S-x)){var _=[];if(Wo(S-x)===Wo(i[1]-i[0])){w=S;var E=x+i[1]-i[0];_[0]=Math.min(E,(E+y)/2),_[1]=Math.max(E,(E+y)/2)}else{w=y;var T=S+i[1]-i[0];_[0]=Math.min(x,(T+x)/2),_[1]=Math.max(x,(T+x)/2)}var C=[Math.min(x,(w+x)/2),Math.max(x,(w+x)/2)];if(t>C[0]&&t<=C[1]||t>=_[0]&&t<=_[1]){var O;return(O=n[a])===null||O===void 0?void 0:O.index}}else{var N=Math.min(y,S),D=Math.max(y,S);if(t>(N+x)/2&&t<=(D+x)/2){var F;return(F=n[a])===null||F===void 0?void 0:F.index}}}else if(e)for(var G=0;G(k.coordinate+H.coordinate)/2||G>0&&G(k.coordinate+H.coordinate)/2&&t<=(k.coordinate+U.coordinate)/2)return k.index}}return-1},JB=()=>zt(n2),q2=(t,e)=>e,eH=(t,e,n)=>n,K2=(t,e,n,r)=>r,dse=ke(ou,t=>nS(t,e=>e.coordinate)),Y2=ke([Qg,q2,eH,K2],UB),Z2=ke([Y2,Dh,Rg,Ng],$0),fse=(t,e,n)=>{if(e!=null){var r=Qg(t);return e==="axis"?n==="hover"?r.axisInteraction.hover.dataKey:r.axisInteraction.click.dataKey:n==="hover"?r.itemInteraction.hover.dataKey:r.itemInteraction.click.dataKey}},tH=ke([Qg,q2,eH,K2],zB),Vw=ke([tu,nu,fr,Gi,ou,K2,tH],FB),hse=ke([Y2,Vw],(t,e)=>{var n;return(n=t.coordinate)!==null&&n!==void 0?n:e}),nH=ke([ou,Z2],OB),pse=ke([tH,Z2,$a,Rg,nH,BB,q2],HB),mse=ke([Y2,Z2],(t,e)=>({isActive:t.active&&e!=null,activeIndex:e})),gse=(t,e,n,r,i,s,o)=>{if(!(!t||!n||!r||!i)&&use(t,o)){var a=PY(t,e),l=QB(a,s,i,n,r),c=lse(e,i,l,t);return{activeIndex:String(l),activeCoordinate:c}}},vse=(t,e,n,r,i,s,o)=>{if(!(!t||!r||!i||!s||!n)){var a=IJ(t,n);if(a){var l=RY(a,e),c=QB(l,o,s,r,i),d=cse(e,s,c,a);return{activeIndex:String(c),activeCoordinate:d}}}},yse=(t,e,n,r,i,s,o,a)=>{if(!(!t||!e||!r||!i||!s))return e==="horizontal"||e==="vertical"?gse(t,e,r,i,s,o,a):vse(t,e,n,r,i,s,o)},xse=ke(t=>t.zIndex.zIndexMap,(t,e)=>e,(t,e,n)=>n,(t,e,n)=>{if(e!=null){var r=t[e];if(r!=null)return n?r.panoramaElement:r.element}}),bse=ke(t=>t.zIndex.zIndexMap,t=>{var e=Object.keys(t).map(r=>parseInt(r,10)).concat(Object.values(Ms)),n=Array.from(new Set(e));return n.sort((r,i)=>r-i)},{memoizeOptions:{resultEqualityCheck:cee}});function ML(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function EL(t){for(var e=1;eEL(EL({},t),{},{[e]:{element:void 0,panoramaElement:void 0,consumers:0}}),Mse)},Ase=new Set(Object.values(Ms));function Tse(t){return Ase.has(t)}var rH=cs({name:"zIndex",initialState:Ese,reducers:{registerZIndexPortal:{reducer:(t,e)=>{var n=e.payload.zIndex;t.zIndexMap[n]?t.zIndexMap[n].consumers+=1:t.zIndexMap[n]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:sr()},unregisterZIndexPortal:{reducer:(t,e)=>{var n=e.payload.zIndex;t.zIndexMap[n]&&(t.zIndexMap[n].consumers-=1,t.zIndexMap[n].consumers<=0&&!Tse(n)&&delete t.zIndexMap[n])},prepare:sr()},registerZIndexPortalElement:{reducer:(t,e)=>{var n=e.payload,r=n.zIndex,i=n.element,s=n.isPanorama;t.zIndexMap[r]?s?t.zIndexMap[r].panoramaElement=i:t.zIndexMap[r].element=i:t.zIndexMap[r]={consumers:0,element:s?void 0:i,panoramaElement:s?i:void 0}},prepare:sr()},unregisterZIndexPortalElement:{reducer:(t,e)=>{var n=e.payload.zIndex;t.zIndexMap[n]&&(e.payload.isPanorama?t.zIndexMap[n].panoramaElement=void 0:t.zIndexMap[n].element=void 0)},prepare:sr()}}}),FS=rH.actions,Cse=FS.registerZIndexPortal,zE=FS.unregisterZIndexPortal,Pse=FS.registerZIndexPortalElement,Rse=FS.unregisterZIndexPortalElement,Nse=rH.reducer;function au(t){var e=t.zIndex,n=t.children,r=pZ(),i=r&&e!==void 0&&e!==0,s=Js(),o=R.useRef(void 0),a=R.useRef(new Set),l=Wr(),c=zt(f=>xse(f,e,s));if(R.useLayoutEffect(()=>{if(!i){var f=a.current;f.forEach(y=>{l(zE({zIndex:y}))}),f.clear(),o.current=void 0;return}if(a.current.has(e)||(l(Cse({zIndex:e})),a.current.add(e)),c){o.current=c;var m=a.current;m.forEach(y=>{y!==e&&(l(zE({zIndex:y})),m.delete(y))})}},[l,e,i,c]),R.useLayoutEffect(()=>{var f=a.current;return()=>{f.forEach(m=>{l(zE({zIndex:m}))}),f.clear()}},[l]),!i)return n;var d=c??o.current;return d?X1.createPortal(n,d):null}function NC(){return NC=Object.assign?Object.assign.bind():function(t){for(var e=1;eR.useContext(iH),BE={exports:{}},TL;function Fse(){return TL||(TL=1,(function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function i(l,c,d){this.fn=l,this.context=c,this.once=d||!1}function s(l,c,d,f,m){if(typeof d!="function")throw new TypeError("The listener must be a function");var y=new i(d,f||l,m),x=n?n+c:c;return l._events[x]?l._events[x].fn?l._events[x]=[l._events[x],y]:l._events[x].push(y):(l._events[x]=y,l._eventsCount++),l}function o(l,c){--l._eventsCount===0?l._events=new r:delete l._events[c]}function a(){this._events=new r,this._eventsCount=0}a.prototype.eventNames=function(){var c=[],d,f;if(this._eventsCount===0)return c;for(f in d=this._events)e.call(d,f)&&c.push(n?f.slice(1):f);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(d)):c},a.prototype.listeners=function(c){var d=n?n+c:c,f=this._events[d];if(!f)return[];if(f.fn)return[f.fn];for(var m=0,y=f.length,x=new Array(y);m{if(e&&Array.isArray(t)){var n=Number.parseInt(e,10);if(!kl(n))return t[n]}},Vse={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},sH=cs({name:"options",initialState:Vse,reducers:{createEventEmitter:t=>{t.eventEmitter==null&&(t.eventEmitter=Symbol("rechartsEventEmitter"))}}}),Gse=sH.reducer,Wse=sH.actions.createEventEmitter;function $se(t){return t.tooltip.syncInteraction}var Xse={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},oH=cs({name:"chartData",initialState:Xse,reducers:{setChartData(t,e){if(t.chartData=e.payload,e.payload==null){t.dataStartIndex=0,t.dataEndIndex=0;return}e.payload.length>0&&t.dataEndIndex!==e.payload.length-1&&(t.dataEndIndex=e.payload.length-1)},setComputedData(t,e){t.computedData=e.payload},setDataStartEndIndexes(t,e){var n=e.payload,r=n.startIndex,i=n.endIndex;r!=null&&(t.dataStartIndex=r),i!=null&&(t.dataEndIndex=i)}}}),Q2=oH.actions,PL=Q2.setChartData,qse=Q2.setDataStartEndIndexes;Q2.setComputedData;var Kse=oH.reducer,Yse=["x","y"];function RL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function dm(t){for(var e=1;el.rootProps.className);R.useEffect(()=>{if(t==null)return Vg;var l=(c,d,f)=>{if(e!==f&&t===c){if(d.payload.active===!1){n(B0({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(r==="index"){var m;if(o&&d!==null&&d!==void 0&&(m=d.payload)!==null&&m!==void 0&&m.coordinate&&d.payload.sourceViewBox){var y=d.payload.coordinate,x=y.x,S=y.y,w=eoe(y,Yse),_=d.payload.sourceViewBox,E=_.x,T=_.y,C=_.width,O=_.height,N=dm(dm({},w),{},{x:o.x+(C?(x-E)/C:0)*o.width,y:o.y+(O?(S-T)/O:0)*o.height});n(dm(dm({},d),{},{payload:dm(dm({},d.payload),{},{coordinate:N})}))}else n(d);return}if(i!=null){var D;if(typeof r=="function"){var F={activeTooltipIndex:d.payload.index==null?void 0:Number(d.payload.index),isTooltipActive:d.payload.active,activeIndex:d.payload.index==null?void 0:Number(d.payload.index),activeLabel:d.payload.label,activeDataKey:d.payload.dataKey,activeCoordinate:d.payload.coordinate},G=r(i,F);D=i[G]}else r==="value"&&(D=i.find(fe=>String(fe.value)===d.payload.label));var k=d.payload.coordinate;if(k==null||o==null){n(B0({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(D==null){n(B0({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:d.payload.sourceViewBox,graphicalItemId:void 0}));return}var U=k.x,H=k.y,ne=Math.min(U,o.x+o.width),te=Math.min(H,o.y+o.height),he={x:s==="horizontal"?D.coordinate:ne,y:s==="horizontal"?te:D.coordinate},oe=B0({active:d.payload.active,coordinate:he,dataKey:d.payload.dataKey,index:String(D.index),label:d.payload.label,sourceViewBox:d.payload.sourceViewBox,graphicalItemId:d.payload.graphicalItemId});n(oe)}}};return My.on(IC,l),()=>{My.off(IC,l)}},[a,n,e,t,r,i,s,o])}function roe(){var t=zt(r2),e=zt(i2),n=Wr();R.useEffect(()=>{if(t==null)return Vg;var r=(i,s,o)=>{e!==o&&t===i&&n(qse(s))};return My.on(CL,r),()=>{My.off(CL,r)}},[n,e,t])}function ioe(){var t=Wr();R.useEffect(()=>{t(Wse())},[t]),noe(),roe()}function soe(t,e,n,r,i,s){var o=zt(x=>fse(x,t,e)),a=zt(qie),l=zt(i2),c=zt(r2),d=zt(tz),f=zt($se),m=(f==null?void 0:f.sourceViewBox)!=null,y=vS();R.useEffect(()=>{if(!m&&c!=null&&l!=null){var x=B0({active:s,coordinate:n,dataKey:o,index:i,label:typeof r=="number"?String(r):r,sourceViewBox:y,graphicalItemId:a});My.emit(IC,c,x,l)}},[m,n,o,a,i,r,l,c,d,s,y])}function NL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function IL(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n{D(nie({shared:E,trigger:T,axisId:N,active:i,defaultIndex:F}))},[D,E,T,N,i,F]);var G=vS(),k=O4(),U=Yre(E),H=(e=zt(qe=>mse(qe,U,T,F)))!==null&&e!==void 0?e:{},ne=H.activeIndex,te=H.isActive,he=zt(qe=>pse(qe,U,T,F)),oe=zt(qe=>nH(qe,U,T,F)),fe=zt(qe=>hse(qe,U,T,F)),B=he,J=Use(),Y=(n=i??te)!==null&&n!==void 0?n:!1,V=mK([B,Y]),q=coe(V,2),pe=q[0],le=q[1],ce=U==="axis"?oe:void 0;soe(U,T,fe,ce,ne,Y);var be=O??J;if(be==null||G==null||U==null)return null;var Se=B??OL;Y||(Se=OL),c&&Se.length&&(Se=Uq(Se.filter(qe=>qe.value!=null&&(qe.hide!==!0||r.includeHidden)),m,poe));var Xe=Se.length>0,Me=IL(IL({},r),{},{payload:Se,label:ce,active:Y,activeIndex:ne,coordinate:fe,accessibilityLayer:k}),We=R.createElement(AQ,{allowEscapeViewBox:s,animationDuration:o,animationEasing:a,isAnimationActive:d,active:Y,coordinate:fe,hasPayload:Xe,offset:f,position:y,reverseDirection:x,useTranslate3d:S,viewBox:G,wrapperStyle:w,lastBoundingBox:pe,innerRef:le,hasPortalFromProps:!!O},moe(l,Me));return R.createElement(R.Fragment,null,X1.createPortal(We,be),Y&&R.createElement(jse,{cursor:_,tooltipEventType:U,coordinate:fe,payload:Se,index:ne}))}function yoe(t,e,n){return(e=xoe(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function xoe(t){var e=boe(t,"string");return typeof e=="symbol"?e:e+""}function boe(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var r=n.call(t,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}class _oe{constructor(e){yoe(this,"cache",new Map),this.maxSize=e}get(e){var n=this.cache.get(e);return n!==void 0&&(this.cache.delete(e),this.cache.set(e,n)),n}set(e,n){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.maxSize){var r=this.cache.keys().next().value;r!=null&&this.cache.delete(r)}this.cache.set(e,n)}clear(){this.cache.clear()}size(){return this.cache.size}}function LL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function woe(t){for(var e=1;e{try{var n=document.getElementById(jL);n||(n=document.createElement("span"),n.setAttribute("id",jL),n.setAttribute("aria-hidden","true"),document.body.appendChild(n)),Object.assign(n.style,Toe,e),n.textContent="".concat(t);var r=n.getBoundingClientRect();return{width:r.width,height:r.height}}catch{return{width:0,height:0}}},X0=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e==null||Qy.isSsr)return{width:0,height:0};if(!aH.enableCache)return UL(e,n);var r=Coe(e,n),i=DL.get(r);if(i)return i;var s=UL(e,n);return DL.set(r,s),s},lH;function Gw(t,e){return Ioe(t)||Noe(t,e)||Roe(t,e)||Poe()}function Poe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Roe(t,e){if(t){if(typeof t=="string")return FL(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?FL(t,e):void 0}}function FL(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);nt.length)&&(e=t.length);for(var n=0,r=Array(e);n{var e=t.children,n=t.breakAll,r=t.style;try{var i=[];Hi(e)||(n?i=e.toString().split(""):i=e.toString().split(uH));var s=i.map(a=>({word:a,width:X0(a,r).width})),o=n?0:X0(" ",r).width;return{wordsWithComputedWidth:s,spaceWidth:o}}catch{return null}};function fH(t){return t==="start"||t==="middle"||t==="end"||t==="inherit"}function Qoe(t){return Hi(t)||typeof t=="string"||typeof t=="number"||typeof t=="boolean"}var hH=(t,e,n,r)=>t.reduce((i,s)=>{var o=s.word,a=s.width,l=i[i.length-1];if(l&&a!=null&&(e==null||r||l.width+a+nt.reduce((e,n)=>e.width>n.width?e:n),Joe="…",$L=(t,e,n,r,i,s,o,a)=>{var l=t.slice(0,e),c=dH({breakAll:n,style:r,children:l+Joe});if(!c)return[!1,[]];var d=hH(c.wordsWithComputedWidth,s,o,a),f=d.length>i||pH(d).width>Number(s);return[f,d]},eae=(t,e,n,r,i)=>{var s=t.maxLines,o=t.children,a=t.style,l=t.breakAll,c=It(s),d=String(o),f=hH(e,r,n,i);if(!c||i)return f;var m=f.length>s||pH(f).width>Number(r);if(!m)return f;for(var y=0,x=d.length-1,S=0,w;y<=x&&S<=d.length-1;){var _=Math.floor((y+x)/2),E=_-1,T=$L(d,E,l,a,s,r,n,i),C=GL(T,2),O=C[0],N=C[1],D=$L(d,_,l,a,s,r,n,i),F=GL(D,1),G=F[0];if(!O&&!G&&(y=_+1),O&&G&&(x=_-1),!O&&G){w=N;break}S++}return w||f},XL=t=>{var e=Hi(t)?[]:t.toString().split(uH);return[{words:e,width:void 0}]},tae=t=>{var e=t.width,n=t.scaleToFit,r=t.children,i=t.style,s=t.breakAll,o=t.maxLines;if((e||n)&&!Qy.isSsr){var a,l,c=dH({breakAll:s,children:r,style:i});if(c){var d=c.wordsWithComputedWidth,f=c.spaceWidth;a=d,l=f}else return XL(r);return eae({breakAll:s,children:r,maxLines:o,style:i},a,l,e,!!n)}return XL(r)},mH="#808080",nae={angle:0,breakAll:!1,capHeight:"0.71em",fill:mH,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},J2=R.forwardRef((t,e)=>{var n=Jo(t,nae),r=n.x,i=n.y,s=n.lineHeight,o=n.capHeight,a=n.fill,l=n.scaleToFit,c=n.textAnchor,d=n.verticalAnchor,f=VL(n,Woe),m=R.useMemo(()=>tae({breakAll:f.breakAll,children:f.children,maxLines:f.maxLines,scaleToFit:l,style:f.style,width:f.width}),[f.breakAll,f.children,f.maxLines,l,f.style,f.width]),y=f.dx,x=f.dy,S=f.angle,w=f.className,_=f.breakAll,E=VL(f,$oe);if(!Ol(r)||!Ol(i)||m.length===0)return null;var T=Number(r)+(It(y)?y:0),C=Number(i)+(It(x)?x:0);if(!wn(T)||!wn(C))return null;var O;switch(d){case"start":O=HE("calc(".concat(o,")"));break;case"middle":O=HE("calc(".concat((m.length-1)/2," * -").concat(s," + (").concat(o," / 2))"));break;default:O=HE("calc(".concat(m.length-1," * -").concat(s,")"));break}var N=[],D=m[0];if(l&&D!=null){var F=D.width,G=f.width;N.push("scale(".concat(It(G)&&It(F)?G/F:1,")"))}return S&&N.push("rotate(".concat(S,", ").concat(T,", ").concat(C,")")),N.length&&(E.transform=N.join(" ")),R.createElement("text",kC({},Ko(E),{ref:e,x:T,y:C,className:er("recharts-text",w),textAnchor:c,fill:a.includes("url")?mH:a}),m.map((k,U)=>{var H=k.words.join(_?"":" ");return R.createElement("tspan",{x:T,dy:U===0?O:s,key:"".concat(H,"-").concat(U)},H)}))});J2.displayName="Text";function qL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function pl(t){for(var e=1;e{var e=t.viewBox,n=t.position,r=t.offset,i=r===void 0?0:r,s=t.parentViewBox,o=XP(e),a=o.x,l=o.y,c=o.height,d=o.upperWidth,f=o.lowerWidth,m=a,y=a+(d-f)/2,x=(m+y)/2,S=(d+f)/2,w=m+d/2,_=c>=0?1:-1,E=_*i,T=_>0?"end":"start",C=_>0?"start":"end",O=d>=0?1:-1,N=O*i,D=O>0?"end":"start",F=O>0?"start":"end",G=s;if(n==="top"){var k={x:m+d/2,y:l-E,horizontalAnchor:"middle",verticalAnchor:T};return G&&(k.height=Math.max(l-G.y,0),k.width=d),k}if(n==="bottom"){var U={x:y+f/2,y:l+c+E,horizontalAnchor:"middle",verticalAnchor:C};return G&&(U.height=Math.max(G.y+G.height-(l+c),0),U.width=f),U}if(n==="left"){var H={x:x-N,y:l+c/2,horizontalAnchor:D,verticalAnchor:"middle"};return G&&(H.width=Math.max(H.x-G.x,0),H.height=c),H}if(n==="right"){var ne={x:x+S+N,y:l+c/2,horizontalAnchor:F,verticalAnchor:"middle"};return G&&(ne.width=Math.max(G.x+G.width-ne.x,0),ne.height=c),ne}var te=G?{width:S,height:c}:{};return n==="insideLeft"?pl({x:x+N,y:l+c/2,horizontalAnchor:F,verticalAnchor:"middle"},te):n==="insideRight"?pl({x:x+S-N,y:l+c/2,horizontalAnchor:D,verticalAnchor:"middle"},te):n==="insideTop"?pl({x:m+d/2,y:l+E,horizontalAnchor:"middle",verticalAnchor:C},te):n==="insideBottom"?pl({x:y+f/2,y:l+c-E,horizontalAnchor:"middle",verticalAnchor:T},te):n==="insideTopLeft"?pl({x:m+N,y:l+E,horizontalAnchor:F,verticalAnchor:C},te):n==="insideTopRight"?pl({x:m+d-N,y:l+E,horizontalAnchor:D,verticalAnchor:C},te):n==="insideBottomLeft"?pl({x:y+N,y:l+c-E,horizontalAnchor:F,verticalAnchor:T},te):n==="insideBottomRight"?pl({x:y+f-N,y:l+c-E,horizontalAnchor:D,verticalAnchor:T},te):n&&typeof n=="object"&&(It(n.x)||Rh(n.x))&&(It(n.y)||Rh(n.y))?pl({x:a+Ad(n.x,S),y:l+Ad(n.y,c),horizontalAnchor:"end",verticalAnchor:"end"},te):pl({x:w,y:l+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},te)},aae=["labelRef"],lae=["content"];function KL(t,e){if(t==null)return{};var n,r,i=cae(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var e=t.x,n=t.y,r=t.upperWidth,i=t.lowerWidth,s=t.width,o=t.height,a=t.children,l=R.useMemo(()=>({x:e,y:n,upperWidth:r,lowerWidth:i,width:s,height:o}),[e,n,r,i,s,o]);return R.createElement(gH.Provider,{value:l},a)},vH=()=>{var t=R.useContext(gH),e=vS();return t||(e?XP(e):void 0)},pae=R.createContext(null),mae=()=>{var t=R.useContext(pae),e=Bt(oz);return t||e},gae=t=>{var e=t.value,n=t.formatter,r=Hi(t.children)?e:t.children;return typeof n=="function"?n(r):r},eR=t=>t!=null&&typeof t=="function",vae=(t,e)=>{var n=Wo(e-t),r=Math.min(Math.abs(e-t),360);return n*r},yae=(t,e,n,r,i)=>{var s=t.offset,o=t.className,a=i.cx,l=i.cy,c=i.innerRadius,d=i.outerRadius,f=i.startAngle,m=i.endAngle,y=i.clockWise,x=(c+d)/2,S=vae(f,m),w=S>=0?1:-1,_,E;switch(e){case"insideStart":_=f+w*s,E=y;break;case"insideEnd":_=m-w*s,E=!y;break;case"end":_=m+w*s,E=y;break;default:throw new Error("Unsupported position ".concat(e))}E=S<=0?E:!E;var T=zi(a,l,x,_),C=zi(a,l,x,_+(E?1:-1)*359),O="M".concat(T.x,",").concat(T.y,` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Koe(t,e){if(t){if(typeof t=="string")return WL(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?WL(t,e):void 0}}function WL(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{var e=t.children,n=t.breakAll,r=t.style;try{var i=[];Hi(e)||(n?i=e.toString().split(""):i=e.toString().split(uH));var s=i.map(a=>({word:a,width:X0(a,r).width})),o=n?0:X0(" ",r).width;return{wordsWithComputedWidth:s,spaceWidth:o}}catch{return null}};function fH(t){return t==="start"||t==="middle"||t==="end"||t==="inherit"}function Qoe(t){return Hi(t)||typeof t=="string"||typeof t=="number"||typeof t=="boolean"}var hH=(t,e,n,r)=>t.reduce((i,s)=>{var o=s.word,a=s.width,l=i[i.length-1];if(l&&a!=null&&(e==null||r||l.width+a+nt.reduce((e,n)=>e.width>n.width?e:n),Joe="…",$L=(t,e,n,r,i,s,o,a)=>{var l=t.slice(0,e),c=dH({breakAll:n,style:r,children:l+Joe});if(!c)return[!1,[]];var d=hH(c.wordsWithComputedWidth,s,o,a),f=d.length>i||pH(d).width>Number(s);return[f,d]},eae=(t,e,n,r,i)=>{var s=t.maxLines,o=t.children,a=t.style,l=t.breakAll,c=kt(s),d=String(o),f=hH(e,r,n,i);if(!c||i)return f;var m=f.length>s||pH(f).width>Number(r);if(!m)return f;for(var y=0,x=d.length-1,S=0,w;y<=x&&S<=d.length-1;){var _=Math.floor((y+x)/2),E=_-1,T=$L(d,E,l,a,s,r,n,i),C=GL(T,2),O=C[0],N=C[1],D=$L(d,_,l,a,s,r,n,i),F=GL(D,1),G=F[0];if(!O&&!G&&(y=_+1),O&&G&&(x=_-1),!O&&G){w=N;break}S++}return w||f},XL=t=>{var e=Hi(t)?[]:t.toString().split(uH);return[{words:e,width:void 0}]},tae=t=>{var e=t.width,n=t.scaleToFit,r=t.children,i=t.style,s=t.breakAll,o=t.maxLines;if((e||n)&&!Qy.isSsr){var a,l,c=dH({breakAll:s,children:r,style:i});if(c){var d=c.wordsWithComputedWidth,f=c.spaceWidth;a=d,l=f}else return XL(r);return eae({breakAll:s,children:r,maxLines:o,style:i},a,l,e,!!n)}return XL(r)},mH="#808080",nae={angle:0,breakAll:!1,capHeight:"0.71em",fill:mH,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},J2=R.forwardRef((t,e)=>{var n=Jo(t,nae),r=n.x,i=n.y,s=n.lineHeight,o=n.capHeight,a=n.fill,l=n.scaleToFit,c=n.textAnchor,d=n.verticalAnchor,f=VL(n,Woe),m=R.useMemo(()=>tae({breakAll:f.breakAll,children:f.children,maxLines:f.maxLines,scaleToFit:l,style:f.style,width:f.width}),[f.breakAll,f.children,f.maxLines,l,f.style,f.width]),y=f.dx,x=f.dy,S=f.angle,w=f.className,_=f.breakAll,E=VL(f,$oe);if(!Ol(r)||!Ol(i)||m.length===0)return null;var T=Number(r)+(kt(y)?y:0),C=Number(i)+(kt(x)?x:0);if(!wn(T)||!wn(C))return null;var O;switch(d){case"start":O=HE("calc(".concat(o,")"));break;case"middle":O=HE("calc(".concat((m.length-1)/2," * -").concat(s," + (").concat(o," / 2))"));break;default:O=HE("calc(".concat(m.length-1," * -").concat(s,")"));break}var N=[],D=m[0];if(l&&D!=null){var F=D.width,G=f.width;N.push("scale(".concat(kt(G)&&kt(F)?G/F:1,")"))}return S&&N.push("rotate(".concat(S,", ").concat(T,", ").concat(C,")")),N.length&&(E.transform=N.join(" ")),R.createElement("text",kC({},Ko(E),{ref:e,x:T,y:C,className:er("recharts-text",w),textAnchor:c,fill:a.includes("url")?mH:a}),m.map((k,U)=>{var H=k.words.join(_?"":" ");return R.createElement("tspan",{x:T,dy:U===0?O:s,key:"".concat(H,"-").concat(U)},H)}))});J2.displayName="Text";function qL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function pl(t){for(var e=1;e{var e=t.viewBox,n=t.position,r=t.offset,i=r===void 0?0:r,s=t.parentViewBox,o=XP(e),a=o.x,l=o.y,c=o.height,d=o.upperWidth,f=o.lowerWidth,m=a,y=a+(d-f)/2,x=(m+y)/2,S=(d+f)/2,w=m+d/2,_=c>=0?1:-1,E=_*i,T=_>0?"end":"start",C=_>0?"start":"end",O=d>=0?1:-1,N=O*i,D=O>0?"end":"start",F=O>0?"start":"end",G=s;if(n==="top"){var k={x:m+d/2,y:l-E,horizontalAnchor:"middle",verticalAnchor:T};return G&&(k.height=Math.max(l-G.y,0),k.width=d),k}if(n==="bottom"){var U={x:y+f/2,y:l+c+E,horizontalAnchor:"middle",verticalAnchor:C};return G&&(U.height=Math.max(G.y+G.height-(l+c),0),U.width=f),U}if(n==="left"){var H={x:x-N,y:l+c/2,horizontalAnchor:D,verticalAnchor:"middle"};return G&&(H.width=Math.max(H.x-G.x,0),H.height=c),H}if(n==="right"){var ne={x:x+S+N,y:l+c/2,horizontalAnchor:F,verticalAnchor:"middle"};return G&&(ne.width=Math.max(G.x+G.width-ne.x,0),ne.height=c),ne}var te=G?{width:S,height:c}:{};return n==="insideLeft"?pl({x:x+N,y:l+c/2,horizontalAnchor:F,verticalAnchor:"middle"},te):n==="insideRight"?pl({x:x+S-N,y:l+c/2,horizontalAnchor:D,verticalAnchor:"middle"},te):n==="insideTop"?pl({x:m+d/2,y:l+E,horizontalAnchor:"middle",verticalAnchor:C},te):n==="insideBottom"?pl({x:y+f/2,y:l+c-E,horizontalAnchor:"middle",verticalAnchor:T},te):n==="insideTopLeft"?pl({x:m+N,y:l+E,horizontalAnchor:F,verticalAnchor:C},te):n==="insideTopRight"?pl({x:m+d-N,y:l+E,horizontalAnchor:D,verticalAnchor:C},te):n==="insideBottomLeft"?pl({x:y+N,y:l+c-E,horizontalAnchor:F,verticalAnchor:T},te):n==="insideBottomRight"?pl({x:y+f-N,y:l+c-E,horizontalAnchor:D,verticalAnchor:T},te):n&&typeof n=="object"&&(kt(n.x)||Nh(n.x))&&(kt(n.y)||Nh(n.y))?pl({x:a+Ad(n.x,S),y:l+Ad(n.y,c),horizontalAnchor:"end",verticalAnchor:"end"},te):pl({x:w,y:l+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},te)},aae=["labelRef"],lae=["content"];function KL(t,e){if(t==null)return{};var n,r,i=cae(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var e=t.x,n=t.y,r=t.upperWidth,i=t.lowerWidth,s=t.width,o=t.height,a=t.children,l=R.useMemo(()=>({x:e,y:n,upperWidth:r,lowerWidth:i,width:s,height:o}),[e,n,r,i,s,o]);return R.createElement(gH.Provider,{value:l},a)},vH=()=>{var t=R.useContext(gH),e=vS();return t||(e?XP(e):void 0)},pae=R.createContext(null),mae=()=>{var t=R.useContext(pae),e=zt(oz);return t||e},gae=t=>{var e=t.value,n=t.formatter,r=Hi(t.children)?e:t.children;return typeof n=="function"?n(r):r},eR=t=>t!=null&&typeof t=="function",vae=(t,e)=>{var n=Wo(e-t),r=Math.min(Math.abs(e-t),360);return n*r},yae=(t,e,n,r,i)=>{var s=t.offset,o=t.className,a=i.cx,l=i.cy,c=i.innerRadius,d=i.outerRadius,f=i.startAngle,m=i.endAngle,y=i.clockWise,x=(c+d)/2,S=vae(f,m),w=S>=0?1:-1,_,E;switch(e){case"insideStart":_=f+w*s,E=y;break;case"insideEnd":_=m-w*s,E=!y;break;case"end":_=m+w*s,E=y;break;default:throw new Error("Unsupported position ".concat(e))}E=S<=0?E:!E;var T=zi(a,l,x,_),C=zi(a,l,x,_+(E?1:-1)*359),O="M".concat(T.x,",").concat(T.y,` A`).concat(x,",").concat(x,",0,1,").concat(E?0:1,`, - `).concat(C.x,",").concat(C.y),N=Hi(t.id)?uy("recharts-radial-line-"):t.id;return R.createElement("text",Dc({},r,{dominantBaseline:"central",className:er("recharts-radial-bar-label",o)}),R.createElement("defs",null,R.createElement("path",{id:N,d:O})),R.createElement("textPath",{xlinkHref:"#".concat(N)},n))},xae=(t,e,n)=>{var r=t.cx,i=t.cy,s=t.innerRadius,o=t.outerRadius,a=t.startAngle,l=t.endAngle,c=(a+l)/2;if(n==="outside"){var d=zi(r,i,o+e,c),f=d.x,m=d.y;return{x:f,y:m,textAnchor:f>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var y=(s+o)/2,x=zi(r,i,y,c),S=x.x,w=x.y;return{x:S,y:w,textAnchor:"middle",verticalAnchor:"middle"}},G_=t=>t!=null&&"cx"in t&&It(t.cx),bae={angle:0,offset:5,zIndex:Ms.label,position:"middle",textBreakAll:!1};function _ae(t){if(!G_(t))return t;var e=t.cx,n=t.cy,r=t.outerRadius,i=r*2;return{x:e-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function ld(t){var e=Jo(t,bae),n=e.viewBox,r=e.parentViewBox,i=e.position,s=e.value,o=e.children,a=e.content,l=e.className,c=l===void 0?"":l,d=e.textBreakAll,f=e.labelRef,m=mae(),y=vH(),x=i==="center"?y:m??y,S,w,_;n==null?S=x:G_(n)?S=n:S=XP(n);var E=_ae(S);if(!S||Hi(s)&&Hi(o)&&!R.isValidElement(a)&&typeof a!="function")return null;var T=H0(H0({},e),{},{viewBox:S});if(R.isValidElement(a)){T.labelRef;var C=KL(T,aae);return R.cloneElement(a,C)}if(typeof a=="function"){T.content;var O=KL(T,lae);if(w=R.createElement(a,O),R.isValidElement(w))return w}else w=gae(e);var N=Ko(e);if(G_(S)){if(i==="insideStart"||i==="insideEnd"||i==="end")return yae(e,i,w,N,S);_=xae(S,e.offset,e.position)}else{if(!E)return null;var D=oae({viewBox:E,position:i,offset:e.offset,parentViewBox:G_(r)?void 0:r});_=H0(H0({x:D.x,y:D.y,textAnchor:D.horizontalAnchor,verticalAnchor:D.verticalAnchor},D.width!==void 0?{width:D.width}:{}),D.height!==void 0?{height:D.height}:{})}return R.createElement(au,{zIndex:e.zIndex},R.createElement(J2,Dc({ref:f,className:er("recharts-label",c)},N,_,{textAnchor:fH(N.textAnchor)?N.textAnchor:_.textAnchor,breakAll:d}),w))}ld.displayName="Label";var wae=(t,e,n)=>{if(!t)return null;var r={viewBox:e,labelRef:n};return t===!0?R.createElement(ld,Dc({key:"label-implicit"},r)):Ol(t)?R.createElement(ld,Dc({key:"label-implicit",value:t},r)):R.isValidElement(t)?t.type===ld?R.cloneElement(t,H0({key:"label-implicit"},r)):R.createElement(ld,Dc({key:"label-implicit",content:t},r)):eR(t)?R.createElement(ld,Dc({key:"label-implicit",content:t},r)):t&&typeof t=="object"?R.createElement(ld,Dc({},t,{key:"label-implicit"},r)):null};function Sae(t){var e=t.label,n=t.labelRef,r=vH();return wae(e,r,n)||null}var Mae=["valueAccessor"],Eae=["dataKey","clockWise","id","textBreakAll","zIndex"];function Ww(){return Ww=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var e=Array.isArray(t.value)?t.value[t.value.length-1]:t.value;if(Qoe(e))return e},yH=R.createContext(void 0),Cae=yH.Provider,xH=R.createContext(void 0);xH.Provider;function Pae(){return R.useContext(yH)}function Rae(){return R.useContext(xH)}function W_(t){var e=t.valueAccessor,n=e===void 0?Tae:e,r=ZL(t,Mae),i=r.dataKey;r.clockWise;var s=r.id,o=r.textBreakAll,a=r.zIndex,l=ZL(r,Eae),c=Pae(),d=Rae(),f=c||d;return!f||!f.length?null:R.createElement(au,{zIndex:a??Ms.label},R.createElement(Yo,{className:"recharts-label-list"},f.map((m,y)=>{var x,S=Hi(i)?n(m,y):yi(m.payload,i),w=Hi(s)?{}:{id:"".concat(s,"-").concat(y)};return R.createElement(ld,Ww({key:"label-".concat(y)},Ko(m),l,w,{fill:(x=r.fill)!==null&&x!==void 0?x:m.fill,parentViewBox:m.parentViewBox,value:S,textBreakAll:o,viewBox:m.viewBox,index:y,zIndex:0}))})))}W_.displayName="LabelList";function Nae(t){var e=t.label;return e?e===!0?R.createElement(W_,{key:"labelList-implicit"}):R.isValidElement(e)||eR(e)?R.createElement(W_,{key:"labelList-implicit",content:e}):typeof e=="object"?R.createElement(W_,Ww({key:"labelList-implicit"},e,{type:String(e.type)})):null:null}function OC(){return OC=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var e=t.cx,n=t.cy,r=t.r,i=t.className,s=er("recharts-dot",i);return It(e)&&It(n)&&It(r)?R.createElement("circle",OC({},za(t),jP(t),{className:s,cx:e,cy:n,r})):null},Iae={radiusAxis:{},angleAxis:{}},_H=cs({name:"polarAxis",initialState:Iae,reducers:{addRadiusAxis(t,e){t.radiusAxis[e.payload.id]=e.payload},removeRadiusAxis(t,e){delete t.radiusAxis[e.payload.id]},addAngleAxis(t,e){t.angleAxis[e.payload.id]=e.payload},removeAngleAxis(t,e){delete t.angleAxis[e.payload.id]}}}),zS=_H.actions;zS.addRadiusAxis;zS.removeRadiusAxis;zS.addAngleAxis;zS.removeAngleAxis;var kae=_H.reducer;function Oae(t){return t&&typeof t=="object"&&"className"in t&&typeof t.className=="string"?t.className:""}var wH=t=>t&&typeof t=="object"&&"clipDot"in t?!!t.clipDot:!0;function QL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function JL(t){for(var e=1;e{r||(i.current===null?n(Jre(e)):i.current!==e&&n(eie({prev:i.current,next:e})),i.current=e)},[e,n,r]),R.useLayoutEffect(()=>()=>{i.current&&(n(tie(i.current)),i.current=null)},[n]),null}function Gae(t){var e=t.legendPayload,n=Wr(),r=Js(),i=R.useRef(null);return R.useLayoutEffect(()=>{r||(i.current===null?n(TZ(e)):i.current!==e&&n(CZ({prev:i.current,next:e})),i.current=e)},[n,r,e]),R.useLayoutEffect(()=>()=>{i.current&&(n(PZ(i.current)),i.current=null)},[n]),null}function Wae(t,e){return Kae(t)||qae(t,e)||Xae(t,e)||$ae()}function $ae(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. + `).concat(C.x,",").concat(C.y),N=Hi(t.id)?uy("recharts-radial-line-"):t.id;return R.createElement("text",Dc({},r,{dominantBaseline:"central",className:er("recharts-radial-bar-label",o)}),R.createElement("defs",null,R.createElement("path",{id:N,d:O})),R.createElement("textPath",{xlinkHref:"#".concat(N)},n))},xae=(t,e,n)=>{var r=t.cx,i=t.cy,s=t.innerRadius,o=t.outerRadius,a=t.startAngle,l=t.endAngle,c=(a+l)/2;if(n==="outside"){var d=zi(r,i,o+e,c),f=d.x,m=d.y;return{x:f,y:m,textAnchor:f>=r?"start":"end",verticalAnchor:"middle"}}if(n==="center")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"middle"};if(n==="centerTop")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"start"};if(n==="centerBottom")return{x:r,y:i,textAnchor:"middle",verticalAnchor:"end"};var y=(s+o)/2,x=zi(r,i,y,c),S=x.x,w=x.y;return{x:S,y:w,textAnchor:"middle",verticalAnchor:"middle"}},G_=t=>t!=null&&"cx"in t&&kt(t.cx),bae={angle:0,offset:5,zIndex:Ms.label,position:"middle",textBreakAll:!1};function _ae(t){if(!G_(t))return t;var e=t.cx,n=t.cy,r=t.outerRadius,i=r*2;return{x:e-r,y:n-r,width:i,upperWidth:i,lowerWidth:i,height:i}}function ld(t){var e=Jo(t,bae),n=e.viewBox,r=e.parentViewBox,i=e.position,s=e.value,o=e.children,a=e.content,l=e.className,c=l===void 0?"":l,d=e.textBreakAll,f=e.labelRef,m=mae(),y=vH(),x=i==="center"?y:m??y,S,w,_;n==null?S=x:G_(n)?S=n:S=XP(n);var E=_ae(S);if(!S||Hi(s)&&Hi(o)&&!R.isValidElement(a)&&typeof a!="function")return null;var T=H0(H0({},e),{},{viewBox:S});if(R.isValidElement(a)){T.labelRef;var C=KL(T,aae);return R.cloneElement(a,C)}if(typeof a=="function"){T.content;var O=KL(T,lae);if(w=R.createElement(a,O),R.isValidElement(w))return w}else w=gae(e);var N=Ko(e);if(G_(S)){if(i==="insideStart"||i==="insideEnd"||i==="end")return yae(e,i,w,N,S);_=xae(S,e.offset,e.position)}else{if(!E)return null;var D=oae({viewBox:E,position:i,offset:e.offset,parentViewBox:G_(r)?void 0:r});_=H0(H0({x:D.x,y:D.y,textAnchor:D.horizontalAnchor,verticalAnchor:D.verticalAnchor},D.width!==void 0?{width:D.width}:{}),D.height!==void 0?{height:D.height}:{})}return R.createElement(au,{zIndex:e.zIndex},R.createElement(J2,Dc({ref:f,className:er("recharts-label",c)},N,_,{textAnchor:fH(N.textAnchor)?N.textAnchor:_.textAnchor,breakAll:d}),w))}ld.displayName="Label";var wae=(t,e,n)=>{if(!t)return null;var r={viewBox:e,labelRef:n};return t===!0?R.createElement(ld,Dc({key:"label-implicit"},r)):Ol(t)?R.createElement(ld,Dc({key:"label-implicit",value:t},r)):R.isValidElement(t)?t.type===ld?R.cloneElement(t,H0({key:"label-implicit"},r)):R.createElement(ld,Dc({key:"label-implicit",content:t},r)):eR(t)?R.createElement(ld,Dc({key:"label-implicit",content:t},r)):t&&typeof t=="object"?R.createElement(ld,Dc({},t,{key:"label-implicit"},r)):null};function Sae(t){var e=t.label,n=t.labelRef,r=vH();return wae(e,r,n)||null}var Mae=["valueAccessor"],Eae=["dataKey","clockWise","id","textBreakAll","zIndex"];function Ww(){return Ww=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var e=Array.isArray(t.value)?t.value[t.value.length-1]:t.value;if(Qoe(e))return e},yH=R.createContext(void 0),Cae=yH.Provider,xH=R.createContext(void 0);xH.Provider;function Pae(){return R.useContext(yH)}function Rae(){return R.useContext(xH)}function W_(t){var e=t.valueAccessor,n=e===void 0?Tae:e,r=ZL(t,Mae),i=r.dataKey;r.clockWise;var s=r.id,o=r.textBreakAll,a=r.zIndex,l=ZL(r,Eae),c=Pae(),d=Rae(),f=c||d;return!f||!f.length?null:R.createElement(au,{zIndex:a??Ms.label},R.createElement(Yo,{className:"recharts-label-list"},f.map((m,y)=>{var x,S=Hi(i)?n(m,y):yi(m.payload,i),w=Hi(s)?{}:{id:"".concat(s,"-").concat(y)};return R.createElement(ld,Ww({key:"label-".concat(y)},Ko(m),l,w,{fill:(x=r.fill)!==null&&x!==void 0?x:m.fill,parentViewBox:m.parentViewBox,value:S,textBreakAll:o,viewBox:m.viewBox,index:y,zIndex:0}))})))}W_.displayName="LabelList";function Nae(t){var e=t.label;return e?e===!0?R.createElement(W_,{key:"labelList-implicit"}):R.isValidElement(e)||eR(e)?R.createElement(W_,{key:"labelList-implicit",content:e}):typeof e=="object"?R.createElement(W_,Ww({key:"labelList-implicit"},e,{type:String(e.type)})):null:null}function OC(){return OC=Object.assign?Object.assign.bind():function(t){for(var e=1;e{var e=t.cx,n=t.cy,r=t.r,i=t.className,s=er("recharts-dot",i);return kt(e)&&kt(n)&&kt(r)?R.createElement("circle",OC({},za(t),jP(t),{className:s,cx:e,cy:n,r})):null},Iae={radiusAxis:{},angleAxis:{}},_H=cs({name:"polarAxis",initialState:Iae,reducers:{addRadiusAxis(t,e){t.radiusAxis[e.payload.id]=e.payload},removeRadiusAxis(t,e){delete t.radiusAxis[e.payload.id]},addAngleAxis(t,e){t.angleAxis[e.payload.id]=e.payload},removeAngleAxis(t,e){delete t.angleAxis[e.payload.id]}}}),zS=_H.actions;zS.addRadiusAxis;zS.removeRadiusAxis;zS.addAngleAxis;zS.removeAngleAxis;var kae=_H.reducer;function Oae(t){return t&&typeof t=="object"&&"className"in t&&typeof t.className=="string"?t.className:""}var wH=t=>t&&typeof t=="object"&&"clipDot"in t?!!t.clipDot:!0;function QL(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function JL(t){for(var e=1;e{r||(i.current===null?n(Jre(e)):i.current!==e&&n(eie({prev:i.current,next:e})),i.current=e)},[e,n,r]),R.useLayoutEffect(()=>()=>{i.current&&(n(tie(i.current)),i.current=null)},[n]),null}function Gae(t){var e=t.legendPayload,n=Wr(),r=Js(),i=R.useRef(null);return R.useLayoutEffect(()=>{r||(i.current===null?n(TZ(e)):i.current!==e&&n(CZ({prev:i.current,next:e})),i.current=e)},[n,r,e]),R.useLayoutEffect(()=>()=>{i.current&&(n(PZ(i.current)),i.current=null)},[n]),null}function Wae(t,e){return Kae(t)||qae(t,e)||Xae(t,e)||$ae()}function $ae(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xae(t,e){if(t){if(typeof t=="string")return e3(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e3(t,e):void 0}}function e3(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n2&&arguments[2]!==void 0?arguments[2]:[],r=[];for(var i of n)r.push({status:"removed",prev:i});for(var s=0;st[Math.floor(s*n)]);return nR(r,e)}function Qae(t,e){var n=e.map((r,i)=>t[i]);return nR(n,e)}function Jae(t,e){for(var n=new Map,r=0;r{var y=n(f,m);if(y!=null){var x=r.get(y);if(x!==void 0)return i.add(y),x}}),o=[];for(var a of r){var l=Wae(a,2),c=l[0],d=l[1];i.has(c)||o.push(d)}return nR(s,e,o)}function LC(t,e,n){return e==null?null:t==null?e.map(r=>({status:"added",next:r})):n===tR?Zae(t,e):n===Yae?Qae(t,e):ele(t,e,n)}function MH(t,e){var n=R.useRef(t),r=R.useRef(e.current),i=R.useRef(!0);n.current!==t&&(n.current=t,r.current=e.current,i.current=!1);var s=R.useCallback(function(o,a){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(a===0){i.current=!0;return}a===1&&(r.current=o),a>0&&i.current&&l&&(e.current=o)},[e]);return{startValue:r.current,syncStepValue:s}}function tle(t,e){return sle(t)||ile(t,e)||rle(t,e)||nle()}function nle(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rle(t,e){if(t){if(typeof t=="string")return t3(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t3(t,e):void 0}}function t3(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{typeof t=="function"&&t(),s(!0)},[t]),a=R.useCallback(()=>{typeof e=="function"&&e(),s(!1)},[e]);return{isAnimating:i,handleAnimationStart:o,handleAnimationEnd:a}}function ale(t){var e,n=t.animationInput,r=t.animationIdPrefix,i=t.items,s=t.previousItemsRef,o=t.isAnimationActive,a=t.animationBegin,l=t.animationDuration,c=t.animationEasing,d=t.onAnimationStart,f=t.onAnimationEnd,m=t.animationInterpolateFn,y=t.animationMatchBy,x=t.shouldUpdatePreviousRef,S=t.children,w=t.layout,_=F4(n,r),E=MH(_,s),T=(e=E.startValue)!==null&&e!==void 0?e:null,C=LC(T,i,y??tR);return R.createElement(U4,{animationId:_,begin:a,duration:l,isActive:o,easing:c,onAnimationEnd:f,onAnimationStart:d,key:_},O=>{var N=T==null,D=i==null?i:m(C,O,w),F=x?x(O):O>0;return E.syncStepValue(D,O,F),D==null?null:S(D,O,N)})}var VE;function lle(t,e){return fle(t)||dle(t,e)||ule(t,e)||cle()}function cle(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ule(t,e){if(t){if(typeof t=="string")return n3(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?n3(t,e):void 0}}function n3(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{var t=R.useState(()=>uy("uid-")),e=lle(t,1),n=e[0];return n},EH=(VE=G1.useId)!==null&&VE!==void 0?VE:hle;function ple(t,e){var n=EH();return e||(t?"".concat(t,"-").concat(n):n)}var mle=R.createContext(void 0),gle=t=>{var e=t.id,n=t.type,r=t.children,i=ple("recharts-".concat(n),e);return R.createElement(mle.Provider,{value:i},r(i))},vle={cartesianItems:[],polarItems:[]},AH=cs({name:"graphicalItems",initialState:vle,reducers:{addCartesianGraphicalItem:{reducer(t,e){t.cartesianItems.push(e.payload)},prepare:sr()},replaceCartesianGraphicalItem:{reducer(t,e){var n=e.payload,r=n.prev,i=n.next,s=$o(t).cartesianItems.indexOf(r);s>-1&&(t.cartesianItems[s]=i)},prepare:sr()},removeCartesianGraphicalItem:{reducer(t,e){var n=$o(t).cartesianItems.indexOf(e.payload);n>-1&&t.cartesianItems.splice(n,1)},prepare:sr()},addPolarGraphicalItem:{reducer(t,e){t.polarItems.push(e.payload)},prepare:sr()},removePolarGraphicalItem:{reducer(t,e){var n=$o(t).polarItems.indexOf(e.payload);n>-1&&t.polarItems.splice(n,1)},prepare:sr()},replacePolarGraphicalItem:{reducer(t,e){var n=e.payload,r=n.prev,i=n.next,s=$o(t).polarItems.indexOf(r);s>-1&&(t.polarItems[s]=i)},prepare:sr()}}}),Jg=AH.actions,yle=Jg.addCartesianGraphicalItem,xle=Jg.replaceCartesianGraphicalItem,ble=Jg.removeCartesianGraphicalItem;Jg.addPolarGraphicalItem;Jg.removePolarGraphicalItem;Jg.replacePolarGraphicalItem;var _le=AH.reducer,wle=t=>{var e=Wr(),n=R.useRef(null);return R.useLayoutEffect(()=>{n.current===null?e(yle(t)):n.current!==t&&e(xle({prev:n.current,next:t})),n.current=t},[e,t]),R.useLayoutEffect(()=>()=>{n.current&&(e(ble(n.current)),n.current=null)},[e]),null},Sle=R.memo(wle),Mle=["points"];function r3(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function GE(t){for(var e=1;e{var _,E,T=GE(GE(GE({r:3},o),m),{},{index:w,cx:(_=S.x)!==null&&_!==void 0?_:void 0,cy:(E=S.y)!==null&&E!==void 0?E:void 0,dataKey:s,value:S.value,payload:S.payload,points:e});return R.createElement(Rle,{key:"dot-".concat(w),option:n,dotProps:T,className:i})}),x={};return a&&l!=null&&(x.clipPath="url(#clipPath-".concat(f?"":"dots-").concat(l,")")),R.createElement(au,{zIndex:d},R.createElement(Yo,$w({className:r},x),y))}function i3(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function s3(t){for(var e=1;e({top:t.top,bottom:t.bottom,left:t.left,right:t.right})),$le=Oe([Wle,tu,nu],(t,e,n)=>{if(!(!t||e==null||n==null))return{x:t.left,y:t.top,width:Math.max(0,e-t.left-t.right),height:Math.max(0,n-t.top-t.bottom)}}),rR=()=>Bt($le),Xle=()=>Bt(Jie);function o3(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function WE(t){for(var e=1;e{var e=t.point,n=t.childIndex,r=t.mainColor,i=t.activeDot,s=t.dataKey,o=t.clipPath;if(i===!1||e.x==null||e.y==null)return null;var a={index:n,dataKey:s,cx:e.x,cy:e.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:e.payload,value:e.value},l=WE(WE(WE({},a),J1(i)),jP(i)),c;return R.isValidElement(i)?c=R.cloneElement(i,l):typeof i=="function"?c=i(l):c=R.createElement(bH,l),R.createElement(Yo,{className:"recharts-active-dot",clipPath:o},c)};function a3(t){var e=t.points,n=t.mainColor,r=t.activeDot,i=t.itemDataKey,s=t.clipPath,o=t.zIndex,a=o===void 0?Ms.activeDot:o,l=Bt(Sy),c=Xle();if(e==null||c==null)return null;var d=e.find(f=>c.includes(f.payload));return Hi(d)?null:R.createElement(au,{zIndex:a},R.createElement(Zle,{point:d,childIndex:Number(l),mainColor:n,dataKey:i,activeDot:r,clipPath:s}))}var Qle=t=>{var e=t.chartData,n=Wr(),r=Js();return R.useEffect(()=>r?()=>{}:(n(PL(e)),()=>{n(PL(void 0))}),[e,n,r]),null},l3={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},PH=cs({name:"brush",initialState:l3,reducers:{setBrushSettings(t,e){return e.payload==null?l3:e.payload}}});PH.actions.setBrushSettings;var Jle=PH.reducer;function ece(t){return(t%180+180)%180}var tce=function(e){var n=e.width,r=e.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=ece(i),o=s*Math.PI/180,a=Math.atan(r/n),l=o>a&&o{t.dots.push(e.payload)},removeDot:(t,e)=>{var n=$o(t).dots.findIndex(r=>r===e.payload);n!==-1&&t.dots.splice(n,1)},addArea:(t,e)=>{t.areas.push(e.payload)},removeArea:(t,e)=>{var n=$o(t).areas.findIndex(r=>r===e.payload);n!==-1&&t.areas.splice(n,1)},addLine:(t,e)=>{t.lines.push(e.payload)},removeLine:(t,e)=>{var n=$o(t).lines.findIndex(r=>r===e.payload);n!==-1&&t.lines.splice(n,1)}}}),ev=RH.actions;ev.addDot;ev.removeDot;ev.addArea;ev.removeArea;ev.addLine;ev.removeLine;var rce=RH.reducer;function ice(t,e){return lce(t)||ace(t,e)||oce(t,e)||sce()}function sce(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oce(t,e){if(t){if(typeof t=="string")return c3(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c3(t,e):void 0}}function c3(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{var e=t.children,n=R.useState("".concat(uy("recharts"),"-clip")),r=ice(n,1),i=r[0],s=rR();if(s==null)return null;var o=s.x,a=s.y,l=s.width,c=s.height;return R.createElement(cce.Provider,{value:i},R.createElement("defs",null,R.createElement("clipPath",{id:i},R.createElement("rect",{x:o,y:a,height:c,width:l}))),e)};function NH(t,e){if(e<1)return[];if(e===1)return t;for(var n=[],r=0;rt*i)return!1;var s=n();return t*(e-t*s/2-r)>=0&&t*(e+t*s/2-i)<=0}function hce(t,e){return NH(t,e+1)}function pce(t,e,n,r,i){for(var s=(r||[]).slice(),o=e.start,a=e.end,l=0,c=1,d=o,f=function(){var x=r==null?void 0:r[l];if(x===void 0)return{v:NH(r,c)};var S=l,w,_=()=>(w===void 0&&(w=n(x,S)),w),E=x.coordinate,T=l===0||Ey(t,E,_,d,a);T||(l=0,d=o,c+=1),T&&(d=E+t*(_()/2+i),l+=c)},m;c<=s.length;)if(m=f(),m)return m.v;return[]}function mce(t,e,n,r,i){var s=(r||[]).slice(),o=s.length;if(o===0)return[];for(var a=e.start,l=e.end,c=1;c<=o;c++){for(var d=(o-1)%c,f=a,m=!0,y=function(){var C=r[S];if(C==null)return 0;var O=S,N,D=()=>(N===void 0&&(N=n(C,O)),N),F=C.coordinate,G=S===d||Ey(t,F,D,f,l);if(!G)return m=!1,1;G&&(f=F+t*(D()/2+i))},x,S=d;S(S===void 0&&(S=n(y,m)),S);if(m===o-1){var _=t*(x.coordinate+t*w()/2-l);s[m]=x=ns(ns({},x),{},{tickCoord:_>0?x.coordinate-_*t:x.coordinate})}else s[m]=x=ns(ns({},x),{},{tickCoord:x.coordinate});if(x.tickCoord!=null){var E=Ey(t,x.tickCoord,w,a,l);E&&(l=x.tickCoord-t*(w()/2+i),s[m]=ns(ns({},x),{},{isShow:!0}))}},d=o-1;d>=0;d--)c(d);return s}function bce(t,e,n,r,i,s){var o=(r||[]).slice(),a=o.length,l=e.start,c=e.end;if(s){var d=r[a-1];if(d!=null){var f=n(d,a-1),m=t*(d.coordinate+t*f/2-c);if(o[a-1]=d=ns(ns({},d),{},{tickCoord:m>0?d.coordinate-m*t:d.coordinate}),d.tickCoord!=null){var y=Ey(t,d.tickCoord,()=>f,l,c);y&&(c=d.tickCoord-t*(f/2+i),o[a-1]=ns(ns({},d),{},{isShow:!0}))}}}for(var x=s?a-1:a,S=function(E){var T=o[E];if(T==null)return 1;var C=T,O,N=()=>(O===void 0&&(O=n(T,E)),O);if(E===0){var D=t*(C.coordinate-t*N()/2-l);o[E]=C=ns(ns({},C),{},{tickCoord:D<0?C.coordinate-D*t:C.coordinate})}else o[E]=C=ns(ns({},C),{},{tickCoord:C.coordinate});if(C.tickCoord!=null){var F=Ey(t,C.tickCoord,N,l,c);F&&(l=C.tickCoord+t*(N()/2+i),o[E]=ns(ns({},C),{},{isShow:!0}))}},w=0;w{var D=typeof c=="function"?c(O.value,N):O.value;return x==="width"?dce(X0(D,{fontSize:e,letterSpacing:n}),S,f):X0(D,{fontSize:e,letterSpacing:n})[x]},_=i[0],E=i[1],T=i.length>=2&&_!=null&&E!=null?Wo(E.coordinate-_.coordinate):1,C=fce(s,T,x);return l==="equidistantPreserveStart"?pce(T,C,w,i,o):l==="equidistantPreserveEnd"?mce(T,C,w,i,o):(l==="preserveStart"||l==="preserveStartEnd"?y=bce(T,C,w,i,o,l==="preserveStartEnd"):y=xce(T,C,w,i,o),y.filter(O=>O.isShow))}var _ce=t=>{var e=t.ticks,n=t.label,r=t.labelGapWithTick,i=r,s=t.tickSize,o=s===void 0?0:s,a=t.tickMargin,l=a===void 0?0:a,c=0;if(e){Array.from(e).forEach(y=>{if(y){var x=y.getBoundingClientRect();x.width>c&&(c=x.width)}});var d=n?n.getBoundingClientRect().width:0,f=o+l,m=c+f+d+(n?i:0);return Math.round(m)}return 0},wce={xAxis:{},yAxis:{}},IH=cs({name:"renderedTicks",initialState:wce,reducers:{setRenderedTicks:(t,e)=>{var n=e.payload,r=n.axisType,i=n.axisId,s=n.ticks;t[r][i]=s},removeRenderedTicks:(t,e)=>{var n=e.payload,r=n.axisType,i=n.axisId;delete t[r][i]}}}),kH=IH.actions,Sce=kH.setRenderedTicks,Mce=kH.removeRenderedTicks,Ece=IH.reducer,Ace=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function d3(t,e){return Rce(t)||Pce(t,e)||Cce(t,e)||Tce()}function Tce(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Cce(t,e){if(t){if(typeof t=="string")return f3(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f3(t,e):void 0}}function f3(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{if(r==null||n==null)return Vg;var s=e.map(o=>({value:o.value,coordinate:o.coordinate,offset:o.offset,index:o.index}));return i(Sce({ticks:s,axisId:r,axisType:n})),()=>{i(Mce({axisId:r,axisType:n}))}},[i,e,r,n]),null}var Hce=R.forwardRef((t,e)=>{var n=t.ticks,r=n===void 0?[]:n,i=t.tick,s=t.tickLine,o=t.stroke,a=t.tickFormatter,l=t.unit,c=t.padding,d=t.tickTextProps,f=t.orientation,m=t.mirror,y=t.x,x=t.y,S=t.width,w=t.height,_=t.tickSize,E=t.tickMargin,T=t.fontSize,C=t.letterSpacing,O=t.getTicksConfig,N=t.events,D=t.axisType,F=t.axisId,G=iR(Er(Er({},O),{},{ticks:r}),T,C),k=za(O),U=J1(i),H=fH(k.textAnchor)?k.textAnchor:Uce(f,m),ne=Fce(f,m),te={};typeof s=="object"&&(te=s);var he=Er(Er({},k),{},{fill:"none"},te),se=G.map(J=>Er({entry:J},jce(J,y,x,S,w,f,_,m,E))),fe=se.map(J=>{var Y=J.entry,V=J.line;return R.createElement(Yo,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(Y.value,"-").concat(Y.coordinate,"-").concat(Y.tickCoord)},s&&R.createElement("line",Dh({},he,V,{className:er("recharts-cartesian-axis-tick-line",Kh(s,"className"))})))}),B=se.map((J,Y)=>{var V,q,pe=J.entry,ae=J.tick,le=Er(Er(Er(Er({verticalAnchor:ne},k),{},{textAnchor:H,stroke:"none",fill:o},ae),{},{index:Y,payload:pe,visibleTicksCount:G.length,tickFormatter:a,padding:c},d),{},{angle:(V=(q=d==null?void 0:d.angle)!==null&&q!==void 0?q:k.angle)!==null&&V!==void 0?V:0}),be=Er(Er({},le),U);return R.createElement(Yo,Dh({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(pe.value,"-").concat(pe.coordinate,"-").concat(pe.tickCoord)},$X(N,pe,Y)),i&&R.createElement(zce,{option:i,tickProps:be,value:"".concat(typeof a=="function"?a(pe.value,Y):pe.value).concat(l||"")}))});return R.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(D,"-ticks")},R.createElement(Bce,{ticks:G,axisId:F,axisType:D}),B.length>0&&R.createElement(au,{zIndex:Ms.label},R.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(D,"-tick-labels"),ref:e},B)),fe.length>0&&R.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(D,"-tick-lines")},fe))}),Vce=R.forwardRef((t,e)=>{var n=t.axisLine,r=t.width,i=t.height,s=t.className,o=t.hide,a=t.ticks,l=t.axisType,c=t.axisId,d=Nce(t,Ace),f=R.useState(""),m=d3(f,2),y=m[0],x=m[1],S=R.useState(""),w=d3(S,2),_=w[0],E=w[1],T=R.useRef(null);R.useImperativeHandle(e,()=>({getCalculatedWidth:()=>{var O;return _ce({ticks:T.current,label:(O=t.labelRef)===null||O===void 0?void 0:O.current,labelGapWithTick:5,tickSize:t.tickSize,tickMargin:t.tickMargin})}}));var C=R.useCallback(O=>{if(O){var N=O.getElementsByClassName("recharts-cartesian-axis-tick-value");T.current=N;var D=N[0];if(D){var F=window.getComputedStyle(D),G=F.fontSize,k=F.letterSpacing;(G!==y||k!==_)&&(x(G),E(k))}}},[y,_]);return o||r!=null&&r<=0||i!=null&&i<=0?null:R.createElement(au,{zIndex:t.zIndex},R.createElement(Yo,{className:er("recharts-cartesian-axis",s)},R.createElement(Dce,{x:t.x,y:t.y,width:r,height:i,orientation:t.orientation,mirror:t.mirror,axisLine:n,otherSvgProps:za(t)}),R.createElement(Hce,{ref:C,axisType:l,events:d,fontSize:y,getTicksConfig:t,height:t.height,letterSpacing:_,mirror:t.mirror,orientation:t.orientation,padding:t.padding,stroke:t.stroke,tick:t.tick,tickFormatter:t.tickFormatter,tickLine:t.tickLine,tickMargin:t.tickMargin,tickSize:t.tickSize,tickTextProps:t.tickTextProps,ticks:a,unit:t.unit,width:t.width,x:t.x,y:t.y,axisId:c}),R.createElement(hae,{x:t.x,y:t.y,width:t.width,height:t.height,lowerWidth:t.width,upperWidth:t.width},R.createElement(Sae,{label:t.label,labelRef:t.labelRef}),t.children)))}),sR=R.forwardRef((t,e)=>{var n=Jo(t,Wc);return R.createElement(Vce,Dh({},n,{ref:e}))});sR.displayName="CartesianAxis";var Gce=["x1","y1","x2","y2","key"],Wce=["offset"],$ce=["xAxisId","yAxisId"],Xce=["xAxisId","yAxisId"];function p3(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function rs(t){for(var e=1;e{var e=t.fill;if(!e||e==="none")return null;var n=t.fillOpacity,r=t.x,i=t.y,s=t.width,o=t.height,a=t.ry;return R.createElement("rect",{x:r,y:i,ry:a,width:s,height:o,stroke:"none",fill:e,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function OH(t){var e=t.option,n=t.lineItemProps,r;if(R.isValidElement(e))r=R.cloneElement(e,n);else if(typeof e=="function")r=e(n);else{var i,s=n.x1,o=n.y1,a=n.x2,l=n.y2,c=n.key,d=Xw(n,Gce),f=(i=za(d))!==null&&i!==void 0?i:{};f.offset;var m=Xw(f,Wce);r=R.createElement("line",rh({},m,{x1:s,y1:o,x2:a,y2:l,fill:"none",key:c}))}return r}function Jce(t){var e=t.x,n=t.width,r=t.horizontal,i=r===void 0?!0:r,s=t.horizontalPoints;if(!i||!s||!s.length)return null;t.xAxisId,t.yAxisId;var o=Xw(t,$ce),a=s.map((l,c)=>{var d=rs(rs({},o),{},{x1:e,y1:l,x2:e+n,y2:l,key:"line-".concat(c),index:c});return R.createElement(OH,{key:"line-".concat(c),option:i,lineItemProps:d})});return R.createElement("g",{className:"recharts-cartesian-grid-horizontal"},a)}function eue(t){var e=t.y,n=t.height,r=t.vertical,i=r===void 0?!0:r,s=t.verticalPoints;if(!i||!s||!s.length)return null;t.xAxisId,t.yAxisId;var o=Xw(t,Xce),a=s.map((l,c)=>{var d=rs(rs({},o),{},{x1:l,y1:e,x2:l,y2:e+n,key:"line-".concat(c),index:c});return R.createElement(OH,{option:i,lineItemProps:d,key:"line-".concat(c)})});return R.createElement("g",{className:"recharts-cartesian-grid-vertical"},a)}function tue(t){var e=t.horizontalFill,n=t.fillOpacity,r=t.x,i=t.y,s=t.width,o=t.height,a=t.horizontalPoints,l=t.horizontal,c=l===void 0?!0:l;if(!c||!e||!e.length||a==null)return null;var d=a.map(m=>Math.round(m+i-i)).sort((m,y)=>m-y);i!==d[0]&&d.unshift(0);var f=d.map((m,y)=>{var x=d[y+1],S=x==null,w=S?i+o-m:x-m;if(w<=0)return null;var _=y%e.length;return R.createElement("rect",{key:"react-".concat(y),y:m,x:r,height:w,width:s,stroke:"none",fill:e[_],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return R.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},f)}function nue(t){var e=t.vertical,n=e===void 0?!0:e,r=t.verticalFill,i=t.fillOpacity,s=t.x,o=t.y,a=t.width,l=t.height,c=t.verticalPoints;if(!n||!r||!r.length)return null;var d=c.map(m=>Math.round(m+s-s)).sort((m,y)=>m-y);s!==d[0]&&d.unshift(0);var f=d.map((m,y)=>{var x=d[y+1],S=x==null,w=S?s+a-m:x-m;if(w<=0)return null;var _=y%r.length;return R.createElement("rect",{key:"react-".concat(y),x:m,y:o,width:w,height:l,stroke:"none",fill:r[_],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return R.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},f)}var rue=(t,e)=>{var n=t.xAxis,r=t.width,i=t.height,s=t.offset;return p4(iR(rs(rs(rs({},Wc),n),{},{ticks:m4(n),viewBox:{x:0,y:0,width:r,height:i}})),s.left,s.left+s.width,e)},iue=(t,e)=>{var n=t.yAxis,r=t.width,i=t.height,s=t.offset;return p4(iR(rs(rs(rs({},Wc),n),{},{ticks:m4(n),viewBox:{x:0,y:0,width:r,height:i}})),s.top,s.top+s.height,e)},sue={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Ms.grid};function LH(t){var e=S4(),n=M4(),r=w4(),i=rs(rs({},Jo(t,sue)),{},{x:It(t.x)?t.x:r.left,y:It(t.y)?t.y:r.top,width:It(t.width)?t.width:r.width,height:It(t.height)?t.height:r.height}),s=i.xAxisId,o=i.yAxisId,a=i.x,l=i.y,c=i.width,d=i.height,f=i.syncWithTicks,m=i.horizontalValues,y=i.verticalValues,x=Js(),S=Bt(G=>gL(G,"xAxis",s,x)),w=Bt(G=>gL(G,"yAxis",o,x));if(!Ll(c)||!Ll(d)||!It(a)||!It(l))return null;var _=i.verticalCoordinatesGenerator||rue,E=i.horizontalCoordinatesGenerator||iue,T=i.horizontalPoints,C=i.verticalPoints;if((!T||!T.length)&&typeof E=="function"){var O=m&&m.length,N=E({yAxis:w?rs(rs({},w),{},{ticks:O?m:w.ticks}):void 0,width:e??c,height:n??d,offset:r},O?!0:f);xw(Array.isArray(N),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof N,"]")),Array.isArray(N)&&(T=N)}if((!C||!C.length)&&typeof _=="function"){var D=y&&y.length,F=_({xAxis:S?rs(rs({},S),{},{ticks:D?y:S.ticks}):void 0,width:e??c,height:n??d,offset:r},D?!0:f);xw(Array.isArray(F),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof F,"]")),Array.isArray(F)&&(C=F)}return R.createElement(au,{zIndex:i.zIndex},R.createElement("g",{className:"recharts-cartesian-grid"},R.createElement(Qce,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),R.createElement(tue,rh({},i,{horizontalPoints:T})),R.createElement(nue,rh({},i,{verticalPoints:C})),R.createElement(Jce,rh({},i,{offset:r,horizontalPoints:T,xAxis:S,yAxis:w})),R.createElement(eue,rh({},i,{offset:r,verticalPoints:C,xAxis:S,yAxis:w}))))}LH.displayName="CartesianGrid";var oue={},DH=cs({name:"errorBars",initialState:oue,reducers:{addErrorBar:(t,e)=>{var n=e.payload,r=n.itemId,i=n.errorBar;t[r]||(t[r]=[]),t[r].push(i)},replaceErrorBar:(t,e)=>{var n=e.payload,r=n.itemId,i=n.prev,s=n.next;t[r]&&(t[r]=t[r].map(o=>o.dataKey===i.dataKey&&o.direction===i.direction?s:o))},removeErrorBar:(t,e)=>{var n=e.payload,r=n.itemId,i=n.errorBar;t[r]&&(t[r]=t[r].filter(s=>s.dataKey!==i.dataKey||s.direction!==i.direction))}}}),oR=DH.actions;oR.addErrorBar;oR.replaceErrorBar;oR.removeErrorBar;var aue=DH.reducer;function jH(t,e){var n,r,i=Bt(c=>iu(c,t)),s=Bt(c=>su(c,e)),o=(n=i==null?void 0:i.allowDataOverflow)!==null&&n!==void 0?n:ti.allowDataOverflow,a=(r=s==null?void 0:s.allowDataOverflow)!==null&&r!==void 0?r:ni.allowDataOverflow,l=o||a;return{needClip:l,needClipX:o,needClipY:a}}function lue(t){var e=t.xAxisId,n=t.yAxisId,r=t.clipPathId,i=rR(),s=jH(e,n),o=s.needClipX,a=s.needClipY,l=s.needClip,c=Bt(T=>_B(T,e,!1)),d=Bt(T=>wB(T,n,!1));if(!l||!i)return null;var f=i.x,m=i.y,y=i.width,x=i.height,S=o&&c?Math.min(c[0],c[1]):f-y/2,w=a&&d?Math.min(d[0],d[1]):m-x/2,_=o&&c?Math.abs(c[1]-c[0]):y*2,E=a&&d?Math.abs(d[1]-d[0]):x*2;return R.createElement("clipPath",{id:"clipPath-".concat(r)},R.createElement("rect",{x:S,y:w,width:_,height:E}))}function cue(t){var e=J1(t),n=3,r=2;if(e!=null){var i=e.r,s=e.strokeWidth,o=Number(i),a=Number(s);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(a)||a<0)&&(a=r),{r:o,strokeWidth:a}}return{r:n,strokeWidth:r}}function aR(t,e){var n,r;return(n=(r=t.graphicalItems.cartesianItems.find(i=>i.id===e))===null||r===void 0?void 0:r.xAxisId)!==null&&n!==void 0?n:TH}function lR(t,e){var n,r;return(n=(r=t.graphicalItems.cartesianItems.find(i=>i.id===e))===null||r===void 0?void 0:r.yAxisId)!==null&&n!==void 0?n:TH}var UH=(t,e,n)=>RB(t,"xAxis",aR(t,e),n),FH=(t,e,n)=>PB(t,"xAxis",aR(t,e),n),zH=(t,e,n)=>RB(t,"yAxis",lR(t,e),n),BH=(t,e,n)=>PB(t,"yAxis",lR(t,e),n),uue=Oe([fr,UH,zH,FH,BH],(t,e,n,r,i)=>Bl(t,"xAxis")?yw(e,r,!1):yw(n,i,!1)),due=(t,e)=>e,HH=Oe([Kz,due],(t,e)=>t.filter(n=>n.type==="area").find(n=>n.id===e)),VH=t=>{var e=fr(t),n=Bl(e,"xAxis");return n?"yAxis":"xAxis"},fue=(t,e)=>{var n=VH(t);return n==="yAxis"?lR(t,e):aR(t,e)},hue=(t,e,n)=>sB(t,VH(t),fue(t,e),n),pue=Oe([HH,hue],(t,e)=>{var n;if(!(t==null||e==null)){var r=t.stackId,i=l2(t);if(!(r==null||i==null)){var s=(n=e[r])===null||n===void 0?void 0:n.stackedData,o=s==null?void 0:s.find(a=>a.key===i);if(o!=null)return o.map(a=>[a[0],a[1]])}}}),mue=Oe([fr,UH,zH,FH,BH,pue,FJ,uue,HH,nee],(t,e,n,r,i,s,o,a,l,c)=>{var d=o.chartData,f=o.dataStartIndex,m=o.dataEndIndex;if(!(l==null||t!=="horizontal"&&t!=="vertical"||e==null||n==null||r==null||i==null||r.length===0||i.length===0||a==null)){var y=l.data,x;if(y&&y.length>0?x=y:x=d==null?void 0:d.slice(f,m+1),x!=null)return Bue({layout:t,xAxis:e,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:f,areaSettings:l,stackedData:s,displayedData:x,chartBaseValue:c,bandSize:a})}}),gue=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],vue=["id","baseLine"];function q0(){return q0=Object.assign?Object.assign.bind():function(t){for(var e=1;ef.y||0));return It(i)?d=Math.max(i,d):i&&Array.isArray(i)&&i.length&&(d=Math.max(...i.map(f=>f.y||0),d)),It(d)?R.createElement("rect",{x:af.x||0));return It(i)?d=Math.max(i,d):i&&Array.isArray(i)&&i.length&&(d=Math.max(...i.map(f=>f.x||0),d)),It(d)?R.createElement("rect",{x:0,y:at==null?[]:e===1?t.flatMap(n=>n.status==="removed"?[]:[n.next]):t.flatMap(n=>n.status==="matched"?[Ig(Ig({},n.next),{},{x:Fc(n.prev.x,n.next.x,e),y:Fc(n.prev.y,n.next.y,e)})]:n.status==="added"?[n.next]:[]),WH={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:tR,animationInterpolateFn:Pue,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:wue,xAxisId:0,yAxisId:0,zIndex:Ms.area};function Kw(t,e){return t&&t!=="none"?t:e}var Rue=t=>{var e=t.dataKey,n=t.name,r=t.stroke,i=t.fill,s=t.legendType,o=t.hide;return[{inactive:o,dataKey:e,type:s,color:Kw(r,i),value:g4(n,e),payload:t}]},Nue=R.memo(t=>{var e=t.dataKey,n=t.data,r=t.stroke,i=t.strokeWidth,s=t.fill,o=t.name,a=t.hide,l=t.unit,c=t.tooltipType,d=t.id,f={dataDefinedOnItem:n,getPosition:Vg,settings:{stroke:r,strokeWidth:i,fill:s,dataKey:e,nameKey:void 0,name:g4(o,e),hide:a,type:c,color:Kw(r,s),unit:l,graphicalItemId:d}};return R.createElement(Vae,{tooltipEntrySettings:f})});function Iue(t){var e=t.clipPathId,n=t.points,r=t.props,i=r.needClip,s=r.dot,o=r.dataKey,a=za(r);return R.createElement(Ile,{points:n,dot:s,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:o,baseProps:a,needClip:i,clipPathId:e})}function kue(t){var e=t.showLabels,n=t.children,r=t.points,i=r.map(s=>{var o,a,l={x:(o=s.x)!==null&&o!==void 0?o:0,y:(a=s.y)!==null&&a!==void 0?a:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Ig(Ig({},l),{},{value:s.value,payload:s.payload,parentViewBox:void 0,viewBox:l,fill:void 0})});return R.createElement(Cae,{value:e?i:void 0},n)}function Oue(t){var e=t.points,n=t.baseLine,r=t.needClip,i=t.clipPathId,s=t.props,o=t.animationElapsedTime,a=t.isAnimating,l=t.isEntrance,c=s.layout,d=s.type,f=s.stroke,m=s.connectNulls,y=s.isRange,x=s.shape,S=s.id,w=GH(s,Sue),_=Ko(w),E=Ig(Ig({},_),{},{id:S,points:e,connectNulls:m,type:d,baseLine:n,layout:c,stroke:f,isRange:y,animationElapsedTime:o,isAnimating:a,isEntrance:l});return R.createElement(R.Fragment,null,(e==null?void 0:e.length)>1&&R.createElement(Yo,{clipPath:r?"url(#clipPath-".concat(i,")"):void 0},R.createElement(Hae,{option:x,DefaultShape:WH.shape,shapeProps:E})),R.createElement(Iue,{points:e,props:w,clipPathId:i}))}function Lue(t,e,n){if(It(t)){var r=It(e)?e:void 0;return Fc(r,t,n)}if(Hi(t)||kl(t)){var i=It(e)?e:void 0;return Fc(i,0,n)}return t}function Due(t){var e=t.needClip,n=t.clipPathId,r=t.props,i=t.previousPointsRef,s=t.previousBaselineRef,o=r.points,a=r.baseLine,l=r.isAnimationActive,c=r.animationBegin,d=r.animationDuration,f=r.animationEasing,m=r.animationMatchBy,y=r.animationInterpolateFn,x=R.useMemo(()=>({points:o,baseLine:a}),[o,a]),S=MH(x,s),w=qP(),_=ole(r.onAnimationStart,r.onAnimationEnd),E=_.isAnimating,T=_.handleAnimationStart,C=_.handleAnimationEnd,O=S.startValue;if(w==null)return null;var N;return Array.isArray(a)&&Array.isArray(O)?N=LC(O,a,m):Array.isArray(a)?N=LC(null,a,m):N=null,R.createElement(ale,{animationInput:x,animationIdPrefix:"recharts-area-",items:o,previousItemsRef:i,isAnimationActive:l,animationBegin:c,animationDuration:d,animationEasing:f,onAnimationStart:T,onAnimationEnd:C,animationInterpolateFn:y,animationMatchBy:m,layout:w},(D,F,G)=>{var k;return F===1?k=a:Array.isArray(a)?k=y(N,F,w):k=G?a:Lue(a,O,F),S.syncStepValue(k,F),R.createElement(kue,{showLabels:!E,points:o},r.children,R.createElement(Oue,{points:D,baseLine:k,needClip:e,clipPathId:n,props:r,animationElapsedTime:F,isAnimating:E||F<1,isEntrance:G}),R.createElement(Nae,{label:r.label}))})}function jue(t){var e=t.needClip,n=t.clipPathId,r=t.props,i=R.useRef(null),s=R.useRef();return R.createElement(Due,{needClip:e,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:s})}class Uue extends R.PureComponent{render(){var e=this.props,n=e.hide,r=e.dot,i=e.points,s=e.className,o=e.top,a=e.left,l=e.needClip,c=e.xAxisId,d=e.yAxisId,f=e.width,m=e.height,y=e.id,x=e.baseLine,S=e.zIndex;if(n)return null;var w=er("recharts-area",s),_=y,E=cue(r),T=E.r,C=E.strokeWidth,O=wH(r),N=T*2+C,D=l?"url(#clipPath-".concat(O?"":"dots-").concat(_,")"):void 0;return R.createElement(au,{zIndex:S},R.createElement(Yo,{className:w},l&&R.createElement("defs",null,R.createElement(lue,{clipPathId:_,xAxisId:c,yAxisId:d}),!O&&R.createElement("clipPath",{id:"clipPath-dots-".concat(_)},R.createElement("rect",{x:a-N/2,y:o-N/2,width:f+N,height:m+N}))),R.createElement(jue,{needClip:l,clipPathId:_,props:this.props})),R.createElement(a3,{points:i,mainColor:Kw(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:D}),this.props.isRange&&Array.isArray(x)&&R.createElement(a3,{points:x,mainColor:Kw(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:D}))}}function Fue(t){var e,n=t.activeDot,r=t.animationBegin,i=t.animationDuration,s=t.animationEasing,o=t.connectNulls,a=t.dot,l=t.fill,c=t.fillOpacity,d=t.hide,f=t.isAnimationActive,m=t.legendType,y=t.stroke,x=t.xAxisId,S=t.yAxisId,w=GH(t,Mue),_=Gg(),E=JB(),T=jH(x,S),C=T.needClip,O=Js(),N=(e=Bt(he=>mue(he,t.id,O)))!==null&&e!==void 0?e:{},D=N.points,F=N.isRange,G=N.baseLine,k=rR();if(_!=="horizontal"&&_!=="vertical"||k==null||E!=="AreaChart"&&E!=="ComposedChart")return null;var U=k.height,H=k.width,ne=k.x,te=k.y;return!D||!D.length?null:R.createElement(Uue,qw({},w,{activeDot:n,animationBegin:r,animationDuration:i,animationEasing:s,baseLine:G,connectNulls:o,dot:a,fill:l,fillOpacity:c,height:U,hide:d,layout:_,isAnimationActive:f,isRange:F,legendType:m,needClip:C,points:D,stroke:y,width:H,left:ne,top:te,xAxisId:x,yAxisId:S}))}var zue=(t,e,n,r,i)=>{var s=n??e;if(It(s))return s;var o=t==="horizontal"?i:r,a=o.scale.domain();if(o.type==="number"){var l=Math.max(a[0],a[1]),c=Math.min(a[0],a[1]);return s==="dataMin"?c:s==="dataMax"||l<0?l:Math.max(Math.min(a[0],a[1]),0)}return s==="dataMin"?a[0]:s==="dataMax"?a[1]:a[0]};function Bue(t){var e=t.areaSettings,n=e.connectNulls,r=e.baseValue,i=e.dataKey,s=t.stackedData,o=t.layout,a=t.chartBaseValue,l=t.xAxis,c=t.yAxis,d=t.displayedData,f=t.dataStartIndex,m=t.xAxisTicks,y=t.yAxisTicks,x=t.bandSize,S=s&&s.length,w=zue(o,a,r,l,c),_=o==="horizontal",E=!1,T=d.map((O,N)=>{var D,F,G,k;if(S)k=s[f+N];else{var U=yi(O,i);Array.isArray(U)?(k=U,E=!0):k=[w,U]}var H=(D=(F=k)===null||F===void 0?void 0:F[1])!==null&&D!==void 0?D:null,ne=H==null||S&&!n&&yi(O,i)==null;if(_){var te;return{x:dk({axis:l,ticks:m,bandSize:x,entry:O,index:N}),y:ne?null:(te=c.scale.map(H))!==null&&te!==void 0?te:null,value:k,payload:O}}return{x:ne?null:(G=l.scale.map(H))!==null&&G!==void 0?G:null,y:dk({axis:c,ticks:y,bandSize:x,entry:O,index:N}),value:k,payload:O}}),C;return S||E?C=T.map(O=>{var N,D=Array.isArray(O.value)?O.value[0]:null;if(_){var F;return{x:O.x,y:D!=null&&O.y!=null&&(F=c.scale.map(D))!==null&&F!==void 0?F:null,payload:O.payload}}return{x:D!=null&&(N=l.scale.map(D))!==null&&N!==void 0?N:null,y:O.y,payload:O.payload}}):C=_?c.scale.map(w):l.scale.map(w),{points:T,baseLine:C??0,isRange:E}}function Hue(t){var e=Jo(t,WH),n=Js();return R.createElement(gle,{id:e.id,type:"area"},r=>R.createElement(R.Fragment,null,R.createElement(Gae,{legendPayload:Rue(e)}),R.createElement(Nue,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType,id:r}),R.createElement(Sle,{type:"area",id:r,data:e.data,dataKey:e.dataKey,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,stackId:EY(e.stackId),hide:e.hide,barSize:void 0,baseValue:e.baseValue,isPanorama:n,connectNulls:e.connectNulls}),R.createElement(Fue,qw({},e,{id:r}))))}var $H=R.memo(Hue,_S);$H.displayName="Area";var Vue=["domain","range"],Gue=["domain","range"];function v3(t,e){if(t==null)return{};var n,r,i=Wue(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{if(o!=null)return b3(b3({},s),{},{type:o})},[s,o]);return R.useLayoutEffect(()=>{a!=null&&(n.current===null?e(jle(a)):n.current!==a&&e(Ule({prev:n.current,next:a})),n.current=a)},[a,e]),R.useLayoutEffect(()=>()=>{n.current&&(e(Fle(n.current)),n.current=null)},[e]),null}var ede=t=>{var e=t.xAxisId,n=t.className,r=Bt(y4),i=Js(),s="xAxis",o=Bt(m=>CB(m,s,e,i)),a=Bt(m=>Ore(m,e)),l=Bt(m=>zre(m,e)),c=Bt(m=>Wz(m,e));if(a==null||l==null||c==null)return null;t.dangerouslySetInnerHTML,t.ticks,t.scale;var d=jC(t,Xue);c.id,c.scale;var f=jC(c,que);return R.createElement(sR,DC({},d,f,{x:l.x,y:l.y,width:a.width,height:a.height,className:er("recharts-".concat(s," ").concat(s),n),viewBox:r,ticks:o,axisType:s,axisId:e}))},tde={allowDataOverflow:ti.allowDataOverflow,allowDecimals:ti.allowDecimals,allowDuplicatedCategory:ti.allowDuplicatedCategory,angle:ti.angle,axisLine:Wc.axisLine,height:ti.height,hide:!1,includeHidden:ti.includeHidden,interval:ti.interval,label:!1,minTickGap:ti.minTickGap,mirror:ti.mirror,orientation:ti.orientation,padding:ti.padding,reversed:ti.reversed,scale:ti.scale,tick:ti.tick,tickCount:ti.tickCount,tickLine:Wc.tickLine,tickSize:Wc.tickSize,type:ti.type,niceTicks:ti.niceTicks,xAxisId:0},nde=t=>{var e=Jo(t,tde);return R.createElement(R.Fragment,null,R.createElement(Jue,{allowDataOverflow:e.allowDataOverflow,allowDecimals:e.allowDecimals,allowDuplicatedCategory:e.allowDuplicatedCategory,angle:e.angle,dataKey:e.dataKey,domain:e.domain,height:e.height,hide:e.hide,id:e.xAxisId,includeHidden:e.includeHidden,interval:e.interval,minTickGap:e.minTickGap,mirror:e.mirror,name:e.name,orientation:e.orientation,padding:e.padding,reversed:e.reversed,scale:e.scale,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit,niceTicks:e.niceTicks}),R.createElement(ede,e))},qH=R.memo(nde,XH);qH.displayName="XAxis";var rde=["type"],ide=["dangerouslySetInnerHTML","ticks","scale"],sde=["id","scale"];function UC(){return UC=Object.assign?Object.assign.bind():function(t){for(var e=1;e{if(o!=null)return w3(w3({},s),{},{type:o})},[o,s]);return R.useLayoutEffect(()=>{a!=null&&(n.current===null?e(zle(a)):n.current!==a&&e(Ble({prev:n.current,next:a})),n.current=a)},[a,e]),R.useLayoutEffect(()=>()=>{n.current&&(e(Hle(n.current)),n.current=null)},[e]),null}function dde(t){var e=t.yAxisId,n=t.className,r=t.width,i=t.label,s=R.useRef(null),o=R.useRef(null),a=Bt(y4),l=Js(),c=Wr(),d="yAxis",f=Bt(_=>Vre(_,e)),m=Bt(_=>Hre(_,e)),y=Bt(_=>CB(_,d,e,l)),x=Bt(_=>$z(_,e));if(R.useLayoutEffect(()=>{if(!(r!=="auto"||!f||eR(i)||R.isValidElement(i)||x==null)){var _=s.current;if(_){var E=_.getCalculatedWidth();Math.round(f.width)!==Math.round(E)&&c(Vle({id:e,width:E}))}}},[y,f,c,i,e,r,x]),f==null||m==null||x==null)return null;t.dangerouslySetInnerHTML,t.ticks,t.scale;var S=FC(t,ide);x.id,x.scale;var w=FC(x,sde);return R.createElement(sR,UC({},S,w,{ref:s,labelRef:o,x:m.x,y:m.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:f.width,height:f.height,className:er("recharts-".concat(d," ").concat(d),n),viewBox:a,ticks:y,axisType:d,axisId:e}))}var fde={allowDataOverflow:ni.allowDataOverflow,allowDecimals:ni.allowDecimals,allowDuplicatedCategory:ni.allowDuplicatedCategory,angle:ni.angle,axisLine:Wc.axisLine,hide:!1,includeHidden:ni.includeHidden,interval:ni.interval,label:!1,minTickGap:ni.minTickGap,mirror:ni.mirror,orientation:ni.orientation,padding:ni.padding,reversed:ni.reversed,scale:ni.scale,tick:ni.tick,tickCount:ni.tickCount,tickLine:Wc.tickLine,tickSize:Wc.tickSize,type:ni.type,niceTicks:ni.niceTicks,width:ni.width,yAxisId:0},hde=t=>{var e=Jo(t,fde);return R.createElement(R.Fragment,null,R.createElement(ude,{interval:e.interval,id:e.yAxisId,scale:e.scale,type:e.type,domain:e.domain,allowDataOverflow:e.allowDataOverflow,dataKey:e.dataKey,allowDuplicatedCategory:e.allowDuplicatedCategory,allowDecimals:e.allowDecimals,tickCount:e.tickCount,padding:e.padding,includeHidden:e.includeHidden,reversed:e.reversed,ticks:e.ticks,width:e.width,orientation:e.orientation,mirror:e.mirror,hide:e.hide,unit:e.unit,name:e.name,angle:e.angle,minTickGap:e.minTickGap,tick:e.tick,tickFormatter:e.tickFormatter,niceTicks:e.niceTicks}),R.createElement(dde,e))},KH=R.memo(hde,XH);KH.displayName="YAxis";var pde=(t,e)=>e,cR=Oe([pde,fr,oz,_i,XB,ou,dse,Gi],yse);function mde(t){return"getBBox"in t.currentTarget&&typeof t.currentTarget.getBBox=="function"}function uR(t){var e=t.currentTarget.getBoundingClientRect(),n,r;if(mde(t)){var i=t.currentTarget.getBBox();n=i.width>0?e.width/i.width:1,r=i.height>0?e.height/i.height:1}else{var s=t.currentTarget;n=s.offsetWidth>0?e.width/s.offsetWidth:1,r=s.offsetHeight>0?e.height/s.offsetHeight:1}var o=(a,l)=>({relativeX:Math.round((a-e.left)/n),relativeY:Math.round((l-e.top)/r)});return"touches"in t?Array.from(t.touches).map(a=>o(a.clientX,a.clientY)):o(t.clientX,t.clientY)}var YH=Mo("mouseClick"),ZH=Xy();ZH.startListening({actionCreator:YH,effect:(t,e)=>{var n=t.payload,r=cR(e.getState(),uR(n));(r==null?void 0:r.activeIndex)!=null&&e.dispatch(iie({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var zC=Mo("mouseMove"),QH=Xy(),dm=null,Sf=null,$E=null;QH.startListening({actionCreator:zC,effect:(t,e)=>{var n=t.payload,r=e.getState(),i=r.eventSettings,s=i.throttleDelay,o=i.throttledEvents,a=o==="all"||(o==null?void 0:o.includes("mousemove"));dm!==null&&(cancelAnimationFrame(dm),dm=null),Sf!==null&&(typeof s!="number"||!a)&&(clearTimeout(Sf),Sf=null),$E=uR(n);var l=()=>{var c=e.getState(),d=ox(c,c.tooltip.settings.shared);if(!$E){dm=null,Sf=null;return}if(d==="axis"){var f=cR(c,$E);(f==null?void 0:f.activeIndex)!=null?e.dispatch(jB({activeIndex:f.activeIndex,activeDataKey:void 0,activeCoordinate:f.activeCoordinate})):e.dispatch(DB())}dm=null,Sf=null};if(!a){l();return}s==="raf"?dm=requestAnimationFrame(l):typeof s=="number"&&Sf===null&&(Sf=setTimeout(l,s))}});function gde(t,e){return e instanceof HTMLElement?"HTMLElement <".concat(e.tagName,' class="').concat(e.className,'">'):e===window?"global.window":t==="children"&&typeof e=="object"&&e!==null?"<>":e}var S3={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},JH=cs({name:"rootProps",initialState:S3,reducers:{updateOptions:(t,e)=>{var n;t.accessibilityLayer=e.payload.accessibilityLayer,t.barCategoryGap=e.payload.barCategoryGap,t.barGap=(n=e.payload.barGap)!==null&&n!==void 0?n:S3.barGap,t.barSize=e.payload.barSize,t.maxBarSize=e.payload.maxBarSize,t.stackOffset=e.payload.stackOffset,t.syncId=e.payload.syncId,t.syncMethod=e.payload.syncMethod,t.className=e.payload.className,t.baseValue=e.payload.baseValue,t.reverseStackOrder=e.payload.reverseStackOrder}}}),vde=JH.reducer,yde=JH.actions.updateOptions,xde=null,bde={updatePolarOptions:(t,e)=>t===null?e.payload:(t.startAngle=e.payload.startAngle,t.endAngle=e.payload.endAngle,t.cx=e.payload.cx,t.cy=e.payload.cy,t.innerRadius=e.payload.innerRadius,t.outerRadius=e.payload.outerRadius,t)},eV=cs({name:"polarOptions",initialState:xde,reducers:bde});eV.actions.updatePolarOptions;var _de=eV.reducer,tV=Mo("keyDown"),nV=Mo("focus"),rV=Mo("blur"),BS=Xy(),fm=null,Mf=null,Lb=null;BS.startListening({actionCreator:tV,effect:(t,e)=>{Lb=t.payload,fm!==null&&(cancelAnimationFrame(fm),fm=null);var n=e.getState(),r=n.eventSettings,i=r.throttleDelay,s=r.throttledEvents,o=s==="all"||s.includes("keydown");Mf!==null&&(typeof i!="number"||!o)&&(clearTimeout(Mf),Mf=null);var a=()=>{try{var l=e.getState(),c=l.rootProps.accessibilityLayer!==!1;if(!c)return;var d=l.tooltip.keyboardInteraction,f=Lb;if(f!=="ArrowRight"&&f!=="ArrowLeft"&&f!=="Enter")return;var m=$0(d,Lh(l),Rg(l),Ng(l)),y=m==null?-1:Number(m),x=!Number.isFinite(y)||y<0,S=ou(l),w=Lh(l),_=ox(l,l.tooltip.settings.shared);if(f==="Enter"){if(x)return;var E=Vw(l,_,"hover",String(d.index));e.dispatch(Hw({active:!d.active,activeIndex:d.index,activeCoordinate:E}));return}var T=qre(l),C=T==="left-to-right"?1:-1,O=f==="ArrowRight"?1:-1,N;if(x){var D=Rg(l),F=Ng(l),G=O*C,k=he=>({active:!1,index:String(he),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(N=-1,G>0){for(var U=0;U=0;H--)if($0(k(H),w,D,F)!=null){N=H;break}if(N<0)return}else{N=y+O*C;var ne=(S==null?void 0:S.length)||w.length;if(ne===0||N>=ne||N<0)return}var te=Vw(l,_,"hover",String(N));e.dispatch(Hw({active:!0,activeIndex:N.toString(),activeCoordinate:te}))}finally{fm=null,Mf=null}};if(!o){a();return}i==="raf"?fm=requestAnimationFrame(a):typeof i=="number"&&Mf===null&&(a(),Lb=null,Mf=setTimeout(()=>{Lb?a():(Mf=null,fm=null)},i))}});BS.startListening({actionCreator:nV,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var i=n.tooltip.keyboardInteraction;if(!i.active&&i.index==null){var s="0",o=ox(n,n.tooltip.settings.shared),a=Vw(n,o,"hover",String(s));e.dispatch(Hw({active:!0,activeIndex:s,activeCoordinate:a}))}}}});BS.startListening({actionCreator:rV,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var i=n.tooltip.keyboardInteraction;i.active&&e.dispatch(Hw({active:!1,activeIndex:i.index,activeCoordinate:i.coordinate}))}}});function iV(t){t.persist();var e=t.currentTarget;return new Proxy(t,{get:(n,r)=>{if(r==="currentTarget")return e;var i=Reflect.get(n,r);return typeof i=="function"?i.bind(n):i}})}var zo=Mo("externalEvent"),sV=Xy(),Db=new Map,p0=new Map,XE=new Map;sV.startListening({actionCreator:zo,effect:(t,e)=>{var n=t.payload,r=n.handler,i=n.reactEvent;if(r!=null){var s=i.type,o=iV(i);XE.set(s,{handler:r,reactEvent:o});var a=Db.get(s);a!==void 0&&(cancelAnimationFrame(a),Db.delete(s));var l=e.getState(),c=l.eventSettings,d=c.throttleDelay,f=c.throttledEvents,m=f,y=m==="all"||(m==null?void 0:m.includes(s)),x=p0.get(s);x!==void 0&&(typeof d!="number"||!y)&&(clearTimeout(x),p0.delete(s));var S=()=>{var E=XE.get(s);try{if(!E)return;var T=E.handler,C=E.reactEvent,O=e.getState(),N={activeCoordinate:Yie(O),activeDataKey:Xie(O),activeIndex:Sy(O),activeLabel:YB(O),activeTooltipIndex:Sy(O),isTooltipActive:Zie(O)};T&&T(N,C)}finally{Db.delete(s),p0.delete(s),XE.delete(s)}};if(!y){S();return}if(d==="raf"){var w=requestAnimationFrame(S);Db.set(s,w)}else if(typeof d=="number"){if(!p0.has(s)){S();var _=setTimeout(S,d);p0.set(s,_)}}else S()}}});var wde=Oe([Qg],t=>t.tooltipItemPayloads),Sde=Oe([wde,(t,e)=>e,(t,e,n)=>n],(t,e,n)=>{if(e!=null){var r=t.find(s=>s.settings.graphicalItemId===n);if(r!=null){var i=r.getPosition;if(i!=null)return i(e)}}}),oV=Mo("touchMove"),aV=Xy(),Ef=null,$u=null,M3=null,m0=null;aV.startListening({actionCreator:oV,effect:(t,e)=>{var n=t.payload;if(!(n.touches==null||n.touches.length===0)){m0=iV(n);var r=e.getState(),i=r.eventSettings,s=i.throttleDelay,o=i.throttledEvents,a=o==="all"||o.includes("touchmove");Ef!==null&&(cancelAnimationFrame(Ef),Ef=null),$u!==null&&(typeof s!="number"||!a)&&(clearTimeout($u),$u=null),M3=Array.from(n.touches).map(c=>uR({clientX:c.clientX,clientY:c.clientY,currentTarget:n.currentTarget}));var l=()=>{if(m0!=null){var c=e.getState(),d=ox(c,c.tooltip.settings.shared);if(d==="axis"){var f,m=(f=M3)===null||f===void 0?void 0:f[0];if(m==null){Ef=null,$u=null;return}var y=cR(c,m);(y==null?void 0:y.activeIndex)!=null&&e.dispatch(jB({activeIndex:y.activeIndex,activeDataKey:void 0,activeCoordinate:y.activeCoordinate}))}else if(d==="item"){var x,S=m0.touches[0];if(document.elementFromPoint==null||S==null)return;var w=document.elementFromPoint(S.clientX,S.clientY);if(!w||!w.getAttribute)return;var _=w.getAttribute(IY),E=(x=w.getAttribute(kY))!==null&&x!==void 0?x:void 0,T=Qh(c).find(N=>N.id===E);if(_==null||T==null||E==null)return;var C=T.dataKey,O=Sde(c,_,E);e.dispatch(rie({activeDataKey:C,activeIndex:_,activeCoordinate:O,activeGraphicalItemId:E}))}Ef=null,$u=null}};if(!a){l();return}s==="raf"?Ef=requestAnimationFrame(l):typeof s=="number"&&$u===null&&(l(),m0=null,$u=setTimeout(()=>{m0?l():($u=null,Ef=null)},s))}}});var lV={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},cV=cs({name:"eventSettings",initialState:lV,reducers:{setEventSettings:(t,e)=>{e.payload.throttleDelay!=null&&(t.throttleDelay=e.payload.throttleDelay),e.payload.throttledEvents!=null&&(t.throttledEvents=e.payload.throttledEvents)}}}),Mde=cV.actions.setEventSettings,Ede=cV.reducer,Ade=F5({brush:Jle,cartesianAxis:Gle,chartData:Kse,errorBars:aue,eventSettings:Ede,graphicalItems:_le,layout:gY,legend:RZ,options:Gse,polarAxis:kae,polarOptions:_de,referenceElements:rce,renderedTicks:Ece,rootProps:vde,tooltip:sie,zIndex:Nse}),Tde=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return BK({reducer:Ade,preloadedState:e,middleware:r=>{var i;return r({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([ZH.middleware,QH.middleware,BS.middleware,sV.middleware,aV.middleware])},enhancers:r=>{var i=r;return typeof r=="function"&&(i=r()),i.concat(e4({type:"raf"}))},devTools:{serialize:{replacer:gde},name:"recharts-".concat(n)}})};function Cde(t){var e=t.preloadedState,n=t.children,r=t.reduxStoreName,i=Js(),s=R.useRef(null);if(i)return n;s.current==null&&(s.current=Tde(e,r));var o=FP;return R.createElement($Z,{context:o,store:s.current},n)}function Pde(t){var e=t.layout,n=t.margin,r=Wr(),i=Js();return R.useEffect(()=>{i||(r(hY(e)),r(fY(n)))},[r,i,e,n]),null}var Rde=R.memo(Pde,_S);function Nde(t){var e=Wr();return R.useEffect(()=>{e(yde(t))},[e,t]),null}var Ide=t=>{var e=Wr();return R.useEffect(()=>{e(Mde(t))},[e,t]),null},kde=R.memo(Ide,_S);function E3(t){var e=t.zIndex,n=t.isPanorama,r=R.useRef(null),i=Wr();return R.useLayoutEffect(()=>(r.current&&i(Pse({zIndex:e,element:r.current,isPanorama:n})),()=>{i(Rse({zIndex:e,isPanorama:n}))}),[i,e,n]),R.createElement("g",{tabIndex:-1,ref:r,className:"recharts-zIndex-layer_".concat(e)})}function A3(t){var e=t.children,n=t.isPanorama,r=Bt(bse);if(!r||r.length===0)return e;var i=r.filter(o=>o<0),s=r.filter(o=>o>0);return R.createElement(R.Fragment,null,i.map(o=>R.createElement(E3,{key:o,zIndex:o,isPanorama:n})),e,s.map(o=>R.createElement(E3,{key:o,zIndex:o,isPanorama:n})))}var Ode=["children"];function Lde(t,e){if(t==null)return{};var n,r,i=Dde(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var n=S4(),r=M4(),i=O4();if(!Ll(n)||!Ll(r))return null;var s=t.children,o=t.otherAttributes,a=t.title,l=t.desc,c,d;return o!=null&&(typeof o.tabIndex=="number"?c=o.tabIndex:c=i?0:void 0,typeof o.role=="string"?d=o.role:d=i?"application":void 0),R.createElement(r5,Yw({},o,{title:a,desc:l,role:d,tabIndex:c,width:n,height:r,style:jde,ref:e}),s)}),Fde=t=>{var e=t.children,n=Bt(gS);if(!n)return null;var r=n.width,i=n.height,s=n.y,o=n.x;return R.createElement(r5,{width:r,height:i,x:o,y:s},e)},T3=R.forwardRef((t,e)=>{var n=t.children,r=Lde(t,Ode),i=Js();return i?R.createElement(Fde,null,R.createElement(A3,{isPanorama:!0},n)):R.createElement(Ude,Yw({ref:e},r),R.createElement(A3,{isPanorama:!1},n))});function zde(t,e){return Gde(t)||Vde(t,e)||Hde(t,e)||Bde()}function Bde(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hde(t,e){if(t){if(typeof t=="string")return C3(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C3(t,e):void 0}}function C3(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{if(r!=null){var o=r.getBoundingClientRect(),a=o.width/r.offsetWidth;wn(a)&&a!==s&&t(mY(a))}},[r,t,s]),i}function P3(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function $de(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n(ioe(),null);function Qw(t){if(typeof t=="number")return t;if(typeof t=="string"){var e=parseFloat(t);if(!Number.isNaN(e))return e}return 0}var tfe=R.forwardRef((t,e)=>{var n,r,i=R.useRef(null),s=R.useState({containerWidth:Qw((n=t.style)===null||n===void 0?void 0:n.width),containerHeight:Qw((r=t.style)===null||r===void 0?void 0:r.height)}),o=Zw(s,2),a=o[0],l=o[1],c=R.useCallback((f,m)=>{l(y=>{var x=Math.round(f),S=Math.round(m);return y.containerWidth===x&&y.containerHeight===S?y:{containerWidth:x,containerHeight:S}})},[]),d=R.useCallback(f=>{if(typeof e=="function"&&e(f),i.current!=null&&(i.current.disconnect(),i.current=null),f!=null&&typeof ResizeObserver<"u"){var m=f.getBoundingClientRect(),y=m.width,x=m.height;c(y,x);var S=_=>{var E=_[0];if(E!=null){var T=E.contentRect,C=T.width,O=T.height;c(C,O)}},w=new ResizeObserver(S);w.observe(f),i.current=w}},[e,c]);return R.useEffect(()=>()=>{var f=i.current;f!=null&&f.disconnect()},[c]),R.createElement(R.Fragment,null,R.createElement(Ky,{width:a.containerWidth,height:a.containerHeight}),R.createElement("div",Sd({ref:d},t)))}),nfe=R.forwardRef((t,e)=>{var n=t.width,r=t.height,i=R.useState({containerWidth:Qw(n),containerHeight:Qw(r)}),s=Zw(i,2),o=s[0],a=s[1],l=R.useCallback((d,f)=>{a(m=>{var y=Math.round(d),x=Math.round(f);return m.containerWidth===y&&m.containerHeight===x?m:{containerWidth:y,containerHeight:x}})},[]),c=R.useCallback(d=>{if(typeof e=="function"&&e(d),d!=null){var f=d.getBoundingClientRect(),m=f.width,y=f.height;l(m,y)}},[e,l]);return R.createElement(R.Fragment,null,R.createElement(Ky,{width:o.containerWidth,height:o.containerHeight}),R.createElement("div",Sd({ref:c},t)))}),rfe=R.forwardRef((t,e)=>{var n=t.width,r=t.height;return R.createElement(R.Fragment,null,R.createElement(Ky,{width:n,height:r}),R.createElement("div",Sd({ref:e},t)))}),ife=R.forwardRef((t,e)=>{var n=t.width,r=t.height;return typeof n=="string"||typeof r=="string"?R.createElement(nfe,Sd({},t,{ref:e})):typeof n=="number"&&typeof r=="number"?R.createElement(rfe,Sd({},t,{width:n,height:r,ref:e})):R.createElement(R.Fragment,null,R.createElement(Ky,{width:n,height:r}),R.createElement("div",Sd({ref:e},t)))});function sfe(t){return t?tfe:ife}var ofe=R.forwardRef((t,e)=>{var n=t.children,r=t.className,i=t.height,s=t.onClick,o=t.onContextMenu,a=t.onDoubleClick,l=t.onMouseDown,c=t.onMouseEnter,d=t.onMouseLeave,f=t.onMouseMove,m=t.onMouseUp,y=t.onTouchEnd,x=t.onTouchMove,S=t.onTouchStart,w=t.style,_=t.width,E=t.responsive,T=t.dispatchTouchEvents,C=T===void 0?!0:T,O=R.useRef(null),N=Wr(),D=R.useState(null),F=Zw(D,2),G=F[0],k=F[1],U=R.useState(null),H=Zw(U,2),ne=H[0],te=H[1],he=Wde(),se=$P(),fe=(se==null?void 0:se.width)>0?se.width:_,B=(se==null?void 0:se.height)>0?se.height:i,J=R.useCallback(je=>{he(je),typeof e=="function"&&e(je),k(je),te(je),je!=null&&(O.current=je)},[he,e,k,te]),Y=R.useCallback(je=>{N(YH(je)),N(zo({handler:s,reactEvent:je}))},[N,s]),V=R.useCallback(je=>{N(zC(je)),N(zo({handler:c,reactEvent:je}))},[N,c]),q=R.useCallback(je=>{N(DB()),N(zo({handler:d,reactEvent:je}))},[N,d]),pe=R.useCallback(je=>{N(zC(je)),N(zo({handler:f,reactEvent:je}))},[N,f]),ae=R.useCallback(()=>{N(nV())},[N]),le=R.useCallback(()=>{N(rV())},[N]),be=R.useCallback(je=>{N(tV(je.key))},[N]),Se=R.useCallback(je=>{N(zo({handler:o,reactEvent:je}))},[N,o]),qe=R.useCallback(je=>{N(zo({handler:a,reactEvent:je}))},[N,a]),Me=R.useCallback(je=>{N(zo({handler:l,reactEvent:je}))},[N,l]),$e=R.useCallback(je=>{N(zo({handler:m,reactEvent:je}))},[N,m]),Ke=R.useCallback(je=>{N(zo({handler:S,reactEvent:je}))},[N,S]),ce=R.useCallback(je=>{C&&N(oV(je)),N(zo({handler:x,reactEvent:je}))},[N,C,x]),Z=R.useCallback(je=>{N(zo({handler:y,reactEvent:je}))},[N,y]),We=sfe(E);return R.createElement(iH.Provider,{value:G},R.createElement(bX.Provider,{value:ne},R.createElement(We,{width:fe??(w==null?void 0:w.width),height:B??(w==null?void 0:w.height),className:er("recharts-wrapper",r),style:$de({position:"relative",cursor:"default",width:fe,height:B},w),onClick:Y,onContextMenu:Se,onDoubleClick:qe,onFocus:ae,onBlur:le,onKeyDown:be,onMouseDown:Me,onMouseEnter:V,onMouseLeave:q,onMouseMove:pe,onMouseUp:$e,onTouchEnd:Z,onTouchMove:ce,onTouchStart:Ke,ref:J},R.createElement(efe,null),n)))}),afe=["width","height","responsive","children","className","style","compact","title","desc"];function lfe(t,e){if(t==null)return{};var n,r,i=cfe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var n=t.width,r=t.height,i=t.responsive,s=t.children,o=t.className,a=t.style,l=t.compact,c=t.title,d=t.desc,f=lfe(t,afe),m=za(f);return l?R.createElement(R.Fragment,null,R.createElement(Ky,{width:n,height:r}),R.createElement(T3,{otherAttributes:m,title:c,desc:d},s)):R.createElement(ofe,{className:o,style:a,width:n,height:r,responsive:i??!1,onClick:t.onClick,onMouseLeave:t.onMouseLeave,onMouseEnter:t.onMouseEnter,onMouseMove:t.onMouseMove,onMouseDown:t.onMouseDown,onMouseUp:t.onMouseUp,onContextMenu:t.onContextMenu,onDoubleClick:t.onDoubleClick,onTouchStart:t.onTouchStart,onTouchMove:t.onTouchMove,onTouchEnd:t.onTouchEnd},R.createElement(T3,{otherAttributes:m,title:c,desc:d,ref:e},R.createElement(uce,null,s)))});function BC(){return BC=Object.assign?Object.assign.bind():function(t){for(var e=1;eR.createElement(vfe,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:yfe,tooltipPayloadSearcher:Hse,categoricalChartProps:t,ref:e}));const bfe="rgba(130,130,150,0.14)",I3="rgba(130,130,150,0.85)";function _fe(t){if(t<=0)return 10;const e=Math.pow(10,Math.floor(Math.log10(t))),n=t/e;return(n<=1?1:n<=2?2:n<=5?5:10)*e}function uV(t,e){return`${e==="%"?Math.round(t):t>=1e3?`${(t/1e3).toFixed(1)}k`:Math.round(t).toString()}${e}`}function wfe({active:t,payload:e,unit:n}){return!t||!(e!=null&&e.length)?null:g.jsx("div",{className:"rounded-lg border border-border/70 bg-popover/95 px-3 py-2 shadow-xl backdrop-blur",children:g.jsx("div",{className:"space-y-1",children:e.map(r=>g.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-mono",children:[g.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:r.color}}),g.jsx("span",{className:"uppercase tracking-wider text-muted-foreground",children:r.name}),g.jsx("span",{className:"ml-auto pl-3 font-bold tabular-nums text-foreground",children:uV(r.value,n)})]},r.dataKey))})})}function dV({data:t,series:e,unit:n="%",yMode:r="percent",height:i=176}){const s=t.reduce((a,l)=>e.reduce((c,d)=>Math.max(c,Number(l[d.key])||0),a),0),o=r==="percent"?Math.min(100,Math.max(25,Math.ceil(s*1.2/25)*25)):Math.max(_fe(s*1.15),10);return g.jsx("div",{style:{height:i},className:"w-full",children:g.jsx(fZ,{width:"100%",height:"100%",children:g.jsxs(xfe,{data:t,margin:{top:8,right:6,bottom:0,left:-12},children:[g.jsx("defs",{children:e.map(a=>g.jsxs("linearGradient",{id:`grad-${a.key}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[g.jsx("stop",{offset:"0%",stopColor:a.color,stopOpacity:.22}),g.jsx("stop",{offset:"100%",stopColor:a.color,stopOpacity:0})]},a.key))}),g.jsx(LH,{vertical:!1,stroke:bfe}),g.jsx(qH,{dataKey:"t",hide:!0}),g.jsx(KH,{domain:[0,o],ticks:[0,o/2,o],tickFormatter:a=>uV(a,n),width:42,axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:I3}}),g.jsx(voe,{content:g.jsx(wfe,{unit:n}),cursor:{stroke:I3,strokeOpacity:.4,strokeDasharray:"3 3"}}),e.map(a=>g.jsx($H,{type:"monotone",dataKey:a.key,name:a.label,stroke:a.color,strokeWidth:2,fill:`url(#grad-${a.key})`,dot:!1,activeDot:{r:3,strokeWidth:0},isAnimationActive:!1,connectNulls:!0},a.key))]})})})}const Sfe=[{key:"cpu",label:"CPU",color:"#2dd4bf"},{key:"ram",label:"RAM",color:"#38bdf8"},{key:"gpu",label:"GPU",color:"#a78bfa"},{key:"disk",label:"Disk",color:"#fbbf24"}];function Mfe(){var o,a,l,c;const{sys:t,hist:e}=cX(),n=!!(t!=null&&t.gpu&&t.gpu.busy_percent!=null&&t.gpu.gtt_used!=null&&t.gpu.gtt_total!=null),r=Sfe.filter(d=>d.key!=="gpu"||n),i={cpu:(o=t==null?void 0:t.cpu)==null?void 0:o.percent,ram:(a=t==null?void 0:t.ram)==null?void 0:a.percent,gpu:n?t.gpu.busy_percent:null,disk:(l=t==null?void 0:t.disk)==null?void 0:l.percent},s={cpu:(c=t==null?void 0:t.cpu)!=null&&c.cores?`${t.cpu.cores} Cores`:"",ram:t?`${sm(t.ram.used)}/${sm(t.ram.total)} GB`:"",gpu:n?`${sm(t.gpu.gtt_used)}/${sm(t.gpu.gtt_total)} GB`:"",disk:t!=null&&t.disk?`${sm(t.disk.used)}/${sm(t.disk.total)} GB`:""};return g.jsxs("div",{className:"flex flex-col justify-between rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[g.jsx(El,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"System-Status"}),g.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),t?g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"mb-2 grid grid-cols-2 gap-x-4 gap-y-1.5",children:r.map(d=>g.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:d.color}}),g.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:d.label}),g.jsxs("span",{className:"shrink-0 font-mono text-xs font-bold tabular-nums text-foreground",children:[Math.round(i[d.key]??0),"%"]}),s[d.key]&&g.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/60",children:s[d.key]})]},d.key))}),g.jsx(dV,{data:e,series:r,unit:"%",yMode:"percent",height:176})]}):g.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:"Lade Systemdaten…"})]}),(t==null?void 0:t.temp)&&(t.temp.cpu||t.temp.gpu)&&g.jsxs("div",{className:"mt-3 flex gap-4 border-t border-border/30 pt-3 font-mono text-xs text-muted-foreground/80",children:[t.temp.cpu!=null&&g.jsxs("span",{children:["CPU Temp: ",t.temp.cpu," °C"]}),t.temp.gpu!=null&&g.jsxs("span",{children:["GPU Temp: ",t.temp.gpu," °C"]})]})]})}function g0({label:t,value:e,tone:n}){return g.jsxs("div",{className:nt("flex items-center justify-between rounded-lg border px-3 py-1.5 text-xs",n==="alert"?"border-amber-500/30 bg-amber-500/5 font-semibold text-amber-400":n==="accent"?"border-primary/30 bg-primary/5 font-semibold text-primary":"border-border/30 bg-background/25 text-muted-foreground"),children:[g.jsx("span",{className:"flex items-center gap-1.5",children:t}),g.jsx("span",{className:"font-mono text-[10px]",children:e})]})}function Efe(){var n;const{data:t}=PP(3e3),e=()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"maintenance"}}));return g.jsxs("div",{className:"flex flex-col justify-between rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[g.jsxs("div",{className:"space-y-4",children:[g.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 border-b border-border/20 pb-2",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(n9,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Updates & Pflege"})]}),(t==null?void 0:t.last_check)&&g.jsxs("span",{className:"font-mono text-[9px] text-muted-foreground/80",children:["Zuletzt gesucht: ",new Date(t.last_check*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})]})]}),t?g.jsxs("div",{className:"space-y-1.5",children:[g.jsx(g0,{label:"OS-Pakete",tone:t.os>0?"alert":"muted",value:t.os>0?`${t.os} verfügbar`:"aktuell"}),g.jsx(g0,{label:"Inferenz-Engine (llama.cpp)",tone:t.engine>0?"alert":"muted",value:t.engine>0?"Update verfügbar":"aktuell"}),g.jsx(g0,{label:"Router (llama-swap)",tone:t.swap>0?"alert":"muted",value:t.swap>0?"Update verfügbar":"aktuell"}),g.jsx(g0,{label:"Modell-Upgrades",tone:t.models>0?"accent":"muted",value:t.models>0?`${t.models} verfügbar`:"aktuell"}),(n=t.components)==null?void 0:n.map(r=>g.jsx(g0,{tone:r.update===!0?"alert":"muted",label:g.jsxs(g.Fragment,{children:[r.name,r.reachable===!1&&g.jsx("span",{className:"text-[8px] font-bold uppercase text-red-400/80",children:"offline"})]}),value:r.update===!0?`Update: ${r.latest}`:r.update===!1?"aktuell":r.latest?`neueste: ${r.latest}`:"—"},r.key))]}):g.jsx("div",{className:"flex h-24 items-center justify-center text-xs text-muted-foreground",children:"Lade Updates..."})]}),g.jsxs("button",{onClick:e,className:"mt-4 flex h-9 w-full items-center justify-center gap-1.5 rounded-lg bg-primary text-xs font-semibold text-primary-foreground shadow-md shadow-primary/10 transition-all hover:opacity-90 cursor-pointer",children:["Updates verwalten & Pflege ",g.jsx(oF,{className:"h-3.5 w-3.5"})]})]})}function fV({type:t,title:e,message:n,defaultValue:r,autoValue:i,autoLabel:s,onConfirm:o,onCancel:a}){const l=R.useRef(null);return g.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:g.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:e}),g.jsx("button",{onClick:a||(()=>o()),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:n}),t==="prompt"&&g.jsxs("div",{className:"flex gap-2",children:[g.jsx("input",{ref:l,type:"text",defaultValue:r,className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground",autoFocus:!0,onKeyDown:c=>{var d;c.key==="Enter"&&o((d=l.current)==null?void 0:d.value)}}),i!==void 0&&g.jsx("button",{type:"button",onClick:()=>{l.current&&(l.current.value=i)},title:"Setup-bewussten Optimalwert eintragen",className:"h-9 px-3 shrink-0 text-xs font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg transition-colors cursor-pointer",children:s||"Auto"})]}),g.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(t==="confirm"||t==="prompt")&&g.jsx("button",{onClick:a,className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Abbrechen"}),g.jsx("button",{onClick:()=>{var d;const c=t==="prompt"?(d=l.current)==null?void 0:d.value:void 0;o(c)},className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-lg transition-colors cursor-pointer",children:t==="confirm"?"Ja, fortfahren":t==="prompt"?"Übernehmen":"OK"})]})]})})}function tv(){const[t,e]=R.useState(null),n=R.useCallback(()=>e(null),[]),r=R.useCallback((a,l,c)=>{e({type:"alert",title:a,message:l,onConfirm:()=>{e(null),c==null||c()}})},[]),i=R.useCallback((a,l,c,d)=>{e({type:"confirm",title:a,message:l,onConfirm:()=>{e(null),c()},onCancel:()=>{e(null),d==null||d()}})},[]),s=R.useCallback((a,l,c,d,f,m)=>{e({type:"prompt",title:a,message:l,defaultValue:c,autoValue:m==null?void 0:m.autoValue,autoLabel:m==null?void 0:m.autoLabel,onConfirm:y=>{e(null),d(y)},onCancel:()=>{e(null),f==null||f()}})},[]),o=t?g.jsx(fV,{...t}):null;return{showAlert:r,showConfirm:i,showPrompt:s,close:n,dialogElement:o}}function Afe(){const t=$h(),{data:e}=CP(3e3),{data:n}=qh(),{showAlert:r,dialogElement:i}=tv(),[s,o]=R.useState(!1),a=(n==null?void 0:n.models)??[];async function l(c){try{await Ft("/api/agent/brain",{method:"POST",body:JSON.stringify({model:c})}),r("Erfolgreich",`Hermes-Gehirn wurde auf '${c}' geändert. Der Gateway-Dienst wurde neu gestartet.`),t.invalidateQueries({queryKey:Lr.agentStatus}),o(!1)}catch(d){r("Fehler",`Fehler beim Wechseln des Gehirns: ${d.message}`)}}return g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15 flex flex-col justify-between",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center justify-between mb-4",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(Il,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Hermes Agent"})]}),(e==null?void 0:e.terminal_url)&&g.jsxs("a",{href:Mg(e.terminal_url),target:"_blank",rel:"noopener",className:nt("flex items-center gap-1 px-3 py-1 rounded-lg text-xs font-medium transition-all",e.terminal_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/20":"border border-border text-muted-foreground"),children:[g.jsx(bg,{className:"h-3 w-3"})," Terminal öffnen"]})]}),e?g.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[g.jsxs("div",{className:"p-3 bg-background/20 rounded-xl border border-border/40",children:[g.jsx("div",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Gateway"}),g.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[g.jsx("span",{className:nt("h-2 w-2 rounded-full",e.gateway_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),g.jsx("span",{className:"text-xs font-medium",children:e.gateway_reachable?"Online":"Offline"})]})]}),g.jsxs("div",{className:"p-3 bg-background/20 rounded-xl border border-border/40",children:[g.jsx("div",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Terminal"}),g.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[g.jsx("span",{className:nt("h-2 w-2 rounded-full",e.terminal_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),g.jsx("span",{className:"text-xs font-medium",children:e.terminal_reachable?"Online":"Offline"})]})]}),g.jsxs("div",{onClick:()=>o(!0),className:"p-3 bg-background/20 rounded-xl border border-border/40 hover:border-primary/45 hover:bg-background/30 transition-all duration-300 cursor-pointer",children:[g.jsxs("div",{className:"flex justify-between items-center",children:[g.jsx("span",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Gehirn"}),g.jsx(El,{className:"h-3 w-3 text-primary"})]}),g.jsxs("div",{className:"text-xs font-medium mt-1 font-mono text-primary truncate flex items-center gap-1",children:[g.jsx($1,{className:"h-3 w-3 shrink-0"}),e.brain_model||"auto"]})]}),g.jsxs("div",{className:"p-3 bg-background/20 rounded-xl border border-border/40",children:[g.jsxs("div",{className:"flex justify-between items-center",children:[g.jsx("span",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Verdrahtung"}),g.jsx(rw,{className:"h-3 w-3 text-primary"})]}),g.jsxs("div",{className:"text-[10px] font-mono mt-1 space-y-0.5 text-muted-foreground",children:[g.jsxs("div",{children:["Config: ",e.has_config?g.jsx("span",{className:"text-emerald-400",children:"✓"}):"—"]}),g.jsxs("div",{children:["Skills: ",e.has_skills?g.jsx("span",{className:"text-emerald-400",children:"✓"}):"—"]}),g.jsxs("div",{children:["Memory: ",e.has_memories?g.jsx("span",{className:"text-emerald-400",children:"✓"}):"—"]})]})]})]}):g.jsx("div",{className:"h-28 flex items-center justify-center text-xs text-muted-foreground",children:"Lade Agenten-Status…"})]}),e&&g.jsxs("div",{className:"mt-3 border-t border-border/30 pt-3 space-y-1.5",children:[g.jsxs("div",{className:"flex items-center justify-between text-[10px] text-muted-foreground",children:[g.jsx("span",{children:"Telegram"}),g.jsx("span",{className:nt("font-semibold",e.telegram_enabled?"text-emerald-400":""),children:e.telegram_enabled?"aktiv":"nicht konfiguriert"})]}),g.jsxs("div",{className:"flex items-center justify-between text-[10px] text-muted-foreground",children:[g.jsx("span",{children:"MCP-Server"}),g.jsxs("span",{className:"font-semibold text-foreground",children:[e.mcp_server_count??0," verbunden"]})]}),g.jsxs("div",{className:"flex items-center justify-between text-[10px] text-muted-foreground",children:[g.jsx("span",{children:"PC Executor"}),g.jsx("span",{className:nt("font-semibold",e.pc_executor_reachable?"text-emerald-400":""),children:e.pc_executor_reachable?"erreichbar":"nicht verbunden"})]})]}),e&&s&&g.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:g.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[g.jsx(El,{className:"h-4 w-4"}),g.jsx("span",{children:"Hermes-Gehirn konfigurieren"})]}),g.jsx("button",{onClick:()=>o(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed",children:['Das „Gehirn" ist das primäre LLM für Hermes. Wähle ein Modell aus deiner Bibliothek oder nutze ein Gateway-Alias (',g.jsx("code",{className:"text-primary font-semibold",children:"auto"})," / ",g.jsx("code",{className:"text-primary font-semibold",children:"fast"})," / ",g.jsx("code",{className:"text-primary font-semibold",children:"heavy"}),"):"]}),g.jsx("div",{className:"space-y-1.5 max-h-60 overflow-y-auto pr-1",children:["auto","fast","heavy",...a.map(c=>{var d;return((d=c.name.split("/").pop())==null?void 0:d.replace(".gguf",""))||c.name})].map(c=>{const d=["auto","fast","heavy"].includes(c);return g.jsxs("button",{onClick:()=>l(c),className:nt("w-full text-left px-3 py-2.5 rounded-lg text-xs hover:bg-accent flex items-center justify-between font-mono cursor-pointer border border-border/30",e.brain_model===c||!e.brain_model&&c==="auto"?"text-primary font-bold bg-primary/10 border-primary/30":"text-foreground bg-background/20"),children:[g.jsxs("div",{className:"flex flex-col text-left",children:[g.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:c}),g.jsx("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:d?"Gateway Routing Alias":"Installiertes GGUF Modell"})]}),(e.brain_model===c||!e.brain_model&&c==="auto")&&g.jsx(Go,{className:"h-4 w-4 shrink-0 text-primary"})]},c)})})]})}),i]})}function Tfe(){const{data:t}=qh(3e3),e=(t==null?void 0:t.models)??[],n=(t==null?void 0:t.running)??[];return g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15 flex flex-col justify-between",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[g.jsx($1,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Rollen-Belegung"})]}),g.jsx("div",{className:"space-y-2 max-h-48 overflow-y-auto pr-1 scrollbar-thin",children:QF.map(r=>{var o;const i=e.find(a=>a.role===r),s=i?n.includes(i.name):!1;return g.jsxs("div",{className:nt("flex items-center justify-between p-2 rounded-xl border transition-all duration-300",s?"border-emerald-500/30 bg-emerald-500/5 shadow-sm shadow-emerald-500/5":i?"border-primary/20 bg-primary/5":"border-border/30 bg-background/10 opacity-60"),children:[g.jsx("div",{className:"min-w-0 flex-1 mr-2",children:g.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[g.jsx("span",{className:nt("text-[9px] font-semibold uppercase px-1.5 py-0.5 rounded font-mono border tracking-wider shrink-0",NP(r)),children:r}),g.jsxs("div",{className:"flex flex-col min-w-0",children:[g.jsx("span",{className:"text-xs font-semibold truncate font-mono text-foreground",children:i?(o=i.name.split("/").pop())==null?void 0:o.replace(/\.gguf$/i,""):"nicht zugewiesen"}),i&&g.jsxs("div",{className:"flex gap-1 items-center mt-0.5 flex-wrap",children:[i.prompt_cache&&g.jsx("span",{className:"text-[7px] leading-none font-mono font-bold bg-cyan-500/10 text-cyan-400 border border-cyan-500/20 px-1 py-0.5 rounded",title:"Prompt Caching aktiv",children:"PC"}),i.spec_active&&g.jsx("span",{className:"text-[7px] leading-none font-mono font-bold bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 px-1 py-0.5 rounded",title:`Speculative Decoding aktiv (Draft: ${i.spec_draft_model})`,children:"SPEC"}),i.parallel_slots>1&&g.jsxs("span",{className:"text-[7px] leading-none font-mono font-bold bg-violet-500/10 text-violet-400 border border-violet-500/20 px-1 py-0.5 rounded",title:`${i.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",i.parallel_slots]}),i.incomplete&&g.jsx("span",{className:"text-[7px] leading-none font-mono font-bold bg-amber-500/10 text-amber-400 border border-amber-500/20 px-1 py-0.5 rounded",title:"GGUF-Datei fehlt",children:"⚠ fehlt"})]})]})]})}),g.jsx("div",{className:"flex items-center gap-1.5 shrink-0",children:i?s?g.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider font-mono",children:[g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," warm"]}):g.jsx("span",{className:"text-[8px] font-semibold text-muted-foreground uppercase tracking-wider font-mono",children:"bereit"}):g.jsx("span",{className:"text-[8px] font-semibold text-muted-foreground/60 uppercase tracking-wider font-mono",children:"—"})})]},r)})})]}),g.jsx("div",{className:"mt-4 text-[10px] text-muted-foreground/80 border-t border-border/30 pt-3",children:"Laden erfolgt automatisch per Auto-Swap."})]})}function Cfe(){const t=$h(),{data:e=[]}=HT({limit:3}),[n,r]=R.useState(""),[i,s]=R.useState("stable"),[o,a]=R.useState(!1);async function l(){if(!(!n.trim()||o)){a(!0);try{await Ft("/api/memory",{method:"POST",body:JSON.stringify({content:n,category:i,source:"dashboard"})}),r(""),t.invalidateQueries({queryKey:["memory"]})}catch(c){console.error(c)}finally{a(!1)}}}return g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15 flex flex-col justify-between",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[g.jsx(W1,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Gedächtnis"})]}),g.jsxs("div",{className:"space-y-3",children:[g.jsx("textarea",{value:n,onChange:c=>r(c.target.value),placeholder:"Fakt / Regel im Pool speichern...",rows:2,className:"w-full resize-none rounded-xl border border-border/50 bg-background/30 p-2 text-[10px] outline-none focus:ring-1 focus:ring-primary transition-all leading-normal"}),g.jsxs("div",{className:"flex items-center gap-2 justify-between",children:[g.jsxs("select",{value:i,onChange:c=>s(c.target.value),className:"h-7 rounded-lg border border-border/50 bg-background/50 px-2 text-[10px] outline-none cursor-pointer",children:[g.jsx("option",{value:"stable",children:"🔵 Fakt"}),g.jsx("option",{value:"instruction",children:"📋 Regel"}),g.jsx("option",{value:"user",children:"👤 User"}),g.jsx("option",{value:"versioned",children:"🟡 Version"})]}),g.jsxs("button",{onClick:l,disabled:!n.trim()||o,className:"flex h-7 items-center gap-1 rounded-lg bg-primary px-3 text-[10px] font-semibold text-primary-foreground hover:opacity-90 disabled:opacity-50 transition-all cursor-pointer",children:[g.jsx(OT,{className:"h-3.5 w-3.5"})," Speichern"]})]})]}),g.jsxs("div",{className:"mt-3.5 space-y-1.5",children:[g.jsx("div",{className:"text-[9px] text-muted-foreground uppercase font-bold tracking-wider",children:"Zuletzt gespeichert:"}),g.jsx("div",{className:"max-h-20 overflow-y-auto space-y-1 pr-1 scrollbar-thin",children:e.length===0?g.jsx("div",{className:"text-[10px] text-muted-foreground/75 py-1",children:"Keine Einträge vorhanden."}):e.map(c=>g.jsxs("div",{className:"text-[10px] bg-background/10 border border-border/30 rounded p-1.5 flex items-start gap-1.5",children:[g.jsx("span",{className:"shrink-0 text-[8px] font-mono text-muted-foreground/80 px-1 py-0.5 rounded bg-muted/20",children:c.category}),g.jsx("span",{className:"truncate flex-1 text-muted-foreground hover:text-foreground transition-colors",title:c.content,children:c.content})]},c.id))})]})]}),g.jsx("div",{className:"mt-4 text-[10px] text-muted-foreground/80 border-t border-border/30 pt-3",children:"Steht allen Clients per MCP zur Verfügung."})]})}const k3=[{key:"prompt",label:"Prompt",color:"#f59e0b"},{key:"completion",label:"Antwort",color:"#2dd4bf"}];function Pfe(){const{data:t}=TP(3e3),e=aX(),n=e[e.length-1],r=n?Math.round(n.prompt+n.completion):0;return g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[g.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(ay,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Token-Durchsatz"}),g.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),t&&g.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[g.jsx("span",{className:"font-space text-3xl font-bold tracking-tight text-foreground tabular-nums",children:r.toLocaleString("de-DE")}),g.jsx("span",{className:"text-xs text-muted-foreground",children:"tok/s aktuell"})]}),t&&g.jsxs("div",{className:"mt-0.5 space-y-0.5 font-mono text-[11px] text-muted-foreground/70",children:[g.jsxs("div",{children:[t.total_tokens.toLocaleString("de-DE")," Tokens gesamt · ",g.jsxs("span",{className:"text-emerald-400/90",children:[t.saved_eur.toLocaleString("de-DE",{minimumFractionDigits:2})," € gespart"]})]}),g.jsxs("div",{className:"text-muted-foreground/55",children:["Input ",t.prompt_tokens.toLocaleString("de-DE")," · Output ",t.completion_tokens.toLocaleString("de-DE")]})]})]}),g.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1.5 pt-1",children:k3.map(i=>g.jsxs("div",{className:"flex items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:i.color}}),g.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:i.label}),g.jsx("span",{className:"font-mono text-xs font-bold tabular-nums text-foreground",children:Math.round((n==null?void 0:n[i.key])??0)})]},i.key))})]}),t?g.jsx(dV,{data:e,series:k3,unit:" tok/s",yMode:"auto",height:150}):g.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:"Lade Durchsatz…"}),g.jsx("div",{className:"mt-2 border-t border-border/30 pt-2 text-[10px] text-muted-foreground/70",children:"Durchsatz aus dem Gateway abgeleitet (Prefill vs. Generierung). Flach bei Leerlauf."})]})}function Rfe(){const{data:t}=m7(3e3),{showAlert:e,dialogElement:n}=tv(),[r,i]=R.useState({});async function s(o){i(a=>({...a,[o]:!0}));try{const a=await Ft("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:o})});a.ok||e("Fehler",`Neustart fehlgeschlagen: ${a.err||"Unbekannt"}`)}catch(a){e("Fehler",`Fehler: ${a.message}`)}finally{i(a=>({...a,[o]:!1}))}}return g.jsxs("div",{className:"flex flex-col rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[g.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(nw,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Dienste"})]}),g.jsx("button",{onClick:()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"logs"}})),className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground transition-colors hover:text-primary cursor-pointer",children:"Logs / Pflege"})]}),t?g.jsxs("div",{className:"flex flex-1 flex-col",children:[g.jsx("div",{className:"space-y-1.5",children:t.services.map(o=>g.jsxs("div",{className:"group flex items-center justify-between gap-2 rounded-xl border border-border/30 bg-background/20 p-2.5",children:[g.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[g.jsx("span",{className:nt("h-2.5 w-2.5 shrink-0 rounded-full ring-2 ring-black/40",o.ok?"bg-emerald-500":"bg-amber-500")}),g.jsxs("div",{className:"min-w-0",children:[g.jsx("div",{className:"truncate text-xs font-bold text-foreground",children:o.name}),g.jsx("div",{className:"truncate font-mono text-[9px] text-muted-foreground/60",children:o.url})]})]}),g.jsx("button",{onClick:()=>s(o.name),disabled:r[o.name],className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground opacity-0 transition-all hover:bg-primary/5 hover:text-primary group-hover:opacity-100",title:"Dienst neu starten",children:g.jsx(Vm,{className:nt("h-3.5 w-3.5",r[o.name]&&"animate-spin")})})]},o.name))}),g.jsxs("div",{className:"mt-auto flex flex-wrap gap-3 border-t border-border/20 pt-2.5 text-[10px] font-semibold text-muted-foreground",children:[g.jsxs("a",{href:Mg(t.links.engine_ui),target:"_blank",rel:"noopener",className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-primary transition-colors hover:bg-primary/10",children:[g.jsx(bg,{className:"h-3 w-3"})," Engine"]}),g.jsxs("a",{href:Mg(t.links.gateway),target:"_blank",rel:"noopener",className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-primary transition-colors hover:bg-primary/10",children:[g.jsx(bg,{className:"h-3 w-3"})," Gateway"]})]})]}):g.jsx("div",{className:"flex h-24 items-center justify-center text-xs text-muted-foreground",children:"Lade Dienste…"}),n]})}function O3({children:t}){return g.jsx("p",{className:"mb-2 ml-0.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:t})}function Nfe(){return g.jsxs("div",{className:"space-y-7",children:[g.jsxs("div",{children:[g.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Zentrale"}),g.jsx("p",{className:"text-sm text-muted-foreground",children:"Aktueller Status von System, Modellen und Agent."})]}),g.jsxs("div",{className:"grid items-stretch gap-6 lg:grid-cols-3",children:[g.jsx(Mfe,{}),g.jsx(Pfe,{}),g.jsx(rX,{})]}),g.jsxs("section",{children:[g.jsx(O3,{children:"Stack-Status"}),g.jsxs("div",{className:"grid gap-6 md:grid-cols-2",children:[g.jsx(Tfe,{}),g.jsx(Rfe,{})]})]}),g.jsxs("section",{children:[g.jsx(O3,{children:"Betrieb & Wissen"}),g.jsxs("div",{className:"grid gap-6 md:grid-cols-3",children:[g.jsx(Efe,{}),g.jsx(Afe,{}),g.jsx(Cfe,{})]})]})]})}function Ife(){const t=$h(),{data:e=[]}=v7(2e3),{showAlert:n,dialogElement:r}=tv();async function i(a){try{await Ft(`/api/jobs/${a}/cancel`,{method:"POST"}),t.invalidateQueries({queryKey:Lr.jobs})}catch(l){n("Fehler",l.message)}}const s=e.filter(a=>a.state==="running"||a.state==="queued"),o=e.filter(a=>a.state!=="running"&&a.state!=="queued").slice(-3);return s.length===0&&o.length===0?null:g.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 shadow-lg shadow-black/10",children:[g.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Aktive Downloads"}),s.map(a=>g.jsxs("div",{className:"space-y-1.5 p-3 rounded-xl bg-background/20 border border-border/40",children:[g.jsxs("div",{className:"flex justify-between items-center text-xs",children:[g.jsx("span",{className:"font-semibold truncate max-w-[250px]",children:a.label}),g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsxs("span",{className:"text-muted-foreground font-mono",children:[a.progress??0,"% • ",VT(a.done_bytes),"/",VT(a.total_bytes),a.eta_s?` • ETA ${w7(a.eta_s)}`:""]}),g.jsx("button",{onClick:()=>i(a.id),className:"text-[10px] text-red-400 hover:text-red-300 font-semibold border border-red-500/25 bg-red-500/5 px-2 py-0.5 rounded transition-all cursor-pointer",children:"Abbrechen"})]})]}),g.jsx("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",children:g.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-500",style:{width:`${a.progress??0}%`}})})]},a.id)),o.map(a=>g.jsxs("div",{className:"flex justify-between items-center text-xs text-muted-foreground px-1",children:[g.jsx("span",{className:"truncate",children:a.label}),g.jsx("span",{className:nt("font-semibold text-[10px] px-1.5 py-0.5 rounded uppercase font-mono",a.state==="done"?"bg-emerald-500/10 text-emerald-400":"bg-amber-500/10 text-amber-400"),children:a.state})]},a.id)),r]})}function Af({children:t,tone:e="muted"}){const n={muted:"bg-muted text-muted-foreground",primary:"bg-primary/15 text-primary",warn:"bg-amber-500/15 text-amber-500"};return g.jsx("span",{className:`rounded px-1.5 py-0.5 text-[11px] font-medium ${n[e]}`,children:t})}function L3({caps:t}){return t?g.jsxs("span",{className:"inline-flex flex-wrap gap-1",children:[t.coder&&g.jsx(Af,{children:"💻 Code"}),t.vision&&g.jsx(Af,{children:"👁 Bild"}),t.reasoning&&g.jsx(Af,{children:"🧠 Reason"}),t.moe&&g.jsxs(Af,{tone:"primary",children:["🧩 MoE",t.active_b?`·${t.active_b}b`:""]}),t.tools==="yes"&&g.jsx(Af,{tone:"primary",children:"🛠 Tools"}),t.tools==="likely"&&g.jsx(Af,{tone:"warn",children:"🛠 Tools?"}),t.embedding&&g.jsx(Af,{children:"🔢 Embed"})]}):null}function kfe({model:t,onClose:e,onChanged:n}){var S,w;const{data:r,isLoading:i}=b7(t.gguf_path),[s,o]=R.useState(null),[a,l]=R.useState(""),c=r==null?void 0:r.target_vocab,d=(r==null?void 0:r.drafts)??[],f=d.filter(_=>_.compatible===!0),m=t.spec_draft_model;async function y(_){o(_??"__clear__"),l("");try{await Ft(`/api/models/${encodeURIComponent(t.name)}/draft`,{method:"POST",body:JSON.stringify({draft_path:_})}),n(),e()}catch(E){l(String((E==null?void 0:E.message)||E)),o(null)}}const x=_=>{var E;return _?`${_.pre??"?"} · ${((E=_.n_vocab)==null?void 0:E.toLocaleString())??"?"} Tokens`:"—"};return g.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:g.jsxs("div",{className:"w-full max-w-lg rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-2",children:[g.jsx(xh,{className:"h-4 w-4"})," Speculative Draft"]}),g.jsx("button",{onClick:e,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed",children:['Beschleunigt die Token-Generierung mit einem kleinen "Draft"-Modell. Voraussetzung: der Draft muss den ',g.jsx("strong",{className:"text-foreground",children:"exakt gleichen Tokenizer (Vocab)"})," haben wie das Modell — sonst lehnt llama.cpp es ab."]}),g.jsxs("div",{className:"rounded-lg border border-border/40 bg-background/30 px-3 py-2 text-[11px] font-mono flex items-center justify-between",children:[g.jsx("span",{className:"text-muted-foreground",children:(S=t.name.split("/").pop())==null?void 0:S.replace(/\.gguf$/i,"")}),g.jsxs("span",{className:"text-foreground",children:["Vocab: ",x(c)]})]}),t.spec_active&&m&&g.jsxs("div",{className:"rounded-lg border border-emerald-500/30 bg-emerald-500/5 px-3 py-2 flex items-center justify-between gap-2",children:[g.jsxs("span",{className:"text-[11px] text-emerald-400 font-mono flex items-center gap-1.5 truncate",children:[g.jsx(Go,{className:"h-3.5 w-3.5 shrink-0"})," Aktiv: ",m]}),g.jsx("button",{onClick:()=>y(null),disabled:s!==null,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Deaktivieren"})]}),!(r!=null&&r.target_exists)&&g.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 flex items-center gap-2",children:[g.jsx(_g,{className:"h-3.5 w-3.5 shrink-0"}),"Modell-GGUF noch nicht vorhanden — Spec-Draft ist nach dem Download konfigurierbar."]}),g.jsx("div",{className:"space-y-1.5 max-h-64 overflow-y-auto pr-1",children:i?g.jsx("div",{className:"text-xs text-muted-foreground py-6 text-center",children:"Prüfe Vocab-Kompatibilität…"}):d.length===0?g.jsxs("div",{className:"text-[11px] text-muted-foreground border border-dashed border-border/50 rounded-lg p-4 text-center",children:["Keine Draft-Modelle in ",g.jsx("code",{className:"font-mono",children:"/srv/models/drafts"}),". Lade ein kleines same-family-Modell (z.B. Qwen3-0.6B) und lege es dort ab."]}):d.map(_=>{var C,O;const E=_.filename===m,T=_.compatible===!0;return g.jsxs("div",{className:nt("rounded-lg border px-3 py-2 flex items-center justify-between gap-2 text-left",T?"border-border/40 bg-background/20":"border-border/20 bg-background/10 opacity-60",E&&"border-primary/40 bg-primary/10"),children:[g.jsxs("div",{className:"min-w-0",children:[g.jsx("div",{className:"text-[11px] font-mono font-semibold text-foreground truncate",children:_.filename}),g.jsxs("div",{className:"text-[9px] text-muted-foreground font-mono",children:[Bo(_.size_bytes)," · Vocab: ",x(_.vocab)]})]}),T?E?g.jsxs("span",{className:"text-[9px] font-bold uppercase text-primary flex items-center gap-1 shrink-0",children:[g.jsx(Go,{className:"h-3.5 w-3.5"})," Aktiv"]}):g.jsx("button",{onClick:()=>y(_.path),disabled:s!==null,className:"h-7 px-3 rounded-lg border border-emerald-500/30 bg-emerald-500/5 hover:bg-emerald-500/15 text-emerald-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Aktivieren"}):g.jsxs("span",{className:"text-[9px] font-bold uppercase text-amber-400/80 flex items-center gap-1 shrink-0",title:_.compatible===!1?`Inkompatibel: Tokenizer/Vocab weicht ab (Draft ${(C=_.vocab)==null?void 0:C.pre}/${(O=_.vocab)==null?void 0:O.n_vocab} ≠ Modell ${c==null?void 0:c.pre}/${c==null?void 0:c.n_vocab}).`:"Kompatibilität nicht prüfbar (Datei fehlt).",children:[g.jsx(_g,{className:"h-3.5 w-3.5"})," ",_.compatible===!1?"Vocab ≠":"n/a"]})]},_.path)})}),!i&&(r==null?void 0:r.target_exists)&&d.length>0&&f.length===0&&g.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 leading-relaxed",children:["Kein vocab-kompatibler Draft verfügbar — Speculative Decoding ist für dieses Modell nicht möglich. Es braucht einen Draft mit identischem Tokenizer (pre=",g.jsx("span",{className:"font-mono",children:c==null?void 0:c.pre}),", n_vocab=",g.jsx("span",{className:"font-mono",children:(w=c==null?void 0:c.n_vocab)==null?void 0:w.toLocaleString()}),")."]}),a&&g.jsx("div",{className:"text-[10px] text-red-400 font-mono",children:a})]})})}function Ofe(){var rt,dt,de,Ne,tt,jt,Lt,ct;const t=$h(),{data:e,isLoading:n,error:r}=qh(4e3),{data:i}=g7(4e3),{data:s}=WF(),{data:o}=PP(4e3),{data:a}=y7(),{data:l}=Q1(),{showAlert:c,showConfirm:d,showPrompt:f,dialogElement:m}=tv(),y=(e==null?void 0:e.models)??[],x=(e==null?void 0:e.running)??[],S=r?String(r):"",w=()=>{t.invalidateQueries({queryKey:Lr.models}),t.invalidateQueries({queryKey:Lr.routing})},[_,E]=R.useState(null),[T,C]=R.useState(null),[O,N]=R.useState(null),[D,F]=R.useState(null),[G,k]=R.useState(!1),[U,H]=R.useState(!1),[ne,te]=R.useState(null),[he,se]=R.useState("grid"),[fe,B]=R.useState("all"),J=y.filter(ue=>fe==="in_use"?!!ue.role||x.includes(ue.name):!0),[Y,V]=R.useState({width:800,height:360}),q=R.useRef(null),pe=R.useCallback(ue=>{if(q.current&&(q.current.disconnect(),q.current=null),ue){const Q=new ResizeObserver(Ae=>{if(!Ae||Ae.length===0)return;const re=Ae[0].contentRect;V({width:re.width,height:re.height})});Q.observe(ue),q.current=Q}},[]),ae=Y.width,le=Y.height,be=ue=>{const Q=ae*.1,Ae=le*ue,re=ae*.5,Fe=le*.5,Te=ae*.3,Le=Ae,Ye=ae*.3;return`M ${Q} ${Ae} C ${Te} ${Le}, ${Ye} ${Fe}, ${re} ${Fe}`},Se=ue=>{const Q=ae*.5,Ae=le*.5,re=ae*.9,Fe=le*ue,Te=ae*.7,Le=Ae,Ye=ae*.7;return`M ${Q} ${Ae} C ${Te} ${Le}, ${Ye} ${Fe}, ${re} ${Fe}`};async function qe(ue){try{await Ft(`/api/models/${encodeURIComponent(ue)}/load`,{method:"POST"}),w()}catch(Q){c("Fehler",`Fehler beim Laden des Modells: ${Q.message}`)}}async function Me(ue){try{await Ft(`/api/models/${encodeURIComponent(ue)}/unload`,{method:"POST"}),w()}catch(Q){c("Fehler",`Fehler beim Entladen des Modells: ${Q.message}`)}}async function $e(){try{await Ft("/api/models/unload",{method:"POST"}),w()}catch(ue){c("Fehler",`Fehler beim Entladen aller Modelle: ${ue.message}`)}}async function Ke(ue,Q){try{await Ft(`/api/models/${encodeURIComponent(Q)}/role`,{method:"POST",body:JSON.stringify({role:ue||null})}),w()}catch(Ae){c("Fehler",`Fehler beim Zuweisen der Rolle: ${Ae.message||Ae}`)}}function ce(ue){C(ue),N(null),Ft(`/api/roles/${encodeURIComponent(ue)}/recommend`).then(Q=>N(Q)).catch(()=>{})}async function Z(ue,Q){let Ae=null;try{Ae=await Ft(`/api/models/${encodeURIComponent(ue)}/ctx/auto`)}catch{}const re=Ae?`Optimal für dein Setup: ${(Ae.ctx/1024).toFixed(0)}k (${Ae.ctx}) — GTT ${Ae.gtt_gb} GB − reserviert ${Ae.reserved_gb} GB (${Ae.mode}) → ${Ae.budget_gb} GB frei. »Auto« trägt diesen Wert ein.`:"Gib die gewünschte Kontextlänge in Tokens an:";f("Kontextlänge anpassen",re,String(Q||32768),async Fe=>{if(Fe)try{await Ft(`/api/models/${encodeURIComponent(ue)}/ctx`,{method:"POST",body:JSON.stringify({ctx:parseInt(Fe,10)})}),w()}catch(Te){c("Fehler",`Fehler beim Setzen des Kontexts: ${Te.message||Te}`)}},void 0,Ae?{autoValue:String(Ae.ctx),autoLabel:`Auto (${(Ae.ctx/1024).toFixed(0)}k)`}:void 0)}async function We(ue){d("Modell löschen?",`Modell '${ue}' und alle zugehörigen GGUF-Dateien unwiderruflich von der Box löschen?`,async()=>{try{await Ft(`/api/models/${encodeURIComponent(ue)}`,{method:"DELETE"}),w()}catch(Q){c("Fehler",`Fehler beim Löschen: ${Q.message||Q}`)}})}async function je(ue,Q,Ae,re){try{await Ft("/api/models/install",{method:"POST",body:JSON.stringify({repo:ue,role:Q,quant:Ae,jinja:re})}),c("Herunterladen gestartet",`Download für '${ue}' gestartet! Der Fortschritt wird oben angezeigt.`)}catch(Fe){c("Fehler",`Fehler beim Starten des Upgrades: ${Fe.message||Fe}`)}}async function Xe(ue){const Q=a==null?void 0:a.budget,Ae=Q&&!Q.fits?` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ule(t,e){if(t){if(typeof t=="string")return n3(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?n3(t,e):void 0}}function n3(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{var t=R.useState(()=>uy("uid-")),e=lle(t,1),n=e[0];return n},EH=(VE=G1.useId)!==null&&VE!==void 0?VE:hle;function ple(t,e){var n=EH();return e||(t?"".concat(t,"-").concat(n):n)}var mle=R.createContext(void 0),gle=t=>{var e=t.id,n=t.type,r=t.children,i=ple("recharts-".concat(n),e);return R.createElement(mle.Provider,{value:i},r(i))},vle={cartesianItems:[],polarItems:[]},AH=cs({name:"graphicalItems",initialState:vle,reducers:{addCartesianGraphicalItem:{reducer(t,e){t.cartesianItems.push(e.payload)},prepare:sr()},replaceCartesianGraphicalItem:{reducer(t,e){var n=e.payload,r=n.prev,i=n.next,s=$o(t).cartesianItems.indexOf(r);s>-1&&(t.cartesianItems[s]=i)},prepare:sr()},removeCartesianGraphicalItem:{reducer(t,e){var n=$o(t).cartesianItems.indexOf(e.payload);n>-1&&t.cartesianItems.splice(n,1)},prepare:sr()},addPolarGraphicalItem:{reducer(t,e){t.polarItems.push(e.payload)},prepare:sr()},removePolarGraphicalItem:{reducer(t,e){var n=$o(t).polarItems.indexOf(e.payload);n>-1&&t.polarItems.splice(n,1)},prepare:sr()},replacePolarGraphicalItem:{reducer(t,e){var n=e.payload,r=n.prev,i=n.next,s=$o(t).polarItems.indexOf(r);s>-1&&(t.polarItems[s]=i)},prepare:sr()}}}),Jg=AH.actions,yle=Jg.addCartesianGraphicalItem,xle=Jg.replaceCartesianGraphicalItem,ble=Jg.removeCartesianGraphicalItem;Jg.addPolarGraphicalItem;Jg.removePolarGraphicalItem;Jg.replacePolarGraphicalItem;var _le=AH.reducer,wle=t=>{var e=Wr(),n=R.useRef(null);return R.useLayoutEffect(()=>{n.current===null?e(yle(t)):n.current!==t&&e(xle({prev:n.current,next:t})),n.current=t},[e,t]),R.useLayoutEffect(()=>()=>{n.current&&(e(ble(n.current)),n.current=null)},[e]),null},Sle=R.memo(wle),Mle=["points"];function r3(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function GE(t){for(var e=1;e{var _,E,T=GE(GE(GE({r:3},o),m),{},{index:w,cx:(_=S.x)!==null&&_!==void 0?_:void 0,cy:(E=S.y)!==null&&E!==void 0?E:void 0,dataKey:s,value:S.value,payload:S.payload,points:e});return R.createElement(Rle,{key:"dot-".concat(w),option:n,dotProps:T,className:i})}),x={};return a&&l!=null&&(x.clipPath="url(#clipPath-".concat(f?"":"dots-").concat(l,")")),R.createElement(au,{zIndex:d},R.createElement(Yo,$w({className:r},x),y))}function i3(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function s3(t){for(var e=1;e({top:t.top,bottom:t.bottom,left:t.left,right:t.right})),$le=ke([Wle,tu,nu],(t,e,n)=>{if(!(!t||e==null||n==null))return{x:t.left,y:t.top,width:Math.max(0,e-t.left-t.right),height:Math.max(0,n-t.top-t.bottom)}}),rR=()=>zt($le),Xle=()=>zt(Jie);function o3(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function WE(t){for(var e=1;e{var e=t.point,n=t.childIndex,r=t.mainColor,i=t.activeDot,s=t.dataKey,o=t.clipPath;if(i===!1||e.x==null||e.y==null)return null;var a={index:n,dataKey:s,cx:e.x,cy:e.y,r:4,fill:r??"none",strokeWidth:2,stroke:"#fff",payload:e.payload,value:e.value},l=WE(WE(WE({},a),J1(i)),jP(i)),c;return R.isValidElement(i)?c=R.cloneElement(i,l):typeof i=="function"?c=i(l):c=R.createElement(bH,l),R.createElement(Yo,{className:"recharts-active-dot",clipPath:o},c)};function a3(t){var e=t.points,n=t.mainColor,r=t.activeDot,i=t.itemDataKey,s=t.clipPath,o=t.zIndex,a=o===void 0?Ms.activeDot:o,l=zt(Sy),c=Xle();if(e==null||c==null)return null;var d=e.find(f=>c.includes(f.payload));return Hi(d)?null:R.createElement(au,{zIndex:a},R.createElement(Zle,{point:d,childIndex:Number(l),mainColor:n,dataKey:i,activeDot:r,clipPath:s}))}var Qle=t=>{var e=t.chartData,n=Wr(),r=Js();return R.useEffect(()=>r?()=>{}:(n(PL(e)),()=>{n(PL(void 0))}),[e,n,r]),null},l3={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},PH=cs({name:"brush",initialState:l3,reducers:{setBrushSettings(t,e){return e.payload==null?l3:e.payload}}});PH.actions.setBrushSettings;var Jle=PH.reducer;function ece(t){return(t%180+180)%180}var tce=function(e){var n=e.width,r=e.height,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,s=ece(i),o=s*Math.PI/180,a=Math.atan(r/n),l=o>a&&o{t.dots.push(e.payload)},removeDot:(t,e)=>{var n=$o(t).dots.findIndex(r=>r===e.payload);n!==-1&&t.dots.splice(n,1)},addArea:(t,e)=>{t.areas.push(e.payload)},removeArea:(t,e)=>{var n=$o(t).areas.findIndex(r=>r===e.payload);n!==-1&&t.areas.splice(n,1)},addLine:(t,e)=>{t.lines.push(e.payload)},removeLine:(t,e)=>{var n=$o(t).lines.findIndex(r=>r===e.payload);n!==-1&&t.lines.splice(n,1)}}}),ev=RH.actions;ev.addDot;ev.removeDot;ev.addArea;ev.removeArea;ev.addLine;ev.removeLine;var rce=RH.reducer;function ice(t,e){return lce(t)||ace(t,e)||oce(t,e)||sce()}function sce(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function oce(t,e){if(t){if(typeof t=="string")return c3(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?c3(t,e):void 0}}function c3(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{var e=t.children,n=R.useState("".concat(uy("recharts"),"-clip")),r=ice(n,1),i=r[0],s=rR();if(s==null)return null;var o=s.x,a=s.y,l=s.width,c=s.height;return R.createElement(cce.Provider,{value:i},R.createElement("defs",null,R.createElement("clipPath",{id:i},R.createElement("rect",{x:o,y:a,height:c,width:l}))),e)};function NH(t,e){if(e<1)return[];if(e===1)return t;for(var n=[],r=0;rt*i)return!1;var s=n();return t*(e-t*s/2-r)>=0&&t*(e+t*s/2-i)<=0}function hce(t,e){return NH(t,e+1)}function pce(t,e,n,r,i){for(var s=(r||[]).slice(),o=e.start,a=e.end,l=0,c=1,d=o,f=function(){var x=r==null?void 0:r[l];if(x===void 0)return{v:NH(r,c)};var S=l,w,_=()=>(w===void 0&&(w=n(x,S)),w),E=x.coordinate,T=l===0||Ey(t,E,_,d,a);T||(l=0,d=o,c+=1),T&&(d=E+t*(_()/2+i),l+=c)},m;c<=s.length;)if(m=f(),m)return m.v;return[]}function mce(t,e,n,r,i){var s=(r||[]).slice(),o=s.length;if(o===0)return[];for(var a=e.start,l=e.end,c=1;c<=o;c++){for(var d=(o-1)%c,f=a,m=!0,y=function(){var C=r[S];if(C==null)return 0;var O=S,N,D=()=>(N===void 0&&(N=n(C,O)),N),F=C.coordinate,G=S===d||Ey(t,F,D,f,l);if(!G)return m=!1,1;G&&(f=F+t*(D()/2+i))},x,S=d;S(S===void 0&&(S=n(y,m)),S);if(m===o-1){var _=t*(x.coordinate+t*w()/2-l);s[m]=x=ns(ns({},x),{},{tickCoord:_>0?x.coordinate-_*t:x.coordinate})}else s[m]=x=ns(ns({},x),{},{tickCoord:x.coordinate});if(x.tickCoord!=null){var E=Ey(t,x.tickCoord,w,a,l);E&&(l=x.tickCoord-t*(w()/2+i),s[m]=ns(ns({},x),{},{isShow:!0}))}},d=o-1;d>=0;d--)c(d);return s}function bce(t,e,n,r,i,s){var o=(r||[]).slice(),a=o.length,l=e.start,c=e.end;if(s){var d=r[a-1];if(d!=null){var f=n(d,a-1),m=t*(d.coordinate+t*f/2-c);if(o[a-1]=d=ns(ns({},d),{},{tickCoord:m>0?d.coordinate-m*t:d.coordinate}),d.tickCoord!=null){var y=Ey(t,d.tickCoord,()=>f,l,c);y&&(c=d.tickCoord-t*(f/2+i),o[a-1]=ns(ns({},d),{},{isShow:!0}))}}}for(var x=s?a-1:a,S=function(E){var T=o[E];if(T==null)return 1;var C=T,O,N=()=>(O===void 0&&(O=n(T,E)),O);if(E===0){var D=t*(C.coordinate-t*N()/2-l);o[E]=C=ns(ns({},C),{},{tickCoord:D<0?C.coordinate-D*t:C.coordinate})}else o[E]=C=ns(ns({},C),{},{tickCoord:C.coordinate});if(C.tickCoord!=null){var F=Ey(t,C.tickCoord,N,l,c);F&&(l=C.tickCoord+t*(N()/2+i),o[E]=ns(ns({},C),{},{isShow:!0}))}},w=0;w{var D=typeof c=="function"?c(O.value,N):O.value;return x==="width"?dce(X0(D,{fontSize:e,letterSpacing:n}),S,f):X0(D,{fontSize:e,letterSpacing:n})[x]},_=i[0],E=i[1],T=i.length>=2&&_!=null&&E!=null?Wo(E.coordinate-_.coordinate):1,C=fce(s,T,x);return l==="equidistantPreserveStart"?pce(T,C,w,i,o):l==="equidistantPreserveEnd"?mce(T,C,w,i,o):(l==="preserveStart"||l==="preserveStartEnd"?y=bce(T,C,w,i,o,l==="preserveStartEnd"):y=xce(T,C,w,i,o),y.filter(O=>O.isShow))}var _ce=t=>{var e=t.ticks,n=t.label,r=t.labelGapWithTick,i=r,s=t.tickSize,o=s===void 0?0:s,a=t.tickMargin,l=a===void 0?0:a,c=0;if(e){Array.from(e).forEach(y=>{if(y){var x=y.getBoundingClientRect();x.width>c&&(c=x.width)}});var d=n?n.getBoundingClientRect().width:0,f=o+l,m=c+f+d+(n?i:0);return Math.round(m)}return 0},wce={xAxis:{},yAxis:{}},IH=cs({name:"renderedTicks",initialState:wce,reducers:{setRenderedTicks:(t,e)=>{var n=e.payload,r=n.axisType,i=n.axisId,s=n.ticks;t[r][i]=s},removeRenderedTicks:(t,e)=>{var n=e.payload,r=n.axisType,i=n.axisId;delete t[r][i]}}}),kH=IH.actions,Sce=kH.setRenderedTicks,Mce=kH.removeRenderedTicks,Ece=IH.reducer,Ace=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function d3(t,e){return Rce(t)||Pce(t,e)||Cce(t,e)||Tce()}function Tce(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Cce(t,e){if(t){if(typeof t=="string")return f3(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?f3(t,e):void 0}}function f3(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{if(r==null||n==null)return Vg;var s=e.map(o=>({value:o.value,coordinate:o.coordinate,offset:o.offset,index:o.index}));return i(Sce({ticks:s,axisId:r,axisType:n})),()=>{i(Mce({axisId:r,axisType:n}))}},[i,e,r,n]),null}var Hce=R.forwardRef((t,e)=>{var n=t.ticks,r=n===void 0?[]:n,i=t.tick,s=t.tickLine,o=t.stroke,a=t.tickFormatter,l=t.unit,c=t.padding,d=t.tickTextProps,f=t.orientation,m=t.mirror,y=t.x,x=t.y,S=t.width,w=t.height,_=t.tickSize,E=t.tickMargin,T=t.fontSize,C=t.letterSpacing,O=t.getTicksConfig,N=t.events,D=t.axisType,F=t.axisId,G=iR(Er(Er({},O),{},{ticks:r}),T,C),k=za(O),U=J1(i),H=fH(k.textAnchor)?k.textAnchor:Uce(f,m),ne=Fce(f,m),te={};typeof s=="object"&&(te=s);var he=Er(Er({},k),{},{fill:"none"},te),oe=G.map(J=>Er({entry:J},jce(J,y,x,S,w,f,_,m,E))),fe=oe.map(J=>{var Y=J.entry,V=J.line;return R.createElement(Yo,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(Y.value,"-").concat(Y.coordinate,"-").concat(Y.tickCoord)},s&&R.createElement("line",jh({},he,V,{className:er("recharts-cartesian-axis-tick-line",Yh(s,"className"))})))}),B=oe.map((J,Y)=>{var V,q,pe=J.entry,le=J.tick,ce=Er(Er(Er(Er({verticalAnchor:ne},k),{},{textAnchor:H,stroke:"none",fill:o},le),{},{index:Y,payload:pe,visibleTicksCount:G.length,tickFormatter:a,padding:c},d),{},{angle:(V=(q=d==null?void 0:d.angle)!==null&&q!==void 0?q:k.angle)!==null&&V!==void 0?V:0}),be=Er(Er({},ce),U);return R.createElement(Yo,jh({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(pe.value,"-").concat(pe.coordinate,"-").concat(pe.tickCoord)},$X(N,pe,Y)),i&&R.createElement(zce,{option:i,tickProps:be,value:"".concat(typeof a=="function"?a(pe.value,Y):pe.value).concat(l||"")}))});return R.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(D,"-ticks")},R.createElement(Bce,{ticks:G,axisId:F,axisType:D}),B.length>0&&R.createElement(au,{zIndex:Ms.label},R.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(D,"-tick-labels"),ref:e},B)),fe.length>0&&R.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(D,"-tick-lines")},fe))}),Vce=R.forwardRef((t,e)=>{var n=t.axisLine,r=t.width,i=t.height,s=t.className,o=t.hide,a=t.ticks,l=t.axisType,c=t.axisId,d=Nce(t,Ace),f=R.useState(""),m=d3(f,2),y=m[0],x=m[1],S=R.useState(""),w=d3(S,2),_=w[0],E=w[1],T=R.useRef(null);R.useImperativeHandle(e,()=>({getCalculatedWidth:()=>{var O;return _ce({ticks:T.current,label:(O=t.labelRef)===null||O===void 0?void 0:O.current,labelGapWithTick:5,tickSize:t.tickSize,tickMargin:t.tickMargin})}}));var C=R.useCallback(O=>{if(O){var N=O.getElementsByClassName("recharts-cartesian-axis-tick-value");T.current=N;var D=N[0];if(D){var F=window.getComputedStyle(D),G=F.fontSize,k=F.letterSpacing;(G!==y||k!==_)&&(x(G),E(k))}}},[y,_]);return o||r!=null&&r<=0||i!=null&&i<=0?null:R.createElement(au,{zIndex:t.zIndex},R.createElement(Yo,{className:er("recharts-cartesian-axis",s)},R.createElement(Dce,{x:t.x,y:t.y,width:r,height:i,orientation:t.orientation,mirror:t.mirror,axisLine:n,otherSvgProps:za(t)}),R.createElement(Hce,{ref:C,axisType:l,events:d,fontSize:y,getTicksConfig:t,height:t.height,letterSpacing:_,mirror:t.mirror,orientation:t.orientation,padding:t.padding,stroke:t.stroke,tick:t.tick,tickFormatter:t.tickFormatter,tickLine:t.tickLine,tickMargin:t.tickMargin,tickSize:t.tickSize,tickTextProps:t.tickTextProps,ticks:a,unit:t.unit,width:t.width,x:t.x,y:t.y,axisId:c}),R.createElement(hae,{x:t.x,y:t.y,width:t.width,height:t.height,lowerWidth:t.width,upperWidth:t.width},R.createElement(Sae,{label:t.label,labelRef:t.labelRef}),t.children)))}),sR=R.forwardRef((t,e)=>{var n=Jo(t,Wc);return R.createElement(Vce,jh({},n,{ref:e}))});sR.displayName="CartesianAxis";var Gce=["x1","y1","x2","y2","key"],Wce=["offset"],$ce=["xAxisId","yAxisId"],Xce=["xAxisId","yAxisId"];function p3(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function rs(t){for(var e=1;e{var e=t.fill;if(!e||e==="none")return null;var n=t.fillOpacity,r=t.x,i=t.y,s=t.width,o=t.height,a=t.ry;return R.createElement("rect",{x:r,y:i,ry:a,width:s,height:o,stroke:"none",fill:e,fillOpacity:n,className:"recharts-cartesian-grid-bg"})};function OH(t){var e=t.option,n=t.lineItemProps,r;if(R.isValidElement(e))r=R.cloneElement(e,n);else if(typeof e=="function")r=e(n);else{var i,s=n.x1,o=n.y1,a=n.x2,l=n.y2,c=n.key,d=Xw(n,Gce),f=(i=za(d))!==null&&i!==void 0?i:{};f.offset;var m=Xw(f,Wce);r=R.createElement("line",ih({},m,{x1:s,y1:o,x2:a,y2:l,fill:"none",key:c}))}return r}function Jce(t){var e=t.x,n=t.width,r=t.horizontal,i=r===void 0?!0:r,s=t.horizontalPoints;if(!i||!s||!s.length)return null;t.xAxisId,t.yAxisId;var o=Xw(t,$ce),a=s.map((l,c)=>{var d=rs(rs({},o),{},{x1:e,y1:l,x2:e+n,y2:l,key:"line-".concat(c),index:c});return R.createElement(OH,{key:"line-".concat(c),option:i,lineItemProps:d})});return R.createElement("g",{className:"recharts-cartesian-grid-horizontal"},a)}function eue(t){var e=t.y,n=t.height,r=t.vertical,i=r===void 0?!0:r,s=t.verticalPoints;if(!i||!s||!s.length)return null;t.xAxisId,t.yAxisId;var o=Xw(t,Xce),a=s.map((l,c)=>{var d=rs(rs({},o),{},{x1:l,y1:e,x2:l,y2:e+n,key:"line-".concat(c),index:c});return R.createElement(OH,{option:i,lineItemProps:d,key:"line-".concat(c)})});return R.createElement("g",{className:"recharts-cartesian-grid-vertical"},a)}function tue(t){var e=t.horizontalFill,n=t.fillOpacity,r=t.x,i=t.y,s=t.width,o=t.height,a=t.horizontalPoints,l=t.horizontal,c=l===void 0?!0:l;if(!c||!e||!e.length||a==null)return null;var d=a.map(m=>Math.round(m+i-i)).sort((m,y)=>m-y);i!==d[0]&&d.unshift(0);var f=d.map((m,y)=>{var x=d[y+1],S=x==null,w=S?i+o-m:x-m;if(w<=0)return null;var _=y%e.length;return R.createElement("rect",{key:"react-".concat(y),y:m,x:r,height:w,width:s,stroke:"none",fill:e[_],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return R.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},f)}function nue(t){var e=t.vertical,n=e===void 0?!0:e,r=t.verticalFill,i=t.fillOpacity,s=t.x,o=t.y,a=t.width,l=t.height,c=t.verticalPoints;if(!n||!r||!r.length)return null;var d=c.map(m=>Math.round(m+s-s)).sort((m,y)=>m-y);s!==d[0]&&d.unshift(0);var f=d.map((m,y)=>{var x=d[y+1],S=x==null,w=S?s+a-m:x-m;if(w<=0)return null;var _=y%r.length;return R.createElement("rect",{key:"react-".concat(y),x:m,y:o,width:w,height:l,stroke:"none",fill:r[_],fillOpacity:i,className:"recharts-cartesian-grid-bg"})});return R.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},f)}var rue=(t,e)=>{var n=t.xAxis,r=t.width,i=t.height,s=t.offset;return p4(iR(rs(rs(rs({},Wc),n),{},{ticks:m4(n),viewBox:{x:0,y:0,width:r,height:i}})),s.left,s.left+s.width,e)},iue=(t,e)=>{var n=t.yAxis,r=t.width,i=t.height,s=t.offset;return p4(iR(rs(rs(rs({},Wc),n),{},{ticks:m4(n),viewBox:{x:0,y:0,width:r,height:i}})),s.top,s.top+s.height,e)},sue={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:Ms.grid};function LH(t){var e=S4(),n=M4(),r=w4(),i=rs(rs({},Jo(t,sue)),{},{x:kt(t.x)?t.x:r.left,y:kt(t.y)?t.y:r.top,width:kt(t.width)?t.width:r.width,height:kt(t.height)?t.height:r.height}),s=i.xAxisId,o=i.yAxisId,a=i.x,l=i.y,c=i.width,d=i.height,f=i.syncWithTicks,m=i.horizontalValues,y=i.verticalValues,x=Js(),S=zt(G=>gL(G,"xAxis",s,x)),w=zt(G=>gL(G,"yAxis",o,x));if(!Ll(c)||!Ll(d)||!kt(a)||!kt(l))return null;var _=i.verticalCoordinatesGenerator||rue,E=i.horizontalCoordinatesGenerator||iue,T=i.horizontalPoints,C=i.verticalPoints;if((!T||!T.length)&&typeof E=="function"){var O=m&&m.length,N=E({yAxis:w?rs(rs({},w),{},{ticks:O?m:w.ticks}):void 0,width:e??c,height:n??d,offset:r},O?!0:f);xw(Array.isArray(N),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof N,"]")),Array.isArray(N)&&(T=N)}if((!C||!C.length)&&typeof _=="function"){var D=y&&y.length,F=_({xAxis:S?rs(rs({},S),{},{ticks:D?y:S.ticks}):void 0,width:e??c,height:n??d,offset:r},D?!0:f);xw(Array.isArray(F),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof F,"]")),Array.isArray(F)&&(C=F)}return R.createElement(au,{zIndex:i.zIndex},R.createElement("g",{className:"recharts-cartesian-grid"},R.createElement(Qce,{fill:i.fill,fillOpacity:i.fillOpacity,x:i.x,y:i.y,width:i.width,height:i.height,ry:i.ry}),R.createElement(tue,ih({},i,{horizontalPoints:T})),R.createElement(nue,ih({},i,{verticalPoints:C})),R.createElement(Jce,ih({},i,{offset:r,horizontalPoints:T,xAxis:S,yAxis:w})),R.createElement(eue,ih({},i,{offset:r,verticalPoints:C,xAxis:S,yAxis:w}))))}LH.displayName="CartesianGrid";var oue={},DH=cs({name:"errorBars",initialState:oue,reducers:{addErrorBar:(t,e)=>{var n=e.payload,r=n.itemId,i=n.errorBar;t[r]||(t[r]=[]),t[r].push(i)},replaceErrorBar:(t,e)=>{var n=e.payload,r=n.itemId,i=n.prev,s=n.next;t[r]&&(t[r]=t[r].map(o=>o.dataKey===i.dataKey&&o.direction===i.direction?s:o))},removeErrorBar:(t,e)=>{var n=e.payload,r=n.itemId,i=n.errorBar;t[r]&&(t[r]=t[r].filter(s=>s.dataKey!==i.dataKey||s.direction!==i.direction))}}}),oR=DH.actions;oR.addErrorBar;oR.replaceErrorBar;oR.removeErrorBar;var aue=DH.reducer;function jH(t,e){var n,r,i=zt(c=>iu(c,t)),s=zt(c=>su(c,e)),o=(n=i==null?void 0:i.allowDataOverflow)!==null&&n!==void 0?n:ti.allowDataOverflow,a=(r=s==null?void 0:s.allowDataOverflow)!==null&&r!==void 0?r:ni.allowDataOverflow,l=o||a;return{needClip:l,needClipX:o,needClipY:a}}function lue(t){var e=t.xAxisId,n=t.yAxisId,r=t.clipPathId,i=rR(),s=jH(e,n),o=s.needClipX,a=s.needClipY,l=s.needClip,c=zt(T=>_B(T,e,!1)),d=zt(T=>wB(T,n,!1));if(!l||!i)return null;var f=i.x,m=i.y,y=i.width,x=i.height,S=o&&c?Math.min(c[0],c[1]):f-y/2,w=a&&d?Math.min(d[0],d[1]):m-x/2,_=o&&c?Math.abs(c[1]-c[0]):y*2,E=a&&d?Math.abs(d[1]-d[0]):x*2;return R.createElement("clipPath",{id:"clipPath-".concat(r)},R.createElement("rect",{x:S,y:w,width:_,height:E}))}function cue(t){var e=J1(t),n=3,r=2;if(e!=null){var i=e.r,s=e.strokeWidth,o=Number(i),a=Number(s);return(Number.isNaN(o)||o<0)&&(o=n),(Number.isNaN(a)||a<0)&&(a=r),{r:o,strokeWidth:a}}return{r:n,strokeWidth:r}}function aR(t,e){var n,r;return(n=(r=t.graphicalItems.cartesianItems.find(i=>i.id===e))===null||r===void 0?void 0:r.xAxisId)!==null&&n!==void 0?n:TH}function lR(t,e){var n,r;return(n=(r=t.graphicalItems.cartesianItems.find(i=>i.id===e))===null||r===void 0?void 0:r.yAxisId)!==null&&n!==void 0?n:TH}var UH=(t,e,n)=>RB(t,"xAxis",aR(t,e),n),FH=(t,e,n)=>PB(t,"xAxis",aR(t,e),n),zH=(t,e,n)=>RB(t,"yAxis",lR(t,e),n),BH=(t,e,n)=>PB(t,"yAxis",lR(t,e),n),uue=ke([fr,UH,zH,FH,BH],(t,e,n,r,i)=>Bl(t,"xAxis")?yw(e,r,!1):yw(n,i,!1)),due=(t,e)=>e,HH=ke([Kz,due],(t,e)=>t.filter(n=>n.type==="area").find(n=>n.id===e)),VH=t=>{var e=fr(t),n=Bl(e,"xAxis");return n?"yAxis":"xAxis"},fue=(t,e)=>{var n=VH(t);return n==="yAxis"?lR(t,e):aR(t,e)},hue=(t,e,n)=>sB(t,VH(t),fue(t,e),n),pue=ke([HH,hue],(t,e)=>{var n;if(!(t==null||e==null)){var r=t.stackId,i=l2(t);if(!(r==null||i==null)){var s=(n=e[r])===null||n===void 0?void 0:n.stackedData,o=s==null?void 0:s.find(a=>a.key===i);if(o!=null)return o.map(a=>[a[0],a[1]])}}}),mue=ke([fr,UH,zH,FH,BH,pue,FJ,uue,HH,nee],(t,e,n,r,i,s,o,a,l,c)=>{var d=o.chartData,f=o.dataStartIndex,m=o.dataEndIndex;if(!(l==null||t!=="horizontal"&&t!=="vertical"||e==null||n==null||r==null||i==null||r.length===0||i.length===0||a==null)){var y=l.data,x;if(y&&y.length>0?x=y:x=d==null?void 0:d.slice(f,m+1),x!=null)return Bue({layout:t,xAxis:e,yAxis:n,xAxisTicks:r,yAxisTicks:i,dataStartIndex:f,areaSettings:l,stackedData:s,displayedData:x,chartBaseValue:c,bandSize:a})}}),gue=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],vue=["id","baseLine"];function q0(){return q0=Object.assign?Object.assign.bind():function(t){for(var e=1;ef.y||0));return kt(i)?d=Math.max(i,d):i&&Array.isArray(i)&&i.length&&(d=Math.max(...i.map(f=>f.y||0),d)),kt(d)?R.createElement("rect",{x:af.x||0));return kt(i)?d=Math.max(i,d):i&&Array.isArray(i)&&i.length&&(d=Math.max(...i.map(f=>f.x||0),d)),kt(d)?R.createElement("rect",{x:0,y:at==null?[]:e===1?t.flatMap(n=>n.status==="removed"?[]:[n.next]):t.flatMap(n=>n.status==="matched"?[Ig(Ig({},n.next),{},{x:Fc(n.prev.x,n.next.x,e),y:Fc(n.prev.y,n.next.y,e)})]:n.status==="added"?[n.next]:[]),WH={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:tR,animationInterpolateFn:Pue,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:wue,xAxisId:0,yAxisId:0,zIndex:Ms.area};function Kw(t,e){return t&&t!=="none"?t:e}var Rue=t=>{var e=t.dataKey,n=t.name,r=t.stroke,i=t.fill,s=t.legendType,o=t.hide;return[{inactive:o,dataKey:e,type:s,color:Kw(r,i),value:g4(n,e),payload:t}]},Nue=R.memo(t=>{var e=t.dataKey,n=t.data,r=t.stroke,i=t.strokeWidth,s=t.fill,o=t.name,a=t.hide,l=t.unit,c=t.tooltipType,d=t.id,f={dataDefinedOnItem:n,getPosition:Vg,settings:{stroke:r,strokeWidth:i,fill:s,dataKey:e,nameKey:void 0,name:g4(o,e),hide:a,type:c,color:Kw(r,s),unit:l,graphicalItemId:d}};return R.createElement(Vae,{tooltipEntrySettings:f})});function Iue(t){var e=t.clipPathId,n=t.points,r=t.props,i=r.needClip,s=r.dot,o=r.dataKey,a=za(r);return R.createElement(Ile,{points:n,dot:s,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:o,baseProps:a,needClip:i,clipPathId:e})}function kue(t){var e=t.showLabels,n=t.children,r=t.points,i=r.map(s=>{var o,a,l={x:(o=s.x)!==null&&o!==void 0?o:0,y:(a=s.y)!==null&&a!==void 0?a:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Ig(Ig({},l),{},{value:s.value,payload:s.payload,parentViewBox:void 0,viewBox:l,fill:void 0})});return R.createElement(Cae,{value:e?i:void 0},n)}function Oue(t){var e=t.points,n=t.baseLine,r=t.needClip,i=t.clipPathId,s=t.props,o=t.animationElapsedTime,a=t.isAnimating,l=t.isEntrance,c=s.layout,d=s.type,f=s.stroke,m=s.connectNulls,y=s.isRange,x=s.shape,S=s.id,w=GH(s,Sue),_=Ko(w),E=Ig(Ig({},_),{},{id:S,points:e,connectNulls:m,type:d,baseLine:n,layout:c,stroke:f,isRange:y,animationElapsedTime:o,isAnimating:a,isEntrance:l});return R.createElement(R.Fragment,null,(e==null?void 0:e.length)>1&&R.createElement(Yo,{clipPath:r?"url(#clipPath-".concat(i,")"):void 0},R.createElement(Hae,{option:x,DefaultShape:WH.shape,shapeProps:E})),R.createElement(Iue,{points:e,props:w,clipPathId:i}))}function Lue(t,e,n){if(kt(t)){var r=kt(e)?e:void 0;return Fc(r,t,n)}if(Hi(t)||kl(t)){var i=kt(e)?e:void 0;return Fc(i,0,n)}return t}function Due(t){var e=t.needClip,n=t.clipPathId,r=t.props,i=t.previousPointsRef,s=t.previousBaselineRef,o=r.points,a=r.baseLine,l=r.isAnimationActive,c=r.animationBegin,d=r.animationDuration,f=r.animationEasing,m=r.animationMatchBy,y=r.animationInterpolateFn,x=R.useMemo(()=>({points:o,baseLine:a}),[o,a]),S=MH(x,s),w=qP(),_=ole(r.onAnimationStart,r.onAnimationEnd),E=_.isAnimating,T=_.handleAnimationStart,C=_.handleAnimationEnd,O=S.startValue;if(w==null)return null;var N;return Array.isArray(a)&&Array.isArray(O)?N=LC(O,a,m):Array.isArray(a)?N=LC(null,a,m):N=null,R.createElement(ale,{animationInput:x,animationIdPrefix:"recharts-area-",items:o,previousItemsRef:i,isAnimationActive:l,animationBegin:c,animationDuration:d,animationEasing:f,onAnimationStart:T,onAnimationEnd:C,animationInterpolateFn:y,animationMatchBy:m,layout:w},(D,F,G)=>{var k;return F===1?k=a:Array.isArray(a)?k=y(N,F,w):k=G?a:Lue(a,O,F),S.syncStepValue(k,F),R.createElement(kue,{showLabels:!E,points:o},r.children,R.createElement(Oue,{points:D,baseLine:k,needClip:e,clipPathId:n,props:r,animationElapsedTime:F,isAnimating:E||F<1,isEntrance:G}),R.createElement(Nae,{label:r.label}))})}function jue(t){var e=t.needClip,n=t.clipPathId,r=t.props,i=R.useRef(null),s=R.useRef();return R.createElement(Due,{needClip:e,clipPathId:n,props:r,previousPointsRef:i,previousBaselineRef:s})}class Uue extends R.PureComponent{render(){var e=this.props,n=e.hide,r=e.dot,i=e.points,s=e.className,o=e.top,a=e.left,l=e.needClip,c=e.xAxisId,d=e.yAxisId,f=e.width,m=e.height,y=e.id,x=e.baseLine,S=e.zIndex;if(n)return null;var w=er("recharts-area",s),_=y,E=cue(r),T=E.r,C=E.strokeWidth,O=wH(r),N=T*2+C,D=l?"url(#clipPath-".concat(O?"":"dots-").concat(_,")"):void 0;return R.createElement(au,{zIndex:S},R.createElement(Yo,{className:w},l&&R.createElement("defs",null,R.createElement(lue,{clipPathId:_,xAxisId:c,yAxisId:d}),!O&&R.createElement("clipPath",{id:"clipPath-dots-".concat(_)},R.createElement("rect",{x:a-N/2,y:o-N/2,width:f+N,height:m+N}))),R.createElement(jue,{needClip:l,clipPathId:_,props:this.props})),R.createElement(a3,{points:i,mainColor:Kw(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:D}),this.props.isRange&&Array.isArray(x)&&R.createElement(a3,{points:x,mainColor:Kw(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:D}))}}function Fue(t){var e,n=t.activeDot,r=t.animationBegin,i=t.animationDuration,s=t.animationEasing,o=t.connectNulls,a=t.dot,l=t.fill,c=t.fillOpacity,d=t.hide,f=t.isAnimationActive,m=t.legendType,y=t.stroke,x=t.xAxisId,S=t.yAxisId,w=GH(t,Mue),_=Gg(),E=JB(),T=jH(x,S),C=T.needClip,O=Js(),N=(e=zt(he=>mue(he,t.id,O)))!==null&&e!==void 0?e:{},D=N.points,F=N.isRange,G=N.baseLine,k=rR();if(_!=="horizontal"&&_!=="vertical"||k==null||E!=="AreaChart"&&E!=="ComposedChart")return null;var U=k.height,H=k.width,ne=k.x,te=k.y;return!D||!D.length?null:R.createElement(Uue,qw({},w,{activeDot:n,animationBegin:r,animationDuration:i,animationEasing:s,baseLine:G,connectNulls:o,dot:a,fill:l,fillOpacity:c,height:U,hide:d,layout:_,isAnimationActive:f,isRange:F,legendType:m,needClip:C,points:D,stroke:y,width:H,left:ne,top:te,xAxisId:x,yAxisId:S}))}var zue=(t,e,n,r,i)=>{var s=n??e;if(kt(s))return s;var o=t==="horizontal"?i:r,a=o.scale.domain();if(o.type==="number"){var l=Math.max(a[0],a[1]),c=Math.min(a[0],a[1]);return s==="dataMin"?c:s==="dataMax"||l<0?l:Math.max(Math.min(a[0],a[1]),0)}return s==="dataMin"?a[0]:s==="dataMax"?a[1]:a[0]};function Bue(t){var e=t.areaSettings,n=e.connectNulls,r=e.baseValue,i=e.dataKey,s=t.stackedData,o=t.layout,a=t.chartBaseValue,l=t.xAxis,c=t.yAxis,d=t.displayedData,f=t.dataStartIndex,m=t.xAxisTicks,y=t.yAxisTicks,x=t.bandSize,S=s&&s.length,w=zue(o,a,r,l,c),_=o==="horizontal",E=!1,T=d.map((O,N)=>{var D,F,G,k;if(S)k=s[f+N];else{var U=yi(O,i);Array.isArray(U)?(k=U,E=!0):k=[w,U]}var H=(D=(F=k)===null||F===void 0?void 0:F[1])!==null&&D!==void 0?D:null,ne=H==null||S&&!n&&yi(O,i)==null;if(_){var te;return{x:dk({axis:l,ticks:m,bandSize:x,entry:O,index:N}),y:ne?null:(te=c.scale.map(H))!==null&&te!==void 0?te:null,value:k,payload:O}}return{x:ne?null:(G=l.scale.map(H))!==null&&G!==void 0?G:null,y:dk({axis:c,ticks:y,bandSize:x,entry:O,index:N}),value:k,payload:O}}),C;return S||E?C=T.map(O=>{var N,D=Array.isArray(O.value)?O.value[0]:null;if(_){var F;return{x:O.x,y:D!=null&&O.y!=null&&(F=c.scale.map(D))!==null&&F!==void 0?F:null,payload:O.payload}}return{x:D!=null&&(N=l.scale.map(D))!==null&&N!==void 0?N:null,y:O.y,payload:O.payload}}):C=_?c.scale.map(w):l.scale.map(w),{points:T,baseLine:C??0,isRange:E}}function Hue(t){var e=Jo(t,WH),n=Js();return R.createElement(gle,{id:e.id,type:"area"},r=>R.createElement(R.Fragment,null,R.createElement(Gae,{legendPayload:Rue(e)}),R.createElement(Nue,{dataKey:e.dataKey,data:e.data,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,unit:e.unit,tooltipType:e.tooltipType,id:r}),R.createElement(Sle,{type:"area",id:r,data:e.data,dataKey:e.dataKey,xAxisId:e.xAxisId,yAxisId:e.yAxisId,zAxisId:0,stackId:EY(e.stackId),hide:e.hide,barSize:void 0,baseValue:e.baseValue,isPanorama:n,connectNulls:e.connectNulls}),R.createElement(Fue,qw({},e,{id:r}))))}var $H=R.memo(Hue,_S);$H.displayName="Area";var Vue=["domain","range"],Gue=["domain","range"];function v3(t,e){if(t==null)return{};var n,r,i=Wue(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{if(o!=null)return b3(b3({},s),{},{type:o})},[s,o]);return R.useLayoutEffect(()=>{a!=null&&(n.current===null?e(jle(a)):n.current!==a&&e(Ule({prev:n.current,next:a})),n.current=a)},[a,e]),R.useLayoutEffect(()=>()=>{n.current&&(e(Fle(n.current)),n.current=null)},[e]),null}var ede=t=>{var e=t.xAxisId,n=t.className,r=zt(y4),i=Js(),s="xAxis",o=zt(m=>CB(m,s,e,i)),a=zt(m=>Ore(m,e)),l=zt(m=>zre(m,e)),c=zt(m=>Wz(m,e));if(a==null||l==null||c==null)return null;t.dangerouslySetInnerHTML,t.ticks,t.scale;var d=jC(t,Xue);c.id,c.scale;var f=jC(c,que);return R.createElement(sR,DC({},d,f,{x:l.x,y:l.y,width:a.width,height:a.height,className:er("recharts-".concat(s," ").concat(s),n),viewBox:r,ticks:o,axisType:s,axisId:e}))},tde={allowDataOverflow:ti.allowDataOverflow,allowDecimals:ti.allowDecimals,allowDuplicatedCategory:ti.allowDuplicatedCategory,angle:ti.angle,axisLine:Wc.axisLine,height:ti.height,hide:!1,includeHidden:ti.includeHidden,interval:ti.interval,label:!1,minTickGap:ti.minTickGap,mirror:ti.mirror,orientation:ti.orientation,padding:ti.padding,reversed:ti.reversed,scale:ti.scale,tick:ti.tick,tickCount:ti.tickCount,tickLine:Wc.tickLine,tickSize:Wc.tickSize,type:ti.type,niceTicks:ti.niceTicks,xAxisId:0},nde=t=>{var e=Jo(t,tde);return R.createElement(R.Fragment,null,R.createElement(Jue,{allowDataOverflow:e.allowDataOverflow,allowDecimals:e.allowDecimals,allowDuplicatedCategory:e.allowDuplicatedCategory,angle:e.angle,dataKey:e.dataKey,domain:e.domain,height:e.height,hide:e.hide,id:e.xAxisId,includeHidden:e.includeHidden,interval:e.interval,minTickGap:e.minTickGap,mirror:e.mirror,name:e.name,orientation:e.orientation,padding:e.padding,reversed:e.reversed,scale:e.scale,tick:e.tick,tickCount:e.tickCount,tickFormatter:e.tickFormatter,ticks:e.ticks,type:e.type,unit:e.unit,niceTicks:e.niceTicks}),R.createElement(ede,e))},qH=R.memo(nde,XH);qH.displayName="XAxis";var rde=["type"],ide=["dangerouslySetInnerHTML","ticks","scale"],sde=["id","scale"];function UC(){return UC=Object.assign?Object.assign.bind():function(t){for(var e=1;e{if(o!=null)return w3(w3({},s),{},{type:o})},[o,s]);return R.useLayoutEffect(()=>{a!=null&&(n.current===null?e(zle(a)):n.current!==a&&e(Ble({prev:n.current,next:a})),n.current=a)},[a,e]),R.useLayoutEffect(()=>()=>{n.current&&(e(Hle(n.current)),n.current=null)},[e]),null}function dde(t){var e=t.yAxisId,n=t.className,r=t.width,i=t.label,s=R.useRef(null),o=R.useRef(null),a=zt(y4),l=Js(),c=Wr(),d="yAxis",f=zt(_=>Vre(_,e)),m=zt(_=>Hre(_,e)),y=zt(_=>CB(_,d,e,l)),x=zt(_=>$z(_,e));if(R.useLayoutEffect(()=>{if(!(r!=="auto"||!f||eR(i)||R.isValidElement(i)||x==null)){var _=s.current;if(_){var E=_.getCalculatedWidth();Math.round(f.width)!==Math.round(E)&&c(Vle({id:e,width:E}))}}},[y,f,c,i,e,r,x]),f==null||m==null||x==null)return null;t.dangerouslySetInnerHTML,t.ticks,t.scale;var S=FC(t,ide);x.id,x.scale;var w=FC(x,sde);return R.createElement(sR,UC({},S,w,{ref:s,labelRef:o,x:m.x,y:m.y,tickTextProps:r==="auto"?{width:void 0}:{width:r},width:f.width,height:f.height,className:er("recharts-".concat(d," ").concat(d),n),viewBox:a,ticks:y,axisType:d,axisId:e}))}var fde={allowDataOverflow:ni.allowDataOverflow,allowDecimals:ni.allowDecimals,allowDuplicatedCategory:ni.allowDuplicatedCategory,angle:ni.angle,axisLine:Wc.axisLine,hide:!1,includeHidden:ni.includeHidden,interval:ni.interval,label:!1,minTickGap:ni.minTickGap,mirror:ni.mirror,orientation:ni.orientation,padding:ni.padding,reversed:ni.reversed,scale:ni.scale,tick:ni.tick,tickCount:ni.tickCount,tickLine:Wc.tickLine,tickSize:Wc.tickSize,type:ni.type,niceTicks:ni.niceTicks,width:ni.width,yAxisId:0},hde=t=>{var e=Jo(t,fde);return R.createElement(R.Fragment,null,R.createElement(ude,{interval:e.interval,id:e.yAxisId,scale:e.scale,type:e.type,domain:e.domain,allowDataOverflow:e.allowDataOverflow,dataKey:e.dataKey,allowDuplicatedCategory:e.allowDuplicatedCategory,allowDecimals:e.allowDecimals,tickCount:e.tickCount,padding:e.padding,includeHidden:e.includeHidden,reversed:e.reversed,ticks:e.ticks,width:e.width,orientation:e.orientation,mirror:e.mirror,hide:e.hide,unit:e.unit,name:e.name,angle:e.angle,minTickGap:e.minTickGap,tick:e.tick,tickFormatter:e.tickFormatter,niceTicks:e.niceTicks}),R.createElement(dde,e))},KH=R.memo(hde,XH);KH.displayName="YAxis";var pde=(t,e)=>e,cR=ke([pde,fr,oz,_i,XB,ou,dse,Gi],yse);function mde(t){return"getBBox"in t.currentTarget&&typeof t.currentTarget.getBBox=="function"}function uR(t){var e=t.currentTarget.getBoundingClientRect(),n,r;if(mde(t)){var i=t.currentTarget.getBBox();n=i.width>0?e.width/i.width:1,r=i.height>0?e.height/i.height:1}else{var s=t.currentTarget;n=s.offsetWidth>0?e.width/s.offsetWidth:1,r=s.offsetHeight>0?e.height/s.offsetHeight:1}var o=(a,l)=>({relativeX:Math.round((a-e.left)/n),relativeY:Math.round((l-e.top)/r)});return"touches"in t?Array.from(t.touches).map(a=>o(a.clientX,a.clientY)):o(t.clientX,t.clientY)}var YH=Mo("mouseClick"),ZH=Xy();ZH.startListening({actionCreator:YH,effect:(t,e)=>{var n=t.payload,r=cR(e.getState(),uR(n));(r==null?void 0:r.activeIndex)!=null&&e.dispatch(iie({activeIndex:r.activeIndex,activeDataKey:void 0,activeCoordinate:r.activeCoordinate}))}});var zC=Mo("mouseMove"),QH=Xy(),fm=null,Sf=null,$E=null;QH.startListening({actionCreator:zC,effect:(t,e)=>{var n=t.payload,r=e.getState(),i=r.eventSettings,s=i.throttleDelay,o=i.throttledEvents,a=o==="all"||(o==null?void 0:o.includes("mousemove"));fm!==null&&(cancelAnimationFrame(fm),fm=null),Sf!==null&&(typeof s!="number"||!a)&&(clearTimeout(Sf),Sf=null),$E=uR(n);var l=()=>{var c=e.getState(),d=ox(c,c.tooltip.settings.shared);if(!$E){fm=null,Sf=null;return}if(d==="axis"){var f=cR(c,$E);(f==null?void 0:f.activeIndex)!=null?e.dispatch(jB({activeIndex:f.activeIndex,activeDataKey:void 0,activeCoordinate:f.activeCoordinate})):e.dispatch(DB())}fm=null,Sf=null};if(!a){l();return}s==="raf"?fm=requestAnimationFrame(l):typeof s=="number"&&Sf===null&&(Sf=setTimeout(l,s))}});function gde(t,e){return e instanceof HTMLElement?"HTMLElement <".concat(e.tagName,' class="').concat(e.className,'">'):e===window?"global.window":t==="children"&&typeof e=="object"&&e!==null?"<>":e}var S3={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},JH=cs({name:"rootProps",initialState:S3,reducers:{updateOptions:(t,e)=>{var n;t.accessibilityLayer=e.payload.accessibilityLayer,t.barCategoryGap=e.payload.barCategoryGap,t.barGap=(n=e.payload.barGap)!==null&&n!==void 0?n:S3.barGap,t.barSize=e.payload.barSize,t.maxBarSize=e.payload.maxBarSize,t.stackOffset=e.payload.stackOffset,t.syncId=e.payload.syncId,t.syncMethod=e.payload.syncMethod,t.className=e.payload.className,t.baseValue=e.payload.baseValue,t.reverseStackOrder=e.payload.reverseStackOrder}}}),vde=JH.reducer,yde=JH.actions.updateOptions,xde=null,bde={updatePolarOptions:(t,e)=>t===null?e.payload:(t.startAngle=e.payload.startAngle,t.endAngle=e.payload.endAngle,t.cx=e.payload.cx,t.cy=e.payload.cy,t.innerRadius=e.payload.innerRadius,t.outerRadius=e.payload.outerRadius,t)},eV=cs({name:"polarOptions",initialState:xde,reducers:bde});eV.actions.updatePolarOptions;var _de=eV.reducer,tV=Mo("keyDown"),nV=Mo("focus"),rV=Mo("blur"),BS=Xy(),hm=null,Mf=null,Lb=null;BS.startListening({actionCreator:tV,effect:(t,e)=>{Lb=t.payload,hm!==null&&(cancelAnimationFrame(hm),hm=null);var n=e.getState(),r=n.eventSettings,i=r.throttleDelay,s=r.throttledEvents,o=s==="all"||s.includes("keydown");Mf!==null&&(typeof i!="number"||!o)&&(clearTimeout(Mf),Mf=null);var a=()=>{try{var l=e.getState(),c=l.rootProps.accessibilityLayer!==!1;if(!c)return;var d=l.tooltip.keyboardInteraction,f=Lb;if(f!=="ArrowRight"&&f!=="ArrowLeft"&&f!=="Enter")return;var m=$0(d,Dh(l),Rg(l),Ng(l)),y=m==null?-1:Number(m),x=!Number.isFinite(y)||y<0,S=ou(l),w=Dh(l),_=ox(l,l.tooltip.settings.shared);if(f==="Enter"){if(x)return;var E=Vw(l,_,"hover",String(d.index));e.dispatch(Hw({active:!d.active,activeIndex:d.index,activeCoordinate:E}));return}var T=qre(l),C=T==="left-to-right"?1:-1,O=f==="ArrowRight"?1:-1,N;if(x){var D=Rg(l),F=Ng(l),G=O*C,k=he=>({active:!1,index:String(he),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(N=-1,G>0){for(var U=0;U=0;H--)if($0(k(H),w,D,F)!=null){N=H;break}if(N<0)return}else{N=y+O*C;var ne=(S==null?void 0:S.length)||w.length;if(ne===0||N>=ne||N<0)return}var te=Vw(l,_,"hover",String(N));e.dispatch(Hw({active:!0,activeIndex:N.toString(),activeCoordinate:te}))}finally{hm=null,Mf=null}};if(!o){a();return}i==="raf"?hm=requestAnimationFrame(a):typeof i=="number"&&Mf===null&&(a(),Lb=null,Mf=setTimeout(()=>{Lb?a():(Mf=null,hm=null)},i))}});BS.startListening({actionCreator:nV,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var i=n.tooltip.keyboardInteraction;if(!i.active&&i.index==null){var s="0",o=ox(n,n.tooltip.settings.shared),a=Vw(n,o,"hover",String(s));e.dispatch(Hw({active:!0,activeIndex:s,activeCoordinate:a}))}}}});BS.startListening({actionCreator:rV,effect:(t,e)=>{var n=e.getState(),r=n.rootProps.accessibilityLayer!==!1;if(r){var i=n.tooltip.keyboardInteraction;i.active&&e.dispatch(Hw({active:!1,activeIndex:i.index,activeCoordinate:i.coordinate}))}}});function iV(t){t.persist();var e=t.currentTarget;return new Proxy(t,{get:(n,r)=>{if(r==="currentTarget")return e;var i=Reflect.get(n,r);return typeof i=="function"?i.bind(n):i}})}var zo=Mo("externalEvent"),sV=Xy(),Db=new Map,p0=new Map,XE=new Map;sV.startListening({actionCreator:zo,effect:(t,e)=>{var n=t.payload,r=n.handler,i=n.reactEvent;if(r!=null){var s=i.type,o=iV(i);XE.set(s,{handler:r,reactEvent:o});var a=Db.get(s);a!==void 0&&(cancelAnimationFrame(a),Db.delete(s));var l=e.getState(),c=l.eventSettings,d=c.throttleDelay,f=c.throttledEvents,m=f,y=m==="all"||(m==null?void 0:m.includes(s)),x=p0.get(s);x!==void 0&&(typeof d!="number"||!y)&&(clearTimeout(x),p0.delete(s));var S=()=>{var E=XE.get(s);try{if(!E)return;var T=E.handler,C=E.reactEvent,O=e.getState(),N={activeCoordinate:Yie(O),activeDataKey:Xie(O),activeIndex:Sy(O),activeLabel:YB(O),activeTooltipIndex:Sy(O),isTooltipActive:Zie(O)};T&&T(N,C)}finally{Db.delete(s),p0.delete(s),XE.delete(s)}};if(!y){S();return}if(d==="raf"){var w=requestAnimationFrame(S);Db.set(s,w)}else if(typeof d=="number"){if(!p0.has(s)){S();var _=setTimeout(S,d);p0.set(s,_)}}else S()}}});var wde=ke([Qg],t=>t.tooltipItemPayloads),Sde=ke([wde,(t,e)=>e,(t,e,n)=>n],(t,e,n)=>{if(e!=null){var r=t.find(s=>s.settings.graphicalItemId===n);if(r!=null){var i=r.getPosition;if(i!=null)return i(e)}}}),oV=Mo("touchMove"),aV=Xy(),Ef=null,$u=null,M3=null,m0=null;aV.startListening({actionCreator:oV,effect:(t,e)=>{var n=t.payload;if(!(n.touches==null||n.touches.length===0)){m0=iV(n);var r=e.getState(),i=r.eventSettings,s=i.throttleDelay,o=i.throttledEvents,a=o==="all"||o.includes("touchmove");Ef!==null&&(cancelAnimationFrame(Ef),Ef=null),$u!==null&&(typeof s!="number"||!a)&&(clearTimeout($u),$u=null),M3=Array.from(n.touches).map(c=>uR({clientX:c.clientX,clientY:c.clientY,currentTarget:n.currentTarget}));var l=()=>{if(m0!=null){var c=e.getState(),d=ox(c,c.tooltip.settings.shared);if(d==="axis"){var f,m=(f=M3)===null||f===void 0?void 0:f[0];if(m==null){Ef=null,$u=null;return}var y=cR(c,m);(y==null?void 0:y.activeIndex)!=null&&e.dispatch(jB({activeIndex:y.activeIndex,activeDataKey:void 0,activeCoordinate:y.activeCoordinate}))}else if(d==="item"){var x,S=m0.touches[0];if(document.elementFromPoint==null||S==null)return;var w=document.elementFromPoint(S.clientX,S.clientY);if(!w||!w.getAttribute)return;var _=w.getAttribute(IY),E=(x=w.getAttribute(kY))!==null&&x!==void 0?x:void 0,T=Jh(c).find(N=>N.id===E);if(_==null||T==null||E==null)return;var C=T.dataKey,O=Sde(c,_,E);e.dispatch(rie({activeDataKey:C,activeIndex:_,activeCoordinate:O,activeGraphicalItemId:E}))}Ef=null,$u=null}};if(!a){l();return}s==="raf"?Ef=requestAnimationFrame(l):typeof s=="number"&&$u===null&&(l(),m0=null,$u=setTimeout(()=>{m0?l():($u=null,Ef=null)},s))}}});var lV={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},cV=cs({name:"eventSettings",initialState:lV,reducers:{setEventSettings:(t,e)=>{e.payload.throttleDelay!=null&&(t.throttleDelay=e.payload.throttleDelay),e.payload.throttledEvents!=null&&(t.throttledEvents=e.payload.throttledEvents)}}}),Mde=cV.actions.setEventSettings,Ede=cV.reducer,Ade=F5({brush:Jle,cartesianAxis:Gle,chartData:Kse,errorBars:aue,eventSettings:Ede,graphicalItems:_le,layout:gY,legend:RZ,options:Gse,polarAxis:kae,polarOptions:_de,referenceElements:rce,renderedTicks:Ece,rootProps:vde,tooltip:sie,zIndex:Nse}),Tde=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return BK({reducer:Ade,preloadedState:e,middleware:r=>{var i;return r({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((i="es6")!==null&&i!==void 0?i:"")}).concat([ZH.middleware,QH.middleware,BS.middleware,sV.middleware,aV.middleware])},enhancers:r=>{var i=r;return typeof r=="function"&&(i=r()),i.concat(e4({type:"raf"}))},devTools:{serialize:{replacer:gde},name:"recharts-".concat(n)}})};function Cde(t){var e=t.preloadedState,n=t.children,r=t.reduxStoreName,i=Js(),s=R.useRef(null);if(i)return n;s.current==null&&(s.current=Tde(e,r));var o=FP;return R.createElement($Z,{context:o,store:s.current},n)}function Pde(t){var e=t.layout,n=t.margin,r=Wr(),i=Js();return R.useEffect(()=>{i||(r(hY(e)),r(fY(n)))},[r,i,e,n]),null}var Rde=R.memo(Pde,_S);function Nde(t){var e=Wr();return R.useEffect(()=>{e(yde(t))},[e,t]),null}var Ide=t=>{var e=Wr();return R.useEffect(()=>{e(Mde(t))},[e,t]),null},kde=R.memo(Ide,_S);function E3(t){var e=t.zIndex,n=t.isPanorama,r=R.useRef(null),i=Wr();return R.useLayoutEffect(()=>(r.current&&i(Pse({zIndex:e,element:r.current,isPanorama:n})),()=>{i(Rse({zIndex:e,isPanorama:n}))}),[i,e,n]),R.createElement("g",{tabIndex:-1,ref:r,className:"recharts-zIndex-layer_".concat(e)})}function A3(t){var e=t.children,n=t.isPanorama,r=zt(bse);if(!r||r.length===0)return e;var i=r.filter(o=>o<0),s=r.filter(o=>o>0);return R.createElement(R.Fragment,null,i.map(o=>R.createElement(E3,{key:o,zIndex:o,isPanorama:n})),e,s.map(o=>R.createElement(E3,{key:o,zIndex:o,isPanorama:n})))}var Ode=["children"];function Lde(t,e){if(t==null)return{};var n,r,i=Dde(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var n=S4(),r=M4(),i=O4();if(!Ll(n)||!Ll(r))return null;var s=t.children,o=t.otherAttributes,a=t.title,l=t.desc,c,d;return o!=null&&(typeof o.tabIndex=="number"?c=o.tabIndex:c=i?0:void 0,typeof o.role=="string"?d=o.role:d=i?"application":void 0),R.createElement(r5,Yw({},o,{title:a,desc:l,role:d,tabIndex:c,width:n,height:r,style:jde,ref:e}),s)}),Fde=t=>{var e=t.children,n=zt(gS);if(!n)return null;var r=n.width,i=n.height,s=n.y,o=n.x;return R.createElement(r5,{width:r,height:i,x:o,y:s},e)},T3=R.forwardRef((t,e)=>{var n=t.children,r=Lde(t,Ode),i=Js();return i?R.createElement(Fde,null,R.createElement(A3,{isPanorama:!0},n)):R.createElement(Ude,Yw({ref:e},r),R.createElement(A3,{isPanorama:!1},n))});function zde(t,e){return Gde(t)||Vde(t,e)||Hde(t,e)||Bde()}function Bde(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hde(t,e){if(t){if(typeof t=="string")return C3(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?C3(t,e):void 0}}function C3(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n{if(r!=null){var o=r.getBoundingClientRect(),a=o.width/r.offsetWidth;wn(a)&&a!==s&&t(mY(a))}},[r,t,s]),i}function P3(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function $de(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=Array(e);n(ioe(),null);function Qw(t){if(typeof t=="number")return t;if(typeof t=="string"){var e=parseFloat(t);if(!Number.isNaN(e))return e}return 0}var tfe=R.forwardRef((t,e)=>{var n,r,i=R.useRef(null),s=R.useState({containerWidth:Qw((n=t.style)===null||n===void 0?void 0:n.width),containerHeight:Qw((r=t.style)===null||r===void 0?void 0:r.height)}),o=Zw(s,2),a=o[0],l=o[1],c=R.useCallback((f,m)=>{l(y=>{var x=Math.round(f),S=Math.round(m);return y.containerWidth===x&&y.containerHeight===S?y:{containerWidth:x,containerHeight:S}})},[]),d=R.useCallback(f=>{if(typeof e=="function"&&e(f),i.current!=null&&(i.current.disconnect(),i.current=null),f!=null&&typeof ResizeObserver<"u"){var m=f.getBoundingClientRect(),y=m.width,x=m.height;c(y,x);var S=_=>{var E=_[0];if(E!=null){var T=E.contentRect,C=T.width,O=T.height;c(C,O)}},w=new ResizeObserver(S);w.observe(f),i.current=w}},[e,c]);return R.useEffect(()=>()=>{var f=i.current;f!=null&&f.disconnect()},[c]),R.createElement(R.Fragment,null,R.createElement(Ky,{width:a.containerWidth,height:a.containerHeight}),R.createElement("div",Sd({ref:d},t)))}),nfe=R.forwardRef((t,e)=>{var n=t.width,r=t.height,i=R.useState({containerWidth:Qw(n),containerHeight:Qw(r)}),s=Zw(i,2),o=s[0],a=s[1],l=R.useCallback((d,f)=>{a(m=>{var y=Math.round(d),x=Math.round(f);return m.containerWidth===y&&m.containerHeight===x?m:{containerWidth:y,containerHeight:x}})},[]),c=R.useCallback(d=>{if(typeof e=="function"&&e(d),d!=null){var f=d.getBoundingClientRect(),m=f.width,y=f.height;l(m,y)}},[e,l]);return R.createElement(R.Fragment,null,R.createElement(Ky,{width:o.containerWidth,height:o.containerHeight}),R.createElement("div",Sd({ref:c},t)))}),rfe=R.forwardRef((t,e)=>{var n=t.width,r=t.height;return R.createElement(R.Fragment,null,R.createElement(Ky,{width:n,height:r}),R.createElement("div",Sd({ref:e},t)))}),ife=R.forwardRef((t,e)=>{var n=t.width,r=t.height;return typeof n=="string"||typeof r=="string"?R.createElement(nfe,Sd({},t,{ref:e})):typeof n=="number"&&typeof r=="number"?R.createElement(rfe,Sd({},t,{width:n,height:r,ref:e})):R.createElement(R.Fragment,null,R.createElement(Ky,{width:n,height:r}),R.createElement("div",Sd({ref:e},t)))});function sfe(t){return t?tfe:ife}var ofe=R.forwardRef((t,e)=>{var n=t.children,r=t.className,i=t.height,s=t.onClick,o=t.onContextMenu,a=t.onDoubleClick,l=t.onMouseDown,c=t.onMouseEnter,d=t.onMouseLeave,f=t.onMouseMove,m=t.onMouseUp,y=t.onTouchEnd,x=t.onTouchMove,S=t.onTouchStart,w=t.style,_=t.width,E=t.responsive,T=t.dispatchTouchEvents,C=T===void 0?!0:T,O=R.useRef(null),N=Wr(),D=R.useState(null),F=Zw(D,2),G=F[0],k=F[1],U=R.useState(null),H=Zw(U,2),ne=H[0],te=H[1],he=Wde(),oe=$P(),fe=(oe==null?void 0:oe.width)>0?oe.width:_,B=(oe==null?void 0:oe.height)>0?oe.height:i,J=R.useCallback(De=>{he(De),typeof e=="function"&&e(De),k(De),te(De),De!=null&&(O.current=De)},[he,e,k,te]),Y=R.useCallback(De=>{N(YH(De)),N(zo({handler:s,reactEvent:De}))},[N,s]),V=R.useCallback(De=>{N(zC(De)),N(zo({handler:c,reactEvent:De}))},[N,c]),q=R.useCallback(De=>{N(DB()),N(zo({handler:d,reactEvent:De}))},[N,d]),pe=R.useCallback(De=>{N(zC(De)),N(zo({handler:f,reactEvent:De}))},[N,f]),le=R.useCallback(()=>{N(nV())},[N]),ce=R.useCallback(()=>{N(rV())},[N]),be=R.useCallback(De=>{N(tV(De.key))},[N]),Se=R.useCallback(De=>{N(zo({handler:o,reactEvent:De}))},[N,o]),Xe=R.useCallback(De=>{N(zo({handler:a,reactEvent:De}))},[N,a]),Me=R.useCallback(De=>{N(zo({handler:l,reactEvent:De}))},[N,l]),We=R.useCallback(De=>{N(zo({handler:m,reactEvent:De}))},[N,m]),qe=R.useCallback(De=>{N(zo({handler:S,reactEvent:De}))},[N,S]),ue=R.useCallback(De=>{C&&N(oV(De)),N(zo({handler:x,reactEvent:De}))},[N,C,x]),Z=R.useCallback(De=>{N(zo({handler:y,reactEvent:De}))},[N,y]),Ge=sfe(E);return R.createElement(iH.Provider,{value:G},R.createElement(bX.Provider,{value:ne},R.createElement(Ge,{width:fe??(w==null?void 0:w.width),height:B??(w==null?void 0:w.height),className:er("recharts-wrapper",r),style:$de({position:"relative",cursor:"default",width:fe,height:B},w),onClick:Y,onContextMenu:Se,onDoubleClick:Xe,onFocus:le,onBlur:ce,onKeyDown:be,onMouseDown:Me,onMouseEnter:V,onMouseLeave:q,onMouseMove:pe,onMouseUp:We,onTouchEnd:Z,onTouchMove:ue,onTouchStart:qe,ref:J},R.createElement(efe,null),n)))}),afe=["width","height","responsive","children","className","style","compact","title","desc"];function lfe(t,e){if(t==null)return{};var n,r,i=cfe(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(r=0;r{var n=t.width,r=t.height,i=t.responsive,s=t.children,o=t.className,a=t.style,l=t.compact,c=t.title,d=t.desc,f=lfe(t,afe),m=za(f);return l?R.createElement(R.Fragment,null,R.createElement(Ky,{width:n,height:r}),R.createElement(T3,{otherAttributes:m,title:c,desc:d},s)):R.createElement(ofe,{className:o,style:a,width:n,height:r,responsive:i??!1,onClick:t.onClick,onMouseLeave:t.onMouseLeave,onMouseEnter:t.onMouseEnter,onMouseMove:t.onMouseMove,onMouseDown:t.onMouseDown,onMouseUp:t.onMouseUp,onContextMenu:t.onContextMenu,onDoubleClick:t.onDoubleClick,onTouchStart:t.onTouchStart,onTouchMove:t.onTouchMove,onTouchEnd:t.onTouchEnd},R.createElement(T3,{otherAttributes:m,title:c,desc:d,ref:e},R.createElement(uce,null,s)))});function BC(){return BC=Object.assign?Object.assign.bind():function(t){for(var e=1;eR.createElement(vfe,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:yfe,tooltipPayloadSearcher:Hse,categoricalChartProps:t,ref:e}));const bfe="rgba(130,130,150,0.14)",I3="rgba(130,130,150,0.85)";function _fe(t){if(t<=0)return 10;const e=Math.pow(10,Math.floor(Math.log10(t))),n=t/e;return(n<=1?1:n<=2?2:n<=5?5:10)*e}function uV(t,e){return`${e==="%"?Math.round(t):t>=1e3?`${(t/1e3).toFixed(1)}k`:Math.round(t).toString()}${e}`}function wfe({active:t,payload:e,unit:n}){return!t||!(e!=null&&e.length)?null:g.jsx("div",{className:"rounded-lg border border-border/70 bg-popover/95 px-3 py-2 shadow-xl backdrop-blur",children:g.jsx("div",{className:"space-y-1",children:e.map(r=>g.jsxs("div",{className:"flex items-center gap-2 text-[11px] font-mono",children:[g.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:r.color}}),g.jsx("span",{className:"uppercase tracking-wider text-muted-foreground",children:r.name}),g.jsx("span",{className:"ml-auto pl-3 font-bold tabular-nums text-foreground",children:uV(r.value,n)})]},r.dataKey))})})}function dV({data:t,series:e,unit:n="%",yMode:r="percent",height:i=176}){const s=t.reduce((a,l)=>e.reduce((c,d)=>Math.max(c,Number(l[d.key])||0),a),0),o=r==="percent"?Math.min(100,Math.max(25,Math.ceil(s*1.2/25)*25)):Math.max(_fe(s*1.15),10);return g.jsx("div",{style:{height:i},className:"w-full",children:g.jsx(fZ,{width:"100%",height:"100%",children:g.jsxs(xfe,{data:t,margin:{top:8,right:6,bottom:0,left:-12},children:[g.jsx("defs",{children:e.map(a=>g.jsxs("linearGradient",{id:`grad-${a.key}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[g.jsx("stop",{offset:"0%",stopColor:a.color,stopOpacity:.22}),g.jsx("stop",{offset:"100%",stopColor:a.color,stopOpacity:0})]},a.key))}),g.jsx(LH,{vertical:!1,stroke:bfe}),g.jsx(qH,{dataKey:"t",hide:!0}),g.jsx(KH,{domain:[0,o],ticks:[0,o/2,o],tickFormatter:a=>uV(a,n),width:42,axisLine:!1,tickLine:!1,tick:{fontSize:10,fill:I3}}),g.jsx(voe,{content:g.jsx(wfe,{unit:n}),cursor:{stroke:I3,strokeOpacity:.4,strokeDasharray:"3 3"}}),e.map(a=>g.jsx($H,{type:"monotone",dataKey:a.key,name:a.label,stroke:a.color,strokeWidth:2,fill:`url(#grad-${a.key})`,dot:!1,activeDot:{r:3,strokeWidth:0},isAnimationActive:!1,connectNulls:!0},a.key))]})})})}const Sfe=[{key:"cpu",label:"CPU",color:"#2dd4bf"},{key:"ram",label:"RAM",color:"#38bdf8"},{key:"gpu",label:"GPU",color:"#a78bfa"},{key:"disk",label:"Disk",color:"#fbbf24"}];function Mfe(){var o,a,l,c;const{sys:t,hist:e}=cX(),n=!!(t!=null&&t.gpu&&t.gpu.busy_percent!=null&&t.gpu.gtt_used!=null&&t.gpu.gtt_total!=null),r=Sfe.filter(d=>d.key!=="gpu"||n),i={cpu:(o=t==null?void 0:t.cpu)==null?void 0:o.percent,ram:(a=t==null?void 0:t.ram)==null?void 0:a.percent,gpu:n?t.gpu.busy_percent:null,disk:(l=t==null?void 0:t.disk)==null?void 0:l.percent},s={cpu:(c=t==null?void 0:t.cpu)!=null&&c.cores?`${t.cpu.cores} Cores`:"",ram:t?`${om(t.ram.used)}/${om(t.ram.total)} GB`:"",gpu:n?`${om(t.gpu.gtt_used)}/${om(t.gpu.gtt_total)} GB`:"",disk:t!=null&&t.disk?`${om(t.disk.used)}/${om(t.disk.total)} GB`:""};return g.jsxs("div",{className:"flex flex-col justify-between rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"mb-3 flex items-center gap-2",children:[g.jsx(El,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"System-Status"}),g.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),t?g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"mb-2 grid grid-cols-2 gap-x-4 gap-y-1.5",children:r.map(d=>g.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:d.color}}),g.jsx("span",{className:"shrink-0 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:d.label}),g.jsxs("span",{className:"shrink-0 font-mono text-xs font-bold tabular-nums text-foreground",children:[Math.round(i[d.key]??0),"%"]}),s[d.key]&&g.jsx("span",{className:"truncate font-mono text-[10px] text-muted-foreground/60",children:s[d.key]})]},d.key))}),g.jsx(dV,{data:e,series:r,unit:"%",yMode:"percent",height:176})]}):g.jsx("div",{className:"flex h-44 items-center justify-center text-xs text-muted-foreground",children:"Lade Systemdaten…"})]}),(t==null?void 0:t.temp)&&(t.temp.cpu||t.temp.gpu)&&g.jsxs("div",{className:"mt-3 flex gap-4 border-t border-border/30 pt-3 font-mono text-xs text-muted-foreground/80",children:[t.temp.cpu!=null&&g.jsxs("span",{children:["CPU Temp: ",t.temp.cpu," °C"]}),t.temp.gpu!=null&&g.jsxs("span",{children:["GPU Temp: ",t.temp.gpu," °C"]})]})]})}function g0({label:t,value:e,tone:n}){return g.jsxs("div",{className:nt("flex items-center justify-between rounded-lg border px-3 py-1.5 text-xs",n==="alert"?"border-amber-500/30 bg-amber-500/5 font-semibold text-amber-400":n==="accent"?"border-primary/30 bg-primary/5 font-semibold text-primary":"border-border/30 bg-background/25 text-muted-foreground"),children:[g.jsx("span",{className:"flex items-center gap-1.5",children:t}),g.jsx("span",{className:"font-mono text-[10px]",children:e})]})}function Efe(){var n;const{data:t}=PP(3e3),e=()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"maintenance"}}));return g.jsxs("div",{className:"flex flex-col justify-between rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[g.jsxs("div",{className:"space-y-4",children:[g.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 border-b border-border/20 pb-2",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(n9,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Updates & Pflege"})]}),(t==null?void 0:t.last_check)&&g.jsxs("span",{className:"font-mono text-[9px] text-muted-foreground/80",children:["Zuletzt gesucht: ",new Date(t.last_check*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit"})]})]}),t?g.jsxs("div",{className:"space-y-1.5",children:[g.jsx(g0,{label:"OS-Pakete",tone:t.os>0?"alert":"muted",value:t.os>0?`${t.os} verfügbar`:"aktuell"}),g.jsx(g0,{label:"Inferenz-Engine (llama.cpp)",tone:t.engine>0?"alert":"muted",value:t.engine>0?"Update verfügbar":"aktuell"}),g.jsx(g0,{label:"Router (llama-swap)",tone:t.swap>0?"alert":"muted",value:t.swap>0?"Update verfügbar":"aktuell"}),g.jsx(g0,{label:"Modell-Upgrades",tone:t.models>0?"accent":"muted",value:t.models>0?`${t.models} verfügbar`:"aktuell"}),(n=t.components)==null?void 0:n.map(r=>g.jsx(g0,{tone:r.update===!0?"alert":"muted",label:g.jsxs(g.Fragment,{children:[r.name,r.reachable===!1&&g.jsx("span",{className:"text-[8px] font-bold uppercase text-red-400/80",children:"offline"})]}),value:r.update===!0?`Update: ${r.latest}`:r.update===!1?"aktuell":r.latest?`neueste: ${r.latest}`:"—"},r.key))]}):g.jsx("div",{className:"flex h-24 items-center justify-center text-xs text-muted-foreground",children:"Lade Updates..."})]}),g.jsxs("button",{onClick:e,className:"mt-4 flex h-9 w-full items-center justify-center gap-1.5 rounded-lg bg-primary text-xs font-semibold text-primary-foreground shadow-md shadow-primary/10 transition-all hover:opacity-90 cursor-pointer",children:["Updates verwalten & Pflege ",g.jsx(oF,{className:"h-3.5 w-3.5"})]})]})}function fV({type:t,title:e,message:n,defaultValue:r,autoValue:i,autoLabel:s,onConfirm:o,onCancel:a}){const l=R.useRef(null);return g.jsx("div",{className:"fixed inset-0 z-[99] bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:g.jsxs("div",{className:"w-full max-w-sm rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:e}),g.jsx("button",{onClick:a||(()=>o()),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:n}),t==="prompt"&&g.jsxs("div",{className:"flex gap-2",children:[g.jsx("input",{ref:l,type:"text",defaultValue:r,className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground",autoFocus:!0,onKeyDown:c=>{var d;c.key==="Enter"&&o((d=l.current)==null?void 0:d.value)}}),i!==void 0&&g.jsx("button",{type:"button",onClick:()=>{l.current&&(l.current.value=i)},title:"Setup-bewussten Optimalwert eintragen",className:"h-9 px-3 shrink-0 text-xs font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg transition-colors cursor-pointer",children:s||"Auto"})]}),g.jsxs("div",{className:"flex justify-end gap-3 pt-2",children:[(t==="confirm"||t==="prompt")&&g.jsx("button",{onClick:a,className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Abbrechen"}),g.jsx("button",{onClick:()=>{var d;const c=t==="prompt"?(d=l.current)==null?void 0:d.value:void 0;o(c)},className:"h-8 px-4 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-lg transition-colors cursor-pointer",children:t==="confirm"?"Ja, fortfahren":t==="prompt"?"Übernehmen":"OK"})]})]})})}function tv(){const[t,e]=R.useState(null),n=R.useCallback(()=>e(null),[]),r=R.useCallback((a,l,c)=>{e({type:"alert",title:a,message:l,onConfirm:()=>{e(null),c==null||c()}})},[]),i=R.useCallback((a,l,c,d)=>{e({type:"confirm",title:a,message:l,onConfirm:()=>{e(null),c()},onCancel:()=>{e(null),d==null||d()}})},[]),s=R.useCallback((a,l,c,d,f,m)=>{e({type:"prompt",title:a,message:l,defaultValue:c,autoValue:m==null?void 0:m.autoValue,autoLabel:m==null?void 0:m.autoLabel,onConfirm:y=>{e(null),d(y)},onCancel:()=>{e(null),f==null||f()}})},[]),o=t?g.jsx(fV,{...t}):null;return{showAlert:r,showConfirm:i,showPrompt:s,close:n,dialogElement:o}}function Afe(){const t=Xh(),{data:e}=CP(3e3),{data:n}=Kh(),{showAlert:r,dialogElement:i}=tv(),[s,o]=R.useState(!1),a=(n==null?void 0:n.models)??[];async function l(c){try{await Ut("/api/agent/brain",{method:"POST",body:JSON.stringify({model:c})}),r("Erfolgreich",`Hermes-Gehirn wurde auf '${c}' geändert. Der Gateway-Dienst wurde neu gestartet.`),t.invalidateQueries({queryKey:Lr.agentStatus}),o(!1)}catch(d){r("Fehler",`Fehler beim Wechseln des Gehirns: ${d.message}`)}}return g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15 flex flex-col justify-between",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center justify-between mb-4",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(Il,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Hermes Agent"})]}),(e==null?void 0:e.terminal_url)&&g.jsxs("a",{href:Mg(e.terminal_url),target:"_blank",rel:"noopener",className:nt("flex items-center gap-1 px-3 py-1 rounded-lg text-xs font-medium transition-all",e.terminal_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/20":"border border-border text-muted-foreground"),children:[g.jsx(bg,{className:"h-3 w-3"})," Terminal öffnen"]})]}),e?g.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[g.jsxs("div",{className:"p-3 bg-background/20 rounded-xl border border-border/40",children:[g.jsx("div",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Gateway"}),g.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[g.jsx("span",{className:nt("h-2 w-2 rounded-full",e.gateway_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),g.jsx("span",{className:"text-xs font-medium",children:e.gateway_reachable?"Online":"Offline"})]})]}),g.jsxs("div",{className:"p-3 bg-background/20 rounded-xl border border-border/40",children:[g.jsx("div",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Terminal"}),g.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[g.jsx("span",{className:nt("h-2 w-2 rounded-full",e.terminal_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),g.jsx("span",{className:"text-xs font-medium",children:e.terminal_reachable?"Online":"Offline"})]})]}),g.jsxs("div",{onClick:()=>o(!0),className:"p-3 bg-background/20 rounded-xl border border-border/40 hover:border-primary/45 hover:bg-background/30 transition-all duration-300 cursor-pointer",children:[g.jsxs("div",{className:"flex justify-between items-center",children:[g.jsx("span",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Gehirn"}),g.jsx(El,{className:"h-3 w-3 text-primary"})]}),g.jsxs("div",{className:"text-xs font-medium mt-1 font-mono text-primary truncate flex items-center gap-1",children:[g.jsx($1,{className:"h-3 w-3 shrink-0"}),e.brain_model||"auto"]})]}),g.jsxs("div",{className:"p-3 bg-background/20 rounded-xl border border-border/40",children:[g.jsxs("div",{className:"flex justify-between items-center",children:[g.jsx("span",{className:"text-[10px] text-muted-foreground uppercase font-semibold",children:"Verdrahtung"}),g.jsx(rw,{className:"h-3 w-3 text-primary"})]}),g.jsxs("div",{className:"text-[10px] font-mono mt-1 space-y-0.5 text-muted-foreground",children:[g.jsxs("div",{children:["Config: ",e.has_config?g.jsx("span",{className:"text-emerald-400",children:"✓"}):"—"]}),g.jsxs("div",{children:["Skills: ",e.has_skills?g.jsx("span",{className:"text-emerald-400",children:"✓"}):"—"]}),g.jsxs("div",{children:["Memory: ",e.has_memories?g.jsx("span",{className:"text-emerald-400",children:"✓"}):"—"]})]})]})]}):g.jsx("div",{className:"h-28 flex items-center justify-center text-xs text-muted-foreground",children:"Lade Agenten-Status…"})]}),e&&g.jsxs("div",{className:"mt-3 border-t border-border/30 pt-3 space-y-1.5",children:[g.jsxs("div",{className:"flex items-center justify-between text-[10px] text-muted-foreground",children:[g.jsx("span",{children:"Telegram"}),g.jsx("span",{className:nt("font-semibold",e.telegram_enabled?"text-emerald-400":""),children:e.telegram_enabled?"aktiv":"nicht konfiguriert"})]}),g.jsxs("div",{className:"flex items-center justify-between text-[10px] text-muted-foreground",children:[g.jsx("span",{children:"MCP-Server"}),g.jsxs("span",{className:"font-semibold text-foreground",children:[e.mcp_server_count??0," verbunden"]})]}),g.jsxs("div",{className:"flex items-center justify-between text-[10px] text-muted-foreground",children:[g.jsx("span",{children:"PC Executor"}),g.jsx("span",{className:nt("font-semibold",e.pc_executor_reachable?"text-emerald-400":""),children:e.pc_executor_reachable?"erreichbar":"nicht verbunden"})]})]}),e&&s&&g.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:g.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[g.jsx(El,{className:"h-4 w-4"}),g.jsx("span",{children:"Hermes-Gehirn konfigurieren"})]}),g.jsx("button",{onClick:()=>o(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsxs("p",{className:"text-xs text-muted-foreground leading-relaxed",children:['Das „Gehirn" ist das primäre LLM für Hermes. Wähle ein Modell aus deiner Bibliothek oder nutze ein Gateway-Alias (',g.jsx("code",{className:"text-primary font-semibold",children:"auto"})," / ",g.jsx("code",{className:"text-primary font-semibold",children:"fast"})," / ",g.jsx("code",{className:"text-primary font-semibold",children:"heavy"}),"):"]}),g.jsx("div",{className:"space-y-1.5 max-h-60 overflow-y-auto pr-1",children:["auto","fast","heavy",...a.map(c=>{var d;return((d=c.name.split("/").pop())==null?void 0:d.replace(".gguf",""))||c.name})].map(c=>{const d=["auto","fast","heavy"].includes(c);return g.jsxs("button",{onClick:()=>l(c),className:nt("w-full text-left px-3 py-2.5 rounded-lg text-xs hover:bg-accent flex items-center justify-between font-mono cursor-pointer border border-border/30",e.brain_model===c||!e.brain_model&&c==="auto"?"text-primary font-bold bg-primary/10 border-primary/30":"text-foreground bg-background/20"),children:[g.jsxs("div",{className:"flex flex-col text-left",children:[g.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:c}),g.jsx("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:d?"Gateway Routing Alias":"Installiertes GGUF Modell"})]}),(e.brain_model===c||!e.brain_model&&c==="auto")&&g.jsx(Go,{className:"h-4 w-4 shrink-0 text-primary"})]},c)})})]})}),i]})}function Tfe(){const{data:t}=Kh(3e3),e=(t==null?void 0:t.models)??[],n=(t==null?void 0:t.running)??[];return g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15 flex flex-col justify-between",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[g.jsx($1,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Rollen-Belegung"})]}),g.jsx("div",{className:"space-y-2 max-h-48 overflow-y-auto pr-1 scrollbar-thin",children:QF.map(r=>{var o;const i=e.find(a=>a.role===r),s=i?n.includes(i.name):!1;return g.jsxs("div",{className:nt("flex items-center justify-between p-2 rounded-xl border transition-all duration-300",s?"border-emerald-500/30 bg-emerald-500/5 shadow-sm shadow-emerald-500/5":i?"border-primary/20 bg-primary/5":"border-border/30 bg-background/10 opacity-60"),children:[g.jsx("div",{className:"min-w-0 flex-1 mr-2",children:g.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[g.jsx("span",{className:nt("text-[9px] font-semibold uppercase px-1.5 py-0.5 rounded font-mono border tracking-wider shrink-0",NP(r)),children:r}),g.jsxs("div",{className:"flex flex-col min-w-0",children:[g.jsx("span",{className:"text-xs font-semibold truncate font-mono text-foreground",children:i?(o=i.name.split("/").pop())==null?void 0:o.replace(/\.gguf$/i,""):"nicht zugewiesen"}),i&&g.jsxs("div",{className:"flex gap-1 items-center mt-0.5 flex-wrap",children:[i.prompt_cache&&g.jsx("span",{className:"text-[7px] leading-none font-mono font-bold bg-cyan-500/10 text-cyan-400 border border-cyan-500/20 px-1 py-0.5 rounded",title:"Prompt Caching aktiv",children:"PC"}),i.spec_active&&g.jsx("span",{className:"text-[7px] leading-none font-mono font-bold bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 px-1 py-0.5 rounded",title:`Speculative Decoding aktiv (Draft: ${i.spec_draft_model})`,children:"SPEC"}),i.parallel_slots>1&&g.jsxs("span",{className:"text-[7px] leading-none font-mono font-bold bg-violet-500/10 text-violet-400 border border-violet-500/20 px-1 py-0.5 rounded",title:`${i.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",i.parallel_slots]}),i.incomplete&&g.jsx("span",{className:"text-[7px] leading-none font-mono font-bold bg-amber-500/10 text-amber-400 border border-amber-500/20 px-1 py-0.5 rounded",title:"GGUF-Datei fehlt",children:"⚠ fehlt"})]})]})]})}),g.jsx("div",{className:"flex items-center gap-1.5 shrink-0",children:i?s?g.jsxs("span",{className:"flex items-center gap-1 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider font-mono",children:[g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," warm"]}):g.jsx("span",{className:"text-[8px] font-semibold text-muted-foreground uppercase tracking-wider font-mono",children:"bereit"}):g.jsx("span",{className:"text-[8px] font-semibold text-muted-foreground/60 uppercase tracking-wider font-mono",children:"—"})})]},r)})})]}),g.jsx("div",{className:"mt-4 text-[10px] text-muted-foreground/80 border-t border-border/30 pt-3",children:"Laden erfolgt automatisch per Auto-Swap."})]})}function Cfe(){const t=Xh(),{data:e=[]}=HT({limit:3}),[n,r]=R.useState(""),[i,s]=R.useState("stable"),[o,a]=R.useState(!1);async function l(){if(!(!n.trim()||o)){a(!0);try{await Ut("/api/memory",{method:"POST",body:JSON.stringify({content:n,category:i,source:"dashboard"})}),r(""),t.invalidateQueries({queryKey:["memory"]})}catch(c){console.error(c)}finally{a(!1)}}}return g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15 flex flex-col justify-between",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[g.jsx(W1,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase text-foreground",children:"Gedächtnis"})]}),g.jsxs("div",{className:"space-y-3",children:[g.jsx("textarea",{value:n,onChange:c=>r(c.target.value),placeholder:"Fakt / Regel im Pool speichern...",rows:2,className:"w-full resize-none rounded-xl border border-border/50 bg-background/30 p-2 text-[10px] outline-none focus:ring-1 focus:ring-primary transition-all leading-normal"}),g.jsxs("div",{className:"flex items-center gap-2 justify-between",children:[g.jsxs("select",{value:i,onChange:c=>s(c.target.value),className:"h-7 rounded-lg border border-border/50 bg-background/50 px-2 text-[10px] outline-none cursor-pointer",children:[g.jsx("option",{value:"stable",children:"🔵 Fakt"}),g.jsx("option",{value:"instruction",children:"📋 Regel"}),g.jsx("option",{value:"user",children:"👤 User"}),g.jsx("option",{value:"versioned",children:"🟡 Version"})]}),g.jsxs("button",{onClick:l,disabled:!n.trim()||o,className:"flex h-7 items-center gap-1 rounded-lg bg-primary px-3 text-[10px] font-semibold text-primary-foreground hover:opacity-90 disabled:opacity-50 transition-all cursor-pointer",children:[g.jsx(OT,{className:"h-3.5 w-3.5"})," Speichern"]})]})]}),g.jsxs("div",{className:"mt-3.5 space-y-1.5",children:[g.jsx("div",{className:"text-[9px] text-muted-foreground uppercase font-bold tracking-wider",children:"Zuletzt gespeichert:"}),g.jsx("div",{className:"max-h-20 overflow-y-auto space-y-1 pr-1 scrollbar-thin",children:e.length===0?g.jsx("div",{className:"text-[10px] text-muted-foreground/75 py-1",children:"Keine Einträge vorhanden."}):e.map(c=>g.jsxs("div",{className:"text-[10px] bg-background/10 border border-border/30 rounded p-1.5 flex items-start gap-1.5",children:[g.jsx("span",{className:"shrink-0 text-[8px] font-mono text-muted-foreground/80 px-1 py-0.5 rounded bg-muted/20",children:c.category}),g.jsx("span",{className:"truncate flex-1 text-muted-foreground hover:text-foreground transition-colors",title:c.content,children:c.content})]},c.id))})]})]}),g.jsx("div",{className:"mt-4 text-[10px] text-muted-foreground/80 border-t border-border/30 pt-3",children:"Steht allen Clients per MCP zur Verfügung."})]})}const k3=[{key:"prompt",label:"Prompt",color:"#f59e0b"},{key:"completion",label:"Antwort",color:"#2dd4bf"}];function Pfe(){const{data:t}=TP(3e3),e=aX(),n=e[e.length-1],r=n?Math.round(n.prompt+n.completion):0;return g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[g.jsxs("div",{className:"mb-3 flex items-start justify-between gap-3",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(ay,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Token-Durchsatz"}),g.jsxs("span",{className:"ml-1 inline-flex items-center gap-1 text-[10px] font-medium text-muted-foreground/70",children:[g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," live"]})]}),t&&g.jsxs("div",{className:"mt-2 flex items-baseline gap-2",children:[g.jsx("span",{className:"font-space text-3xl font-bold tracking-tight text-foreground tabular-nums",children:r.toLocaleString("de-DE")}),g.jsx("span",{className:"text-xs text-muted-foreground",children:"tok/s aktuell"})]}),t&&g.jsxs("div",{className:"mt-0.5 space-y-0.5 font-mono text-[11px] text-muted-foreground/70",children:[g.jsxs("div",{children:[t.total_tokens.toLocaleString("de-DE")," Tokens gesamt · ",g.jsxs("span",{className:"text-emerald-400/90",children:[t.saved_eur.toLocaleString("de-DE",{minimumFractionDigits:2})," € gespart"]})]}),g.jsxs("div",{className:"text-muted-foreground/55",children:["Input ",t.prompt_tokens.toLocaleString("de-DE")," · Output ",t.completion_tokens.toLocaleString("de-DE")]})]})]}),g.jsx("div",{className:"flex shrink-0 flex-col items-end gap-1.5 pt-1",children:k3.map(i=>g.jsxs("div",{className:"flex items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 rounded-full",style:{background:i.color}}),g.jsx("span",{className:"text-[11px] font-semibold uppercase tracking-wider text-muted-foreground",children:i.label}),g.jsx("span",{className:"font-mono text-xs font-bold tabular-nums text-foreground",children:Math.round((n==null?void 0:n[i.key])??0)})]},i.key))})]}),t?g.jsx(dV,{data:e,series:k3,unit:" tok/s",yMode:"auto",height:150}):g.jsx("div",{className:"flex h-[150px] items-center justify-center text-xs text-muted-foreground",children:"Lade Durchsatz…"}),g.jsx("div",{className:"mt-2 border-t border-border/30 pt-2 text-[10px] text-muted-foreground/70",children:"Durchsatz aus dem Gateway abgeleitet (Prefill vs. Generierung). Flach bei Leerlauf."})]})}function Rfe(){const{data:t}=m7(3e3),{showAlert:e,dialogElement:n}=tv(),[r,i]=R.useState({});async function s(o){i(a=>({...a,[o]:!0}));try{const a=await Ut("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:o})});a.ok||e("Fehler",`Neustart fehlgeschlagen: ${a.err||"Unbekannt"}`)}catch(a){e("Fehler",`Fehler: ${a.message}`)}finally{i(a=>({...a,[o]:!1}))}}return g.jsxs("div",{className:"flex flex-col rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/15",children:[g.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(nw,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold uppercase tracking-wide text-foreground",children:"Dienste"})]}),g.jsx("button",{onClick:()=>window.dispatchEvent(new CustomEvent("open-system-drawer",{detail:{tab:"logs"}})),className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground transition-colors hover:text-primary cursor-pointer",children:"Logs / Pflege"})]}),t?g.jsxs("div",{className:"flex flex-1 flex-col",children:[g.jsx("div",{className:"space-y-1.5",children:t.services.map(o=>g.jsxs("div",{className:"group flex items-center justify-between gap-2 rounded-xl border border-border/30 bg-background/20 p-2.5",children:[g.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[g.jsx("span",{className:nt("h-2.5 w-2.5 shrink-0 rounded-full ring-2 ring-black/40",o.ok?"bg-emerald-500":"bg-amber-500")}),g.jsxs("div",{className:"min-w-0",children:[g.jsx("div",{className:"truncate text-xs font-bold text-foreground",children:o.name}),g.jsx("div",{className:"truncate font-mono text-[9px] text-muted-foreground/60",children:o.url})]})]}),g.jsx("button",{onClick:()=>s(o.name),disabled:r[o.name],className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg border border-border/40 text-muted-foreground opacity-0 transition-all hover:bg-primary/5 hover:text-primary group-hover:opacity-100",title:"Dienst neu starten",children:g.jsx(Zf,{className:nt("h-3.5 w-3.5",r[o.name]&&"animate-spin")})})]},o.name))}),g.jsxs("div",{className:"mt-auto flex flex-wrap gap-3 border-t border-border/20 pt-2.5 text-[10px] font-semibold text-muted-foreground",children:[g.jsxs("a",{href:Mg(t.links.engine_ui),target:"_blank",rel:"noopener",className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-primary transition-colors hover:bg-primary/10",children:[g.jsx(bg,{className:"h-3 w-3"})," Engine"]}),g.jsxs("a",{href:Mg(t.links.gateway),target:"_blank",rel:"noopener",className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-primary transition-colors hover:bg-primary/10",children:[g.jsx(bg,{className:"h-3 w-3"})," Gateway"]})]})]}):g.jsx("div",{className:"flex h-24 items-center justify-center text-xs text-muted-foreground",children:"Lade Dienste…"}),n]})}function O3({children:t}){return g.jsx("p",{className:"mb-2 ml-0.5 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground/60",children:t})}function Nfe(){return g.jsxs("div",{className:"space-y-7",children:[g.jsxs("div",{children:[g.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Zentrale"}),g.jsx("p",{className:"text-sm text-muted-foreground",children:"Aktueller Status von System, Modellen und Agent."})]}),g.jsxs("div",{className:"grid items-stretch gap-6 lg:grid-cols-3",children:[g.jsx(Mfe,{}),g.jsx(Pfe,{}),g.jsx(rX,{})]}),g.jsxs("section",{children:[g.jsx(O3,{children:"Stack-Status"}),g.jsxs("div",{className:"grid gap-6 md:grid-cols-2",children:[g.jsx(Tfe,{}),g.jsx(Rfe,{})]})]}),g.jsxs("section",{children:[g.jsx(O3,{children:"Betrieb & Wissen"}),g.jsxs("div",{className:"grid gap-6 md:grid-cols-3",children:[g.jsx(Efe,{}),g.jsx(Afe,{}),g.jsx(Cfe,{})]})]})]})}function Ife(){const t=Xh(),{data:e=[]}=v7(2e3),{showAlert:n,dialogElement:r}=tv();async function i(a){try{await Ut(`/api/jobs/${a}/cancel`,{method:"POST"}),t.invalidateQueries({queryKey:Lr.jobs})}catch(l){n("Fehler",l.message)}}const s=e.filter(a=>a.state==="running"||a.state==="queued"),o=e.filter(a=>a.state!=="running"&&a.state!=="queued").slice(-3);return s.length===0&&o.length===0?null:g.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 shadow-lg shadow-black/10",children:[g.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground uppercase tracking-wider",children:"Aktive Downloads"}),s.map(a=>g.jsxs("div",{className:"space-y-1.5 p-3 rounded-xl bg-background/20 border border-border/40",children:[g.jsxs("div",{className:"flex justify-between items-center text-xs",children:[g.jsx("span",{className:"font-semibold truncate max-w-[250px]",children:a.label}),g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsxs("span",{className:"text-muted-foreground font-mono",children:[a.progress??0,"% • ",VT(a.done_bytes),"/",VT(a.total_bytes),a.eta_s?` • ETA ${w7(a.eta_s)}`:""]}),g.jsx("button",{onClick:()=>i(a.id),className:"text-[10px] text-red-400 hover:text-red-300 font-semibold border border-red-500/25 bg-red-500/5 px-2 py-0.5 rounded transition-all cursor-pointer",children:"Abbrechen"})]})]}),g.jsx("div",{className:"h-1.5 overflow-hidden rounded-full bg-muted",children:g.jsx("div",{className:"h-full rounded-full bg-primary transition-all duration-500",style:{width:`${a.progress??0}%`}})})]},a.id)),o.map(a=>g.jsxs("div",{className:"flex justify-between items-center text-xs text-muted-foreground px-1",children:[g.jsx("span",{className:"truncate",children:a.label}),g.jsx("span",{className:nt("font-semibold text-[10px] px-1.5 py-0.5 rounded uppercase font-mono",a.state==="done"?"bg-emerald-500/10 text-emerald-400":"bg-amber-500/10 text-amber-400"),children:a.state})]},a.id)),r]})}function Af({children:t,tone:e="muted"}){const n={muted:"bg-muted text-muted-foreground",primary:"bg-primary/15 text-primary",warn:"bg-amber-500/15 text-amber-500"};return g.jsx("span",{className:`rounded px-1.5 py-0.5 text-[11px] font-medium ${n[e]}`,children:t})}function L3({caps:t}){return t?g.jsxs("span",{className:"inline-flex flex-wrap gap-1",children:[t.coder&&g.jsx(Af,{children:"💻 Code"}),t.vision&&g.jsx(Af,{children:"👁 Bild"}),t.reasoning&&g.jsx(Af,{children:"🧠 Reason"}),t.moe&&g.jsxs(Af,{tone:"primary",children:["🧩 MoE",t.active_b?`·${t.active_b}b`:""]}),t.tools==="yes"&&g.jsx(Af,{tone:"primary",children:"🛠 Tools"}),t.tools==="likely"&&g.jsx(Af,{tone:"warn",children:"🛠 Tools?"}),t.embedding&&g.jsx(Af,{children:"🔢 Embed"})]}):null}function kfe({model:t,onClose:e,onChanged:n}){var S,w;const{data:r,isLoading:i}=b7(t.gguf_path),[s,o]=R.useState(null),[a,l]=R.useState(""),c=r==null?void 0:r.target_vocab,d=(r==null?void 0:r.drafts)??[],f=d.filter(_=>_.compatible===!0),m=t.spec_draft_model;async function y(_){o(_??"__clear__"),l("");try{await Ut(`/api/models/${encodeURIComponent(t.name)}/draft`,{method:"POST",body:JSON.stringify({draft_path:_})}),n(),e()}catch(E){l(String((E==null?void 0:E.message)||E)),o(null)}}const x=_=>{var E;return _?`${_.pre??"?"} · ${((E=_.n_vocab)==null?void 0:E.toLocaleString())??"?"} Tokens`:"—"};return g.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:g.jsxs("div",{className:"w-full max-w-lg rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-2",children:[g.jsx(bh,{className:"h-4 w-4"})," Speculative Draft"]}),g.jsx("button",{onClick:e,className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed",children:['Beschleunigt die Token-Generierung mit einem kleinen "Draft"-Modell. Voraussetzung: der Draft muss den ',g.jsx("strong",{className:"text-foreground",children:"exakt gleichen Tokenizer (Vocab)"})," haben wie das Modell — sonst lehnt llama.cpp es ab."]}),g.jsxs("div",{className:"rounded-lg border border-border/40 bg-background/30 px-3 py-2 text-[11px] font-mono flex items-center justify-between",children:[g.jsx("span",{className:"text-muted-foreground",children:(S=t.name.split("/").pop())==null?void 0:S.replace(/\.gguf$/i,"")}),g.jsxs("span",{className:"text-foreground",children:["Vocab: ",x(c)]})]}),t.spec_active&&m&&g.jsxs("div",{className:"rounded-lg border border-emerald-500/30 bg-emerald-500/5 px-3 py-2 flex items-center justify-between gap-2",children:[g.jsxs("span",{className:"text-[11px] text-emerald-400 font-mono flex items-center gap-1.5 truncate",children:[g.jsx(Go,{className:"h-3.5 w-3.5 shrink-0"})," Aktiv: ",m]}),g.jsx("button",{onClick:()=>y(null),disabled:s!==null,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Deaktivieren"})]}),!(r!=null&&r.target_exists)&&g.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 flex items-center gap-2",children:[g.jsx(_g,{className:"h-3.5 w-3.5 shrink-0"}),"Modell-GGUF noch nicht vorhanden — Spec-Draft ist nach dem Download konfigurierbar."]}),g.jsx("div",{className:"space-y-1.5 max-h-64 overflow-y-auto pr-1",children:i?g.jsx("div",{className:"text-xs text-muted-foreground py-6 text-center",children:"Prüfe Vocab-Kompatibilität…"}):d.length===0?g.jsxs("div",{className:"text-[11px] text-muted-foreground border border-dashed border-border/50 rounded-lg p-4 text-center",children:["Keine Draft-Modelle in ",g.jsx("code",{className:"font-mono",children:"/srv/models/drafts"}),". Lade ein kleines same-family-Modell (z.B. Qwen3-0.6B) und lege es dort ab."]}):d.map(_=>{var C,O;const E=_.filename===m,T=_.compatible===!0;return g.jsxs("div",{className:nt("rounded-lg border px-3 py-2 flex items-center justify-between gap-2 text-left",T?"border-border/40 bg-background/20":"border-border/20 bg-background/10 opacity-60",E&&"border-primary/40 bg-primary/10"),children:[g.jsxs("div",{className:"min-w-0",children:[g.jsx("div",{className:"text-[11px] font-mono font-semibold text-foreground truncate",children:_.filename}),g.jsxs("div",{className:"text-[9px] text-muted-foreground font-mono",children:[Bo(_.size_bytes)," · Vocab: ",x(_.vocab)]})]}),T?E?g.jsxs("span",{className:"text-[9px] font-bold uppercase text-primary flex items-center gap-1 shrink-0",children:[g.jsx(Go,{className:"h-3.5 w-3.5"})," Aktiv"]}):g.jsx("button",{onClick:()=>y(_.path),disabled:s!==null,className:"h-7 px-3 rounded-lg border border-emerald-500/30 bg-emerald-500/5 hover:bg-emerald-500/15 text-emerald-400 text-[9px] font-bold uppercase shrink-0 cursor-pointer disabled:opacity-50",children:"Aktivieren"}):g.jsxs("span",{className:"text-[9px] font-bold uppercase text-amber-400/80 flex items-center gap-1 shrink-0",title:_.compatible===!1?`Inkompatibel: Tokenizer/Vocab weicht ab (Draft ${(C=_.vocab)==null?void 0:C.pre}/${(O=_.vocab)==null?void 0:O.n_vocab} ≠ Modell ${c==null?void 0:c.pre}/${c==null?void 0:c.n_vocab}).`:"Kompatibilität nicht prüfbar (Datei fehlt).",children:[g.jsx(_g,{className:"h-3.5 w-3.5"})," ",_.compatible===!1?"Vocab ≠":"n/a"]})]},_.path)})}),!i&&(r==null?void 0:r.target_exists)&&d.length>0&&f.length===0&&g.jsxs("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 px-3 py-2 text-[11px] text-amber-400 leading-relaxed",children:["Kein vocab-kompatibler Draft verfügbar — Speculative Decoding ist für dieses Modell nicht möglich. Es braucht einen Draft mit identischem Tokenizer (pre=",g.jsx("span",{className:"font-mono",children:c==null?void 0:c.pre}),", n_vocab=",g.jsx("span",{className:"font-mono",children:(w=c==null?void 0:c.n_vocab)==null?void 0:w.toLocaleString()}),")."]}),a&&g.jsx("div",{className:"text-[10px] text-red-400 font-mono",children:a})]})})}function Ofe(){var rt,dt,Bt,Ke,re,Qe,wt,pt;const t=Xh(),{data:e,isLoading:n,error:r}=Kh(4e3),{data:i}=g7(4e3),{data:s}=WF(),{data:o}=PP(4e3),{data:a}=y7(),{data:l}=Q1(),{showAlert:c,showConfirm:d,showPrompt:f,dialogElement:m}=tv(),y=(e==null?void 0:e.models)??[],x=(e==null?void 0:e.running)??[],S=r?String(r):"",w=()=>{t.invalidateQueries({queryKey:Lr.models}),t.invalidateQueries({queryKey:Lr.routing})},[_,E]=R.useState(null),[T,C]=R.useState(null),[O,N]=R.useState(null),[D,F]=R.useState(null),[G,k]=R.useState(!1),[U,H]=R.useState(!1),[ne,te]=R.useState(null),[he,oe]=R.useState("grid"),[fe,B]=R.useState("all"),J=y.filter(de=>fe==="in_use"?!!de.role||x.includes(de.name):!0),[Y,V]=R.useState({width:800,height:360}),q=R.useRef(null),pe=R.useCallback(de=>{if(q.current&&(q.current.disconnect(),q.current=null),de){const Q=new ResizeObserver(Ae=>{if(!Ae||Ae.length===0)return;const ie=Ae[0].contentRect;V({width:ie.width,height:ie.height})});Q.observe(de),q.current=Q}},[]),le=Y.width,ce=Y.height,be=de=>{const Q=le*.1,Ae=ce*de,ie=le*.5,Ue=ce*.5,Te=le*.3,Oe=Ae,Ye=le*.3;return`M ${Q} ${Ae} C ${Te} ${Oe}, ${Ye} ${Ue}, ${ie} ${Ue}`},Se=de=>{const Q=le*.5,Ae=ce*.5,ie=le*.9,Ue=ce*de,Te=le*.7,Oe=Ae,Ye=le*.7;return`M ${Q} ${Ae} C ${Te} ${Oe}, ${Ye} ${Ue}, ${ie} ${Ue}`};async function Xe(de){try{await Ut(`/api/models/${encodeURIComponent(de)}/load`,{method:"POST"}),w()}catch(Q){c("Fehler",`Fehler beim Laden des Modells: ${Q.message}`)}}async function Me(de){try{await Ut(`/api/models/${encodeURIComponent(de)}/unload`,{method:"POST"}),w()}catch(Q){c("Fehler",`Fehler beim Entladen des Modells: ${Q.message}`)}}async function We(){try{await Ut("/api/models/unload",{method:"POST"}),w()}catch(de){c("Fehler",`Fehler beim Entladen aller Modelle: ${de.message}`)}}async function qe(de,Q){try{await Ut(`/api/models/${encodeURIComponent(Q)}/role`,{method:"POST",body:JSON.stringify({role:de||null})}),w()}catch(Ae){c("Fehler",`Fehler beim Zuweisen der Rolle: ${Ae.message||Ae}`)}}function ue(de){C(de),N(null),Ut(`/api/roles/${encodeURIComponent(de)}/recommend`).then(Q=>N(Q)).catch(()=>{})}async function Z(de,Q){let Ae=null;try{Ae=await Ut(`/api/models/${encodeURIComponent(de)}/ctx/auto`)}catch{}const ie=Ae?`Optimal für dein Setup: ${(Ae.ctx/1024).toFixed(0)}k (${Ae.ctx}) — GTT ${Ae.gtt_gb} GB − reserviert ${Ae.reserved_gb} GB (${Ae.mode}) → ${Ae.budget_gb} GB frei. »Auto« trägt diesen Wert ein.`:"Gib die gewünschte Kontextlänge in Tokens an:";f("Kontextlänge anpassen",ie,String(Q||32768),async Ue=>{if(Ue)try{await Ut(`/api/models/${encodeURIComponent(de)}/ctx`,{method:"POST",body:JSON.stringify({ctx:parseInt(Ue,10)})}),w()}catch(Te){c("Fehler",`Fehler beim Setzen des Kontexts: ${Te.message||Te}`)}},void 0,Ae?{autoValue:String(Ae.ctx),autoLabel:`Auto (${(Ae.ctx/1024).toFixed(0)}k)`}:void 0)}async function Ge(de){d("Modell löschen?",`Modell '${de}' und alle zugehörigen GGUF-Dateien unwiderruflich von der Box löschen?`,async()=>{try{await Ut(`/api/models/${encodeURIComponent(de)}`,{method:"DELETE"}),w()}catch(Q){c("Fehler",`Fehler beim Löschen: ${Q.message||Q}`)}})}async function De(de,Q,Ae,ie){try{await Ut("/api/models/install",{method:"POST",body:JSON.stringify({repo:de,role:Q,quant:Ae,jinja:ie})}),c("Herunterladen gestartet",`Download für '${de}' gestartet! Der Fortschritt wird oben angezeigt.`)}catch(Ue){c("Fehler",`Fehler beim Starten des Upgrades: ${Ue.message||Ue}`)}}async function $e(de){const Q=a==null?void 0:a.budget,Ae=Q&&!Q.fits?` -⚠ Speicher-Warnung: Dieses Brain (~${Q.brain_gb} GB) muss immer resident sein. Zusammen mit dem größten on-demand-Modell (~${Q.largest_ondemand_gb} GB) sprengt das das Budget (${Q.gtt_gb} GB) → heavy/coder würden das Brain verdrängen. Erwäge ein kleineres Brain oder weniger Kontext.`:"";d("Agent-Hirn aktualisieren?",`Neues Hermes-Modell '${ue.split("/").pop()}' herunterladen und als Agent-Hirn (Rolle hermes) setzen? Hermes nutzt danach automatisch das neue Modell.${Ae}`,async()=>{try{await Ft("/api/models/install",{method:"POST",body:JSON.stringify({repo:ue,role:"hermes",quant:"Q4_K_M",jinja:!0})}),c("Download gestartet","Das neue Agent-Hirn wird geladen. Fortschritt oben."),w()}catch(re){c("Fehler",`Update fehlgeschlagen: ${re.message||re}`)}})}async function Je(ue){d("Agent-Hirn wechseln?",`'${ue.split("/").pop()}' als Agent-Hirn (Alias hermes) setzen? Es wird warm gehalten (brains-Gruppe); Hermes nutzt es nach einem kurzen Gateway-Restart.`,async()=>{try{await Ft("/api/agent/brain/set",{method:"POST",body:JSON.stringify({model_id:ue})}),c("Erledigt","Agent-Hirn gewechselt. Gateway wurde neugestartet."),k(!1),w()}catch(Q){c("Fehler",`Wechsel fehlgeschlagen: ${Q.message||Q}`)}})}async function bt(ue){ue&&(await navigator.clipboard.writeText(ue),H(!0),setTimeout(()=>H(!1),1500))}if(n)return g.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Initialisiere HUD Cockpit…"});if(S)return g.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Gateway oder Engine nicht erreichbar (",S,")."]});const ut=y.filter(ue=>x.includes(ue.name)),ee=ut.reduce((ue,Q)=>ue+(Q.size_bytes||0),0),$=((rt=l==null?void 0:l.gpu)==null?void 0:rt.gtt_total)||((dt=l==null?void 0:l.gpu)==null?void 0:dt.vram_total)||0,Ee=((de=l==null?void 0:l.gpu)==null?void 0:de.gtt_used)||0,Be=16*1024**3,Ve=$>2*1024**3?$:ee>Be?ee*1.2:Be,He=ue=>y.find(Q=>Q.role===ue),mt=ue=>{const Q=He(ue);return Q?x.includes(Q.name):!1};return g.jsxs("div",{className:"space-y-8",children:[g.jsx("style",{children:` +⚠ Speicher-Warnung: Dieses Brain (~${Q.brain_gb} GB) muss immer resident sein. Zusammen mit dem größten on-demand-Modell (~${Q.largest_ondemand_gb} GB) sprengt das das Budget (${Q.gtt_gb} GB) → heavy/coder würden das Brain verdrängen. Erwäge ein kleineres Brain oder weniger Kontext.`:"";d("Agent-Hirn aktualisieren?",`Neues Hermes-Modell '${de.split("/").pop()}' herunterladen und als Agent-Hirn (Rolle hermes) setzen? Hermes nutzt danach automatisch das neue Modell.${Ae}`,async()=>{try{await Ut("/api/models/install",{method:"POST",body:JSON.stringify({repo:de,role:"hermes",quant:"Q4_K_M",jinja:!0})}),c("Download gestartet","Das neue Agent-Hirn wird geladen. Fortschritt oben."),w()}catch(ie){c("Fehler",`Update fehlgeschlagen: ${ie.message||ie}`)}})}async function et(de){d("Agent-Hirn wechseln?",`'${de.split("/").pop()}' als Agent-Hirn (Alias hermes) setzen? Es wird warm gehalten (brains-Gruppe); Hermes nutzt es nach einem kurzen Gateway-Restart.`,async()=>{try{await Ut("/api/agent/brain/set",{method:"POST",body:JSON.stringify({model_id:de})}),c("Erledigt","Agent-Hirn gewechselt. Gateway wurde neugestartet."),k(!1),w()}catch(Q){c("Fehler",`Wechsel fehlgeschlagen: ${Q.message||Q}`)}})}async function bt(de){de&&(await navigator.clipboard.writeText(de),H(!0),setTimeout(()=>H(!1),1500))}if(n)return g.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Initialisiere HUD Cockpit…"});if(S)return g.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Gateway oder Engine nicht erreichbar (",S,")."]});const ct=y.filter(de=>x.includes(de.name)),ee=ct.reduce((de,Q)=>de+(Q.size_bytes||0),0),$=((rt=l==null?void 0:l.gpu)==null?void 0:rt.gtt_total)||((dt=l==null?void 0:l.gpu)==null?void 0:dt.vram_total)||0,Ee=((Bt=l==null?void 0:l.gpu)==null?void 0:Bt.gtt_used)||0,ze=16*1024**3,He=$>2*1024**3?$:ee>ze?ee*1.2:ze,Be=de=>y.find(Q=>Q.role===de),gt=de=>{const Q=Be(de);return Q?x.includes(Q.name):!1};return g.jsxs("div",{className:"space-y-8",children:[g.jsx("style",{children:` @keyframes flow-dash { to { stroke-dashoffset: -20; @@ -570,13 +570,13 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho stroke-dasharray: 4 6; animation: flow-dash 1s linear infinite; } - `}),g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[g.jsxs("div",{className:"flex justify-between items-center",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(iE,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"VRAM / Memory Belegung"})]}),g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground",children:["Speicher-Pool: ",Bo(ee)," Gewichte",Ee>0?` · ${Bo(Ee)} real belegt (inkl. KV)`:""," / ",Bo(Ve)]}),x.length>0&&g.jsx("button",{onClick:$e,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase transition-all cursor-pointer",children:"Alle entladen"})]})]}),g.jsx("div",{className:"h-7 w-full rounded-xl bg-background/50 border border-border/40 overflow-hidden flex p-0.5 relative group",children:ut.length===0?g.jsx("div",{className:"w-full h-full flex items-center justify-center text-[10px] text-muted-foreground/60 italic font-mono select-none",children:"VRAM Leer — Auto-Swap lädt Modelle bei Anfrage"}):ut.map((ue,Q)=>{var Fe;const Ae=(ue.size_bytes||0)/Ve*100,re=["from-teal-500 to-emerald-500","from-indigo-500 to-blue-500","from-purple-500 to-pink-500","from-cyan-500 to-sky-500"][Q%4];return g.jsxs("div",{style:{width:`${Ae}%`},className:nt("h-full rounded bg-gradient-to-r flex items-center justify-between px-2.5 transition-all text-white/95 shrink-0 shadow-inner select-none",re),title:`${ue.name} (${Bo(ue.size_bytes)})`,children:[g.jsxs("span",{className:"text-[9px] font-bold truncate max-w-[120px] font-space tracking-wide",children:[ue.role?`[${ue.role}] `:"",(Fe=ue.name.split("/").pop())==null?void 0:Fe.replace(".gguf","")]}),g.jsx("span",{className:"text-[8px] font-mono opacity-80",children:Bo(ue.size_bytes)})]},ue.name)})})]}),g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-4",children:[g.jsxs("div",{children:[g.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Interactive Gateway Graph"}),g.jsx("p",{className:"text-[10px] text-muted-foreground mt-0.5 leading-relaxed",children:"Klicke links auf Editoren, um Configs zu kopieren. Klicke rechts auf Rollen, um GGUF-Zuweisungen live zu ändern."})]}),g.jsxs("div",{ref:pe,className:"relative w-full h-96 border border-border/30 rounded-xl bg-black/25 overflow-hidden flex",children:[g.jsxs("svg",{className:"absolute inset-0 pointer-events-none w-full h-full",children:[g.jsxs("defs",{children:[g.jsxs("linearGradient",{id:"cyan-to-teal",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[g.jsx("stop",{offset:"0%",stopColor:"#06b6d4",stopOpacity:"0.45"}),g.jsx("stop",{offset:"100%",stopColor:"#0d9488",stopOpacity:"0.45"})]}),g.jsxs("linearGradient",{id:"active-glow",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[g.jsx("stop",{offset:"0%",stopColor:"#3b82f6",stopOpacity:"0.8"}),g.jsx("stop",{offset:"100%",stopColor:"#10b981",stopOpacity:"0.8"})]})]}),g.jsx("path",{d:be(.1),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ne==="roocode"||_==="roocode")&&g.jsx("path",{d:be(.1),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:be(.3),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ne==="cursor"||_==="cursor")&&g.jsx("path",{d:be(.3),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:be(.5),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ne==="opencode"||_==="opencode")&&g.jsx("path",{d:be(.5),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:be(.7),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ne==="zed"||_==="zed")&&g.jsx("path",{d:be(.7),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:be(.9),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ne==="continue"||_==="continue")&&g.jsx("path",{d:be(.9),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:Se(.12),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),mt("fast")&&g.jsx("path",{d:Se(.12),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:Se(.31),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),mt("heavy")&&g.jsx("path",{d:Se(.31),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:Se(.5),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),mt("coder")&&g.jsx("path",{d:Se(.5),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:Se(.69),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),mt("vision")&&g.jsx("path",{d:Se(.69),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:Se(.88),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),mt("scout")&&g.jsx("path",{d:Se(.88),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"})]}),g.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"10%"},onMouseEnter:()=>te("roocode"),onMouseLeave:()=>te(null),onClick:()=>E(ue=>ue==="roocode"?null:"roocode"),children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),g.jsx("span",{children:"Roo Code"})]}),g.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"30%"},onMouseEnter:()=>te("cursor"),onMouseLeave:()=>te(null),onClick:()=>E(ue=>ue==="cursor"?null:"cursor"),children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),g.jsx("span",{children:"Cursor IDE"})]}),g.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"50%"},onMouseEnter:()=>te("opencode"),onMouseLeave:()=>te(null),onClick:()=>E(ue=>ue==="opencode"?null:"opencode"),children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),g.jsx("span",{children:"OpenCode"})]}),g.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"70%"},onMouseEnter:()=>te("zed"),onMouseLeave:()=>te(null),onClick:()=>E(ue=>ue==="zed"?null:"zed"),children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),g.jsx("span",{children:"Zed"})]}),g.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"90%"},onMouseEnter:()=>te("continue"),onMouseLeave:()=>te(null),onClick:()=>E(ue=>ue==="continue"?null:"continue"),children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),g.jsx("span",{children:"Continue"})]}),g.jsxs("div",{className:"absolute select-none z-10 w-36 py-3 px-4 -translate-y-1/2 -translate-x-1/2 rounded-2xl border border-primary/50 bg-card/90 backdrop-blur-md flex flex-col items-center justify-center text-center shadow-lg shadow-primary/5",style:{left:"50%",top:"50%"},children:[g.jsx("div",{className:"text-[10px] uppercase font-bold text-primary font-space tracking-wide",children:"Gateway Auto"}),g.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground mt-0.5",children:["Schwelle: > ",i!=null&&i.heavy_threshold_chars?i.heavy_threshold_chars/1e3:"4","k Zeichen"]}),g.jsx("div",{className:"mt-1 px-1.5 py-0.5 rounded bg-primary/10 border border-primary/20 text-[9px] font-semibold text-primary uppercase font-mono",children:"Auto-Swap"})]}),QF.map(ue=>{var Te;const Q=["12%","31%","50%","69%","88%"],Ae=He(ue),re=Ae?x.includes(Ae.name):!1;if(ue==="agent")return null;const Fe={fast:0,heavy:1,coder:2,vision:3,scout:4}[ue];return g.jsxs("div",{className:nt("absolute z-10 w-44 py-1.5 px-3 -translate-y-1/2 -translate-x-1/2 rounded-xl border flex flex-col justify-center hover:border-primary/50 transition-all text-left shadow select-none cursor-pointer",re?"border-emerald-500/50 bg-emerald-500/5 shadow-emerald-500/5":Ae?"border-border/60 bg-card/75":"border-dashed border-border/40 bg-background/20"),style:{left:"90%",top:Q[Fe]},onClick:()=>ce(ue),children:[g.jsxs("div",{className:"flex items-center justify-between",children:[g.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:ue}),re&&g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),g.jsx("div",{className:"text-[10px] font-mono font-medium truncate mt-0.5 text-foreground max-w-[150px]",children:Ae?(Te=Ae.name.split("/").pop())==null?void 0:Te.replace(".gguf",""):"Keine Zuweisung"})]},ue)}),_&&s&&g.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:g.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200 flex flex-col justify-between",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsxs("span",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:[_==="roocode"&&"Roo Code Setup",_==="cursor"&&"Cursor Setup",_==="opencode"&&"OpenCode Setup",_==="zed"&&"Zed Setup",_==="continue"&&"Continue Setup"]}),g.jsx("button",{onClick:()=>E(null),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed space-y-2",children:[_==="roocode"&&g.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[g.jsxs("li",{children:["Suche in VS Code nach der Erweiterung ",g.jsx("strong",{children:"Roo Code"})," und installiere sie."]}),g.jsxs("li",{children:["Wähle in den Roo Code Einstellungen: Provider: ",g.jsx("strong",{children:"OpenAI Compatible"}),"."]}),g.jsxs("li",{children:["Füge das untenstehende JSON-Snippet in die ",g.jsx("code",{children:"settings.json"})," ein."]})]}),_==="cursor"&&g.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[g.jsxs("li",{children:["Öffne Cursor Settings ➔ ",g.jsx("strong",{children:"Models"}),"."]}),g.jsxs("li",{children:["Deaktiviere Cloud-Modelle, klappe ",g.jsx("strong",{children:"OpenAI API"})," auf."]}),g.jsxs("li",{children:["Trage die Base URL unten ein und aktiviere das Modell ",g.jsx("strong",{children:"auto"}),"."]})]}),_==="opencode"&&g.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[g.jsxs("li",{children:["Öffne die ",g.jsx("code",{children:"opencode.jsonc"})," Konfigurationsdatei."]}),g.jsxs("li",{children:["Ersetze den Provider-Eintrag unter ",g.jsx("code",{children:"provider"})," mit dem Snippet unten."]})]}),_==="zed"&&g.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[g.jsxs("li",{children:["Öffne die Zed Settings (",g.jsx("code",{children:"ctrl+,"}),")."]}),g.jsxs("li",{children:["Füge das untenstehende JSON-Segment unter ",g.jsx("code",{children:"language_models"})," ein."]})]}),_==="continue"&&g.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[g.jsx("li",{children:"Klicke auf das Zahnrad-Symbol in der Continue-Erweiterung."}),g.jsxs("li",{children:["Füge den Gateway-Eintrag zum ",g.jsx("code",{children:"models"}),"-Array hinzu."]})]})]}),s.tools&&g.jsxs("div",{className:"relative rounded-xl border border-border/40 bg-black/40 overflow-hidden mt-1 shrink-0",children:[g.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-border/20 bg-black/20",children:[g.jsx("span",{className:"text-[10px] font-mono text-muted-foreground",children:"JSON Config"}),g.jsxs("button",{onClick:()=>{var ue,Q,Ae,re,Fe;return bt(_==="roocode"?(ue=s.tools.cline)==null?void 0:ue.snippet:_==="cursor"?(Q=s.tools.cursor)==null?void 0:Q.snippet:_==="opencode"?(Ae=s.tools.opencode)==null?void 0:Ae.snippet:_==="zed"?(re=s.tools.zed)==null?void 0:re.snippet:(Fe=s.tools.continue)==null?void 0:Fe.snippet)},className:"text-xs font-semibold text-primary hover:text-primary-foreground flex items-center gap-1 cursor-pointer",children:[U?g.jsx(Go,{className:"h-3.5 w-3.5 text-emerald-400"}):g.jsx(tw,{className:"h-3.5 w-3.5"}),g.jsx("span",{children:U?"Kopiert":"Kopieren"})]})]}),g.jsx("pre",{className:"p-3 max-h-48 overflow-y-auto text-xs font-mono text-cyan-200/90 whitespace-pre scrollbar-thin select-text",children:g.jsxs("code",{children:[_==="roocode"&&((Ne=s.tools.cline)==null?void 0:Ne.snippet),_==="cursor"&&((tt=s.tools.cursor)==null?void 0:tt.snippet),_==="opencode"&&((jt=s.tools.opencode)==null?void 0:jt.snippet),_==="zed"&&((Lt=s.tools.zed)==null?void 0:Lt.snippet),_==="continue"&&((ct=s.tools.continue)==null?void 0:ct.snippet)]})})]}),g.jsx("button",{onClick:()=>E(null),className:"w-full h-9 rounded-lg bg-primary text-primary-foreground hover:opacity-90 font-semibold text-xs transition-opacity cursor-pointer mt-2",children:"Schließen"})]})})]}),g.jsxs("div",{className:"flex flex-wrap items-center gap-6 mt-3 text-[10px] text-muted-foreground border-t border-border/20 pt-3",children:[g.jsxs("span",{className:"flex items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 rounded-full bg-cyan-400"}),g.jsx("span",{children:"Cyan-Fluss: Client-Anfrage an Gateway"})]}),g.jsxs("span",{className:"flex items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500 animate-pulse"}),g.jsx("span",{children:"Grüner Puls: Aktive Verbindung / Warmes Modell geladen"})]}),g.jsxs("span",{className:"flex items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 rounded bg-gradient-to-r from-teal-500 to-emerald-500"}),g.jsx("span",{children:"VRAM-Verlauf: Modellspezifischer Speicheranteil"})]})]})]}),g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[g.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground px-1",children:"Gateway Steckplatz-Belegung (Slot-Zuweisung)"}),g.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-3",children:["fast","heavy","coder","vision","scout"].map(ue=>{var re;const Q=y.find(Fe=>Fe.role===ue),Ae=Q?x.includes(Q.name):!1;return g.jsxs("div",{onClick:()=>ce(ue),className:nt("rounded-xl border p-3 flex flex-col justify-between gap-2.5 transition-all cursor-pointer select-none text-left bg-background/25 hover:border-primary/45 hover:bg-background/40 group min-h-[90px]",Ae?"border-emerald-500/40 shadow-sm shadow-emerald-500/5":Q?"border-primary/20 bg-primary/5":"border-border/30 border-dashed opacity-75"),children:[g.jsxs("div",{className:"flex items-center justify-between",children:[g.jsx("span",{className:nt("text-[9px] font-bold uppercase tracking-wider font-mono px-1.5 py-0.5 rounded border",NP(ue)),children:ue}),Ae&&g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),g.jsx("div",{className:"text-[10px] font-mono font-medium truncate text-foreground/90 pr-1 font-space",title:Q==null?void 0:Q.name,children:Q?(re=Q.name.split("/").pop())==null?void 0:re.replace(/\.gguf$/i,""):"nicht zugewiesen"}),g.jsx("div",{className:"text-[8px] text-primary/70 group-hover:text-primary font-bold uppercase tracking-wider transition-colors font-space",children:"Ändern ➔"})]},ue)})})]}),(a==null?void 0:a.current)&&g.jsxs("div",{className:"rounded-2xl border border-indigo-500/30 bg-indigo-500/5 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[g.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(Il,{className:"h-4.5 w-4.5 text-indigo-400"}),g.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Hirn (Hermes)"}),a.current.version!=null&&g.jsxs("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-indigo-500/15 text-indigo-300 border border-indigo-500/25",children:["v",a.current.version]})]}),g.jsx("button",{onClick:()=>k(!0),className:"h-7 px-3 rounded-lg border border-indigo-500/30 bg-indigo-500/5 text-indigo-300 text-[9px] font-bold uppercase hover:bg-indigo-500/15 transition-all cursor-pointer",children:"Hirn wechseln"})]}),g.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-xl bg-background/30 border border-border/30 p-3.5",children:[g.jsxs("div",{className:"min-w-0",children:[g.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:a.current.name,children:a.current.name.split("/").pop()}),g.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 mt-0.5",children:[g.jsx("span",{children:a.current.params_b?`${a.current.params_b}B`:"—"}),g.jsx("span",{children:"•"}),g.jsx("span",{children:a.current.quant||"GGUF"}),g.jsx("span",{children:"•"}),g.jsx("span",{children:Bo(a.current.size_bytes||0)})]})]}),a.update_available&&a.recommended?g.jsxs("button",{onClick:()=>Xe(a.recommended.repo),className:nt("h-8 px-3 shrink-0 flex items-center justify-center gap-1.5 rounded-lg text-[10px] font-bold uppercase transition-all cursor-pointer shadow-md",a.budget&&!a.budget.fits?"bg-red-500 text-white hover:bg-red-400 shadow-red-500/10":"bg-amber-500 text-black hover:bg-amber-400 shadow-amber-500/10"),children:[g.jsx(xg,{className:"h-3.5 w-3.5"})," Aktualisieren"]}):g.jsxs("span",{className:"h-8 px-3 shrink-0 flex items-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/15 rounded-lg select-none",children:[g.jsx(Go,{className:"h-4 w-4"})," Neueste Generation"]})]}),a.update_available&&a.recommended&&g.jsxs("div",{className:"text-[10px] text-amber-400/90 flex items-center gap-1.5",children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),"Neuere Generation verfügbar: ",g.jsx("span",{className:"font-mono font-bold",children:a.recommended.name.replace(/-GGUF$/i,"")}),"(v",a.recommended.version,", ",a.recommended.params_b,"B) — von NousResearch."]}),a.budget&&g.jsxs("div",{className:nt("text-[10px] flex items-start gap-1.5 leading-relaxed",a.budget.fits?"text-muted-foreground/80":"text-red-400 font-semibold"),children:[g.jsx(iE,{className:"h-3 w-3 shrink-0 mt-0.5"}),g.jsxs("span",{children:["Always-On-Brain ~",a.budget.brain_gb," GB + größtes on-demand (~",a.budget.largest_ondemand_gb," GB) = ",(a.budget.brain_gb+a.budget.largest_ondemand_gb).toFixed(1)," / ",a.budget.gtt_gb," GB",a.budget.fits?" · passt gleichzeitig ✓":" · passt NICHT gleichzeitig ⚠ — heavy/coder würden das Brain verdrängen. Kleineres Brain oder weniger Kontext."]})]})]}),g.jsxs("div",{className:"space-y-4",children:[g.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 px-1",children:[g.jsxs("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:["Installierte Modell-Bibliothek (",J.length," von ",y.length,")"]}),g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsxs("div",{className:"flex rounded-lg border border-border/40 bg-card/45 p-0.5",children:[g.jsx("button",{onClick:()=>B("all"),className:nt("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",fe==="all"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Vorhanden"}),g.jsx("button",{onClick:()=>B("in_use"),className:nt("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",fe==="in_use"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"In Benutzung"})]}),g.jsxs("div",{className:"flex rounded-lg border border-border/40 bg-card/45 p-0.5",children:[g.jsx("button",{onClick:()=>se("grid"),className:nt("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",he==="grid"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Grid"}),g.jsx("button",{onClick:()=>se("list"),className:nt("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",he==="list"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"List"})]})]})]}),he==="grid"?g.jsx("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:J.length===0?g.jsx("div",{className:"col-span-full text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center select-none",children:fe==="in_use"?"Keine Modelle in Benutzung (keine Zuweisung oder warm geladene Modelle).":'Keine Modelle konfiguriert. Verwende den Tab "Modelle finden" zum Herunterladen.'}):J.map(ue=>{const Q=x.includes(ue.name),Ae=o==null?void 0:o.model_list.find(Fe=>Fe.role===ue.role),re=NI(ue.name);return g.jsxs("div",{className:nt("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-4 transition-all duration-300 hover:border-primary/40 group relative overflow-hidden",Q?"border-primary/45 shadow-primary/5":ue.role?"border-primary/30 bg-primary/5 shadow-inner":"border-border/60"),children:[g.jsxs("div",{className:"space-y-3",children:[g.jsx("div",{className:"flex items-start justify-between gap-3",children:g.jsxs("div",{className:"flex gap-2.5 min-w-0",children:[g.jsx("div",{className:nt("w-7 h-7 rounded-lg border flex items-center justify-center font-bold text-xs shrink-0 shadow-sm",re.color),title:re.name,children:re.initial}),g.jsxs("div",{className:"min-w-0",children:[g.jsx("h3",{className:"text-xs font-bold tracking-tight text-foreground line-clamp-2 break-all font-mono",title:ue.name,children:ue.name.split("/").pop()}),g.jsxs("div",{className:"flex items-center gap-2 flex-wrap mt-1",children:[g.jsx("span",{className:"text-[9px] font-mono text-muted-foreground bg-background/40 px-1.5 py-0.5 rounded border border-border/30",children:ue.quant||"GGUF"}),Q&&g.jsxs("span",{className:"flex items-center gap-1 text-[9px] font-semibold text-emerald-400 uppercase tracking-wider",children:[g.jsx(ay,{className:"h-3 w-3 animate-pulse"})," Warm"]}),ue.role&&g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-primary/10 border border-primary/20 text-[9px] font-mono text-primary font-bold uppercase",children:ue.role}),ue.prompt_cache&&g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-cyan-500/10 border border-cyan-500/20 text-[9px] font-mono text-cyan-400 font-bold uppercase",title:"Prompt Caching aktiv",children:"PC"}),ue.spec_active?g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-emerald-500/10 border border-emerald-500/20 text-[9px] font-mono text-emerald-400 font-bold uppercase",title:`Speculative Decoding aktiv (Draft: ${ue.spec_draft_model})`,children:"SPEC"}):ue.spec_draft_model?g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[9px] font-mono text-amber-400 font-bold uppercase",title:`Draft gesetzt (${ue.spec_draft_model}), aber INAKTIV — --spec-type fehlt oder Vocab inkompatibel. Über 'Spec' neu konfigurieren.`,children:"SPEC?"}):null,ue.parallel_slots>1&&g.jsxs("span",{className:"px-1.5 py-0.5 rounded bg-violet-500/10 border border-violet-500/20 text-[9px] font-mono text-violet-400 font-bold uppercase",title:`${ue.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",ue.parallel_slots]}),ue.incomplete&&g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[9px] font-mono text-amber-400 font-bold uppercase",title:"GGUF-Datei fehlt — Modell kann nicht geladen werden",children:"⚠ Datei fehlt"})]})]})]})}),g.jsx("div",{className:"border-t border-border/30 pt-3 flex flex-wrap gap-1",children:g.jsx(L3,{caps:ue.capabilities})})]}),g.jsxs("div",{className:"space-y-3 pt-1",children:[g.jsxs("div",{className:"grid grid-cols-2 gap-2 text-[10px] font-mono text-muted-foreground",children:[g.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-background/20 rounded-lg border border-border/20",children:[g.jsx(iE,{className:"h-3.5 w-3.5 text-primary/80"}),g.jsxs("div",{children:[g.jsx("div",{className:"text-[8px] uppercase tracking-wider font-semibold text-muted-foreground/60",children:"Größe"}),g.jsx("div",{className:"text-foreground font-semibold",children:Bo(ue.size_bytes)})]})]}),g.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-background/20 rounded-lg border border-border/20",children:[g.jsx(K8,{className:"h-3.5 w-3.5 text-primary/80"}),g.jsxs("div",{children:[g.jsx("div",{className:"text-[8px] uppercase tracking-wider font-semibold text-muted-foreground/60",children:"Kontext"}),g.jsx("div",{className:"text-foreground font-semibold",children:CI(ue.ctx)})]})]})]}),Ae&&g.jsxs("div",{className:"p-3 bg-amber-500/5 border border-amber-500/30 rounded-xl space-y-2 flex flex-col justify-between shrink-0",children:[g.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1",children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping"}),g.jsxs("span",{children:["Upgrade verfügbar: ",Ae.repo.split("/").pop()]})]}),g.jsxs("button",{onClick:()=>je(Ae.repo,ue.role,ue.quant||"Q4_K_M",ue.capabilities.tools!=="no"),className:"h-7 w-full flex items-center justify-center gap-1 rounded-lg bg-amber-500 text-black text-[10px] font-bold hover:bg-amber-400 transition-colors cursor-pointer",children:[g.jsx(xg,{className:"h-3 w-3"})," Smart-Swap starten"]})]}),g.jsxs("div",{className:"flex items-center gap-1.5 border-t border-border/20 pt-3 mt-auto",children:[g.jsx("button",{onClick:()=>Q?Me(ue.name):qe(ue.name),disabled:ue.incomplete&&!Q,className:nt("flex-1 h-7 rounded-lg text-[9px] font-bold uppercase transition-all border flex items-center justify-center gap-1",ue.incomplete&&!Q?"border-border/30 bg-background/10 text-muted-foreground/50 cursor-not-allowed":Q?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/15 text-amber-400 cursor-pointer":"border-primary/30 bg-primary/5 hover:bg-primary/15 text-primary cursor-pointer"),children:Q?"Entladen":"Laden"}),g.jsx("button",{onClick:()=>Z(ue.name,ue.ctx),className:"h-7 px-2.5 rounded-lg border border-border/40 text-[9px] font-bold uppercase hover:bg-accent text-muted-foreground transition-colors cursor-pointer",title:"Kontextlänge anpassen",children:"Ctx"}),g.jsxs("button",{onClick:()=>F(ue),className:nt("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-colors cursor-pointer flex items-center gap-1",ue.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":ue.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),title:"Speculative Draft konfigurieren (Vocab-geprüft)",children:[g.jsx(xh,{className:"h-3 w-3"})," Spec"]}),g.jsx("button",{onClick:()=>We(ue.name),className:"h-7 w-7 rounded-lg border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 flex items-center justify-center transition-colors cursor-pointer",title:"Modell löschen",children:g.jsx(LT,{className:"h-3.5 w-3.5"})})]})]})]},ue.name)})}):g.jsx("div",{className:"space-y-2",children:J.length===0?g.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center select-none",children:fe==="in_use"?"Keine Modelle in Benutzung (keine Zuweisung oder warm geladene Modelle).":'Keine Modelle konfiguriert. Verwende den Tab "Modelle finden" zum Herunterladen.'}):J.map(ue=>{const Q=x.includes(ue.name),Ae=NI(ue.name);return g.jsxs("div",{className:nt("rounded-xl border bg-card/45 backdrop-blur-md p-3.5 shadow-lg shadow-black/5 flex flex-col sm:flex-row sm:items-center justify-between gap-3 hover:border-primary/40 transition-all",Q?"border-primary/45":ue.role?"border-primary/30 bg-primary/5":"border-border/60"),children:[g.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[g.jsx("div",{className:nt("w-8 h-8 rounded-lg border border-border/40 flex items-center justify-center font-bold text-xs shrink-0 shadow-sm",Ae.color),title:Ae.name,children:Ae.initial}),g.jsxs("div",{className:"min-w-0 text-left",children:[g.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[g.jsx("h4",{className:"text-xs font-bold text-foreground truncate max-w-[250px] sm:max-w-[400px] break-all font-mono",title:ue.name,children:ue.name.split("/").pop()}),ue.role&&g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-primary/10 border border-primary/20 text-[8px] font-mono text-primary font-bold uppercase shrink-0",children:ue.role}),ue.prompt_cache&&g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-cyan-500/10 border border-cyan-500/20 text-[8px] font-mono text-cyan-400 font-bold uppercase shrink-0",title:"Prompt Caching aktiv",children:"PC"}),ue.spec_active?g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-emerald-500/10 border border-emerald-500/20 text-[8px] font-mono text-emerald-400 font-bold uppercase shrink-0",title:`Speculative Decoding aktiv (Draft: ${ue.spec_draft_model})`,children:"SPEC"}):ue.spec_draft_model?g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[8px] font-mono text-amber-400 font-bold uppercase shrink-0",title:`Draft gesetzt (${ue.spec_draft_model}), aber INAKTIV — --spec-type fehlt oder Vocab inkompatibel.`,children:"SPEC?"}):null,ue.parallel_slots>1&&g.jsxs("span",{className:"px-1.5 py-0.5 rounded bg-violet-500/10 border border-violet-500/20 text-[8px] font-mono text-violet-400 font-bold uppercase shrink-0",title:`${ue.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",ue.parallel_slots]}),ue.incomplete&&g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[8px] font-mono text-amber-400 font-bold uppercase shrink-0",title:"GGUF-Datei fehlt",children:"⚠ Datei fehlt"}),Q&&g.jsxs("span",{className:"flex items-center gap-0.5 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider shrink-0",children:[g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," warm"]})]}),g.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 mt-0.5",children:[g.jsxs("span",{children:["Größe: ",Bo(ue.size_bytes)]}),g.jsx("span",{children:"•"}),g.jsxs("span",{children:["Kontext: ",CI(ue.ctx)]}),g.jsx("span",{children:"•"}),g.jsx("span",{className:"font-mono text-[9px]",children:ue.quant||"GGUF"})]})]})]}),g.jsxs("div",{className:"flex items-center gap-3 shrink-0 self-end sm:self-auto",children:[g.jsx("div",{className:"hidden lg:flex flex-wrap gap-1",children:g.jsx(L3,{caps:ue.capabilities})}),g.jsxs("div",{className:"flex items-center gap-1.5",children:[g.jsx("button",{onClick:()=>Q?Me(ue.name):qe(ue.name),disabled:ue.incomplete&&!Q,className:nt("h-7 px-3 rounded-lg text-[9px] font-bold uppercase transition-all border flex items-center gap-1",ue.incomplete&&!Q?"border-border/30 bg-background/10 text-muted-foreground/50 cursor-not-allowed":Q?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/15 text-amber-400 cursor-pointer":"border-primary/30 bg-primary/5 hover:bg-primary/15 text-primary cursor-pointer"),children:Q?"Entladen":"Laden"}),g.jsx("button",{onClick:()=>Z(ue.name,ue.ctx),className:"h-7 px-2.5 rounded-lg border border-border/40 text-[9px] font-bold uppercase hover:bg-accent text-muted-foreground transition-all cursor-pointer",title:"Kontextlänge anpassen",children:"Ctx"}),g.jsxs("button",{onClick:()=>F(ue),className:nt("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-all cursor-pointer flex items-center gap-1",ue.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":ue.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),title:"Speculative Draft konfigurieren (Vocab-geprüft)",children:[g.jsx(xh,{className:"h-3 w-3"})," Spec"]}),g.jsx("button",{onClick:()=>We(ue.name),className:"h-7 w-7 rounded-lg flex items-center justify-center border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 transition-all cursor-pointer",title:"Modell löschen",children:g.jsx(LT,{className:"h-3.5 w-3.5"})})]})]})]},ue.name)})})]}),T&&(()=>{var Fe,Te;const ue=O&&O.role===T?O:null,Q={};ue==null||ue.models.forEach(Le=>{Q[Le.name]=Le});const Ae=ue?ue.models.map(Le=>y.find(Ye=>Ye.name===Le.name)).filter(Boolean):y,re=Le=>{Ke(T,Le),C(null)};return g.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:g.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:["Rolle '",T,"' konfigurieren"]}),g.jsx("button",{onClick:()=>C(null),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsxs("div",{className:"flex items-center justify-between gap-2",children:[g.jsxs("p",{className:"text-xs text-muted-foreground",children:["Wähle ein Modell für die Rolle ",g.jsx("strong",{className:"text-foreground",children:T}),":"]}),(ue==null?void 0:ue.recommended)&&g.jsxs("button",{onClick:()=>re(ue.recommended),title:(Fe=Q[ue.recommended])==null?void 0:Fe.reason,className:"shrink-0 h-7 px-3 text-[11px] font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg cursor-pointer flex items-center gap-1",children:[g.jsx(xh,{className:"h-3 w-3"})," Auto: ",(Te=ue.recommended.split("/").pop())==null?void 0:Te.replace(/\.gguf$/i,"")]})]}),g.jsxs("div",{className:"space-y-1.5 max-h-60 overflow-y-auto pr-1",children:[g.jsx("button",{onClick:()=>re(""),className:"w-full text-left px-3 py-2 rounded-lg text-xs hover:bg-accent text-red-400 font-semibold cursor-pointer border border-red-500/20 bg-red-500/5 flex items-center justify-between",children:g.jsx("span",{children:"Zuweisung entfernen"})}),Ae.map(Le=>{var Cn;const Ye=Q[Le.name],ht=Le.role===T,Yt=!!(Ye!=null&&Ye.recommended),un=!!Ye&&!Ye.suitable;return g.jsxs("button",{onClick:()=>re(Le.name),className:nt("w-full text-left px-3 py-2.5 rounded-lg text-xs hover:bg-accent flex items-center justify-between font-mono cursor-pointer border",Yt?"border-primary/50 bg-primary/10":ht?"text-primary font-bold bg-primary/5 border-primary/30":un?"border-border/20 bg-background/10 opacity-60":"text-foreground bg-background/20 border-border/30"),children:[g.jsxs("div",{className:"flex flex-col text-left min-w-0",children:[g.jsxs("span",{className:"truncate max-w-[260px] font-semibold flex items-center gap-1.5",children:[(Cn=Le.name.split("/").pop())==null?void 0:Cn.replace(/\.gguf$/i,""),Yt&&g.jsx("span",{className:"text-[8px] font-bold uppercase tracking-wide text-primary bg-primary/15 px-1.5 py-0.5 rounded",children:"Empfohlen"})]}),g.jsx("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:Ye?`${Ye.params_b}B · ${Le.quant} · ${Ye.reason}`:`${Bo(Le.size_bytes)} · ${Le.quant}`})]}),ht&&g.jsx(Go,{className:"h-4 w-4 shrink-0 text-primary"})]},Le.name)})]})]})})})(),D&&g.jsx(kfe,{model:D,onClose:()=>F(null),onChanged:w}),G&&g.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:g.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[g.jsx(Il,{className:"h-4 w-4"})," Agent-Hirn wechseln"]}),g.jsx("button",{onClick:()=>k(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsxs("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:["Wähle ein ",g.jsx("strong",{className:"text-foreground",children:"installiertes"})," Modell als Agent-Hirn. Es bekommt den",g.jsx("code",{className:"text-primary",children:" hermes"}),'-Alias, wird warm gehalten (brains-Gruppe), und Hermes nutzt es nach einem kurzen Gateway-Restart. Neues Modell (z.B. Hermes-4.3 oder Gemma-4)? Erst über „Modelle finden" laden.']}),g.jsx("div",{className:"space-y-1.5 max-h-72 overflow-y-auto pr-1",children:y.map(ue=>{var Ae;const Q=ue.role==="hermes";return g.jsxs("button",{onClick:()=>!Q&&Je(ue.name),disabled:Q||ue.incomplete,className:nt("w-full text-left px-3 py-2.5 rounded-lg text-xs flex items-center justify-between font-mono border transition-all",Q?"border-indigo-500/40 bg-indigo-500/10 text-indigo-300":ue.incomplete?"border-border/20 bg-background/10 text-muted-foreground/50 cursor-not-allowed":"border-border/30 bg-background/20 text-foreground hover:bg-accent cursor-pointer"),children:[g.jsxs("div",{className:"flex flex-col min-w-0",children:[g.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:(Ae=ue.name.split("/").pop())==null?void 0:Ae.replace(/\.gguf$/i,"")}),g.jsxs("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:[ue.capabilities.params_b?`${ue.capabilities.params_b}B`:"?"," · ",Bo(ue.size_bytes),ue.role&&` · Rolle: ${ue.role}`,ue.capabilities.tools!=="no"?" · Tools ✓":" · ohne Tools"]})]}),Q?g.jsxs("span",{className:"text-[9px] font-bold uppercase text-indigo-300 shrink-0 flex items-center gap-1",children:[g.jsx(Go,{className:"h-3.5 w-3.5"})," Aktiv"]}):g.jsx("span",{className:"text-[9px] font-bold uppercase text-primary/70 shrink-0",children:"Als Hirn setzen →"})]},ue.name)})}),g.jsxs("div",{className:"text-[10px] text-amber-400/80 flex items-start gap-1.5 border-t border-border/20 pt-2.5",children:[g.jsx("span",{children:"💡"}),g.jsxs("span",{children:["Für einen ",g.jsx("strong",{children:"Agenten"})," sind Hermes-Modelle (natives Tool-Calling) meist die robustere Wahl als allgemeine Modelle."]})]})]})}),m]})}function Lfe(){const[t,e]=R.useState(""),[n,r]=R.useState([]),[i,s]=R.useState("Q4_K_M"),[o,a]=R.useState(""),[l,c]=R.useState(""),[d,f]=R.useState(""),[m,y]=R.useState([]),[x,S]=R.useState(null),[w,_]=R.useState(!1),E=["fast","heavy","coder","vision","scout"],{data:T}=qh(),C=l?T==null?void 0:T.models.find(H=>(H.role||"").toLowerCase()===l):void 0;async function O(H,ne,te){if(_(!1),!H.trim()){S(null);return}try{const he=await Ft(`/api/fit?params_b=0&quant=${encodeURIComponent(ne)}&ctx=8192&name=${encodeURIComponent(H)}&role=${encodeURIComponent(te)}`);S(he)}catch{S(null)}}async function N(H){const ne=H??t;if(ne.trim()){a("Analysiere HuggingFace Repository..."),S(null);try{const te=await Ft(`/api/hf/quants?repo=${encodeURIComponent(ne)}`);e(te.repo),r(te.quants);const he=te.quants.length?te.quants.includes("Q4_K_M")?"Q4_K_M":te.quants[0]:i;te.quants.length&&s(he),a(te.quants.length?"":"Keine GGUF-Dateien in diesem Repository gefunden."),te.quants.length&&O(te.repo,he,l)}catch(te){a(`Fehler: ${te}`)}}}function D(H){s(H),O(t,H,l)}function F(H){c(H),n.length&&O(t,i,H)}async function G(){if(d.trim()){a("Durchsuche HuggingFace...");try{const H=await Ft(`/api/hf/search?q=${encodeURIComponent(d)}`);y(H.results),a(H.results.length?"":"Keine Ergebnisse gefunden.")}catch(H){a(`Suche fehlgeschlagen: ${H}`)}}}async function k(){if(t.trim()){if((x==null?void 0:x.fit.level)==="too_tight"&&!w){_(!0);return}a("Download-Job wird initiiert...");try{await Ft("/api/models/install",{method:"POST",body:JSON.stringify({repo:t,quant:i,role:l||void 0,jinja:!0})}),_(!1),a(`Download gestartet: ${t} (${i})${l?`, Rolle: ${l}`:""}. Fortschritt oben.`+(C?` „${l}" wurde von ${C.name} übernommen.`:"")+(l==="fast"||l==="coder"?" Speculative Draft (Vocab-geprüft) kannst du nach dem Download an der Modellkarte (»Spec«) setzen.":""))}catch(H){a(`Download-Fehler: ${H}`)}}}const U=(x==null?void 0:x.fit.level)==="perfect"?"text-emerald-400 border-emerald-500/40 bg-emerald-500/10":(x==null?void 0:x.fit.level)==="marginal"?"text-amber-400 border-amber-500/40 bg-amber-500/10":"text-red-400 border-red-500/40 bg-red-500/10";return g.jsxs("div",{className:"space-y-4 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10",children:[g.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"HF Download & Suche"}),g.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[g.jsx("input",{value:t,onChange:H=>{e(H.target.value),S(null),_(!1)},placeholder:"HF-URL oder org/repo (z.B. unsloth/Qwen2.5-Coder-7B-Instruct-GGUF)",className:"flex-1 h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),g.jsxs("div",{className:"flex gap-2",children:[g.jsx("button",{onClick:()=>N(),className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer whitespace-nowrap",children:"Quants laden"}),n.length>0&&g.jsxs(g.Fragment,{children:[g.jsx("select",{value:i,onChange:H=>D(H.target.value),className:"h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none text-foreground font-semibold",children:n.map(H=>g.jsx("option",{value:H,className:"bg-popover text-foreground",children:H},H))}),g.jsxs("select",{value:l,onChange:H=>F(H.target.value),title:"Rolle (optional) — bestimmt Auto-Konfiguration + setup-bewussten Kontext",className:"h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none text-foreground font-semibold",children:[g.jsx("option",{value:"",className:"bg-popover text-foreground",children:"Rolle…"}),E.map(H=>g.jsx("option",{value:H,className:"bg-popover text-foreground",children:H},H))]}),g.jsx("button",{onClick:k,className:`h-9 px-4 rounded-lg text-xs font-semibold transition-all cursor-pointer flex items-center gap-1.5 ${w?"bg-red-500 text-white hover:opacity-90":"bg-primary text-primary-foreground hover:opacity-90"}`,children:w?g.jsxs(g.Fragment,{children:[g.jsx(_g,{className:"h-3.5 w-3.5"})," OOM-Risiko — trotzdem laden"]}):g.jsxs(g.Fragment,{children:[g.jsx(xg,{className:"h-3.5 w-3.5"})," Herunterladen"]})})]})]})]}),x&&g.jsxs("div",{className:`flex flex-wrap items-center gap-x-3 gap-y-1 rounded-lg border px-3 py-2 text-[11px] font-medium ${U}`,children:[g.jsx("span",{className:"font-bold uppercase tracking-wide",children:x.fit.text}),g.jsxs("span",{className:"font-mono opacity-90",children:["~",x.params_b,"B · ~",x.fit.req_gb," GB / ",x.sys_ram_gb," GB RAM · ~",x.fit.tps," t/s"]}),x.fit.level!=="too_tight"&&g.jsxs("span",{className:"font-mono opacity-80",title:`Setup-bewusst: GTT ${x.budget.gtt_gb} GB − reserviert ${x.budget.reserved_gb} GB (${x.budget.mode}) → ${x.budget.budget_gb} GB frei`,children:["ctx → ",(x.assigned_ctx/1024).toFixed(0),"k"]}),x.fit.level==="too_tight"&&g.jsx("span",{className:"opacity-90",children:"— passt nicht in den Speicher, würde beim Laden abstürzen (OOM)."})]}),C&&g.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-[11px] font-medium text-amber-400",children:[g.jsx(_g,{className:"h-3.5 w-3.5 mt-0.5 shrink-0"}),g.jsxs("span",{children:["Rolle ",g.jsxs("strong",{children:["„",l,'"']})," ist aktuell ",g.jsx("strong",{children:C.name})," zugewiesen. Beim Download übernimmt das neue Modell diese Rolle — ",C.name," bleibt installiert, verliert sie aber."]})]}),g.jsxs("div",{className:"flex gap-2 border-t border-border/20 pt-4",children:[g.jsxs("div",{className:"relative flex-1",children:[g.jsx("input",{value:d,onChange:H=>f(H.target.value),onKeyDown:H=>H.key==="Enter"&&G(),placeholder:"HuggingFace durchsuchen (z.B. Llama-3.1)...",className:"w-full h-9 pl-9 pr-3 rounded-lg border border-border/60 bg-background/40 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),g.jsx(wP,{className:"absolute left-3 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),g.jsx("button",{onClick:G,className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer",children:"Suchen"})]}),m.length>0&&g.jsx("div",{className:"max-h-48 space-y-1.5 overflow-y-auto border border-border/40 bg-background/20 p-2 rounded-xl scrollbar-thin",children:m.map(H=>g.jsxs("button",{onClick:()=>{e(H.repo),y([]),f(""),N(H.repo)},className:"flex w-full items-center justify-between rounded-lg px-3 py-2 text-left text-xs bg-background/10 border border-border/10 hover:border-primary/30 hover:bg-background/30 transition-all",children:[g.jsx("span",{className:"font-semibold truncate",children:H.repo}),g.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground flex items-center gap-1 shrink-0",children:[g.jsx(xg,{className:"h-3 w-3"})," ",H.downloads.toLocaleString()]})]},H.repo))}),o&&g.jsx("div",{className:"text-[10px] font-medium text-primary font-mono",children:o})]})}const Dfe={fast:{title:"Schnelles Alltags-Hirn",desc:"Schnelle MoE-Antworten für Chat, Zusammenfassungen und alltägliche Aufgaben.",icon:xh},heavy:{title:"Schweres Reasoning",desc:"Große Modelle für komplexe Logik, Mathematik und tiefgründiges Planen.",icon:W1},coder:{title:"Coden & Entwicklung",desc:"Autovervollständigung, Refactoring und Codegenerierung direkt in deiner IDE.",icon:aF},vision:{title:"Bilder & Vision",desc:"Verarbeitet Bilder, Screenshots und visuelle Diagramme in multimodalen Chats.",icon:IT},scout:{title:"Multimodal-Allrounder",desc:"Multimodaler Allrounder für schnelle Antworten, Übersetzungen und Alltag.",icon:NT}};function jfe(){const{data:t,isLoading:e,error:n}=x7(),{data:r}=qh(),{data:i}=PP(),s=(r==null?void 0:r.models)??[],o=n?String(n):"",[a,l]=R.useState({}),[c,d]=R.useState({}),[f,m]=R.useState(!1);async function y(x,S,w,_){l(E=>({...E,[x]:"Starte..."}));try{await Ft("/api/models/install",{method:"POST",body:JSON.stringify({repo:x,role:S,quant:w,jinja:_})}),l(E=>({...E,[x]:"Download läuft"}))}catch{l(T=>({...T,[x]:"Fehler"}))}}return e?g.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Analysiere Hardware und suche passende GGUF-Empfehlungen…"}):o||!t?g.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Empfehlungsdienst temporär nicht erreichbar (",o,")."]}):g.jsxs("div",{className:"space-y-8",children:[g.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground bg-background/25 border border-border/40 p-4 rounded-xl flex flex-col sm:flex-row sm:items-center justify-between gap-3 shadow-sm",children:[g.jsxs("div",{children:["Modell-Registry geladen für ",g.jsxs("span",{className:"text-foreground font-bold",children:[t.sys_ram_gb," GB"]})," System-RAM."]}),g.jsxs("div",{className:"flex items-center gap-1.5",children:[g.jsx(r9,{className:"h-3.5 w-3.5 text-primary fill-primary/20"}),g.jsx("span",{children:"Empfehlungen sind automatisch auf deine Box-Hardware optimiert."})]})]}),g.jsx("div",{className:"grid gap-6 md:grid-cols-2",children:t.categories.map(x=>{const S=Dfe[x.role]||{title:x.title||x.role,desc:"Spezifisches Modell für diese Systemrolle.",icon:$1},w=S.icon,_=s.find(D=>D.role===x.role),E=i==null?void 0:i.model_list.find(D=>D.role===x.role),T=x.models.find(D=>D.repo===x.recommended)||x.models[0];if(!T)return null;const C=a[T.repo],O=x.models.filter(D=>D.repo!==x.recommended),N=!!c[x.role];return g.jsxs("div",{className:nt("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-5 transition-all duration-300 hover:border-primary/40",_?"border-border/60":"border-primary/20 shadow-primary/5"),children:[g.jsxs("div",{className:"space-y-4",children:[g.jsxs("div",{className:"flex items-start justify-between gap-3",children:[g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 border border-primary/20 flex items-center justify-center text-primary shadow-sm shrink-0",children:g.jsx(w,{className:"h-5.5 w-5.5"})}),g.jsxs("div",{children:[g.jsx("h3",{className:"text-sm font-bold tracking-tight text-foreground",children:S.title}),g.jsxs("span",{className:"text-[9px] font-mono text-muted-foreground uppercase bg-background/50 px-1.5 py-0.5 rounded border border-border/30 inline-block mt-0.5",children:["Rolle: ",x.role]})]})]}),_?g.jsxs("span",{className:"flex items-center gap-1.5 text-[9px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-2.5 py-1 rounded-lg",children:[g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Aktiviert"]}):g.jsx("span",{className:"text-[9px] font-bold text-primary/70 uppercase tracking-wider bg-primary/10 border border-primary/20 px-2.5 py-1 rounded-lg",children:"Frei"})]}),g.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:S.desc}),g.jsx("div",{className:"p-3.5 rounded-xl bg-background/35 border border-border/30 space-y-2.5",children:_?g.jsxs("div",{className:"space-y-1.5",children:[g.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Aktive GGUF-Belegung"}),g.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:_.name,children:_.name.split("/").pop()}),g.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2",children:[g.jsxs("span",{children:["Größe: ",VT(_.size_bytes||0)]}),g.jsx("span",{children:"•"}),g.jsxs("span",{children:["Quant: ",_.quant||"GGUF"]})]})]}):g.jsxs("div",{className:"space-y-1.5",children:[g.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-primary/80",children:"Empfohlenes Modell"}),g.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:T.name,children:T.name}),g.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 flex-wrap",children:[g.jsxs("span",{children:["Ersteller: ",T.author]}),g.jsx("span",{children:"•"}),g.jsxs("span",{children:["Quant: ",T.quant]})]}),g.jsx("div",{className:"flex items-center gap-1.5 pt-0.5",children:g.jsx(nX,{fit:T.fit})})]})}),g.jsx("div",{className:"pt-1",children:_?E?g.jsxs("div",{className:"space-y-2",children:[g.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1.5",children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),g.jsxs("span",{children:["Bessere Version in der Registry: ",E.repo.split("/").pop()]})]}),g.jsxs("button",{onClick:()=>y(E.repo,x.role,T.quant||"Q4_K_M",T.caps.tools!=="no"),disabled:!!a[E.repo],className:"h-8 w-full flex items-center justify-center gap-1.5 rounded-lg bg-amber-500 text-black text-xs font-bold hover:bg-amber-400 disabled:opacity-50 transition-all cursor-pointer shadow-md shadow-amber-500/10",children:[g.jsx(xg,{className:"h-3.5 w-3.5"}),a[E.repo]||"Auf neue Version aktualisieren"]})]}):g.jsxs("div",{className:"h-8 flex items-center justify-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/10 rounded-lg select-none",children:[g.jsx(Go,{className:"h-4 w-4"})," Auf neuestem Stand"]}):g.jsxs("button",{onClick:()=>y(T.repo,x.role,T.quant||"Q4_K_M",T.caps.tools!=="no"),disabled:!!C,className:nt("h-8 w-full flex items-center justify-center gap-1.5 rounded-lg text-xs font-bold transition-all cursor-pointer border",C?"border-primary/40 bg-primary/5 text-primary":"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/10"),children:[g.jsx(xg,{className:"h-3.5 w-3.5"}),C||"Optimales Modell einsetzen"]})})]}),O.length>0&&g.jsxs("div",{className:"border-t border-border/20 pt-3",children:[g.jsxs("button",{onClick:()=>d(D=>({...D,[x.role]:!N})),className:"flex items-center gap-1.5 text-[10px] text-muted-foreground/80 hover:text-foreground transition-colors cursor-pointer",children:[N?g.jsx(M8,{className:"h-3 w-3"}):g.jsx(w8,{className:"h-3 w-3"}),g.jsxs("span",{children:["Alternative Empfehlungen anzeigen (",O.length,")"]})]}),N&&g.jsx("div",{className:"mt-2.5 space-y-2 max-h-36 overflow-y-auto pr-1 scrollbar-thin",children:O.map(D=>g.jsxs("div",{className:"p-2 rounded-lg bg-background/25 border border-border/20 flex items-center justify-between gap-3",children:[g.jsxs("div",{className:"min-w-0",children:[g.jsx("div",{className:"text-[10px] font-mono font-bold text-foreground truncate",title:D.name,children:D.name}),g.jsxs("div",{className:"text-[9px] text-muted-foreground flex items-center gap-1.5 mt-0.5",children:[g.jsxs("span",{children:["Quant: ",D.quant]}),g.jsx("span",{children:"•"}),g.jsx("span",{children:D.fit.text})]})]}),g.jsx("button",{onClick:()=>y(D.repo,x.role,D.quant||"Q4_K_M",D.caps.tools!=="no"),disabled:!!a[D.repo],className:"h-6 px-2.5 rounded bg-background/40 hover:bg-background/80 border border-border/40 text-[9px] font-bold text-foreground transition-all cursor-pointer shrink-0 disabled:opacity-50",children:a[D.repo]||"Installieren"})]},D.repo))})]})]},x.role)})}),g.jsxs("div",{className:"border border-border/50 bg-card/20 rounded-2xl overflow-hidden shadow-md mt-4",children:[g.jsxs("button",{onClick:()=>m(!f),className:"w-full px-5 py-4 flex items-center justify-between text-xs font-bold uppercase tracking-wider text-muted-foreground hover:bg-card/30 transition-colors cursor-pointer",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(wP,{className:"h-4 w-4 text-primary"}),g.jsx("span",{children:"Eigenes Modell von Hugging Face laden (Erweiterte Ansicht)"})]}),g.jsx("span",{className:"text-[10px] text-primary hover:underline",children:f?"Ausblenden ▲":"Anzeigen ▼"})]}),f&&g.jsx("div",{className:"p-5 border-t border-border/20 bg-card/10",children:g.jsx(Lfe,{})})]})]})}function Ufe(){const[t,e]=R.useState("cockpit");return g.jsxs("div",{className:"space-y-6",children:[g.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[g.jsxs("div",{children:[g.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Modell-Manager"}),g.jsx("p",{className:"text-sm text-muted-foreground",children:"Verwalte deine Modelle und passe das Gateway-Routing live über das interaktive Cockpit an."})]}),g.jsx("div",{className:"flex rounded-xl border border-border/60 bg-card/45 backdrop-blur-md p-1 self-start",children:["cockpit","discover"].map(n=>g.jsx("button",{onClick:()=>e(n),className:nt("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",t===n?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:n==="cockpit"?"Cockpit":"Modelle finden"},n))})]}),g.jsx(Ife,{}),g.jsx("div",{className:"transition-all duration-300",children:t==="cockpit"?g.jsx(Ofe,{}):g.jsx(jfe,{})})]})}const Ffe={cline:"cline_settings.json",cursor:"Settings → Models",opencode:"opencode.jsonc",zed:"settings.json",continue:"~/.continue/config.json",claude_code:"~/.zshrc / env"};function D3({line:t,loading:e}){return e||!t?g.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-muted-foreground",children:[g.jsx(_P,{className:"h-3 w-3 animate-spin"})," prüfe…"]}):t.ok?g.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-emerald-400",children:[g.jsx(E8,{className:"h-3 w-3"})," ",t.detail]}):g.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-red-400",children:[g.jsx(T8,{className:"h-3 w-3"})," ",t.detail]})}function j3({tool:t,fileName:e,accent:n,copied:r,onCopy:i}){return g.jsxs("div",{className:"flex flex-col border border-border/60 bg-black/60 rounded-2xl overflow-hidden shadow-2xl",children:[g.jsxs("div",{className:"flex h-11 items-center justify-between px-4 border-b border-border/40 bg-black/40 shrink-0",children:[g.jsxs("div",{className:"flex items-center gap-1.5",children:[g.jsx("span",{className:"h-3 w-3 rounded-full bg-red-500/80"}),g.jsx("span",{className:"h-3 w-3 rounded-full bg-amber-500/80"}),g.jsx("span",{className:"h-3 w-3 rounded-full bg-emerald-500/80"})]}),g.jsx("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground/75 bg-background/30 px-3 py-1 rounded-md border border-border/20",children:g.jsx("span",{children:e})}),g.jsxs("button",{onClick:i,className:"flex h-7 px-2.5 items-center gap-1.5 rounded-lg border border-border/40 bg-background/30 text-[10px] font-semibold text-muted-foreground hover:text-foreground hover:bg-background/60 transition-all cursor-pointer",children:[r?g.jsx(Go,{className:"h-3.5 w-3.5 text-emerald-400"}):g.jsx(tw,{className:"h-3.5 w-3.5"}),g.jsx("span",{children:r?"Kopiert":"Kopieren"})]})]}),g.jsx("pre",{className:nt("p-5 overflow-x-auto text-xs font-mono whitespace-pre leading-relaxed scrollbar-thin select-text bg-black/10",n==="teal"?"text-cyan-200/90":"text-violet-200/90"),children:g.jsx("code",{children:t.snippet})})]})}function zfe(){const[t,e]=R.useState(localStorage.getItem("mc_host")||"192.168.178.151"),[n,r]=R.useState(localStorage.getItem("mc_mcp_path")||""),[i,s]=R.useState("cline"),[o,a]=R.useState(null),l=new URLSearchParams({host:t});n&&l.set("mcp_path",n);const{data:c,error:d}=WF(l.toString()),{data:f,isLoading:m}=_7(),y=d?String(d):"";function x(E){e(E),E&&localStorage.setItem("mc_host",E)}function S(E){r(E),localStorage.setItem("mc_mcp_path",E)}const w=c==null?void 0:c.tools[i];async function _(E,T){T&&(await navigator.clipboard.writeText(T),a(E),setTimeout(()=>a(null),1500))}return g.jsxs("div",{className:"space-y-6",children:[g.jsxs("div",{children:[g.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Verbindung & Integration"}),g.jsxs("p",{className:"text-sm text-muted-foreground",children:["Binde deinen lokalen Agenten an die Box an — über ",g.jsx("span",{className:"text-foreground",children:"zwei getrennte Leitungen"}),": das Modell (Gateway) und das geteilte Gedächtnis (MCP)."]})]}),g.jsxs("div",{className:"p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[g.jsxs("div",{className:"grid gap-4 md:grid-cols-[170px_1fr] items-center",children:[g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-background/40 p-4 text-center",children:[g.jsx(U8,{className:"h-7 w-7 mx-auto text-muted-foreground"}),g.jsx("div",{className:"mt-2 text-sm font-semibold text-foreground",children:"Dein lokaler Agent"}),g.jsx("div",{className:"text-[11px] text-muted-foreground",children:"Cline · Cursor · Zed …"})]}),g.jsxs("div",{className:"flex flex-col gap-2.5",children:[g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsx(ew,{className:"h-4 w-4 text-muted-foreground shrink-0"}),g.jsxs("div",{className:"flex-1 rounded-xl border border-primary/25 bg-primary/5 px-3.5 py-2.5",children:[g.jsxs("div",{className:"flex items-center justify-between gap-2",children:[g.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-primary",children:[g.jsx(El,{className:"h-3.5 w-3.5"})," Leitung 1 — Modell"]}),g.jsx(D3,{line:f==null?void 0:f.gateway,loading:m})]}),g.jsx("div",{className:"mt-1 text-[11px] font-mono text-primary/80",children:"Gateway · :9001/v1 · model auto"})]})]}),g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsx(ew,{className:"h-4 w-4 text-muted-foreground shrink-0"}),g.jsxs("div",{className:"flex-1 rounded-xl border border-violet-500/25 bg-violet-500/5 px-3.5 py-2.5",children:[g.jsxs("div",{className:"flex items-center justify-between gap-2",children:[g.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-violet-300",children:[g.jsx(W1,{className:"h-3.5 w-3.5"})," Leitung 2 — Gedächtnis"]}),g.jsx(D3,{line:f==null?void 0:f.memory,loading:m})]}),g.jsx("div",{className:"mt-1 text-[11px] font-mono text-violet-300/80",children:"MCP · mcp_memory.py · separat"})]})]})]})]}),g.jsxs("p",{className:"mt-3.5 text-[11px] text-muted-foreground leading-relaxed",children:["Der Gateway liefert ",g.jsx("span",{className:"text-foreground",children:"nur das LLM"}),". Das geteilte Gedächtnis läuft über einen",g.jsx("span",{className:"text-foreground",children:" eigenen MCP-Server"})," — beide werden unabhängig eingerichtet."]})]}),g.jsxs("div",{className:"grid gap-4 md:grid-cols-2 p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[g.jsxs("div",{className:"space-y-1.5",children:[g.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[g.jsx(D8,{className:"h-3.5 w-3.5 text-primary"})," Box LAN IP-Adresse"]}),g.jsx("input",{value:t,onChange:E=>x(E.target.value),placeholder:"z.B. 192.168.178.151",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),g.jsxs("div",{className:"space-y-1.5",children:[g.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[g.jsx(k8,{className:"h-3.5 w-3.5 text-violet-400"})," Lokaler MCP-Scriptpfad",g.jsx("span",{className:"text-violet-400/70 normal-case font-semibold tracking-normal",children:"(nur Leitung 2)"})]}),g.jsx("input",{value:n,onChange:E=>S(E.target.value),placeholder:"z.B. F:\\Coding Stuff\\mission-control-2\\mcp\\mcp_memory.py",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-violet-500/50 text-foreground"})]})]}),y&&g.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler beim Generieren der Snippets: ",y]}),c&&g.jsxs("div",{className:"grid gap-5 lg:grid-cols-2",children:[g.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-primary/70 bg-card/30 p-4",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[g.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-primary/15 text-primary text-[11px]",children:"1"}),"Modell anbinden"]}),g.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Wähle dein Tool — das Snippet zeigt auf den Gateway."})]}),g.jsx("div",{className:"flex flex-wrap gap-1.5",children:Object.entries(c.tools).map(([E,T])=>g.jsx("button",{onClick:()=>s(E),className:nt("rounded-lg px-3 py-1.5 text-[11px] font-semibold tracking-wide transition-all cursor-pointer",i===E?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"border border-border/50 text-muted-foreground hover:text-foreground"),children:T.label},E))}),w&&g.jsxs(g.Fragment,{children:[w.note&&g.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-primary/5 border border-primary/20 text-[11px] text-muted-foreground leading-relaxed",children:[g.jsx(lI,{className:"h-4 w-4 text-primary shrink-0 mt-0.5"}),g.jsx("span",{children:w.note})]}),g.jsx(j3,{tool:w,fileName:Ffe[i]||"config.json",accent:"teal",copied:o==="model",onCopy:()=>_("model",w.snippet)})]})]}),g.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-violet-500/70 bg-card/30 p-4",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[g.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-violet-500/15 text-violet-300 text-[11px]",children:"2"}),"Gedächtnis anbinden",g.jsx("span",{className:"text-[10px] font-medium text-muted-foreground normal-case",children:"optional"})]}),g.jsxs("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:["Ein MCP-Block — gilt zusätzlich für ",g.jsx("em",{children:"jedes"})," Tool aus Schritt 1."]})]}),g.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-violet-500/5 border border-violet-500/20 text-[11px] text-muted-foreground leading-relaxed",children:[g.jsx(lI,{className:"h-4 w-4 text-violet-400 shrink-0 mt-0.5"}),g.jsx("span",{children:c.memory.note})]}),g.jsx(j3,{tool:c.memory,fileName:"mcp.json",accent:"violet",copied:o==="memory",onCopy:()=>_("memory",c.memory.snippet)})]})]})]})}const Bfe="modulepreload",Hfe=function(t){return"/"+t},U3={},Vfe=function(e,n,r){let i=Promise.resolve();if(n&&n.length>0){let o=function(c){return Promise.all(c.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),l=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));i=o(n.map(c=>{if(c=Hfe(c),c in U3)return;U3[c]=!0;const d=c.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":Bfe,d||(m.as="script"),m.crossOrigin="",m.href=c,l&&m.setAttribute("nonce",l),document.head.appendChild(m),d)return new Promise((y,x)=>{m.addEventListener("load",y),m.addEventListener("error",()=>x(new Error(`Unable to preload CSS for ${c}`)))})}))}function s(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return i.then(o=>{for(const a of o||[])a.status==="rejected"&&s(a.reason);return e().catch(s)})};class Gfe extends R.Component{constructor(){super(...arguments);Gs(this,"state",{error:null})}static getDerivedStateFromError(n){return{error:n}}render(){return this.state.error?g.jsxs("div",{className:"h-[480px] rounded-2xl border border-red-500/20 bg-red-500/5 p-6 text-xs text-red-400 overflow-auto",children:[g.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),g.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const Wfe=R.lazy(()=>Vfe(()=>import("./GraphView-BME1XOMT.js"),[]).then(t=>({default:t.GraphView}))),jb=["identity","knowledge","rules","events"],F3=new Set(["auto","agent","hermes"]),qE={identity:{label:"Identität",icon:i9,bg:"bg-cyan-500/10",text:"text-cyan-400"},knowledge:{label:"Wissen",icon:Zm,bg:"bg-indigo-500/10",text:"text-indigo-400"},rules:{label:"Regeln",icon:J8,bg:"bg-violet-500/10",text:"text-violet-400"},events:{label:"Ereignisse",icon:C8,bg:"bg-amber-500/10",text:"text-amber-400"}},z3={label:"Gedächtnis",icon:PT,text:"text-muted-foreground"},$fe={identity:"border-l-cyan-500/80",knowledge:"border-l-indigo-500/80",rules:"border-l-violet-500/80",events:"border-l-amber-500/80"},B3=`Hi Hermes! Lass uns ein kurzes Onboarding machen, damit du dich künftig an mich erinnerst. Stell mir nacheinander ein paar kurze Fragen zu: + `}),g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[g.jsxs("div",{className:"flex justify-between items-center",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(iE,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"VRAM / Memory Belegung"})]}),g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground",children:["Speicher-Pool: ",Bo(ee)," Gewichte",Ee>0?` · ${Bo(Ee)} real belegt (inkl. KV)`:""," / ",Bo(He)]}),x.length>0&&g.jsx("button",{onClick:We,className:"h-6 px-2.5 rounded border border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/10 text-amber-400 text-[9px] font-bold uppercase transition-all cursor-pointer",children:"Alle entladen"})]})]}),g.jsx("div",{className:"h-7 w-full rounded-xl bg-background/50 border border-border/40 overflow-hidden flex p-0.5 relative group",children:ct.length===0?g.jsx("div",{className:"w-full h-full flex items-center justify-center text-[10px] text-muted-foreground/60 italic font-mono select-none",children:"VRAM Leer — Auto-Swap lädt Modelle bei Anfrage"}):ct.map((de,Q)=>{var Ue;const Ae=(de.size_bytes||0)/He*100,ie=["from-teal-500 to-emerald-500","from-indigo-500 to-blue-500","from-purple-500 to-pink-500","from-cyan-500 to-sky-500"][Q%4];return g.jsxs("div",{style:{width:`${Ae}%`},className:nt("h-full rounded bg-gradient-to-r flex items-center justify-between px-2.5 transition-all text-white/95 shrink-0 shadow-inner select-none",ie),title:`${de.name} (${Bo(de.size_bytes)})`,children:[g.jsxs("span",{className:"text-[9px] font-bold truncate max-w-[120px] font-space tracking-wide",children:[de.role?`[${de.role}] `:"",(Ue=de.name.split("/").pop())==null?void 0:Ue.replace(".gguf","")]}),g.jsx("span",{className:"text-[8px] font-mono opacity-80",children:Bo(de.size_bytes)})]},de.name)})})]}),g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-4",children:[g.jsxs("div",{children:[g.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Interactive Gateway Graph"}),g.jsx("p",{className:"text-[10px] text-muted-foreground mt-0.5 leading-relaxed",children:"Klicke links auf Editoren, um Configs zu kopieren. Klicke rechts auf Rollen, um GGUF-Zuweisungen live zu ändern."})]}),g.jsxs("div",{ref:pe,className:"relative w-full h-96 border border-border/30 rounded-xl bg-black/25 overflow-hidden flex",children:[g.jsxs("svg",{className:"absolute inset-0 pointer-events-none w-full h-full",children:[g.jsxs("defs",{children:[g.jsxs("linearGradient",{id:"cyan-to-teal",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[g.jsx("stop",{offset:"0%",stopColor:"#06b6d4",stopOpacity:"0.45"}),g.jsx("stop",{offset:"100%",stopColor:"#0d9488",stopOpacity:"0.45"})]}),g.jsxs("linearGradient",{id:"active-glow",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[g.jsx("stop",{offset:"0%",stopColor:"#3b82f6",stopOpacity:"0.8"}),g.jsx("stop",{offset:"100%",stopColor:"#10b981",stopOpacity:"0.8"})]})]}),g.jsx("path",{d:be(.1),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ne==="roocode"||_==="roocode")&&g.jsx("path",{d:be(.1),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:be(.3),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ne==="cursor"||_==="cursor")&&g.jsx("path",{d:be(.3),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:be(.5),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ne==="opencode"||_==="opencode")&&g.jsx("path",{d:be(.5),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:be(.7),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ne==="zed"||_==="zed")&&g.jsx("path",{d:be(.7),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:be(.9),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),(ne==="continue"||_==="continue")&&g.jsx("path",{d:be(.9),stroke:"#06b6d4",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:Se(.12),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),gt("fast")&&g.jsx("path",{d:Se(.12),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:Se(.31),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),gt("heavy")&&g.jsx("path",{d:Se(.31),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:Se(.5),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),gt("coder")&&g.jsx("path",{d:Se(.5),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:Se(.69),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),gt("vision")&&g.jsx("path",{d:Se(.69),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"}),g.jsx("path",{d:Se(.88),stroke:"url(#cyan-to-teal)",strokeWidth:"1.5",fill:"none"}),gt("scout")&&g.jsx("path",{d:Se(.88),stroke:"url(#active-glow)",strokeWidth:"2.5",fill:"none",className:"svg-flow-path"})]}),g.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"10%"},onMouseEnter:()=>te("roocode"),onMouseLeave:()=>te(null),onClick:()=>E(de=>de==="roocode"?null:"roocode"),children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),g.jsx("span",{children:"Roo Code"})]}),g.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"30%"},onMouseEnter:()=>te("cursor"),onMouseLeave:()=>te(null),onClick:()=>E(de=>de==="cursor"?null:"cursor"),children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),g.jsx("span",{children:"Cursor IDE"})]}),g.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"50%"},onMouseEnter:()=>te("opencode"),onMouseLeave:()=>te(null),onClick:()=>E(de=>de==="opencode"?null:"opencode"),children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),g.jsx("span",{children:"OpenCode"})]}),g.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"70%"},onMouseEnter:()=>te("zed"),onMouseLeave:()=>te(null),onClick:()=>E(de=>de==="zed"?null:"zed"),children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),g.jsx("span",{children:"Zed"})]}),g.jsxs("div",{className:"absolute cursor-pointer select-none z-10 w-28 h-8 -translate-y-1/2 -translate-x-1/2 rounded-xl border border-border/60 bg-card/75 backdrop-blur-md flex items-center justify-center gap-1.5 px-2 hover:border-primary transition-all text-[10px] font-semibold text-foreground shadow shadow-black/20",style:{left:"10%",top:"90%"},onMouseEnter:()=>te("continue"),onMouseLeave:()=>te(null),onClick:()=>E(de=>de==="continue"?null:"continue"),children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-cyan-400 animate-pulse"}),g.jsx("span",{children:"Continue"})]}),g.jsxs("div",{className:"absolute select-none z-10 w-36 py-3 px-4 -translate-y-1/2 -translate-x-1/2 rounded-2xl border border-primary/50 bg-card/90 backdrop-blur-md flex flex-col items-center justify-center text-center shadow-lg shadow-primary/5",style:{left:"50%",top:"50%"},children:[g.jsx("div",{className:"text-[10px] uppercase font-bold text-primary font-space tracking-wide",children:"Gateway Auto"}),g.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground mt-0.5",children:["Schwelle: > ",i!=null&&i.heavy_threshold_chars?i.heavy_threshold_chars/1e3:"4","k Zeichen"]}),g.jsx("div",{className:"mt-1 px-1.5 py-0.5 rounded bg-primary/10 border border-primary/20 text-[9px] font-semibold text-primary uppercase font-mono",children:"Auto-Swap"})]}),QF.map(de=>{var Te;const Q=["12%","31%","50%","69%","88%"],Ae=Be(de),ie=Ae?x.includes(Ae.name):!1;if(de==="agent")return null;const Ue={fast:0,heavy:1,coder:2,vision:3,scout:4}[de];return g.jsxs("div",{className:nt("absolute z-10 w-44 py-1.5 px-3 -translate-y-1/2 -translate-x-1/2 rounded-xl border flex flex-col justify-center hover:border-primary/50 transition-all text-left shadow select-none cursor-pointer",ie?"border-emerald-500/50 bg-emerald-500/5 shadow-emerald-500/5":Ae?"border-border/60 bg-card/75":"border-dashed border-border/40 bg-background/20"),style:{left:"90%",top:Q[Ue]},onClick:()=>ue(de),children:[g.jsxs("div",{className:"flex items-center justify-between",children:[g.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:de}),ie&&g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),g.jsx("div",{className:"text-[10px] font-mono font-medium truncate mt-0.5 text-foreground max-w-[150px]",children:Ae?(Te=Ae.name.split("/").pop())==null?void 0:Te.replace(".gguf",""):"Keine Zuweisung"})]},de)}),_&&s&&g.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:g.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200 flex flex-col justify-between",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsxs("span",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:[_==="roocode"&&"Roo Code Setup",_==="cursor"&&"Cursor Setup",_==="opencode"&&"OpenCode Setup",_==="zed"&&"Zed Setup",_==="continue"&&"Continue Setup"]}),g.jsx("button",{onClick:()=>E(null),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsxs("div",{className:"text-xs text-muted-foreground leading-relaxed space-y-2",children:[_==="roocode"&&g.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[g.jsxs("li",{children:["Suche in VS Code nach der Erweiterung ",g.jsx("strong",{children:"Roo Code"})," und installiere sie."]}),g.jsxs("li",{children:["Wähle in den Roo Code Einstellungen: Provider: ",g.jsx("strong",{children:"OpenAI Compatible"}),"."]}),g.jsxs("li",{children:["Füge das untenstehende JSON-Snippet in die ",g.jsx("code",{children:"settings.json"})," ein."]})]}),_==="cursor"&&g.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[g.jsxs("li",{children:["Öffne Cursor Settings ➔ ",g.jsx("strong",{children:"Models"}),"."]}),g.jsxs("li",{children:["Deaktiviere Cloud-Modelle, klappe ",g.jsx("strong",{children:"OpenAI API"})," auf."]}),g.jsxs("li",{children:["Trage die Base URL unten ein und aktiviere das Modell ",g.jsx("strong",{children:"auto"}),"."]})]}),_==="opencode"&&g.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[g.jsxs("li",{children:["Öffne die ",g.jsx("code",{children:"opencode.jsonc"})," Konfigurationsdatei."]}),g.jsxs("li",{children:["Ersetze den Provider-Eintrag unter ",g.jsx("code",{children:"provider"})," mit dem Snippet unten."]})]}),_==="zed"&&g.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[g.jsxs("li",{children:["Öffne die Zed Settings (",g.jsx("code",{children:"ctrl+,"}),")."]}),g.jsxs("li",{children:["Füge das untenstehende JSON-Segment unter ",g.jsx("code",{children:"language_models"})," ein."]})]}),_==="continue"&&g.jsxs("ul",{className:"list-decimal pl-4 space-y-1",children:[g.jsx("li",{children:"Klicke auf das Zahnrad-Symbol in der Continue-Erweiterung."}),g.jsxs("li",{children:["Füge den Gateway-Eintrag zum ",g.jsx("code",{children:"models"}),"-Array hinzu."]})]})]}),s.tools&&g.jsxs("div",{className:"relative rounded-xl border border-border/40 bg-black/40 overflow-hidden mt-1 shrink-0",children:[g.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-border/20 bg-black/20",children:[g.jsx("span",{className:"text-[10px] font-mono text-muted-foreground",children:"JSON Config"}),g.jsxs("button",{onClick:()=>{var de,Q,Ae,ie,Ue;return bt(_==="roocode"?(de=s.tools.cline)==null?void 0:de.snippet:_==="cursor"?(Q=s.tools.cursor)==null?void 0:Q.snippet:_==="opencode"?(Ae=s.tools.opencode)==null?void 0:Ae.snippet:_==="zed"?(ie=s.tools.zed)==null?void 0:ie.snippet:(Ue=s.tools.continue)==null?void 0:Ue.snippet)},className:"text-xs font-semibold text-primary hover:text-primary-foreground flex items-center gap-1 cursor-pointer",children:[U?g.jsx(Go,{className:"h-3.5 w-3.5 text-emerald-400"}):g.jsx(tw,{className:"h-3.5 w-3.5"}),g.jsx("span",{children:U?"Kopiert":"Kopieren"})]})]}),g.jsx("pre",{className:"p-3 max-h-48 overflow-y-auto text-xs font-mono text-cyan-200/90 whitespace-pre scrollbar-thin select-text",children:g.jsxs("code",{children:[_==="roocode"&&((Ke=s.tools.cline)==null?void 0:Ke.snippet),_==="cursor"&&((re=s.tools.cursor)==null?void 0:re.snippet),_==="opencode"&&((Qe=s.tools.opencode)==null?void 0:Qe.snippet),_==="zed"&&((wt=s.tools.zed)==null?void 0:wt.snippet),_==="continue"&&((pt=s.tools.continue)==null?void 0:pt.snippet)]})})]}),g.jsx("button",{onClick:()=>E(null),className:"w-full h-9 rounded-lg bg-primary text-primary-foreground hover:opacity-90 font-semibold text-xs transition-opacity cursor-pointer mt-2",children:"Schließen"})]})})]}),g.jsxs("div",{className:"flex flex-wrap items-center gap-6 mt-3 text-[10px] text-muted-foreground border-t border-border/20 pt-3",children:[g.jsxs("span",{className:"flex items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 rounded-full bg-cyan-400"}),g.jsx("span",{children:"Cyan-Fluss: Client-Anfrage an Gateway"})]}),g.jsxs("span",{className:"flex items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 rounded-full bg-emerald-500 animate-pulse"}),g.jsx("span",{children:"Grüner Puls: Aktive Verbindung / Warmes Modell geladen"})]}),g.jsxs("span",{className:"flex items-center gap-1.5",children:[g.jsx("span",{className:"h-2 w-2 rounded bg-gradient-to-r from-teal-500 to-emerald-500"}),g.jsx("span",{children:"VRAM-Verlauf: Modellspezifischer Speicheranteil"})]})]})]}),g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[g.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground px-1",children:"Gateway Steckplatz-Belegung (Slot-Zuweisung)"}),g.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-3",children:["fast","heavy","coder","vision","scout"].map(de=>{var ie;const Q=y.find(Ue=>Ue.role===de),Ae=Q?x.includes(Q.name):!1;return g.jsxs("div",{onClick:()=>ue(de),className:nt("rounded-xl border p-3 flex flex-col justify-between gap-2.5 transition-all cursor-pointer select-none text-left bg-background/25 hover:border-primary/45 hover:bg-background/40 group min-h-[90px]",Ae?"border-emerald-500/40 shadow-sm shadow-emerald-500/5":Q?"border-primary/20 bg-primary/5":"border-border/30 border-dashed opacity-75"),children:[g.jsxs("div",{className:"flex items-center justify-between",children:[g.jsx("span",{className:nt("text-[9px] font-bold uppercase tracking-wider font-mono px-1.5 py-0.5 rounded border",NP(de)),children:de}),Ae&&g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-400 animate-pulse"})]}),g.jsx("div",{className:"text-[10px] font-mono font-medium truncate text-foreground/90 pr-1 font-space",title:Q==null?void 0:Q.name,children:Q?(ie=Q.name.split("/").pop())==null?void 0:ie.replace(/\.gguf$/i,""):"nicht zugewiesen"}),g.jsx("div",{className:"text-[8px] text-primary/70 group-hover:text-primary font-bold uppercase tracking-wider transition-colors font-space",children:"Ändern ➔"})]},de)})})]}),(a==null?void 0:a.current)&&g.jsxs("div",{className:"rounded-2xl border border-indigo-500/30 bg-indigo-500/5 backdrop-blur-md p-5 shadow-lg shadow-black/10 space-y-3.5",children:[g.jsxs("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(Il,{className:"h-4.5 w-4.5 text-indigo-400"}),g.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Hirn (Hermes)"}),a.current.version!=null&&g.jsxs("span",{className:"text-[9px] font-mono px-1.5 py-0.5 rounded bg-indigo-500/15 text-indigo-300 border border-indigo-500/25",children:["v",a.current.version]})]}),g.jsx("button",{onClick:()=>k(!0),className:"h-7 px-3 rounded-lg border border-indigo-500/30 bg-indigo-500/5 text-indigo-300 text-[9px] font-bold uppercase hover:bg-indigo-500/15 transition-all cursor-pointer",children:"Hirn wechseln"})]}),g.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 rounded-xl bg-background/30 border border-border/30 p-3.5",children:[g.jsxs("div",{className:"min-w-0",children:[g.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:a.current.name,children:a.current.name.split("/").pop()}),g.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 mt-0.5",children:[g.jsx("span",{children:a.current.params_b?`${a.current.params_b}B`:"—"}),g.jsx("span",{children:"•"}),g.jsx("span",{children:a.current.quant||"GGUF"}),g.jsx("span",{children:"•"}),g.jsx("span",{children:Bo(a.current.size_bytes||0)})]})]}),a.update_available&&a.recommended?g.jsxs("button",{onClick:()=>$e(a.recommended.repo),className:nt("h-8 px-3 shrink-0 flex items-center justify-center gap-1.5 rounded-lg text-[10px] font-bold uppercase transition-all cursor-pointer shadow-md",a.budget&&!a.budget.fits?"bg-red-500 text-white hover:bg-red-400 shadow-red-500/10":"bg-amber-500 text-black hover:bg-amber-400 shadow-amber-500/10"),children:[g.jsx(xg,{className:"h-3.5 w-3.5"})," Aktualisieren"]}):g.jsxs("span",{className:"h-8 px-3 shrink-0 flex items-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/15 rounded-lg select-none",children:[g.jsx(Go,{className:"h-4 w-4"})," Neueste Generation"]})]}),a.update_available&&a.recommended&&g.jsxs("div",{className:"text-[10px] text-amber-400/90 flex items-center gap-1.5",children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),"Neuere Generation verfügbar: ",g.jsx("span",{className:"font-mono font-bold",children:a.recommended.name.replace(/-GGUF$/i,"")}),"(v",a.recommended.version,", ",a.recommended.params_b,"B) — von NousResearch."]}),a.budget&&g.jsxs("div",{className:nt("text-[10px] flex items-start gap-1.5 leading-relaxed",a.budget.fits?"text-muted-foreground/80":"text-red-400 font-semibold"),children:[g.jsx(iE,{className:"h-3 w-3 shrink-0 mt-0.5"}),g.jsxs("span",{children:["Always-On-Brain ~",a.budget.brain_gb," GB + größtes on-demand (~",a.budget.largest_ondemand_gb," GB) = ",(a.budget.brain_gb+a.budget.largest_ondemand_gb).toFixed(1)," / ",a.budget.gtt_gb," GB",a.budget.fits?" · passt gleichzeitig ✓":" · passt NICHT gleichzeitig ⚠ — heavy/coder würden das Brain verdrängen. Kleineres Brain oder weniger Kontext."]})]})]}),g.jsxs("div",{className:"space-y-4",children:[g.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center justify-between gap-3 px-1",children:[g.jsxs("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:["Installierte Modell-Bibliothek (",J.length," von ",y.length,")"]}),g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsxs("div",{className:"flex rounded-lg border border-border/40 bg-card/45 p-0.5",children:[g.jsx("button",{onClick:()=>B("all"),className:nt("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",fe==="all"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Vorhanden"}),g.jsx("button",{onClick:()=>B("in_use"),className:nt("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",fe==="in_use"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"In Benutzung"})]}),g.jsxs("div",{className:"flex rounded-lg border border-border/40 bg-card/45 p-0.5",children:[g.jsx("button",{onClick:()=>oe("grid"),className:nt("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",he==="grid"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"Grid"}),g.jsx("button",{onClick:()=>oe("list"),className:nt("px-2.5 py-1 rounded-md text-[9px] font-bold uppercase transition-all cursor-pointer",he==="list"?"bg-primary text-primary-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:"List"})]})]})]}),he==="grid"?g.jsx("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:J.length===0?g.jsx("div",{className:"col-span-full text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center select-none",children:fe==="in_use"?"Keine Modelle in Benutzung (keine Zuweisung oder warm geladene Modelle).":'Keine Modelle konfiguriert. Verwende den Tab "Modelle finden" zum Herunterladen.'}):J.map(de=>{const Q=x.includes(de.name),Ae=o==null?void 0:o.model_list.find(Ue=>Ue.role===de.role),ie=NI(de.name);return g.jsxs("div",{className:nt("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-4 transition-all duration-300 hover:border-primary/40 group relative overflow-hidden",Q?"border-primary/45 shadow-primary/5":de.role?"border-primary/30 bg-primary/5 shadow-inner":"border-border/60"),children:[g.jsxs("div",{className:"space-y-3",children:[g.jsx("div",{className:"flex items-start justify-between gap-3",children:g.jsxs("div",{className:"flex gap-2.5 min-w-0",children:[g.jsx("div",{className:nt("w-7 h-7 rounded-lg border flex items-center justify-center font-bold text-xs shrink-0 shadow-sm",ie.color),title:ie.name,children:ie.initial}),g.jsxs("div",{className:"min-w-0",children:[g.jsx("h3",{className:"text-xs font-bold tracking-tight text-foreground line-clamp-2 break-all font-mono",title:de.name,children:de.name.split("/").pop()}),g.jsxs("div",{className:"flex items-center gap-2 flex-wrap mt-1",children:[g.jsx("span",{className:"text-[9px] font-mono text-muted-foreground bg-background/40 px-1.5 py-0.5 rounded border border-border/30",children:de.quant||"GGUF"}),Q&&g.jsxs("span",{className:"flex items-center gap-1 text-[9px] font-semibold text-emerald-400 uppercase tracking-wider",children:[g.jsx(ay,{className:"h-3 w-3 animate-pulse"})," Warm"]}),de.role&&g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-primary/10 border border-primary/20 text-[9px] font-mono text-primary font-bold uppercase",children:de.role}),de.prompt_cache&&g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-cyan-500/10 border border-cyan-500/20 text-[9px] font-mono text-cyan-400 font-bold uppercase",title:"Prompt Caching aktiv",children:"PC"}),de.spec_active?g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-emerald-500/10 border border-emerald-500/20 text-[9px] font-mono text-emerald-400 font-bold uppercase",title:`Speculative Decoding aktiv (Draft: ${de.spec_draft_model})`,children:"SPEC"}):de.spec_draft_model?g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[9px] font-mono text-amber-400 font-bold uppercase",title:`Draft gesetzt (${de.spec_draft_model}), aber INAKTIV — --spec-type fehlt oder Vocab inkompatibel. Über 'Spec' neu konfigurieren.`,children:"SPEC?"}):null,de.parallel_slots>1&&g.jsxs("span",{className:"px-1.5 py-0.5 rounded bg-violet-500/10 border border-violet-500/20 text-[9px] font-mono text-violet-400 font-bold uppercase",title:`${de.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",de.parallel_slots]}),de.incomplete&&g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[9px] font-mono text-amber-400 font-bold uppercase",title:"GGUF-Datei fehlt — Modell kann nicht geladen werden",children:"⚠ Datei fehlt"})]})]})]})}),g.jsx("div",{className:"border-t border-border/30 pt-3 flex flex-wrap gap-1",children:g.jsx(L3,{caps:de.capabilities})})]}),g.jsxs("div",{className:"space-y-3 pt-1",children:[g.jsxs("div",{className:"grid grid-cols-2 gap-2 text-[10px] font-mono text-muted-foreground",children:[g.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-background/20 rounded-lg border border-border/20",children:[g.jsx(iE,{className:"h-3.5 w-3.5 text-primary/80"}),g.jsxs("div",{children:[g.jsx("div",{className:"text-[8px] uppercase tracking-wider font-semibold text-muted-foreground/60",children:"Größe"}),g.jsx("div",{className:"text-foreground font-semibold",children:Bo(de.size_bytes)})]})]}),g.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-background/20 rounded-lg border border-border/20",children:[g.jsx(K8,{className:"h-3.5 w-3.5 text-primary/80"}),g.jsxs("div",{children:[g.jsx("div",{className:"text-[8px] uppercase tracking-wider font-semibold text-muted-foreground/60",children:"Kontext"}),g.jsx("div",{className:"text-foreground font-semibold",children:CI(de.ctx)})]})]})]}),Ae&&g.jsxs("div",{className:"p-3 bg-amber-500/5 border border-amber-500/30 rounded-xl space-y-2 flex flex-col justify-between shrink-0",children:[g.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1",children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping"}),g.jsxs("span",{children:["Upgrade verfügbar: ",Ae.repo.split("/").pop()]})]}),g.jsxs("button",{onClick:()=>De(Ae.repo,de.role,de.quant||"Q4_K_M",de.capabilities.tools!=="no"),className:"h-7 w-full flex items-center justify-center gap-1 rounded-lg bg-amber-500 text-black text-[10px] font-bold hover:bg-amber-400 transition-colors cursor-pointer",children:[g.jsx(xg,{className:"h-3 w-3"})," Smart-Swap starten"]})]}),g.jsxs("div",{className:"flex items-center gap-1.5 border-t border-border/20 pt-3 mt-auto",children:[g.jsx("button",{onClick:()=>Q?Me(de.name):Xe(de.name),disabled:de.incomplete&&!Q,className:nt("flex-1 h-7 rounded-lg text-[9px] font-bold uppercase transition-all border flex items-center justify-center gap-1",de.incomplete&&!Q?"border-border/30 bg-background/10 text-muted-foreground/50 cursor-not-allowed":Q?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/15 text-amber-400 cursor-pointer":"border-primary/30 bg-primary/5 hover:bg-primary/15 text-primary cursor-pointer"),children:Q?"Entladen":"Laden"}),g.jsx("button",{onClick:()=>Z(de.name,de.ctx),className:"h-7 px-2.5 rounded-lg border border-border/40 text-[9px] font-bold uppercase hover:bg-accent text-muted-foreground transition-colors cursor-pointer",title:"Kontextlänge anpassen",children:"Ctx"}),g.jsxs("button",{onClick:()=>F(de),className:nt("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-colors cursor-pointer flex items-center gap-1",de.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":de.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),title:"Speculative Draft konfigurieren (Vocab-geprüft)",children:[g.jsx(bh,{className:"h-3 w-3"})," Spec"]}),g.jsx("button",{onClick:()=>Ge(de.name),className:"h-7 w-7 rounded-lg border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 flex items-center justify-center transition-colors cursor-pointer",title:"Modell löschen",children:g.jsx(LT,{className:"h-3.5 w-3.5"})})]})]})]},de.name)})}):g.jsx("div",{className:"space-y-2",children:J.length===0?g.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center select-none",children:fe==="in_use"?"Keine Modelle in Benutzung (keine Zuweisung oder warm geladene Modelle).":'Keine Modelle konfiguriert. Verwende den Tab "Modelle finden" zum Herunterladen.'}):J.map(de=>{const Q=x.includes(de.name),Ae=NI(de.name);return g.jsxs("div",{className:nt("rounded-xl border bg-card/45 backdrop-blur-md p-3.5 shadow-lg shadow-black/5 flex flex-col sm:flex-row sm:items-center justify-between gap-3 hover:border-primary/40 transition-all",Q?"border-primary/45":de.role?"border-primary/30 bg-primary/5":"border-border/60"),children:[g.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[g.jsx("div",{className:nt("w-8 h-8 rounded-lg border border-border/40 flex items-center justify-center font-bold text-xs shrink-0 shadow-sm",Ae.color),title:Ae.name,children:Ae.initial}),g.jsxs("div",{className:"min-w-0 text-left",children:[g.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[g.jsx("h4",{className:"text-xs font-bold text-foreground truncate max-w-[250px] sm:max-w-[400px] break-all font-mono",title:de.name,children:de.name.split("/").pop()}),de.role&&g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-primary/10 border border-primary/20 text-[8px] font-mono text-primary font-bold uppercase shrink-0",children:de.role}),de.prompt_cache&&g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-cyan-500/10 border border-cyan-500/20 text-[8px] font-mono text-cyan-400 font-bold uppercase shrink-0",title:"Prompt Caching aktiv",children:"PC"}),de.spec_active?g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-emerald-500/10 border border-emerald-500/20 text-[8px] font-mono text-emerald-400 font-bold uppercase shrink-0",title:`Speculative Decoding aktiv (Draft: ${de.spec_draft_model})`,children:"SPEC"}):de.spec_draft_model?g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[8px] font-mono text-amber-400 font-bold uppercase shrink-0",title:`Draft gesetzt (${de.spec_draft_model}), aber INAKTIV — --spec-type fehlt oder Vocab inkompatibel.`,children:"SPEC?"}):null,de.parallel_slots>1&&g.jsxs("span",{className:"px-1.5 py-0.5 rounded bg-violet-500/10 border border-violet-500/20 text-[8px] font-mono text-violet-400 font-bold uppercase shrink-0",title:`${de.parallel_slots} parallele Slots aktiv`,children:["SLOTS: ",de.parallel_slots]}),de.incomplete&&g.jsx("span",{className:"px-1.5 py-0.5 rounded bg-amber-500/10 border border-amber-500/20 text-[8px] font-mono text-amber-400 font-bold uppercase shrink-0",title:"GGUF-Datei fehlt",children:"⚠ Datei fehlt"}),Q&&g.jsxs("span",{className:"flex items-center gap-0.5 text-[8px] font-semibold text-emerald-400 uppercase tracking-wider shrink-0",children:[g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"})," warm"]})]}),g.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 mt-0.5",children:[g.jsxs("span",{children:["Größe: ",Bo(de.size_bytes)]}),g.jsx("span",{children:"•"}),g.jsxs("span",{children:["Kontext: ",CI(de.ctx)]}),g.jsx("span",{children:"•"}),g.jsx("span",{className:"font-mono text-[9px]",children:de.quant||"GGUF"})]})]})]}),g.jsxs("div",{className:"flex items-center gap-3 shrink-0 self-end sm:self-auto",children:[g.jsx("div",{className:"hidden lg:flex flex-wrap gap-1",children:g.jsx(L3,{caps:de.capabilities})}),g.jsxs("div",{className:"flex items-center gap-1.5",children:[g.jsx("button",{onClick:()=>Q?Me(de.name):Xe(de.name),disabled:de.incomplete&&!Q,className:nt("h-7 px-3 rounded-lg text-[9px] font-bold uppercase transition-all border flex items-center gap-1",de.incomplete&&!Q?"border-border/30 bg-background/10 text-muted-foreground/50 cursor-not-allowed":Q?"border-amber-500/30 bg-amber-500/5 hover:bg-amber-500/15 text-amber-400 cursor-pointer":"border-primary/30 bg-primary/5 hover:bg-primary/15 text-primary cursor-pointer"),children:Q?"Entladen":"Laden"}),g.jsx("button",{onClick:()=>Z(de.name,de.ctx),className:"h-7 px-2.5 rounded-lg border border-border/40 text-[9px] font-bold uppercase hover:bg-accent text-muted-foreground transition-all cursor-pointer",title:"Kontextlänge anpassen",children:"Ctx"}),g.jsxs("button",{onClick:()=>F(de),className:nt("h-7 px-2.5 rounded-lg border text-[9px] font-bold uppercase transition-all cursor-pointer flex items-center gap-1",de.spec_active?"border-emerald-500/30 text-emerald-400 hover:bg-emerald-500/10":de.spec_draft_model?"border-amber-500/30 text-amber-400 hover:bg-amber-500/10":"border-border/40 text-muted-foreground hover:bg-accent"),title:"Speculative Draft konfigurieren (Vocab-geprüft)",children:[g.jsx(bh,{className:"h-3 w-3"})," Spec"]}),g.jsx("button",{onClick:()=>Ge(de.name),className:"h-7 w-7 rounded-lg flex items-center justify-center border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 transition-all cursor-pointer",title:"Modell löschen",children:g.jsx(LT,{className:"h-3.5 w-3.5"})})]})]})]},de.name)})})]}),T&&(()=>{var Ue,Te;const de=O&&O.role===T?O:null,Q={};de==null||de.models.forEach(Oe=>{Q[Oe.name]=Oe});const Ae=de?de.models.map(Oe=>y.find(Ye=>Ye.name===Oe.name)).filter(Boolean):y,ie=Oe=>{qe(T,Oe),C(null)};return g.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:g.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary",children:["Rolle '",T,"' konfigurieren"]}),g.jsx("button",{onClick:()=>C(null),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsxs("div",{className:"flex items-center justify-between gap-2",children:[g.jsxs("p",{className:"text-xs text-muted-foreground",children:["Wähle ein Modell für die Rolle ",g.jsx("strong",{className:"text-foreground",children:T}),":"]}),(de==null?void 0:de.recommended)&&g.jsxs("button",{onClick:()=>ie(de.recommended),title:(Ue=Q[de.recommended])==null?void 0:Ue.reason,className:"shrink-0 h-7 px-3 text-[11px] font-semibold text-primary border border-primary/50 bg-primary/10 hover:bg-primary/20 rounded-lg cursor-pointer flex items-center gap-1",children:[g.jsx(bh,{className:"h-3 w-3"})," Auto: ",(Te=de.recommended.split("/").pop())==null?void 0:Te.replace(/\.gguf$/i,"")]})]}),g.jsxs("div",{className:"space-y-1.5 max-h-60 overflow-y-auto pr-1",children:[g.jsx("button",{onClick:()=>ie(""),className:"w-full text-left px-3 py-2 rounded-lg text-xs hover:bg-accent text-red-400 font-semibold cursor-pointer border border-red-500/20 bg-red-500/5 flex items-center justify-between",children:g.jsx("span",{children:"Zuweisung entfernen"})}),Ae.map(Oe=>{var Cn;const Ye=Q[Oe.name],ft=Oe.role===T,Yt=!!(Ye!=null&&Ye.recommended),un=!!Ye&&!Ye.suitable;return g.jsxs("button",{onClick:()=>ie(Oe.name),className:nt("w-full text-left px-3 py-2.5 rounded-lg text-xs hover:bg-accent flex items-center justify-between font-mono cursor-pointer border",Yt?"border-primary/50 bg-primary/10":ft?"text-primary font-bold bg-primary/5 border-primary/30":un?"border-border/20 bg-background/10 opacity-60":"text-foreground bg-background/20 border-border/30"),children:[g.jsxs("div",{className:"flex flex-col text-left min-w-0",children:[g.jsxs("span",{className:"truncate max-w-[260px] font-semibold flex items-center gap-1.5",children:[(Cn=Oe.name.split("/").pop())==null?void 0:Cn.replace(/\.gguf$/i,""),Yt&&g.jsx("span",{className:"text-[8px] font-bold uppercase tracking-wide text-primary bg-primary/15 px-1.5 py-0.5 rounded",children:"Empfohlen"})]}),g.jsx("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:Ye?`${Ye.params_b}B · ${Oe.quant} · ${Ye.reason}`:`${Bo(Oe.size_bytes)} · ${Oe.quant}`})]}),ft&&g.jsx(Go,{className:"h-4 w-4 shrink-0 text-primary"})]},Oe.name)})]})]})})})(),D&&g.jsx(kfe,{model:D,onClose:()=>F(null),onChanged:w}),G&&g.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",children:g.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[g.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[g.jsx(Il,{className:"h-4 w-4"})," Agent-Hirn wechseln"]}),g.jsx("button",{onClick:()=>k(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsxs("p",{className:"text-[11px] text-muted-foreground leading-relaxed",children:["Wähle ein ",g.jsx("strong",{className:"text-foreground",children:"installiertes"})," Modell als Agent-Hirn. Es bekommt den",g.jsx("code",{className:"text-primary",children:" hermes"}),'-Alias, wird warm gehalten (brains-Gruppe), und Hermes nutzt es nach einem kurzen Gateway-Restart. Neues Modell (z.B. Hermes-4.3 oder Gemma-4)? Erst über „Modelle finden" laden.']}),g.jsx("div",{className:"space-y-1.5 max-h-72 overflow-y-auto pr-1",children:y.map(de=>{var Ae;const Q=de.role==="hermes";return g.jsxs("button",{onClick:()=>!Q&&et(de.name),disabled:Q||de.incomplete,className:nt("w-full text-left px-3 py-2.5 rounded-lg text-xs flex items-center justify-between font-mono border transition-all",Q?"border-indigo-500/40 bg-indigo-500/10 text-indigo-300":de.incomplete?"border-border/20 bg-background/10 text-muted-foreground/50 cursor-not-allowed":"border-border/30 bg-background/20 text-foreground hover:bg-accent cursor-pointer"),children:[g.jsxs("div",{className:"flex flex-col min-w-0",children:[g.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:(Ae=de.name.split("/").pop())==null?void 0:Ae.replace(/\.gguf$/i,"")}),g.jsxs("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:[de.capabilities.params_b?`${de.capabilities.params_b}B`:"?"," · ",Bo(de.size_bytes),de.role&&` · Rolle: ${de.role}`,de.capabilities.tools!=="no"?" · Tools ✓":" · ohne Tools"]})]}),Q?g.jsxs("span",{className:"text-[9px] font-bold uppercase text-indigo-300 shrink-0 flex items-center gap-1",children:[g.jsx(Go,{className:"h-3.5 w-3.5"})," Aktiv"]}):g.jsx("span",{className:"text-[9px] font-bold uppercase text-primary/70 shrink-0",children:"Als Hirn setzen →"})]},de.name)})}),g.jsxs("div",{className:"text-[10px] text-amber-400/80 flex items-start gap-1.5 border-t border-border/20 pt-2.5",children:[g.jsx("span",{children:"💡"}),g.jsxs("span",{children:["Für einen ",g.jsx("strong",{children:"Agenten"})," sind Hermes-Modelle (natives Tool-Calling) meist die robustere Wahl als allgemeine Modelle."]})]})]})}),m]})}function Lfe(){const[t,e]=R.useState(""),[n,r]=R.useState([]),[i,s]=R.useState("Q4_K_M"),[o,a]=R.useState(""),[l,c]=R.useState(""),[d,f]=R.useState(""),[m,y]=R.useState([]),[x,S]=R.useState(null),[w,_]=R.useState(!1),E=["fast","heavy","coder","vision","scout"],{data:T}=Kh(),C=l?T==null?void 0:T.models.find(H=>(H.role||"").toLowerCase()===l):void 0;async function O(H,ne,te){if(_(!1),!H.trim()){S(null);return}try{const he=await Ut(`/api/fit?params_b=0&quant=${encodeURIComponent(ne)}&ctx=8192&name=${encodeURIComponent(H)}&role=${encodeURIComponent(te)}`);S(he)}catch{S(null)}}async function N(H){const ne=H??t;if(ne.trim()){a("Analysiere HuggingFace Repository..."),S(null);try{const te=await Ut(`/api/hf/quants?repo=${encodeURIComponent(ne)}`);e(te.repo),r(te.quants);const he=te.quants.length?te.quants.includes("Q4_K_M")?"Q4_K_M":te.quants[0]:i;te.quants.length&&s(he),a(te.quants.length?"":"Keine GGUF-Dateien in diesem Repository gefunden."),te.quants.length&&O(te.repo,he,l)}catch(te){a(`Fehler: ${te}`)}}}function D(H){s(H),O(t,H,l)}function F(H){c(H),n.length&&O(t,i,H)}async function G(){if(d.trim()){a("Durchsuche HuggingFace...");try{const H=await Ut(`/api/hf/search?q=${encodeURIComponent(d)}`);y(H.results),a(H.results.length?"":"Keine Ergebnisse gefunden.")}catch(H){a(`Suche fehlgeschlagen: ${H}`)}}}async function k(){if(t.trim()){if((x==null?void 0:x.fit.level)==="too_tight"&&!w){_(!0);return}a("Download-Job wird initiiert...");try{await Ut("/api/models/install",{method:"POST",body:JSON.stringify({repo:t,quant:i,role:l||void 0,jinja:!0})}),_(!1),a(`Download gestartet: ${t} (${i})${l?`, Rolle: ${l}`:""}. Fortschritt oben.`+(C?` „${l}" wurde von ${C.name} übernommen.`:"")+(l==="fast"||l==="coder"?" Speculative Draft (Vocab-geprüft) kannst du nach dem Download an der Modellkarte (»Spec«) setzen.":""))}catch(H){a(`Download-Fehler: ${H}`)}}}const U=(x==null?void 0:x.fit.level)==="perfect"?"text-emerald-400 border-emerald-500/40 bg-emerald-500/10":(x==null?void 0:x.fit.level)==="marginal"?"text-amber-400 border-amber-500/40 bg-amber-500/10":"text-red-400 border-red-500/40 bg-red-500/10";return g.jsxs("div",{className:"space-y-4 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10",children:[g.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"HF Download & Suche"}),g.jsxs("div",{className:"flex flex-col sm:flex-row gap-2",children:[g.jsx("input",{value:t,onChange:H=>{e(H.target.value),S(null),_(!1)},placeholder:"HF-URL oder org/repo (z.B. unsloth/Qwen2.5-Coder-7B-Instruct-GGUF)",className:"flex-1 h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),g.jsxs("div",{className:"flex gap-2",children:[g.jsx("button",{onClick:()=>N(),className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer whitespace-nowrap",children:"Quants laden"}),n.length>0&&g.jsxs(g.Fragment,{children:[g.jsx("select",{value:i,onChange:H=>D(H.target.value),className:"h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none text-foreground font-semibold",children:n.map(H=>g.jsx("option",{value:H,className:"bg-popover text-foreground",children:H},H))}),g.jsxs("select",{value:l,onChange:H=>F(H.target.value),title:"Rolle (optional) — bestimmt Auto-Konfiguration + setup-bewussten Kontext",className:"h-9 rounded-lg border border-border/60 bg-background/40 px-3 text-xs outline-none text-foreground font-semibold",children:[g.jsx("option",{value:"",className:"bg-popover text-foreground",children:"Rolle…"}),E.map(H=>g.jsx("option",{value:H,className:"bg-popover text-foreground",children:H},H))]}),g.jsx("button",{onClick:k,className:`h-9 px-4 rounded-lg text-xs font-semibold transition-all cursor-pointer flex items-center gap-1.5 ${w?"bg-red-500 text-white hover:opacity-90":"bg-primary text-primary-foreground hover:opacity-90"}`,children:w?g.jsxs(g.Fragment,{children:[g.jsx(_g,{className:"h-3.5 w-3.5"})," OOM-Risiko — trotzdem laden"]}):g.jsxs(g.Fragment,{children:[g.jsx(xg,{className:"h-3.5 w-3.5"})," Herunterladen"]})})]})]})]}),x&&g.jsxs("div",{className:`flex flex-wrap items-center gap-x-3 gap-y-1 rounded-lg border px-3 py-2 text-[11px] font-medium ${U}`,children:[g.jsx("span",{className:"font-bold uppercase tracking-wide",children:x.fit.text}),g.jsxs("span",{className:"font-mono opacity-90",children:["~",x.params_b,"B · ~",x.fit.req_gb," GB / ",x.sys_ram_gb," GB RAM · ~",x.fit.tps," t/s"]}),x.fit.level!=="too_tight"&&g.jsxs("span",{className:"font-mono opacity-80",title:`Setup-bewusst: GTT ${x.budget.gtt_gb} GB − reserviert ${x.budget.reserved_gb} GB (${x.budget.mode}) → ${x.budget.budget_gb} GB frei`,children:["ctx → ",(x.assigned_ctx/1024).toFixed(0),"k"]}),x.fit.level==="too_tight"&&g.jsx("span",{className:"opacity-90",children:"— passt nicht in den Speicher, würde beim Laden abstürzen (OOM)."})]}),C&&g.jsxs("div",{className:"flex items-start gap-2 rounded-lg border border-amber-500/40 bg-amber-500/10 px-3 py-2 text-[11px] font-medium text-amber-400",children:[g.jsx(_g,{className:"h-3.5 w-3.5 mt-0.5 shrink-0"}),g.jsxs("span",{children:["Rolle ",g.jsxs("strong",{children:["„",l,'"']})," ist aktuell ",g.jsx("strong",{children:C.name})," zugewiesen. Beim Download übernimmt das neue Modell diese Rolle — ",C.name," bleibt installiert, verliert sie aber."]})]}),g.jsxs("div",{className:"flex gap-2 border-t border-border/20 pt-4",children:[g.jsxs("div",{className:"relative flex-1",children:[g.jsx("input",{value:d,onChange:H=>f(H.target.value),onKeyDown:H=>H.key==="Enter"&&G(),placeholder:"HuggingFace durchsuchen (z.B. Llama-3.1)...",className:"w-full h-9 pl-9 pr-3 rounded-lg border border-border/60 bg-background/40 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),g.jsx(wP,{className:"absolute left-3 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),g.jsx("button",{onClick:G,className:"h-9 px-4 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold hover:border-primary/50 hover:bg-background/40 transition-all cursor-pointer",children:"Suchen"})]}),m.length>0&&g.jsx("div",{className:"max-h-48 space-y-1.5 overflow-y-auto border border-border/40 bg-background/20 p-2 rounded-xl scrollbar-thin",children:m.map(H=>g.jsxs("button",{onClick:()=>{e(H.repo),y([]),f(""),N(H.repo)},className:"flex w-full items-center justify-between rounded-lg px-3 py-2 text-left text-xs bg-background/10 border border-border/10 hover:border-primary/30 hover:bg-background/30 transition-all",children:[g.jsx("span",{className:"font-semibold truncate",children:H.repo}),g.jsxs("span",{className:"text-[10px] font-mono text-muted-foreground flex items-center gap-1 shrink-0",children:[g.jsx(xg,{className:"h-3 w-3"})," ",H.downloads.toLocaleString()]})]},H.repo))}),o&&g.jsx("div",{className:"text-[10px] font-medium text-primary font-mono",children:o})]})}const Dfe={fast:{title:"Schnelles Alltags-Hirn",desc:"Schnelle MoE-Antworten für Chat, Zusammenfassungen und alltägliche Aufgaben.",icon:bh},heavy:{title:"Schweres Reasoning",desc:"Große Modelle für komplexe Logik, Mathematik und tiefgründiges Planen.",icon:W1},coder:{title:"Coden & Entwicklung",desc:"Autovervollständigung, Refactoring und Codegenerierung direkt in deiner IDE.",icon:aF},vision:{title:"Bilder & Vision",desc:"Verarbeitet Bilder, Screenshots und visuelle Diagramme in multimodalen Chats.",icon:IT},scout:{title:"Multimodal-Allrounder",desc:"Multimodaler Allrounder für schnelle Antworten, Übersetzungen und Alltag.",icon:NT}};function jfe(){const{data:t,isLoading:e,error:n}=x7(),{data:r}=Kh(),{data:i}=PP(),s=(r==null?void 0:r.models)??[],o=n?String(n):"",[a,l]=R.useState({}),[c,d]=R.useState({}),[f,m]=R.useState(!1);async function y(x,S,w,_){l(E=>({...E,[x]:"Starte..."}));try{await Ut("/api/models/install",{method:"POST",body:JSON.stringify({repo:x,role:S,quant:w,jinja:_})}),l(E=>({...E,[x]:"Download läuft"}))}catch{l(T=>({...T,[x]:"Fehler"}))}}return e?g.jsx("div",{className:"text-xs text-muted-foreground py-12 text-center",children:"Analysiere Hardware und suche passende GGUF-Empfehlungen…"}):o||!t?g.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Empfehlungsdienst temporär nicht erreichbar (",o,")."]}):g.jsxs("div",{className:"space-y-8",children:[g.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground bg-background/25 border border-border/40 p-4 rounded-xl flex flex-col sm:flex-row sm:items-center justify-between gap-3 shadow-sm",children:[g.jsxs("div",{children:["Modell-Registry geladen für ",g.jsxs("span",{className:"text-foreground font-bold",children:[t.sys_ram_gb," GB"]})," System-RAM."]}),g.jsxs("div",{className:"flex items-center gap-1.5",children:[g.jsx(r9,{className:"h-3.5 w-3.5 text-primary fill-primary/20"}),g.jsx("span",{children:"Empfehlungen sind automatisch auf deine Box-Hardware optimiert."})]})]}),g.jsx("div",{className:"grid gap-6 md:grid-cols-2",children:t.categories.map(x=>{const S=Dfe[x.role]||{title:x.title||x.role,desc:"Spezifisches Modell für diese Systemrolle.",icon:$1},w=S.icon,_=s.find(D=>D.role===x.role),E=i==null?void 0:i.model_list.find(D=>D.role===x.role),T=x.models.find(D=>D.repo===x.recommended)||x.models[0];if(!T)return null;const C=a[T.repo],O=x.models.filter(D=>D.repo!==x.recommended),N=!!c[x.role];return g.jsxs("div",{className:nt("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-5 transition-all duration-300 hover:border-primary/40",_?"border-border/60":"border-primary/20 shadow-primary/5"),children:[g.jsxs("div",{className:"space-y-4",children:[g.jsxs("div",{className:"flex items-start justify-between gap-3",children:[g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsx("div",{className:"w-10 h-10 rounded-xl bg-primary/10 border border-primary/20 flex items-center justify-center text-primary shadow-sm shrink-0",children:g.jsx(w,{className:"h-5.5 w-5.5"})}),g.jsxs("div",{children:[g.jsx("h3",{className:"text-sm font-bold tracking-tight text-foreground",children:S.title}),g.jsxs("span",{className:"text-[9px] font-mono text-muted-foreground uppercase bg-background/50 px-1.5 py-0.5 rounded border border-border/30 inline-block mt-0.5",children:["Rolle: ",x.role]})]})]}),_?g.jsxs("span",{className:"flex items-center gap-1.5 text-[9px] font-bold text-emerald-400 uppercase tracking-wider bg-emerald-500/10 border border-emerald-500/20 px-2.5 py-1 rounded-lg",children:[g.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"Aktiviert"]}):g.jsx("span",{className:"text-[9px] font-bold text-primary/70 uppercase tracking-wider bg-primary/10 border border-primary/20 px-2.5 py-1 rounded-lg",children:"Frei"})]}),g.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:S.desc}),g.jsx("div",{className:"p-3.5 rounded-xl bg-background/35 border border-border/30 space-y-2.5",children:_?g.jsxs("div",{className:"space-y-1.5",children:[g.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Aktive GGUF-Belegung"}),g.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:_.name,children:_.name.split("/").pop()}),g.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2",children:[g.jsxs("span",{children:["Größe: ",VT(_.size_bytes||0)]}),g.jsx("span",{children:"•"}),g.jsxs("span",{children:["Quant: ",_.quant||"GGUF"]})]})]}):g.jsxs("div",{className:"space-y-1.5",children:[g.jsx("div",{className:"text-[9px] font-bold uppercase tracking-wider text-primary/80",children:"Empfohlenes Modell"}),g.jsx("div",{className:"text-xs font-mono font-bold text-foreground truncate",title:T.name,children:T.name}),g.jsxs("div",{className:"text-[10px] text-muted-foreground/80 flex items-center gap-2 flex-wrap",children:[g.jsxs("span",{children:["Ersteller: ",T.author]}),g.jsx("span",{children:"•"}),g.jsxs("span",{children:["Quant: ",T.quant]})]}),g.jsx("div",{className:"flex items-center gap-1.5 pt-0.5",children:g.jsx(nX,{fit:T.fit})})]})}),g.jsx("div",{className:"pt-1",children:_?E?g.jsxs("div",{className:"space-y-2",children:[g.jsxs("div",{className:"text-[9px] font-semibold text-amber-400 flex items-center gap-1.5",children:[g.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-ping shrink-0"}),g.jsxs("span",{children:["Bessere Version in der Registry: ",E.repo.split("/").pop()]})]}),g.jsxs("button",{onClick:()=>y(E.repo,x.role,T.quant||"Q4_K_M",T.caps.tools!=="no"),disabled:!!a[E.repo],className:"h-8 w-full flex items-center justify-center gap-1.5 rounded-lg bg-amber-500 text-black text-xs font-bold hover:bg-amber-400 disabled:opacity-50 transition-all cursor-pointer shadow-md shadow-amber-500/10",children:[g.jsx(xg,{className:"h-3.5 w-3.5"}),a[E.repo]||"Auf neue Version aktualisieren"]})]}):g.jsxs("div",{className:"h-8 flex items-center justify-center gap-1.5 text-[10px] font-bold text-emerald-400 uppercase tracking-wide bg-emerald-500/5 border border-emerald-500/10 rounded-lg select-none",children:[g.jsx(Go,{className:"h-4 w-4"})," Auf neuestem Stand"]}):g.jsxs("button",{onClick:()=>y(T.repo,x.role,T.quant||"Q4_K_M",T.caps.tools!=="no"),disabled:!!C,className:nt("h-8 w-full flex items-center justify-center gap-1.5 rounded-lg text-xs font-bold transition-all cursor-pointer border",C?"border-primary/40 bg-primary/5 text-primary":"bg-primary text-primary-foreground hover:opacity-90 shadow-md shadow-primary/10"),children:[g.jsx(xg,{className:"h-3.5 w-3.5"}),C||"Optimales Modell einsetzen"]})})]}),O.length>0&&g.jsxs("div",{className:"border-t border-border/20 pt-3",children:[g.jsxs("button",{onClick:()=>d(D=>({...D,[x.role]:!N})),className:"flex items-center gap-1.5 text-[10px] text-muted-foreground/80 hover:text-foreground transition-colors cursor-pointer",children:[N?g.jsx(M8,{className:"h-3 w-3"}):g.jsx(w8,{className:"h-3 w-3"}),g.jsxs("span",{children:["Alternative Empfehlungen anzeigen (",O.length,")"]})]}),N&&g.jsx("div",{className:"mt-2.5 space-y-2 max-h-36 overflow-y-auto pr-1 scrollbar-thin",children:O.map(D=>g.jsxs("div",{className:"p-2 rounded-lg bg-background/25 border border-border/20 flex items-center justify-between gap-3",children:[g.jsxs("div",{className:"min-w-0",children:[g.jsx("div",{className:"text-[10px] font-mono font-bold text-foreground truncate",title:D.name,children:D.name}),g.jsxs("div",{className:"text-[9px] text-muted-foreground flex items-center gap-1.5 mt-0.5",children:[g.jsxs("span",{children:["Quant: ",D.quant]}),g.jsx("span",{children:"•"}),g.jsx("span",{children:D.fit.text})]})]}),g.jsx("button",{onClick:()=>y(D.repo,x.role,D.quant||"Q4_K_M",D.caps.tools!=="no"),disabled:!!a[D.repo],className:"h-6 px-2.5 rounded bg-background/40 hover:bg-background/80 border border-border/40 text-[9px] font-bold text-foreground transition-all cursor-pointer shrink-0 disabled:opacity-50",children:a[D.repo]||"Installieren"})]},D.repo))})]})]},x.role)})}),g.jsxs("div",{className:"border border-border/50 bg-card/20 rounded-2xl overflow-hidden shadow-md mt-4",children:[g.jsxs("button",{onClick:()=>m(!f),className:"w-full px-5 py-4 flex items-center justify-between text-xs font-bold uppercase tracking-wider text-muted-foreground hover:bg-card/30 transition-colors cursor-pointer",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(wP,{className:"h-4 w-4 text-primary"}),g.jsx("span",{children:"Eigenes Modell von Hugging Face laden (Erweiterte Ansicht)"})]}),g.jsx("span",{className:"text-[10px] text-primary hover:underline",children:f?"Ausblenden ▲":"Anzeigen ▼"})]}),f&&g.jsx("div",{className:"p-5 border-t border-border/20 bg-card/10",children:g.jsx(Lfe,{})})]})]})}function Ufe(){const[t,e]=R.useState("cockpit");return g.jsxs("div",{className:"space-y-6",children:[g.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[g.jsxs("div",{children:[g.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Modell-Manager"}),g.jsx("p",{className:"text-sm text-muted-foreground",children:"Verwalte deine Modelle und passe das Gateway-Routing live über das interaktive Cockpit an."})]}),g.jsx("div",{className:"flex rounded-xl border border-border/60 bg-card/45 backdrop-blur-md p-1 self-start",children:["cockpit","discover"].map(n=>g.jsx("button",{onClick:()=>e(n),className:nt("rounded-lg px-4 py-1.5 text-xs font-semibold tracking-wide uppercase transition-all cursor-pointer",t===n?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"text-muted-foreground hover:text-foreground"),children:n==="cockpit"?"Cockpit":"Modelle finden"},n))})]}),g.jsx(Ife,{}),g.jsx("div",{className:"transition-all duration-300",children:t==="cockpit"?g.jsx(Ofe,{}):g.jsx(jfe,{})})]})}const Ffe={cline:"cline_settings.json",cursor:"Settings → Models",opencode:"opencode.jsonc",zed:"settings.json",continue:"~/.continue/config.json",claude_code:"~/.zshrc / env"};function D3({line:t,loading:e}){return e||!t?g.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-muted-foreground",children:[g.jsx(_P,{className:"h-3 w-3 animate-spin"})," prüfe…"]}):t.ok?g.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-emerald-400",children:[g.jsx(E8,{className:"h-3 w-3"})," ",t.detail]}):g.jsxs("span",{className:"inline-flex items-center gap-1 text-[10px] font-semibold text-red-400",children:[g.jsx(T8,{className:"h-3 w-3"})," ",t.detail]})}function j3({tool:t,fileName:e,accent:n,copied:r,onCopy:i}){return g.jsxs("div",{className:"flex flex-col border border-border/60 bg-black/60 rounded-2xl overflow-hidden shadow-2xl",children:[g.jsxs("div",{className:"flex h-11 items-center justify-between px-4 border-b border-border/40 bg-black/40 shrink-0",children:[g.jsxs("div",{className:"flex items-center gap-1.5",children:[g.jsx("span",{className:"h-3 w-3 rounded-full bg-red-500/80"}),g.jsx("span",{className:"h-3 w-3 rounded-full bg-amber-500/80"}),g.jsx("span",{className:"h-3 w-3 rounded-full bg-emerald-500/80"})]}),g.jsx("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground/75 bg-background/30 px-3 py-1 rounded-md border border-border/20",children:g.jsx("span",{children:e})}),g.jsxs("button",{onClick:i,className:"flex h-7 px-2.5 items-center gap-1.5 rounded-lg border border-border/40 bg-background/30 text-[10px] font-semibold text-muted-foreground hover:text-foreground hover:bg-background/60 transition-all cursor-pointer",children:[r?g.jsx(Go,{className:"h-3.5 w-3.5 text-emerald-400"}):g.jsx(tw,{className:"h-3.5 w-3.5"}),g.jsx("span",{children:r?"Kopiert":"Kopieren"})]})]}),g.jsx("pre",{className:nt("p-5 overflow-x-auto text-xs font-mono whitespace-pre leading-relaxed scrollbar-thin select-text bg-black/10",n==="teal"?"text-cyan-200/90":"text-violet-200/90"),children:g.jsx("code",{children:t.snippet})})]})}function zfe(){const[t,e]=R.useState(localStorage.getItem("mc_host")||"192.168.178.151"),[n,r]=R.useState(localStorage.getItem("mc_mcp_path")||""),[i,s]=R.useState("cline"),[o,a]=R.useState(null),l=new URLSearchParams({host:t});n&&l.set("mcp_path",n);const{data:c,error:d}=WF(l.toString()),{data:f,isLoading:m}=_7(),y=d?String(d):"";function x(E){e(E),E&&localStorage.setItem("mc_host",E)}function S(E){r(E),localStorage.setItem("mc_mcp_path",E)}const w=c==null?void 0:c.tools[i];async function _(E,T){T&&(await navigator.clipboard.writeText(T),a(E),setTimeout(()=>a(null),1500))}return g.jsxs("div",{className:"space-y-6",children:[g.jsxs("div",{children:[g.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Verbindung & Integration"}),g.jsxs("p",{className:"text-sm text-muted-foreground",children:["Binde deinen lokalen Agenten an die Box an — über ",g.jsx("span",{className:"text-foreground",children:"zwei getrennte Leitungen"}),": das Modell (Gateway) und das geteilte Gedächtnis (MCP)."]})]}),g.jsxs("div",{className:"p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[g.jsxs("div",{className:"grid gap-4 md:grid-cols-[170px_1fr] items-center",children:[g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-background/40 p-4 text-center",children:[g.jsx(U8,{className:"h-7 w-7 mx-auto text-muted-foreground"}),g.jsx("div",{className:"mt-2 text-sm font-semibold text-foreground",children:"Dein lokaler Agent"}),g.jsx("div",{className:"text-[11px] text-muted-foreground",children:"Cline · Cursor · Zed …"})]}),g.jsxs("div",{className:"flex flex-col gap-2.5",children:[g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsx(ew,{className:"h-4 w-4 text-muted-foreground shrink-0"}),g.jsxs("div",{className:"flex-1 rounded-xl border border-primary/25 bg-primary/5 px-3.5 py-2.5",children:[g.jsxs("div",{className:"flex items-center justify-between gap-2",children:[g.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-primary",children:[g.jsx(El,{className:"h-3.5 w-3.5"})," Leitung 1 — Modell"]}),g.jsx(D3,{line:f==null?void 0:f.gateway,loading:m})]}),g.jsx("div",{className:"mt-1 text-[11px] font-mono text-primary/80",children:"Gateway · :9001/v1 · model auto"})]})]}),g.jsxs("div",{className:"flex items-center gap-3",children:[g.jsx(ew,{className:"h-4 w-4 text-muted-foreground shrink-0"}),g.jsxs("div",{className:"flex-1 rounded-xl border border-violet-500/25 bg-violet-500/5 px-3.5 py-2.5",children:[g.jsxs("div",{className:"flex items-center justify-between gap-2",children:[g.jsxs("div",{className:"flex items-center gap-2 text-xs font-semibold text-violet-300",children:[g.jsx(W1,{className:"h-3.5 w-3.5"})," Leitung 2 — Gedächtnis"]}),g.jsx(D3,{line:f==null?void 0:f.memory,loading:m})]}),g.jsx("div",{className:"mt-1 text-[11px] font-mono text-violet-300/80",children:"MCP · mcp_memory.py · separat"})]})]})]})]}),g.jsxs("p",{className:"mt-3.5 text-[11px] text-muted-foreground leading-relaxed",children:["Der Gateway liefert ",g.jsx("span",{className:"text-foreground",children:"nur das LLM"}),". Das geteilte Gedächtnis läuft über einen",g.jsx("span",{className:"text-foreground",children:" eigenen MCP-Server"})," — beide werden unabhängig eingerichtet."]})]}),g.jsxs("div",{className:"grid gap-4 md:grid-cols-2 p-5 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md shadow-lg shadow-black/10",children:[g.jsxs("div",{className:"space-y-1.5",children:[g.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[g.jsx(D8,{className:"h-3.5 w-3.5 text-primary"})," Box LAN IP-Adresse"]}),g.jsx("input",{value:t,onChange:E=>x(E.target.value),placeholder:"z.B. 192.168.178.151",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"})]}),g.jsxs("div",{className:"space-y-1.5",children:[g.jsxs("label",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground flex items-center gap-1.5",children:[g.jsx(k8,{className:"h-3.5 w-3.5 text-violet-400"})," Lokaler MCP-Scriptpfad",g.jsx("span",{className:"text-violet-400/70 normal-case font-semibold tracking-normal",children:"(nur Leitung 2)"})]}),g.jsx("input",{value:n,onChange:E=>S(E.target.value),placeholder:"z.B. F:\\Coding Stuff\\mission-control-2\\mcp\\mcp_memory.py",className:"w-full h-9 rounded-lg border border-border/60 bg-background/40 px-3 font-mono text-xs outline-none focus:ring-1 focus:ring-violet-500/50 text-foreground"})]})]}),y&&g.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler beim Generieren der Snippets: ",y]}),c&&g.jsxs("div",{className:"grid gap-5 lg:grid-cols-2",children:[g.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-primary/70 bg-card/30 p-4",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[g.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-primary/15 text-primary text-[11px]",children:"1"}),"Modell anbinden"]}),g.jsx("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Wähle dein Tool — das Snippet zeigt auf den Gateway."})]}),g.jsx("div",{className:"flex flex-wrap gap-1.5",children:Object.entries(c.tools).map(([E,T])=>g.jsx("button",{onClick:()=>s(E),className:nt("rounded-lg px-3 py-1.5 text-[11px] font-semibold tracking-wide transition-all cursor-pointer",i===E?"bg-primary text-primary-foreground shadow-md shadow-primary/10":"border border-border/50 text-muted-foreground hover:text-foreground"),children:T.label},E))}),w&&g.jsxs(g.Fragment,{children:[w.note&&g.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-primary/5 border border-primary/20 text-[11px] text-muted-foreground leading-relaxed",children:[g.jsx(lI,{className:"h-4 w-4 text-primary shrink-0 mt-0.5"}),g.jsx("span",{children:w.note})]}),g.jsx(j3,{tool:w,fileName:Ffe[i]||"config.json",accent:"teal",copied:o==="model",onCopy:()=>_("model",w.snippet)})]})]}),g.jsxs("div",{className:"space-y-3 rounded-2xl border border-border/60 border-t-2 border-t-violet-500/70 bg-card/30 p-4",children:[g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2 text-sm font-space font-bold text-foreground",children:[g.jsx("span",{className:"flex h-5 w-5 items-center justify-center rounded-md bg-violet-500/15 text-violet-300 text-[11px]",children:"2"}),"Gedächtnis anbinden",g.jsx("span",{className:"text-[10px] font-medium text-muted-foreground normal-case",children:"optional"})]}),g.jsxs("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:["Ein MCP-Block — gilt zusätzlich für ",g.jsx("em",{children:"jedes"})," Tool aus Schritt 1."]})]}),g.jsxs("div",{className:"flex items-start gap-2.5 p-3 rounded-xl bg-violet-500/5 border border-violet-500/20 text-[11px] text-muted-foreground leading-relaxed",children:[g.jsx(lI,{className:"h-4 w-4 text-violet-400 shrink-0 mt-0.5"}),g.jsx("span",{children:c.memory.note})]}),g.jsx(j3,{tool:c.memory,fileName:"mcp.json",accent:"violet",copied:o==="memory",onCopy:()=>_("memory",c.memory.snippet)})]})]})]})}const Bfe="modulepreload",Hfe=function(t){return"/"+t},U3={},Vfe=function(e,n,r){let i=Promise.resolve();if(n&&n.length>0){let o=function(c){return Promise.all(c.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),l=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));i=o(n.map(c=>{if(c=Hfe(c),c in U3)return;U3[c]=!0;const d=c.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":Bfe,d||(m.as="script"),m.crossOrigin="",m.href=c,l&&m.setAttribute("nonce",l),document.head.appendChild(m),d)return new Promise((y,x)=>{m.addEventListener("load",y),m.addEventListener("error",()=>x(new Error(`Unable to preload CSS for ${c}`)))})}))}function s(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return i.then(o=>{for(const a of o||[])a.status==="rejected"&&s(a.reason);return e().catch(s)})};class Gfe extends R.Component{constructor(){super(...arguments);Gs(this,"state",{error:null})}static getDerivedStateFromError(n){return{error:n}}render(){return this.state.error?g.jsxs("div",{className:"h-[480px] rounded-2xl border border-red-500/20 bg-red-500/5 p-6 text-xs text-red-400 overflow-auto",children:[g.jsx("div",{className:"font-semibold mb-2",children:"Graph konnte nicht gerendert werden"}),g.jsx("pre",{className:"whitespace-pre-wrap break-words text-[11px] leading-relaxed",children:this.state.error.message})]}):this.props.children}}const Wfe=R.lazy(()=>Vfe(()=>import("./GraphView-lIt3W4GI.js"),[]).then(t=>({default:t.GraphView}))),jb=["identity","knowledge","rules","events"],F3=new Set(["auto","agent","hermes"]),qE={identity:{label:"Identität",icon:i9,bg:"bg-cyan-500/10",text:"text-cyan-400"},knowledge:{label:"Wissen",icon:Zm,bg:"bg-indigo-500/10",text:"text-indigo-400"},rules:{label:"Regeln",icon:J8,bg:"bg-violet-500/10",text:"text-violet-400"},events:{label:"Ereignisse",icon:C8,bg:"bg-amber-500/10",text:"text-amber-400"}},z3={label:"Gedächtnis",icon:PT,text:"text-muted-foreground"},$fe={identity:"border-l-cyan-500/80",knowledge:"border-l-indigo-500/80",rules:"border-l-violet-500/80",events:"border-l-amber-500/80"},B3=`Hi Hermes! Lass uns ein kurzes Onboarding machen, damit du dich künftig an mich erinnerst. Stell mir nacheinander ein paar kurze Fragen zu: 1) wer ich bin und woran ich gerade arbeite, 2) wie ich angesprochen werden möchte, 3) meine bevorzugten Tools, Sprachen und Arbeitsweise, 4) wichtige Regeln/Konventionen, die du beachten sollst, 5) meine Infrastruktur (Server, Dienste – ohne Geheimnisse). -Frag immer nur eine Sache auf einmal und fass am Ende zusammen, was du dir gemerkt hast.`;function Xfe(){const[t,e]=R.useState(""),[n,r]=R.useState(""),[i,s]=R.useState(""),[o,a]=R.useState("knowledge"),[l,c]=R.useState(!1),[d,f]=R.useState(!1),[m,y]=R.useState("liste"),[x,S]=R.useState(!1),w=$h(),{showAlert:_,showConfirm:E,dialogElement:T}=tv(),{data:C=[]}=HT({}),{data:O=[],error:N}=HT({q:n,category:t}),{data:D}=h7(m==="graph"),F=N?String(N):"",G=()=>{w.invalidateQueries({queryKey:["memory"]}),w.invalidateQueries({queryKey:["memory-graph"]})},k=R.useMemo(()=>{const V=C.length,q=C.filter(pe=>F3.has(pe.source)).length;return{total:V,auto:q,manual:V-q,cats:new Set(C.map(pe=>pe.category)).size}},[C]),U=C.length===0,H=R.useMemo(()=>{const V=D??{nodes:[],edges:[]};if(!n.trim())return V;const q=n.toLowerCase(),pe=V.nodes.filter(le=>le.content.toLowerCase().includes(q)),ae=new Set(pe.map(le=>le.id));return{nodes:pe,edges:V.edges.filter(le=>ae.has(le.source)&&ae.has(le.target))}},[D,n]),ne=R.useMemo(()=>{const V={};return O.forEach(q=>{var pe;(V[pe=q.category]??(V[pe]=[])).push(q)}),V},[O]),te=R.useMemo(()=>O.filter(V=>!jb.includes(V.category)),[O]);async function he(){i.trim()&&(await Ft("/api/memory",{method:"POST",body:JSON.stringify({content:i,category:o,source:"ui"})}),s(""),S(!1),G())}async function se(V){await Ft(`/api/memory/${V}`,{method:"DELETE"}),G()}async function fe(){try{await navigator.clipboard.writeText(B3),f(!0),setTimeout(()=>f(!1),1800)}catch{_("Kopieren fehlgeschlagen","Markiere den Prompt und kopiere ihn manuell (Strg+C).")}}function B(){fe(),window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"terminal"}}))}async function J(){c(!0);try{const V=await Ft("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!1})});if(V.duplicate_count===0){_("Ergebnis","Keine Dubletten gefunden — alles sauber.");return}E("Deduplizierung bestätigen",`${V.duplicate_count} Dublette(n) in ${V.groups.length} Gruppe(n) gefunden. Entfernen?`,async()=>{try{await Ft("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!0})}),G()}catch(q){_("Fehler",`Fehler beim Löschen: ${q.message}`)}})}catch(V){_("Fehler",`Fehler bei der Deduplizierung: ${V.message}`)}finally{c(!1)}}const Y=({value:V,label:q,accent:pe})=>g.jsxs("span",{className:nt("flex items-center gap-1.5 text-[11px] rounded-lg px-2.5 py-1 border",pe==="auto"?"text-emerald-400 bg-emerald-500/[0.07] border-emerald-500/20":"text-muted-foreground bg-card/40 border-border/50"),children:[pe==="auto"&&g.jsx(Gm,{className:"h-3 w-3"}),g.jsx("b",{className:nt("font-semibold",pe==="auto"?"":"text-foreground"),children:V})," ",q]});return g.jsxs("div",{className:"space-y-5",children:[g.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-center justify-between gap-3",children:[g.jsxs("div",{children:[g.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Gedächtnis-Pool"}),g.jsx("p",{className:"text-sm text-muted-foreground",children:"Geteilte Konstitution — Hermes, IDEs & Gateway lesen und lernen hier per MCP."})]}),g.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[g.jsxs("div",{className:"relative",children:[g.jsx("input",{value:n,onChange:V=>r(V.target.value),placeholder:"Semantisch suchen…",className:"w-52 h-9 pl-8 pr-3 rounded-lg border border-border/60 bg-card/45 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),g.jsx(wP,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),g.jsxs("button",{onClick:()=>S(V=>!V),className:"h-9 px-3 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer shadow-md shadow-primary/10",children:[g.jsx(OT,{className:"h-4 w-4"})," Eintrag"]}),g.jsx("div",{className:"flex items-center gap-1 p-1 bg-card/30 border border-border/40 rounded-lg",children:[["liste",H8,"Liste"],["graph",t9,"Graph"]].map(([V,q,pe])=>g.jsxs("button",{onClick:()=>y(V),className:nt("flex h-7 px-2.5 items-center gap-1.5 text-[11px] font-semibold rounded-md transition-all cursor-pointer",m===V?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:[g.jsx(q,{className:"h-3.5 w-3.5"})," ",pe]},V))}),g.jsx("button",{onClick:J,disabled:l,className:"flex h-9 w-9 items-center justify-center rounded-lg border border-border/60 bg-card hover:border-primary/50 transition-all cursor-pointer shadow-md disabled:opacity-50",title:"Deduplizieren",children:g.jsx(Gm,{className:"h-4 w-4 text-primary"})})]})]}),!U&&g.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[g.jsx(Y,{value:k.total,label:"Fakten"}),g.jsx(Y,{value:k.auto,label:"auto gelernt",accent:"auto"}),g.jsx(Y,{value:k.manual,label:"manuell"}),g.jsx(Y,{value:k.cats,label:"Kategorien"}),g.jsxs("span",{className:"ml-auto text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[g.jsx(Gm,{className:"h-3 w-3 text-emerald-400"})," lernt automatisch aus Hermes-Gesprächen"]})]}),x&&g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 space-y-3",children:[g.jsxs("div",{className:"flex items-center justify-between",children:[g.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Neuen Eintrag anlegen"}),g.jsx("button",{onClick:()=>S(!1),className:"text-muted-foreground hover:text-foreground",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsx("textarea",{value:i,onChange:V=>s(V.target.value),rows:2,placeholder:"Eine Regel, Vorliebe oder einen stabilen Fakt über dich oder das Projekt…",className:"w-full resize-none rounded-xl border border-border/60 bg-background/30 p-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground leading-relaxed"}),g.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[g.jsx("select",{value:o,onChange:V=>a(V.target.value),className:"h-8 rounded-lg border border-border/60 bg-background/50 px-2 text-xs outline-none font-semibold text-foreground cursor-pointer",children:jb.map(V=>{var q;return g.jsx("option",{value:V,className:"bg-popover text-foreground",children:((q=qE[V])==null?void 0:q.label)||V},V)})}),g.jsxs("button",{onClick:he,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[g.jsx(OT,{className:"h-4 w-4"})," Speichern"]})]})]}),F&&g.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler: ",F]}),U?g.jsxs("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 sm:p-10 flex flex-col items-center text-center gap-5",children:[g.jsx("div",{className:"h-14 w-14 rounded-2xl bg-primary/10 flex items-center justify-center",children:g.jsx(G8,{className:"h-7 w-7 text-primary"})}),g.jsxs("div",{className:"space-y-1.5 max-w-lg",children:[g.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Lass Hermes dich kennenlernen"}),g.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Statt Fakten einzutippen: führ ein kurzes Onboarding-Gespräch mit Hermes. Was ihr besprecht, merkt sich das Gedächtnis automatisch — du musst nichts manuell pflegen."})]}),g.jsxs("div",{className:"w-full max-w-lg text-left",children:[g.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[g.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Sende das an Hermes"}),g.jsx("button",{onClick:fe,className:"flex items-center gap-1 text-[10px] font-semibold text-muted-foreground hover:text-foreground transition-colors",children:d?g.jsxs(g.Fragment,{children:[g.jsx(Go,{className:"h-3 w-3 text-emerald-400"})," Kopiert"]}):g.jsxs(g.Fragment,{children:[g.jsx(tw,{className:"h-3 w-3"})," Kopieren"]})})]}),g.jsx("pre",{className:"w-full rounded-xl border border-border/60 bg-background/40 p-3.5 text-[11px] leading-relaxed text-foreground/90 whitespace-pre-wrap font-mono",children:B3})]}),g.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[g.jsxs("button",{onClick:B,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[g.jsx(uF,{className:"h-4 w-4"})," Im Terminal starten"]}),g.jsxs("button",{onClick:fe,className:"h-9 px-4 rounded-lg border border-border/60 bg-card text-xs font-semibold hover:border-primary/50 transition-all flex items-center gap-1.5 cursor-pointer",children:[d?g.jsx(Go,{className:"h-4 w-4 text-emerald-400"}):g.jsx(tw,{className:"h-4 w-4"})," Prompt kopieren"]})]}),g.jsxs("p",{className:"text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[g.jsx(e9,{className:"h-3 w-3"})," Funktioniert genauso über Telegram —"," ",g.jsx("button",{onClick:()=>S(!0),className:"underline hover:text-foreground",children:"oder lieber manuell anlegen"}),"."]})]}):m==="graph"?g.jsx(Gfe,{children:g.jsx(R.Suspense,{fallback:g.jsx("div",{className:"h-[480px] rounded-2xl border border-border/60 bg-card/30 flex items-center justify-center text-xs text-muted-foreground",children:"Graph wird geladen…"}),children:g.jsx(Wfe,{data:H,onDelete:se})})}):g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 p-1 bg-card/30 border border-border/40 rounded-xl w-fit",children:[g.jsx("button",{onClick:()=>e(""),className:nt("h-7 px-3 rounded-lg text-[10px] font-semibold uppercase tracking-wider transition-all cursor-pointer",t?"text-muted-foreground hover:text-foreground":"bg-primary text-primary-foreground"),children:"Alle"}),jb.map(V=>{const q=qE[V]||z3,pe=q.icon;return g.jsxs("button",{onClick:()=>e(V),className:nt("h-7 px-2.5 rounded-lg text-[10px] font-semibold uppercase tracking-wider transition-all cursor-pointer flex items-center gap-1",t===V?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:[g.jsx(pe,{className:"h-3 w-3"})," ",q.label]},V)})]}),O.length===0?g.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center",children:"Keine Einträge für die aktuellen Filterkriterien gefunden."}):g.jsx("div",{className:"space-y-5",children:[...jb,"__other"].map(V=>{const q=V==="__other"?te:ne[V]||[];if(!q.length)return null;const pe=qE[V]||z3,ae=pe.icon;return g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2 mb-2 px-1",children:[g.jsx(ae,{className:nt("h-3.5 w-3.5",pe.text)}),g.jsx("span",{className:nt("text-[11px] font-bold uppercase tracking-wider",pe.text),children:pe.label}),g.jsx("span",{className:"text-[10px] font-mono text-muted-foreground/60 bg-card/50 rounded px-1.5 py-0.5",children:q.length}),g.jsx("div",{className:"ml-1 h-px flex-1 bg-border/30"})]}),g.jsx("div",{className:"space-y-2",children:q.map(le=>{const be=F3.has(le.source);return g.jsxs("div",{className:nt("flex items-start justify-between gap-4 p-3.5 rounded-xl border border-l-4 bg-card/45 backdrop-blur-md border-border/60 hover:border-primary/20 transition-all group",$fe[le.category]||"border-l-muted"),children:[g.jsx("span",{className:"text-xs text-foreground leading-relaxed break-words whitespace-pre-wrap flex-1 min-w-0",children:le.content}),g.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[typeof le.score=="number"&&g.jsxs("span",{className:"text-[9px] font-mono text-primary bg-primary/10 px-1.5 py-0.5 rounded",title:"Relevanz der semantischen Suche",children:[Math.round(le.score*100),"%"]}),g.jsxs("span",{className:nt("flex items-center gap-1 text-[9px] font-mono px-1.5 py-0.5 rounded",be?"text-emerald-400 bg-emerald-500/10":"text-muted-foreground/60 bg-background/20"),title:be?"Automatisch gelernt":"Manuell angelegt",children:[be&&g.jsx(Gm,{className:"h-2.5 w-2.5"}),le.source]}),g.jsx("button",{onClick:()=>se(le.id),title:"Eintrag löschen",className:"h-7 w-7 rounded-lg flex items-center justify-center border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 transition-all opacity-0 group-hover:opacity-100",children:g.jsx(LT,{className:"h-3.5 w-3.5"})})]})]},le.id)})})]},V)})})]}),T]})}function Ub({label:t,ok:e,detail:n,icon:r,onClick:i}){return g.jsxs("div",{onClick:i,className:nt("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-3 hover:border-primary/40 transition-all duration-300",e?"border-border/60":"border-amber-500/30",i&&"cursor-pointer hover:bg-card/70"),children:[g.jsxs("div",{className:"flex items-center justify-between",children:[g.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:t}),g.jsx(r,{className:nt("h-4.5 w-4.5",e?"text-primary":"text-amber-500")})]}),g.jsxs("div",{className:"space-y-1.5",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("span",{className:nt("h-2 w-2 rounded-full ring-2 ring-black/40",e?"bg-emerald-500 animate-pulse":"bg-amber-500")}),g.jsx("span",{className:"text-xs font-semibold text-foreground",children:e?"Bereit / Online":"Offline / Inaktiv"})]}),n&&g.jsx("div",{className:"text-[10px] font-mono text-muted-foreground truncate max-w-[200px]",title:n,children:n})]}),i&&g.jsxs("button",{onClick:s=>{s.stopPropagation(),i()},className:"mt-2 flex items-center justify-center gap-1.5 w-full py-1.5 px-3 rounded-lg border border-primary/30 bg-primary/10 hover:bg-primary/20 text-primary text-[10px] font-bold uppercase tracking-wider transition-all cursor-pointer font-space",children:[g.jsx(El,{className:"h-3.5 w-3.5"}),g.jsx("span",{children:"Gehirn wechseln"})]})]})}function qfe(){const{data:t,error:e}=CP(5e3),{data:n}=qh(),{showAlert:r,dialogElement:i}=tv(),s=$h(),o=e?String(e):"",a=R.useMemo(()=>["auto","fast","heavy",...((n==null?void 0:n.models)??[]).map(O=>{var N;return((N=O.name.split("/").pop())==null?void 0:N.replace(".gguf",""))||O.name})],[n]),[l,c]=R.useState(null),[d,f]=R.useState(!1),[m,y]=R.useState({width:800,height:360}),x=R.useRef(null),S=R.useCallback(C=>{if(x.current&&(x.current.disconnect(),x.current=null),C){const O=new ResizeObserver(N=>{if(!N||N.length===0)return;const D=N[0].contentRect;y({width:D.width,height:D.height})});O.observe(C),x.current=O}},[]),w=m.width,_=m.height,E=(C,O,N,D)=>{const F=(C+N)/2;return`M ${C} ${O} C ${F} ${O}, ${F} ${D}, ${N} ${D}`};async function T(C){try{await Ft("/api/agent/brain",{method:"POST",body:JSON.stringify({model:C})}),r("Erfolgreich",`Hermes-Gehirn wurde auf '${C}' geändert. Der Gateway-Dienst wurde neu gestartet.`),s.invalidateQueries({queryKey:Lr.agentStatus}),f(!1)}catch(O){r("Fehler",`Fehler beim Wechseln des Gehirns: ${O.message}`)}}return g.jsxs("div",{className:"space-y-6",children:[g.jsx("style",{children:` +Frag immer nur eine Sache auf einmal und fass am Ende zusammen, was du dir gemerkt hast.`;function Xfe(){const[t,e]=R.useState(""),[n,r]=R.useState(""),[i,s]=R.useState(""),[o,a]=R.useState("knowledge"),[l,c]=R.useState(!1),[d,f]=R.useState(!1),[m,y]=R.useState("liste"),[x,S]=R.useState(!1),w=Xh(),{showAlert:_,showConfirm:E,dialogElement:T}=tv(),{data:C=[]}=HT({}),{data:O=[],error:N}=HT({q:n,category:t}),{data:D}=h7(m==="graph"),F=N?String(N):"",G=()=>{w.invalidateQueries({queryKey:["memory"]}),w.invalidateQueries({queryKey:["memory-graph"]})},k=R.useMemo(()=>{const V=C.length,q=C.filter(pe=>F3.has(pe.source)).length;return{total:V,auto:q,manual:V-q,cats:new Set(C.map(pe=>pe.category)).size}},[C]),U=C.length===0,H=R.useMemo(()=>{const V=D??{nodes:[],edges:[]};if(!n.trim())return V;const q=n.toLowerCase(),pe=V.nodes.filter(ce=>ce.content.toLowerCase().includes(q)),le=new Set(pe.map(ce=>ce.id));return{nodes:pe,edges:V.edges.filter(ce=>le.has(ce.source)&&le.has(ce.target))}},[D,n]),ne=R.useMemo(()=>{const V={};return O.forEach(q=>{var pe;(V[pe=q.category]??(V[pe]=[])).push(q)}),V},[O]),te=R.useMemo(()=>O.filter(V=>!jb.includes(V.category)),[O]);async function he(){i.trim()&&(await Ut("/api/memory",{method:"POST",body:JSON.stringify({content:i,category:o,source:"ui"})}),s(""),S(!1),G())}async function oe(V){await Ut(`/api/memory/${V}`,{method:"DELETE"}),G()}async function fe(){try{await navigator.clipboard.writeText(B3),f(!0),setTimeout(()=>f(!1),1800)}catch{_("Kopieren fehlgeschlagen","Markiere den Prompt und kopiere ihn manuell (Strg+C).")}}function B(){fe(),window.dispatchEvent(new CustomEvent("mc-navigate",{detail:{view:"terminal"}}))}async function J(){c(!0);try{const V=await Ut("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!1})});if(V.duplicate_count===0){_("Ergebnis","Keine Dubletten gefunden — alles sauber.");return}E("Deduplizierung bestätigen",`${V.duplicate_count} Dublette(n) in ${V.groups.length} Gruppe(n) gefunden. Entfernen?`,async()=>{try{await Ut("/api/memory/dedupe",{method:"POST",body:JSON.stringify({apply:!0})}),G()}catch(q){_("Fehler",`Fehler beim Löschen: ${q.message}`)}})}catch(V){_("Fehler",`Fehler bei der Deduplizierung: ${V.message}`)}finally{c(!1)}}const Y=({value:V,label:q,accent:pe})=>g.jsxs("span",{className:nt("flex items-center gap-1.5 text-[11px] rounded-lg px-2.5 py-1 border",pe==="auto"?"text-emerald-400 bg-emerald-500/[0.07] border-emerald-500/20":"text-muted-foreground bg-card/40 border-border/50"),children:[pe==="auto"&&g.jsx(Gm,{className:"h-3 w-3"}),g.jsx("b",{className:nt("font-semibold",pe==="auto"?"":"text-foreground"),children:V})," ",q]});return g.jsxs("div",{className:"space-y-5",children:[g.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-center justify-between gap-3",children:[g.jsxs("div",{children:[g.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Gedächtnis-Pool"}),g.jsx("p",{className:"text-sm text-muted-foreground",children:"Geteilte Konstitution — Hermes, IDEs & Gateway lesen und lernen hier per MCP."})]}),g.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[g.jsxs("div",{className:"relative",children:[g.jsx("input",{value:n,onChange:V=>r(V.target.value),placeholder:"Semantisch suchen…",className:"w-52 h-9 pl-8 pr-3 rounded-lg border border-border/60 bg-card/45 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground"}),g.jsx(wP,{className:"absolute left-2.5 top-2.5 h-3.5 w-3.5 text-muted-foreground"})]}),g.jsxs("button",{onClick:()=>S(V=>!V),className:"h-9 px-3 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer shadow-md shadow-primary/10",children:[g.jsx(OT,{className:"h-4 w-4"})," Eintrag"]}),g.jsx("div",{className:"flex items-center gap-1 p-1 bg-card/30 border border-border/40 rounded-lg",children:[["liste",H8,"Liste"],["graph",t9,"Graph"]].map(([V,q,pe])=>g.jsxs("button",{onClick:()=>y(V),className:nt("flex h-7 px-2.5 items-center gap-1.5 text-[11px] font-semibold rounded-md transition-all cursor-pointer",m===V?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:[g.jsx(q,{className:"h-3.5 w-3.5"})," ",pe]},V))}),g.jsx("button",{onClick:J,disabled:l,className:"flex h-9 w-9 items-center justify-center rounded-lg border border-border/60 bg-card hover:border-primary/50 transition-all cursor-pointer shadow-md disabled:opacity-50",title:"Deduplizieren",children:g.jsx(Gm,{className:"h-4 w-4 text-primary"})})]})]}),!U&&g.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[g.jsx(Y,{value:k.total,label:"Fakten"}),g.jsx(Y,{value:k.auto,label:"auto gelernt",accent:"auto"}),g.jsx(Y,{value:k.manual,label:"manuell"}),g.jsx(Y,{value:k.cats,label:"Kategorien"}),g.jsxs("span",{className:"ml-auto text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[g.jsx(Gm,{className:"h-3 w-3 text-emerald-400"})," lernt automatisch aus Hermes-Gesprächen"]})]}),x&&g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-4 space-y-3",children:[g.jsxs("div",{className:"flex items-center justify-between",children:[g.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Neuen Eintrag anlegen"}),g.jsx("button",{onClick:()=>S(!1),className:"text-muted-foreground hover:text-foreground",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsx("textarea",{value:i,onChange:V=>s(V.target.value),rows:2,placeholder:"Eine Regel, Vorliebe oder einen stabilen Fakt über dich oder das Projekt…",className:"w-full resize-none rounded-xl border border-border/60 bg-background/30 p-3 text-xs outline-none focus:ring-1 focus:ring-primary/50 text-foreground leading-relaxed"}),g.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[g.jsx("select",{value:o,onChange:V=>a(V.target.value),className:"h-8 rounded-lg border border-border/60 bg-background/50 px-2 text-xs outline-none font-semibold text-foreground cursor-pointer",children:jb.map(V=>{var q;return g.jsx("option",{value:V,className:"bg-popover text-foreground",children:((q=qE[V])==null?void 0:q.label)||V},V)})}),g.jsxs("button",{onClick:he,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[g.jsx(OT,{className:"h-4 w-4"})," Speichern"]})]})]}),F&&g.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400",children:["Fehler: ",F]}),U?g.jsxs("div",{className:"rounded-2xl border border-dashed border-border/60 bg-card/20 p-8 sm:p-10 flex flex-col items-center text-center gap-5",children:[g.jsx("div",{className:"h-14 w-14 rounded-2xl bg-primary/10 flex items-center justify-center",children:g.jsx(G8,{className:"h-7 w-7 text-primary"})}),g.jsxs("div",{className:"space-y-1.5 max-w-lg",children:[g.jsx("h3",{className:"text-base font-semibold text-foreground",children:"Lass Hermes dich kennenlernen"}),g.jsx("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Statt Fakten einzutippen: führ ein kurzes Onboarding-Gespräch mit Hermes. Was ihr besprecht, merkt sich das Gedächtnis automatisch — du musst nichts manuell pflegen."})]}),g.jsxs("div",{className:"w-full max-w-lg text-left",children:[g.jsxs("div",{className:"flex items-center justify-between mb-1.5",children:[g.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground/60",children:"Sende das an Hermes"}),g.jsx("button",{onClick:fe,className:"flex items-center gap-1 text-[10px] font-semibold text-muted-foreground hover:text-foreground transition-colors",children:d?g.jsxs(g.Fragment,{children:[g.jsx(Go,{className:"h-3 w-3 text-emerald-400"})," Kopiert"]}):g.jsxs(g.Fragment,{children:[g.jsx(tw,{className:"h-3 w-3"})," Kopieren"]})})]}),g.jsx("pre",{className:"w-full rounded-xl border border-border/60 bg-background/40 p-3.5 text-[11px] leading-relaxed text-foreground/90 whitespace-pre-wrap font-mono",children:B3})]}),g.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2",children:[g.jsxs("button",{onClick:B,className:"h-9 px-4 rounded-lg bg-primary text-primary-foreground text-xs font-semibold hover:opacity-90 transition-all flex items-center gap-1.5 cursor-pointer",children:[g.jsx(uF,{className:"h-4 w-4"})," Im Terminal starten"]}),g.jsxs("button",{onClick:fe,className:"h-9 px-4 rounded-lg border border-border/60 bg-card text-xs font-semibold hover:border-primary/50 transition-all flex items-center gap-1.5 cursor-pointer",children:[d?g.jsx(Go,{className:"h-4 w-4 text-emerald-400"}):g.jsx(tw,{className:"h-4 w-4"})," Prompt kopieren"]})]}),g.jsxs("p",{className:"text-[11px] text-muted-foreground/70 flex items-center gap-1.5",children:[g.jsx(e9,{className:"h-3 w-3"})," Funktioniert genauso über Telegram —"," ",g.jsx("button",{onClick:()=>S(!0),className:"underline hover:text-foreground",children:"oder lieber manuell anlegen"}),"."]})]}):m==="graph"?g.jsx(Gfe,{children:g.jsx(R.Suspense,{fallback:g.jsx("div",{className:"h-[480px] rounded-2xl border border-border/60 bg-card/30 flex items-center justify-center text-xs text-muted-foreground",children:"Graph wird geladen…"}),children:g.jsx(Wfe,{data:H,onDelete:oe})})}):g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 p-1 bg-card/30 border border-border/40 rounded-xl w-fit",children:[g.jsx("button",{onClick:()=>e(""),className:nt("h-7 px-3 rounded-lg text-[10px] font-semibold uppercase tracking-wider transition-all cursor-pointer",t?"text-muted-foreground hover:text-foreground":"bg-primary text-primary-foreground"),children:"Alle"}),jb.map(V=>{const q=qE[V]||z3,pe=q.icon;return g.jsxs("button",{onClick:()=>e(V),className:nt("h-7 px-2.5 rounded-lg text-[10px] font-semibold uppercase tracking-wider transition-all cursor-pointer flex items-center gap-1",t===V?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),children:[g.jsx(pe,{className:"h-3 w-3"})," ",q.label]},V)})]}),O.length===0?g.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-2xl p-12 text-center",children:"Keine Einträge für die aktuellen Filterkriterien gefunden."}):g.jsx("div",{className:"space-y-5",children:[...jb,"__other"].map(V=>{const q=V==="__other"?te:ne[V]||[];if(!q.length)return null;const pe=qE[V]||z3,le=pe.icon;return g.jsxs("div",{children:[g.jsxs("div",{className:"flex items-center gap-2 mb-2 px-1",children:[g.jsx(le,{className:nt("h-3.5 w-3.5",pe.text)}),g.jsx("span",{className:nt("text-[11px] font-bold uppercase tracking-wider",pe.text),children:pe.label}),g.jsx("span",{className:"text-[10px] font-mono text-muted-foreground/60 bg-card/50 rounded px-1.5 py-0.5",children:q.length}),g.jsx("div",{className:"ml-1 h-px flex-1 bg-border/30"})]}),g.jsx("div",{className:"space-y-2",children:q.map(ce=>{const be=F3.has(ce.source);return g.jsxs("div",{className:nt("flex items-start justify-between gap-4 p-3.5 rounded-xl border border-l-4 bg-card/45 backdrop-blur-md border-border/60 hover:border-primary/20 transition-all group",$fe[ce.category]||"border-l-muted"),children:[g.jsx("span",{className:"text-xs text-foreground leading-relaxed break-words whitespace-pre-wrap flex-1 min-w-0",children:ce.content}),g.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[typeof ce.score=="number"&&g.jsxs("span",{className:"text-[9px] font-mono text-primary bg-primary/10 px-1.5 py-0.5 rounded",title:"Relevanz der semantischen Suche",children:[Math.round(ce.score*100),"%"]}),g.jsxs("span",{className:nt("flex items-center gap-1 text-[9px] font-mono px-1.5 py-0.5 rounded",be?"text-emerald-400 bg-emerald-500/10":"text-muted-foreground/60 bg-background/20"),title:be?"Automatisch gelernt":"Manuell angelegt",children:[be&&g.jsx(Gm,{className:"h-2.5 w-2.5"}),ce.source]}),g.jsx("button",{onClick:()=>oe(ce.id),title:"Eintrag löschen",className:"h-7 w-7 rounded-lg flex items-center justify-center border border-border/40 text-muted-foreground hover:text-red-400 hover:bg-red-500/5 transition-all opacity-0 group-hover:opacity-100",children:g.jsx(LT,{className:"h-3.5 w-3.5"})})]})]},ce.id)})})]},V)})})]}),T]})}function Ub({label:t,ok:e,detail:n,icon:r,onClick:i}){return g.jsxs("div",{onClick:i,className:nt("rounded-2xl border bg-card/45 backdrop-blur-md p-5 shadow-lg shadow-black/10 flex flex-col justify-between gap-3 hover:border-primary/40 transition-all duration-300",e?"border-border/60":"border-amber-500/30",i&&"cursor-pointer hover:bg-card/70"),children:[g.jsxs("div",{className:"flex items-center justify-between",children:[g.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:t}),g.jsx(r,{className:nt("h-4.5 w-4.5",e?"text-primary":"text-amber-500")})]}),g.jsxs("div",{className:"space-y-1.5",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("span",{className:nt("h-2 w-2 rounded-full ring-2 ring-black/40",e?"bg-emerald-500 animate-pulse":"bg-amber-500")}),g.jsx("span",{className:"text-xs font-semibold text-foreground",children:e?"Bereit / Online":"Offline / Inaktiv"})]}),n&&g.jsx("div",{className:"text-[10px] font-mono text-muted-foreground truncate max-w-[200px]",title:n,children:n})]}),i&&g.jsxs("button",{onClick:s=>{s.stopPropagation(),i()},className:"mt-2 flex items-center justify-center gap-1.5 w-full py-1.5 px-3 rounded-lg border border-primary/30 bg-primary/10 hover:bg-primary/20 text-primary text-[10px] font-bold uppercase tracking-wider transition-all cursor-pointer font-space",children:[g.jsx(El,{className:"h-3.5 w-3.5"}),g.jsx("span",{children:"Gehirn wechseln"})]})]})}function qfe(){const{data:t,error:e}=CP(5e3),{data:n}=Kh(),{showAlert:r,dialogElement:i}=tv(),s=Xh(),o=e?String(e):"",a=R.useMemo(()=>["auto","fast","heavy",...((n==null?void 0:n.models)??[]).map(O=>{var N;return((N=O.name.split("/").pop())==null?void 0:N.replace(".gguf",""))||O.name})],[n]),[l,c]=R.useState(null),[d,f]=R.useState(!1),[m,y]=R.useState({width:800,height:360}),x=R.useRef(null),S=R.useCallback(C=>{if(x.current&&(x.current.disconnect(),x.current=null),C){const O=new ResizeObserver(N=>{if(!N||N.length===0)return;const D=N[0].contentRect;y({width:D.width,height:D.height})});O.observe(C),x.current=O}},[]),w=m.width,_=m.height,E=(C,O,N,D)=>{const F=(C+N)/2;return`M ${C} ${O} C ${F} ${O}, ${F} ${D}, ${N} ${D}`};async function T(C){try{await Ut("/api/agent/brain",{method:"POST",body:JSON.stringify({model:C})}),r("Erfolgreich",`Hermes-Gehirn wurde auf '${C}' geändert. Der Gateway-Dienst wurde neu gestartet.`),s.invalidateQueries({queryKey:Lr.agentStatus}),f(!1)}catch(O){r("Fehler",`Fehler beim Wechseln des Gehirns: ${O.message}`)}}return g.jsxs("div",{className:"space-y-6",children:[g.jsx("style",{children:` @keyframes flow-dash { to { stroke-dashoffset: -20; @@ -590,11 +590,11 @@ Frag immer nur eine Sache auf einmal und fass am Ende zusammen, was du dir gemer * @license * Copyright 2010-2024 Three.js Authors * SPDX-License-Identifier: MIT - */const Td="169",Xf={LEFT:0,MIDDLE:1,RIGHT:2,ROTATE:0,DOLLY:1,PAN:2},qf={ROTATE:0,PAN:1,DOLLY_PAN:2,DOLLY_ROTATE:3},hV=0,HC=1,pV=2,Yfe=3,mV=0,HS=1,K0=2,Oa=3,Ul=0,ss=1,xo=2,$c=0,Sh=1,VC=2,GC=3,WC=4,gV=5,ud=100,vV=101,yV=102,xV=103,bV=104,_V=200,wV=201,SV=202,MV=203,Jw=204,e1=205,EV=206,AV=207,TV=208,CV=209,PV=210,RV=211,NV=212,IV=213,kV=214,t1=0,n1=1,r1=2,jh=3,i1=4,s1=5,o1=6,a1=7,lx=0,OV=1,LV=2,Pl=0,DV=1,jV=2,UV=3,dR=4,FV=5,zV=6,BV=7,$C="attached",HV="detached",VS=300,Jc=301,Cd=302,Ay=303,Ty=304,nv=306,Pd=1e3,_o=1001,kg=1002,ri=1003,GS=1004,Zfe=1004,ih=1005,Qfe=1005,Cr=1006,rg=1007,Jfe=1007,qo=1008,ehe=1008,Ha=1009,fR=1010,hR=1011,Og=1012,WS=1013,eu=1014,Qs=1015,rv=1016,$S=1017,XS=1018,Uh=1020,pR=35902,mR=1021,gR=1022,is=1023,vR=1024,yR=1025,Mh=1026,Fh=1027,qS=1028,cx=1029,xR=1030,KS=1031,the=1032,YS=1033,Y0=33776,Z0=33777,Q0=33778,J0=33779,l1=35840,c1=35841,u1=35842,d1=35843,f1=36196,h1=37492,p1=37496,m1=37808,g1=37809,v1=37810,y1=37811,x1=37812,b1=37813,_1=37814,w1=37815,S1=37816,M1=37817,E1=37818,A1=37819,T1=37820,C1=37821,ey=36492,P1=36494,R1=36495,bR=36283,N1=36284,I1=36285,k1=36286,VV=2200,GV=2201,WV=2202,Lg=2300,Dg=2301,$_=2302,sh=2400,oh=2401,Cy=2402,ZS=2500,_R=2501,$V=0,wR=1,O1=2,XV=3200,qV=3201,nhe=3202,rhe=3203,lu=0,KV=1,jc="",Ui="srgb",xi="srgb-linear",QS="display-p3",ux="display-p3-linear",Py="linear",Jn="srgb",Ry="rec709",Ny="p3",ihe=0,Kf=7680,she=7681,ohe=7682,ahe=7683,lhe=34055,che=34056,uhe=5386,dhe=512,fhe=513,hhe=514,phe=515,mhe=516,ghe=517,vhe=518,XC=519,YV=512,ZV=513,QV=514,SR=515,JV=516,e6=517,t6=518,n6=519,Iy=35044,r6=35048,yhe=35040,xhe=35045,bhe=35049,_he=35041,whe=35046,She=35050,Mhe=35042,Ehe="100",qC="300 es",Ml=2e3,ky=2001;let Vl=class{addEventListener(e,n){this._listeners===void 0&&(this._listeners={});const r=this._listeners;r[e]===void 0&&(r[e]=[]),r[e].indexOf(n)===-1&&r[e].push(n)}hasEventListener(e,n){if(this._listeners===void 0)return!1;const r=this._listeners;return r[e]!==void 0&&r[e].indexOf(n)!==-1}removeEventListener(e,n){if(this._listeners===void 0)return;const i=this._listeners[e];if(i!==void 0){const s=i.indexOf(n);s!==-1&&i.splice(s,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const r=this._listeners[e.type];if(r!==void 0){e.target=this;const i=r.slice(0);for(let s=0,o=i.length;s>8&255]+Qi[t>>16&255]+Qi[t>>24&255]+"-"+Qi[e&255]+Qi[e>>8&255]+"-"+Qi[e>>16&15|64]+Qi[e>>24&255]+"-"+Qi[n&63|128]+Qi[n>>8&255]+"-"+Qi[n>>16&255]+Qi[n>>24&255]+Qi[r&255]+Qi[r>>8&255]+Qi[r>>16&255]+Qi[r>>24&255]).toLowerCase()}function Ar(t,e,n){return Math.max(e,Math.min(n,t))}function MR(t,e){return(t%e+e)%e}function Ahe(t,e,n,r,i){return r+(t-e)*(i-r)/(n-e)}function The(t,e,n){return t!==e?(n-t)/(e-t):0}function ty(t,e,n){return(1-n)*t+n*e}function Che(t,e,n,r){return ty(t,e,1-Math.exp(-n*r))}function Phe(t,e=1){return e-Math.abs(MR(t,e*2)-e)}function Rhe(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*(3-2*t))}function Nhe(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*t*(t*(t*6-15)+10))}function Ihe(t,e){return t+Math.floor(Math.random()*(e-t+1))}function khe(t,e){return t+Math.random()*(e-t)}function Ohe(t){return t*(.5-Math.random())}function Lhe(t){t!==void 0&&(H3=t);let e=H3+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function Dhe(t){return t*Eh}function jhe(t){return t*jg}function Uhe(t){return(t&t-1)===0&&t!==0}function Fhe(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function zhe(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function Bhe(t,e,n,r,i){const s=Math.cos,o=Math.sin,a=s(n/2),l=o(n/2),c=s((e+r)/2),d=o((e+r)/2),f=s((e-r)/2),m=o((e-r)/2),y=s((r-e)/2),x=o((r-e)/2);switch(i){case"XYX":t.set(a*d,l*f,l*m,a*c);break;case"YZY":t.set(l*m,a*d,l*f,a*c);break;case"ZXZ":t.set(l*f,l*m,a*d,a*c);break;case"XZX":t.set(a*d,l*x,l*y,a*c);break;case"YXY":t.set(l*y,a*d,l*x,a*c);break;case"ZYZ":t.set(l*x,l*y,a*d,a*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function Ss(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function cn(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error("Invalid component type.")}}const gr={DEG2RAD:Eh,RAD2DEG:jg,generateUUID:So,clamp:Ar,euclideanModulo:MR,mapLinear:Ahe,inverseLerp:The,lerp:ty,damp:Che,pingpong:Phe,smoothstep:Rhe,smootherstep:Nhe,randInt:Ihe,randFloat:khe,randFloatSpread:Ohe,seededRandom:Lhe,degToRad:Dhe,radToDeg:jhe,isPowerOfTwo:Uhe,ceilPowerOfTwo:Fhe,floorPowerOfTwo:zhe,setQuaternionFromProperEuler:Bhe,normalize:cn,denormalize:Ss};class Ge{constructor(e=0,n=0){Ge.prototype.isVector2=!0,this.x=e,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,n){return this.x=e,this.y=n,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const n=this.x,r=this.y,i=e.elements;return this.x=i[0]*n+i[3]*r+i[6],this.y=i[1]*n+i[4]*r+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this}clampLength(e,n){const r=this.length();return this.divideScalar(r||1).multiplyScalar(Math.max(e,Math.min(n,r)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const r=this.dot(e)/n;return Math.acos(Ar(r,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,r=this.y-e.y;return n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this}lerpVectors(e,n,r){return this.x=e.x+(n.x-e.x)*r,this.y=e.y+(n.y-e.y)*r,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this}rotateAround(e,n){const r=Math.cos(n),i=Math.sin(n),s=this.x-e.x,o=this.y-e.y;return this.x=s*r-o*i+e.x,this.y=s*i+o*r+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class qt{constructor(e,n,r,i,s,o,a,l,c){qt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,n,r,i,s,o,a,l,c)}set(e,n,r,i,s,o,a,l,c){const d=this.elements;return d[0]=e,d[1]=i,d[2]=a,d[3]=n,d[4]=s,d[5]=l,d[6]=r,d[7]=o,d[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const n=this.elements,r=e.elements;return n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[8]=r[8],this}extractBasis(e,n,r){return e.setFromMatrix3Column(this,0),n.setFromMatrix3Column(this,1),r.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const r=e.elements,i=n.elements,s=this.elements,o=r[0],a=r[3],l=r[6],c=r[1],d=r[4],f=r[7],m=r[2],y=r[5],x=r[8],S=i[0],w=i[3],_=i[6],E=i[1],T=i[4],C=i[7],O=i[2],N=i[5],D=i[8];return s[0]=o*S+a*E+l*O,s[3]=o*w+a*T+l*N,s[6]=o*_+a*C+l*D,s[1]=c*S+d*E+f*O,s[4]=c*w+d*T+f*N,s[7]=c*_+d*C+f*D,s[2]=m*S+y*E+x*O,s[5]=m*w+y*T+x*N,s[8]=m*_+y*C+x*D,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=e,n[4]*=e,n[7]*=e,n[2]*=e,n[5]*=e,n[8]*=e,this}determinant(){const e=this.elements,n=e[0],r=e[1],i=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],d=e[8];return n*o*d-n*a*c-r*s*d+r*a*l+i*s*c-i*o*l}invert(){const e=this.elements,n=e[0],r=e[1],i=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],d=e[8],f=d*o-a*c,m=a*l-d*s,y=c*s-o*l,x=n*f+r*m+i*y;if(x===0)return this.set(0,0,0,0,0,0,0,0,0);const S=1/x;return e[0]=f*S,e[1]=(i*c-d*r)*S,e[2]=(a*r-i*o)*S,e[3]=m*S,e[4]=(d*n-i*l)*S,e[5]=(i*s-a*n)*S,e[6]=y*S,e[7]=(r*l-c*n)*S,e[8]=(o*n-r*s)*S,this}transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e,e=n[2],n[2]=n[6],n[6]=e,e=n[5],n[5]=n[7],n[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],this}setUvTransform(e,n,r,i,s,o,a){const l=Math.cos(s),c=Math.sin(s);return this.set(r*l,r*c,-r*(l*o+c*a)+o+e,-i*c,i*l,-i*(-c*o+l*a)+a+n,0,0,1),this}scale(e,n){return this.premultiply(KE.makeScale(e,n)),this}rotate(e){return this.premultiply(KE.makeRotation(-e)),this}translate(e,n){return this.premultiply(KE.makeTranslation(e,n)),this}makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,n,0,0,1),this}makeRotation(e){const n=Math.cos(e),r=Math.sin(e);return this.set(n,-r,0,r,n,0,0,0,1),this}makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this}equals(e){const n=this.elements,r=e.elements;for(let i=0;i<9;i++)if(n[i]!==r[i])return!1;return!0}fromArray(e,n=0){for(let r=0;r<9;r++)this.elements[r]=e[r+n];return this}toArray(e=[],n=0){const r=this.elements;return e[n]=r[0],e[n+1]=r[1],e[n+2]=r[2],e[n+3]=r[3],e[n+4]=r[4],e[n+5]=r[5],e[n+6]=r[6],e[n+7]=r[7],e[n+8]=r[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const KE=new qt;function i6(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}const Hhe={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Xm(t,e){return new Hhe[t](e)}function Oy(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function s6(){const t=Oy("canvas");return t.style.display="block",t}const V3={};function X_(t){t in V3||(V3[t]=!0,console.warn(t))}function Vhe(t,e,n){return new Promise(function(r,i){function s(){switch(t.clientWaitSync(e,t.SYNC_FLUSH_COMMANDS_BIT,0)){case t.WAIT_FAILED:i();break;case t.TIMEOUT_EXPIRED:setTimeout(s,n);break;default:r()}}setTimeout(s,n)})}function Ghe(t){const e=t.elements;e[2]=.5*e[2]+.5*e[3],e[6]=.5*e[6]+.5*e[7],e[10]=.5*e[10]+.5*e[11],e[14]=.5*e[14]+.5*e[15]}function Whe(t){const e=t.elements;e[11]===-1?(e[10]=-e[10]-1,e[14]=-e[14]):(e[10]=-e[10],e[14]=-e[14]+1)}const G3=new qt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),W3=new qt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),v0={[xi]:{transfer:Py,primaries:Ry,luminanceCoefficients:[.2126,.7152,.0722],toReference:t=>t,fromReference:t=>t},[Ui]:{transfer:Jn,primaries:Ry,luminanceCoefficients:[.2126,.7152,.0722],toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[ux]:{transfer:Py,primaries:Ny,luminanceCoefficients:[.2289,.6917,.0793],toReference:t=>t.applyMatrix3(W3),fromReference:t=>t.applyMatrix3(G3)},[QS]:{transfer:Jn,primaries:Ny,luminanceCoefficients:[.2289,.6917,.0793],toReference:t=>t.convertSRGBToLinear().applyMatrix3(W3),fromReference:t=>t.applyMatrix3(G3).convertLinearToSRGB()}},$he=new Set([xi,ux]),In={enabled:!0,_workingColorSpace:xi,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!$he.has(t))throw new Error(`Unsupported working color space, "${t}".`);this._workingColorSpace=t},convert:function(t,e,n){if(this.enabled===!1||e===n||!e||!n)return t;const r=v0[e].toReference,i=v0[n].fromReference;return i(r(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return v0[t].primaries},getTransfer:function(t){return t===jc?Py:v0[t].transfer},getLuminanceCoefficients:function(t,e=this._workingColorSpace){return t.fromArray(v0[e].luminanceCoefficients)}};function ig(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function YE(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let hm;class o6{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{hm===void 0&&(hm=Oy("canvas")),hm.width=e.width,hm.height=e.height;const r=hm.getContext("2d");e instanceof ImageData?r.putImageData(e,0,0):r.drawImage(e,0,0,e.width,e.height),n=hm}return n.width>2048||n.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),n.toDataURL("image/jpeg",.6)):n.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const n=Oy("canvas");n.width=e.width,n.height=e.height;const r=n.getContext("2d");r.drawImage(e,0,0,e.width,e.height);const i=r.getImageData(0,0,e.width,e.height),s=i.data;for(let o=0;o0&&(r.userData=this.userData),n||(e.textures[this.uuid]=r),r}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==VS)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Pd:e.x=e.x-Math.floor(e.x);break;case _o:e.x=e.x<0?0:1;break;case kg:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Pd:e.y=e.y-Math.floor(e.y);break;case _o:e.y=e.y<0?0:1;break;case kg:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}dr.DEFAULT_IMAGE=null;dr.DEFAULT_MAPPING=VS;dr.DEFAULT_ANISOTROPY=1;class Ln{constructor(e=0,n=0,r=0,i=1){Ln.prototype.isVector4=!0,this.x=e,this.y=n,this.z=r,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,n,r,i){return this.x=e,this.y=n,this.z=r,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;case 3:this.w=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this.w=e.w+n.w,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this.w+=e.w*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this.w=e.w-n.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const n=this.x,r=this.y,i=this.z,s=this.w,o=e.elements;return this.x=o[0]*n+o[4]*r+o[8]*i+o[12]*s,this.y=o[1]*n+o[5]*r+o[9]*i+o[13]*s,this.z=o[2]*n+o[6]*r+o[10]*i+o[14]*s,this.w=o[3]*n+o[7]*r+o[11]*i+o[15]*s,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqrt(1-e.w*e.w);return n<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/n,this.y=e.y/n,this.z=e.z/n),this}setAxisAngleFromRotationMatrix(e){let n,r,i,s;const l=e.elements,c=l[0],d=l[4],f=l[8],m=l[1],y=l[5],x=l[9],S=l[2],w=l[6],_=l[10];if(Math.abs(d-m)<.01&&Math.abs(f-S)<.01&&Math.abs(x-w)<.01){if(Math.abs(d+m)<.1&&Math.abs(f+S)<.1&&Math.abs(x+w)<.1&&Math.abs(c+y+_-3)<.1)return this.set(1,0,0,0),this;n=Math.PI;const T=(c+1)/2,C=(y+1)/2,O=(_+1)/2,N=(d+m)/4,D=(f+S)/4,F=(x+w)/4;return T>C&&T>O?T<.01?(r=0,i=.707106781,s=.707106781):(r=Math.sqrt(T),i=N/r,s=D/r):C>O?C<.01?(r=.707106781,i=0,s=.707106781):(i=Math.sqrt(C),r=N/i,s=F/i):O<.01?(r=.707106781,i=.707106781,s=0):(s=Math.sqrt(O),r=D/s,i=F/s),this.set(r,i,s,n),this}let E=Math.sqrt((w-x)*(w-x)+(f-S)*(f-S)+(m-d)*(m-d));return Math.abs(E)<.001&&(E=1),this.x=(w-x)/E,this.y=(f-S)/E,this.z=(m-d)/E,this.w=Math.acos((c+y+_-1)/2),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this.w=n[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this.w=Math.max(e.w,Math.min(n.w,this.w)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this.w=Math.max(e,Math.min(n,this.w)),this}clampLength(e,n){const r=this.length();return this.divideScalar(r||1).multiplyScalar(Math.max(e,Math.min(n,r)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this.w+=(e.w-this.w)*n,this}lerpVectors(e,n,r){return this.x=e.x+(n.x-e.x)*r,this.y=e.y+(n.y-e.y)*r,this.z=e.z+(n.z-e.z)*r,this.w=e.w+(n.w-e.w)*r,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w=e[n+3],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3]=this.w,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this.w=e.getW(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class a6 extends Vl{constructor(e=1,n=1,r={}){super(),this.isRenderTarget=!0,this.width=e,this.height=n,this.depth=1,this.scissor=new Ln(0,0,e,n),this.scissorTest=!1,this.viewport=new Ln(0,0,e,n);const i={width:e,height:n,depth:1};r=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Cr,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},r);const s=new dr(i,r.mapping,r.wrapS,r.wrapT,r.magFilter,r.minFilter,r.format,r.type,r.anisotropy,r.colorSpace);s.flipY=!1,s.generateMipmaps=r.generateMipmaps,s.internalFormat=r.internalFormat,this.textures=[];const o=r.count;for(let a=0;a=0?1:-1,T=1-_*_;if(T>Number.EPSILON){const O=Math.sqrt(T),N=Math.atan2(O,_*E);w=Math.sin(w*N)/O,a=Math.sin(a*N)/O}const C=a*E;if(l=l*w+m*C,c=c*w+y*C,d=d*w+x*C,f=f*w+S*C,w===1-a){const O=1/Math.sqrt(l*l+c*c+d*d+f*f);l*=O,c*=O,d*=O,f*=O}}e[n]=l,e[n+1]=c,e[n+2]=d,e[n+3]=f}static multiplyQuaternionsFlat(e,n,r,i,s,o){const a=r[i],l=r[i+1],c=r[i+2],d=r[i+3],f=s[o],m=s[o+1],y=s[o+2],x=s[o+3];return e[n]=a*x+d*f+l*y-c*m,e[n+1]=l*x+d*m+c*f-a*y,e[n+2]=c*x+d*y+a*m-l*f,e[n+3]=d*x-a*f-l*m-c*y,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,n,r,i){return this._x=e,this._y=n,this._z=r,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,n=!0){const r=e._x,i=e._y,s=e._z,o=e._order,a=Math.cos,l=Math.sin,c=a(r/2),d=a(i/2),f=a(s/2),m=l(r/2),y=l(i/2),x=l(s/2);switch(o){case"XYZ":this._x=m*d*f+c*y*x,this._y=c*y*f-m*d*x,this._z=c*d*x+m*y*f,this._w=c*d*f-m*y*x;break;case"YXZ":this._x=m*d*f+c*y*x,this._y=c*y*f-m*d*x,this._z=c*d*x-m*y*f,this._w=c*d*f+m*y*x;break;case"ZXY":this._x=m*d*f-c*y*x,this._y=c*y*f+m*d*x,this._z=c*d*x+m*y*f,this._w=c*d*f-m*y*x;break;case"ZYX":this._x=m*d*f-c*y*x,this._y=c*y*f+m*d*x,this._z=c*d*x-m*y*f,this._w=c*d*f+m*y*x;break;case"YZX":this._x=m*d*f+c*y*x,this._y=c*y*f+m*d*x,this._z=c*d*x-m*y*f,this._w=c*d*f-m*y*x;break;case"XZY":this._x=m*d*f-c*y*x,this._y=c*y*f-m*d*x,this._z=c*d*x+m*y*f,this._w=c*d*f+m*y*x;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return n===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,n){const r=n/2,i=Math.sin(r);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(r),this._onChangeCallback(),this}setFromRotationMatrix(e){const n=e.elements,r=n[0],i=n[4],s=n[8],o=n[1],a=n[5],l=n[9],c=n[2],d=n[6],f=n[10],m=r+a+f;if(m>0){const y=.5/Math.sqrt(m+1);this._w=.25/y,this._x=(d-l)*y,this._y=(s-c)*y,this._z=(o-i)*y}else if(r>a&&r>f){const y=2*Math.sqrt(1+r-a-f);this._w=(d-l)/y,this._x=.25*y,this._y=(i+o)/y,this._z=(s+c)/y}else if(a>f){const y=2*Math.sqrt(1+a-r-f);this._w=(s-c)/y,this._x=(i+o)/y,this._y=.25*y,this._z=(l+d)/y}else{const y=2*Math.sqrt(1+f-r-a);this._w=(o-i)/y,this._x=(s+c)/y,this._y=(l+d)/y,this._z=.25*y}return this._onChangeCallback(),this}setFromUnitVectors(e,n){let r=e.dot(n)+1;return rMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=r):(this._x=0,this._y=-e.z,this._z=e.y,this._w=r)):(this._x=e.y*n.z-e.z*n.y,this._y=e.z*n.x-e.x*n.z,this._z=e.x*n.y-e.y*n.x,this._w=r),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Ar(this.dot(e),-1,1)))}rotateTowards(e,n){const r=this.angleTo(e);if(r===0)return this;const i=Math.min(1,n/r);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,n){const r=e._x,i=e._y,s=e._z,o=e._w,a=n._x,l=n._y,c=n._z,d=n._w;return this._x=r*d+o*a+i*c-s*l,this._y=i*d+o*l+s*a-r*c,this._z=s*d+o*c+r*l-i*a,this._w=o*d-r*a-i*l-s*c,this._onChangeCallback(),this}slerp(e,n){if(n===0)return this;if(n===1)return this.copy(e);const r=this._x,i=this._y,s=this._z,o=this._w;let a=o*e._w+r*e._x+i*e._y+s*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=r,this._y=i,this._z=s,this;const l=1-a*a;if(l<=Number.EPSILON){const y=1-n;return this._w=y*o+n*this._w,this._x=y*r+n*this._x,this._y=y*i+n*this._y,this._z=y*s+n*this._z,this.normalize(),this}const c=Math.sqrt(l),d=Math.atan2(c,a),f=Math.sin((1-n)*d)/c,m=Math.sin(n*d)/c;return this._w=o*f+this._w*m,this._x=r*f+this._x*m,this._y=i*f+this._y*m,this._z=s*f+this._z*m,this._onChangeCallback(),this}slerpQuaternions(e,n,r){return this.copy(e).slerp(n,r)}random(){const e=2*Math.PI*Math.random(),n=2*Math.PI*Math.random(),r=Math.random(),i=Math.sqrt(1-r),s=Math.sqrt(r);return this.set(i*Math.sin(e),i*Math.cos(e),s*Math.sin(n),s*Math.cos(n))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],this._w=e[n+3],this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._w,e}fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),this._z=e.getZ(n),this._w=e.getW(n),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class X{constructor(e=0,n=0,r=0){X.prototype.isVector3=!0,this.x=e,this.y=n,this.z=r}set(e,n,r){return r===void 0&&(r=this.z),this.x=e,this.y=n,this.z=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n.z,this}applyEuler(e){return this.applyQuaternion($3.setFromEuler(e))}applyAxisAngle(e,n){return this.applyQuaternion($3.setFromAxisAngle(e,n))}applyMatrix3(e){const n=this.x,r=this.y,i=this.z,s=e.elements;return this.x=s[0]*n+s[3]*r+s[6]*i,this.y=s[1]*n+s[4]*r+s[7]*i,this.z=s[2]*n+s[5]*r+s[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const n=this.x,r=this.y,i=this.z,s=e.elements,o=1/(s[3]*n+s[7]*r+s[11]*i+s[15]);return this.x=(s[0]*n+s[4]*r+s[8]*i+s[12])*o,this.y=(s[1]*n+s[5]*r+s[9]*i+s[13])*o,this.z=(s[2]*n+s[6]*r+s[10]*i+s[14])*o,this}applyQuaternion(e){const n=this.x,r=this.y,i=this.z,s=e.x,o=e.y,a=e.z,l=e.w,c=2*(o*i-a*r),d=2*(a*n-s*i),f=2*(s*r-o*n);return this.x=n+l*c+o*f-a*d,this.y=r+l*d+a*c-s*f,this.z=i+l*f+s*d-o*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const n=this.x,r=this.y,i=this.z,s=e.elements;return this.x=s[0]*n+s[4]*r+s[8]*i,this.y=s[1]*n+s[5]*r+s[9]*i,this.z=s[2]*n+s[6]*r+s[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this}clampLength(e,n){const r=this.length();return this.divideScalar(r||1).multiplyScalar(Math.max(e,Math.min(n,r)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this}lerpVectors(e,n,r){return this.x=e.x+(n.x-e.x)*r,this.y=e.y+(n.y-e.y)*r,this.z=e.z+(n.z-e.z)*r,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,n){const r=e.x,i=e.y,s=e.z,o=n.x,a=n.y,l=n.z;return this.x=i*l-s*a,this.y=s*o-r*l,this.z=r*a-i*o,this}projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0);const r=e.dot(this)/n;return this.copy(e).multiplyScalar(r)}projectOnPlane(e){return QE.copy(this).projectOnVector(e),this.sub(QE)}reflect(e){return this.sub(QE.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const r=this.dot(e)/n;return Math.acos(Ar(r,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,r=this.y-e.y,i=this.z-e.z;return n*n+r*r+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,n,r){const i=Math.sin(n)*e;return this.x=i*Math.sin(r),this.y=Math.cos(n)*e,this.z=i*Math.cos(r),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,n,r){return this.x=e*Math.sin(n),this.y=r,this.z=e*Math.cos(n),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this}setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),r=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=n,this.y=r,this.z=i,this}setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)}setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,n=Math.random()*2-1,r=Math.sqrt(1-n*n);return this.x=r*Math.cos(e),this.y=n,this.z=r*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const QE=new X,$3=new Kt;class os{constructor(e=new X(1/0,1/0,1/0),n=new X(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=n}set(e,n){return this.min.copy(e),this.max.copy(n),this}setFromArray(e){this.makeEmpty();for(let n=0,r=e.length;n=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,Pa),Pa.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let n,r;return e.normal.x>0?(n=e.normal.x*this.min.x,r=e.normal.x*this.max.x):(n=e.normal.x*this.max.x,r=e.normal.x*this.min.x),e.normal.y>0?(n+=e.normal.y*this.min.y,r+=e.normal.y*this.max.y):(n+=e.normal.y*this.max.y,r+=e.normal.y*this.min.y),e.normal.z>0?(n+=e.normal.z*this.min.z,r+=e.normal.z*this.max.z):(n+=e.normal.z*this.max.z,r+=e.normal.z*this.min.z),n<=-e.constant&&r>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(y0),zb.subVectors(this.max,y0),pm.subVectors(e.a,y0),mm.subVectors(e.b,y0),gm.subVectors(e.c,y0),Xu.subVectors(mm,pm),qu.subVectors(gm,mm),Tf.subVectors(pm,gm);let n=[0,-Xu.z,Xu.y,0,-qu.z,qu.y,0,-Tf.z,Tf.y,Xu.z,0,-Xu.x,qu.z,0,-qu.x,Tf.z,0,-Tf.x,-Xu.y,Xu.x,0,-qu.y,qu.x,0,-Tf.y,Tf.x,0];return!JE(n,pm,mm,gm,zb)||(n=[1,0,0,0,1,0,0,0,1],!JE(n,pm,mm,gm,zb))?!1:(Bb.crossVectors(Xu,qu),n=[Bb.x,Bb.y,Bb.z],JE(n,pm,mm,gm,zb))}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Pa).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Pa).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Mc[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Mc[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Mc[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Mc[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Mc[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Mc[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Mc[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Mc[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Mc),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Mc=[new X,new X,new X,new X,new X,new X,new X,new X],Pa=new X,Fb=new os,pm=new X,mm=new X,gm=new X,Xu=new X,qu=new X,Tf=new X,y0=new X,zb=new X,Bb=new X,Cf=new X;function JE(t,e,n,r,i){for(let s=0,o=t.length-3;s<=o;s+=3){Cf.fromArray(t,s);const a=i.x*Math.abs(Cf.x)+i.y*Math.abs(Cf.y)+i.z*Math.abs(Cf.z),l=e.dot(Cf),c=n.dot(Cf),d=r.dot(Cf);if(Math.max(-Math.max(l,c,d),Math.min(l,c,d))>a)return!1}return!0}const Zhe=new os,x0=new X,eA=new X;class Bi{constructor(e=new X,n=-1){this.isSphere=!0,this.center=e,this.radius=n}set(e,n){return this.center.copy(e),this.radius=n,this}setFromPoints(e,n){const r=this.center;n!==void 0?r.copy(n):Zhe.setFromPoints(e).getCenter(r);let i=0;for(let s=0,o=e.length;sthis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;x0.subVectors(e,this.center);const n=x0.lengthSq();if(n>this.radius*this.radius){const r=Math.sqrt(n),i=(r-this.radius)*.5;this.center.addScaledVector(x0,i/r),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(eA.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(x0.copy(e.center).add(eA)),this.expandByPoint(x0.copy(e.center).sub(eA))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Ec=new X,tA=new X,Hb=new X,Ku=new X,nA=new X,Vb=new X,rA=new X;class Jh{constructor(e=new X,n=new X(0,0,-1)){this.origin=e,this.direction=n}set(e,n){return this.origin.copy(e),this.direction.copy(n),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,n){return n.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Ec)),this}closestPointToPoint(e,n){n.subVectors(e,this.origin);const r=n.dot(this.direction);return r<0?n.copy(this.origin):n.copy(this.origin).addScaledVector(this.direction,r)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const n=Ec.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(Ec.copy(this.origin).addScaledVector(this.direction,n),Ec.distanceToSquared(e))}distanceSqToSegment(e,n,r,i){tA.copy(e).add(n).multiplyScalar(.5),Hb.copy(n).sub(e).normalize(),Ku.copy(this.origin).sub(tA);const s=e.distanceTo(n)*.5,o=-this.direction.dot(Hb),a=Ku.dot(this.direction),l=-Ku.dot(Hb),c=Ku.lengthSq(),d=Math.abs(1-o*o);let f,m,y,x;if(d>0)if(f=o*l-a,m=o*a-l,x=s*d,f>=0)if(m>=-x)if(m<=x){const S=1/d;f*=S,m*=S,y=f*(f+o*m+2*a)+m*(o*f+m+2*l)+c}else m=s,f=Math.max(0,-(o*m+a)),y=-f*f+m*(m+2*l)+c;else m=-s,f=Math.max(0,-(o*m+a)),y=-f*f+m*(m+2*l)+c;else m<=-x?(f=Math.max(0,-(-o*s+a)),m=f>0?-s:Math.min(Math.max(-s,-l),s),y=-f*f+m*(m+2*l)+c):m<=x?(f=0,m=Math.min(Math.max(-s,-l),s),y=m*(m+2*l)+c):(f=Math.max(0,-(o*s+a)),m=f>0?s:Math.min(Math.max(-s,-l),s),y=-f*f+m*(m+2*l)+c);else m=o>0?-s:s,f=Math.max(0,-(o*m+a)),y=-f*f+m*(m+2*l)+c;return r&&r.copy(this.origin).addScaledVector(this.direction,f),i&&i.copy(tA).addScaledVector(Hb,m),y}intersectSphere(e,n){Ec.subVectors(e.center,this.origin);const r=Ec.dot(this.direction),i=Ec.dot(Ec)-r*r,s=e.radius*e.radius;if(i>s)return null;const o=Math.sqrt(s-i),a=r-o,l=r+o;return l<0?null:a<0?this.at(l,n):this.at(a,n)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)return e.distanceToPoint(this.origin)===0?0:null;const r=-(this.origin.dot(e.normal)+e.constant)/n;return r>=0?r:null}intersectPlane(e,n){const r=this.distanceToPlane(e);return r===null?null:this.at(r,n)}intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0||e.normal.dot(this.direction)*n<0}intersectBox(e,n){let r,i,s,o,a,l;const c=1/this.direction.x,d=1/this.direction.y,f=1/this.direction.z,m=this.origin;return c>=0?(r=(e.min.x-m.x)*c,i=(e.max.x-m.x)*c):(r=(e.max.x-m.x)*c,i=(e.min.x-m.x)*c),d>=0?(s=(e.min.y-m.y)*d,o=(e.max.y-m.y)*d):(s=(e.max.y-m.y)*d,o=(e.min.y-m.y)*d),r>o||s>i||((s>r||isNaN(r))&&(r=s),(o=0?(a=(e.min.z-m.z)*f,l=(e.max.z-m.z)*f):(a=(e.max.z-m.z)*f,l=(e.min.z-m.z)*f),r>l||a>i)||((a>r||r!==r)&&(r=a),(l=0?r:i,n)}intersectsBox(e){return this.intersectBox(e,Ec)!==null}intersectTriangle(e,n,r,i,s){nA.subVectors(n,e),Vb.subVectors(r,e),rA.crossVectors(nA,Vb);let o=this.direction.dot(rA),a;if(o>0){if(i)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Ku.subVectors(this.origin,e);const l=a*this.direction.dot(Vb.crossVectors(Ku,Vb));if(l<0)return null;const c=a*this.direction.dot(nA.cross(Ku));if(c<0||l+c>o)return null;const d=-a*Ku.dot(rA);return d<0?null:this.at(d/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Pt{constructor(e,n,r,i,s,o,a,l,c,d,f,m,y,x,S,w){Pt.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,n,r,i,s,o,a,l,c,d,f,m,y,x,S,w)}set(e,n,r,i,s,o,a,l,c,d,f,m,y,x,S,w){const _=this.elements;return _[0]=e,_[4]=n,_[8]=r,_[12]=i,_[1]=s,_[5]=o,_[9]=a,_[13]=l,_[2]=c,_[6]=d,_[10]=f,_[14]=m,_[3]=y,_[7]=x,_[11]=S,_[15]=w,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Pt().fromArray(this.elements)}copy(e){const n=this.elements,r=e.elements;return n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[8]=r[8],n[9]=r[9],n[10]=r[10],n[11]=r[11],n[12]=r[12],n[13]=r[13],n[14]=r[14],n[15]=r[15],this}copyPosition(e){const n=this.elements,r=e.elements;return n[12]=r[12],n[13]=r[13],n[14]=r[14],this}setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,n[1],n[4],n[7],0,n[2],n[5],n[8],0,0,0,0,1),this}extractBasis(e,n,r){return e.setFromMatrixColumn(this,0),n.setFromMatrixColumn(this,1),r.setFromMatrixColumn(this,2),this}makeBasis(e,n,r){return this.set(e.x,n.x,r.x,0,e.y,n.y,r.y,0,e.z,n.z,r.z,0,0,0,0,1),this}extractRotation(e){const n=this.elements,r=e.elements,i=1/vm.setFromMatrixColumn(e,0).length(),s=1/vm.setFromMatrixColumn(e,1).length(),o=1/vm.setFromMatrixColumn(e,2).length();return n[0]=r[0]*i,n[1]=r[1]*i,n[2]=r[2]*i,n[3]=0,n[4]=r[4]*s,n[5]=r[5]*s,n[6]=r[6]*s,n[7]=0,n[8]=r[8]*o,n[9]=r[9]*o,n[10]=r[10]*o,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromEuler(e){const n=this.elements,r=e.x,i=e.y,s=e.z,o=Math.cos(r),a=Math.sin(r),l=Math.cos(i),c=Math.sin(i),d=Math.cos(s),f=Math.sin(s);if(e.order==="XYZ"){const m=o*d,y=o*f,x=a*d,S=a*f;n[0]=l*d,n[4]=-l*f,n[8]=c,n[1]=y+x*c,n[5]=m-S*c,n[9]=-a*l,n[2]=S-m*c,n[6]=x+y*c,n[10]=o*l}else if(e.order==="YXZ"){const m=l*d,y=l*f,x=c*d,S=c*f;n[0]=m+S*a,n[4]=x*a-y,n[8]=o*c,n[1]=o*f,n[5]=o*d,n[9]=-a,n[2]=y*a-x,n[6]=S+m*a,n[10]=o*l}else if(e.order==="ZXY"){const m=l*d,y=l*f,x=c*d,S=c*f;n[0]=m-S*a,n[4]=-o*f,n[8]=x+y*a,n[1]=y+x*a,n[5]=o*d,n[9]=S-m*a,n[2]=-o*c,n[6]=a,n[10]=o*l}else if(e.order==="ZYX"){const m=o*d,y=o*f,x=a*d,S=a*f;n[0]=l*d,n[4]=x*c-y,n[8]=m*c+S,n[1]=l*f,n[5]=S*c+m,n[9]=y*c-x,n[2]=-c,n[6]=a*l,n[10]=o*l}else if(e.order==="YZX"){const m=o*l,y=o*c,x=a*l,S=a*c;n[0]=l*d,n[4]=S-m*f,n[8]=x*f+y,n[1]=f,n[5]=o*d,n[9]=-a*d,n[2]=-c*d,n[6]=y*f+x,n[10]=m-S*f}else if(e.order==="XZY"){const m=o*l,y=o*c,x=a*l,S=a*c;n[0]=l*d,n[4]=-f,n[8]=c*d,n[1]=m*f+S,n[5]=o*d,n[9]=y*f-x,n[2]=x*f-y,n[6]=a*d,n[10]=S*f+m}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Qhe,e,Jhe)}lookAt(e,n,r){const i=this.elements;return ho.subVectors(e,n),ho.lengthSq()===0&&(ho.z=1),ho.normalize(),Yu.crossVectors(r,ho),Yu.lengthSq()===0&&(Math.abs(r.z)===1?ho.x+=1e-4:ho.z+=1e-4,ho.normalize(),Yu.crossVectors(r,ho)),Yu.normalize(),Gb.crossVectors(ho,Yu),i[0]=Yu.x,i[4]=Gb.x,i[8]=ho.x,i[1]=Yu.y,i[5]=Gb.y,i[9]=ho.y,i[2]=Yu.z,i[6]=Gb.z,i[10]=ho.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const r=e.elements,i=n.elements,s=this.elements,o=r[0],a=r[4],l=r[8],c=r[12],d=r[1],f=r[5],m=r[9],y=r[13],x=r[2],S=r[6],w=r[10],_=r[14],E=r[3],T=r[7],C=r[11],O=r[15],N=i[0],D=i[4],F=i[8],G=i[12],k=i[1],U=i[5],H=i[9],ne=i[13],te=i[2],he=i[6],se=i[10],fe=i[14],B=i[3],J=i[7],Y=i[11],V=i[15];return s[0]=o*N+a*k+l*te+c*B,s[4]=o*D+a*U+l*he+c*J,s[8]=o*F+a*H+l*se+c*Y,s[12]=o*G+a*ne+l*fe+c*V,s[1]=d*N+f*k+m*te+y*B,s[5]=d*D+f*U+m*he+y*J,s[9]=d*F+f*H+m*se+y*Y,s[13]=d*G+f*ne+m*fe+y*V,s[2]=x*N+S*k+w*te+_*B,s[6]=x*D+S*U+w*he+_*J,s[10]=x*F+S*H+w*se+_*Y,s[14]=x*G+S*ne+w*fe+_*V,s[3]=E*N+T*k+C*te+O*B,s[7]=E*D+T*U+C*he+O*J,s[11]=E*F+T*H+C*se+O*Y,s[15]=E*G+T*ne+C*fe+O*V,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e,n[12]*=e,n[1]*=e,n[5]*=e,n[9]*=e,n[13]*=e,n[2]*=e,n[6]*=e,n[10]*=e,n[14]*=e,n[3]*=e,n[7]*=e,n[11]*=e,n[15]*=e,this}determinant(){const e=this.elements,n=e[0],r=e[4],i=e[8],s=e[12],o=e[1],a=e[5],l=e[9],c=e[13],d=e[2],f=e[6],m=e[10],y=e[14],x=e[3],S=e[7],w=e[11],_=e[15];return x*(+s*l*f-i*c*f-s*a*m+r*c*m+i*a*y-r*l*y)+S*(+n*l*y-n*c*m+s*o*m-i*o*y+i*c*d-s*l*d)+w*(+n*c*f-n*a*y-s*o*f+r*o*y+s*a*d-r*c*d)+_*(-i*a*d-n*l*f+n*a*m+i*o*f-r*o*m+r*l*d)}transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,this}setPosition(e,n,r){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=n,i[14]=r),this}invert(){const e=this.elements,n=e[0],r=e[1],i=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],d=e[8],f=e[9],m=e[10],y=e[11],x=e[12],S=e[13],w=e[14],_=e[15],E=f*w*c-S*m*c+S*l*y-a*w*y-f*l*_+a*m*_,T=x*m*c-d*w*c-x*l*y+o*w*y+d*l*_-o*m*_,C=d*S*c-x*f*c+x*a*y-o*S*y-d*a*_+o*f*_,O=x*f*l-d*S*l-x*a*m+o*S*m+d*a*w-o*f*w,N=n*E+r*T+i*C+s*O;if(N===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/N;return e[0]=E*D,e[1]=(S*m*s-f*w*s-S*i*y+r*w*y+f*i*_-r*m*_)*D,e[2]=(a*w*s-S*l*s+S*i*c-r*w*c-a*i*_+r*l*_)*D,e[3]=(f*l*s-a*m*s-f*i*c+r*m*c+a*i*y-r*l*y)*D,e[4]=T*D,e[5]=(d*w*s-x*m*s+x*i*y-n*w*y-d*i*_+n*m*_)*D,e[6]=(x*l*s-o*w*s-x*i*c+n*w*c+o*i*_-n*l*_)*D,e[7]=(o*m*s-d*l*s+d*i*c-n*m*c-o*i*y+n*l*y)*D,e[8]=C*D,e[9]=(x*f*s-d*S*s-x*r*y+n*S*y+d*r*_-n*f*_)*D,e[10]=(o*S*s-x*a*s+x*r*c-n*S*c-o*r*_+n*a*_)*D,e[11]=(d*a*s-o*f*s-d*r*c+n*f*c+o*r*y-n*a*y)*D,e[12]=O*D,e[13]=(d*S*i-x*f*i+x*r*m-n*S*m-d*r*w+n*f*w)*D,e[14]=(x*a*i-o*S*i-x*r*l+n*S*l+o*r*w-n*a*w)*D,e[15]=(o*f*i-d*a*i+d*r*l-n*f*l-o*r*m+n*a*m)*D,this}scale(e){const n=this.elements,r=e.x,i=e.y,s=e.z;return n[0]*=r,n[4]*=i,n[8]*=s,n[1]*=r,n[5]*=i,n[9]*=s,n[2]*=r,n[6]*=i,n[10]*=s,n[3]*=r,n[7]*=i,n[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],r=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(n,r,i))}makeTranslation(e,n,r){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,n,0,0,1,r,0,0,0,1),this}makeRotationX(e){const n=Math.cos(e),r=Math.sin(e);return this.set(1,0,0,0,0,n,-r,0,0,r,n,0,0,0,0,1),this}makeRotationY(e){const n=Math.cos(e),r=Math.sin(e);return this.set(n,0,r,0,0,1,0,0,-r,0,n,0,0,0,0,1),this}makeRotationZ(e){const n=Math.cos(e),r=Math.sin(e);return this.set(n,-r,0,0,r,n,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,n){const r=Math.cos(n),i=Math.sin(n),s=1-r,o=e.x,a=e.y,l=e.z,c=s*o,d=s*a;return this.set(c*o+r,c*a-i*l,c*l+i*a,0,c*a+i*l,d*a+r,d*l-i*o,0,c*l-i*a,d*l+i*o,s*l*l+r,0,0,0,0,1),this}makeScale(e,n,r){return this.set(e,0,0,0,0,n,0,0,0,0,r,0,0,0,0,1),this}makeShear(e,n,r,i,s,o){return this.set(1,r,s,0,e,1,o,0,n,i,1,0,0,0,0,1),this}compose(e,n,r){const i=this.elements,s=n._x,o=n._y,a=n._z,l=n._w,c=s+s,d=o+o,f=a+a,m=s*c,y=s*d,x=s*f,S=o*d,w=o*f,_=a*f,E=l*c,T=l*d,C=l*f,O=r.x,N=r.y,D=r.z;return i[0]=(1-(S+_))*O,i[1]=(y+C)*O,i[2]=(x-T)*O,i[3]=0,i[4]=(y-C)*N,i[5]=(1-(m+_))*N,i[6]=(w+E)*N,i[7]=0,i[8]=(x+T)*D,i[9]=(w-E)*D,i[10]=(1-(m+S))*D,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,n,r){const i=this.elements;let s=vm.set(i[0],i[1],i[2]).length();const o=vm.set(i[4],i[5],i[6]).length(),a=vm.set(i[8],i[9],i[10]).length();this.determinant()<0&&(s=-s),e.x=i[12],e.y=i[13],e.z=i[14],Ra.copy(this);const c=1/s,d=1/o,f=1/a;return Ra.elements[0]*=c,Ra.elements[1]*=c,Ra.elements[2]*=c,Ra.elements[4]*=d,Ra.elements[5]*=d,Ra.elements[6]*=d,Ra.elements[8]*=f,Ra.elements[9]*=f,Ra.elements[10]*=f,n.setFromRotationMatrix(Ra),r.x=s,r.y=o,r.z=a,this}makePerspective(e,n,r,i,s,o,a=Ml){const l=this.elements,c=2*s/(n-e),d=2*s/(r-i),f=(n+e)/(n-e),m=(r+i)/(r-i);let y,x;if(a===Ml)y=-(o+s)/(o-s),x=-2*o*s/(o-s);else if(a===ky)y=-o/(o-s),x=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=c,l[4]=0,l[8]=f,l[12]=0,l[1]=0,l[5]=d,l[9]=m,l[13]=0,l[2]=0,l[6]=0,l[10]=y,l[14]=x,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,n,r,i,s,o,a=Ml){const l=this.elements,c=1/(n-e),d=1/(r-i),f=1/(o-s),m=(n+e)*c,y=(r+i)*d;let x,S;if(a===Ml)x=(o+s)*f,S=-2*f;else if(a===ky)x=s*f,S=-1*f;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*c,l[4]=0,l[8]=0,l[12]=-m,l[1]=0,l[5]=2*d,l[9]=0,l[13]=-y,l[2]=0,l[6]=0,l[10]=S,l[14]=-x,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const n=this.elements,r=e.elements;for(let i=0;i<16;i++)if(n[i]!==r[i])return!1;return!0}fromArray(e,n=0){for(let r=0;r<16;r++)this.elements[r]=e[r+n];return this}toArray(e=[],n=0){const r=this.elements;return e[n]=r[0],e[n+1]=r[1],e[n+2]=r[2],e[n+3]=r[3],e[n+4]=r[4],e[n+5]=r[5],e[n+6]=r[6],e[n+7]=r[7],e[n+8]=r[8],e[n+9]=r[9],e[n+10]=r[10],e[n+11]=r[11],e[n+12]=r[12],e[n+13]=r[13],e[n+14]=r[14],e[n+15]=r[15],e}}const vm=new X,Ra=new Pt,Qhe=new X(0,0,0),Jhe=new X(1,1,1),Yu=new X,Gb=new X,ho=new X,X3=new Pt,q3=new Kt;class as{constructor(e=0,n=0,r=0,i=as.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=n,this._z=r,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,n,r,i=this._order){return this._x=e,this._y=n,this._z=r,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,n=this._order,r=!0){const i=e.elements,s=i[0],o=i[4],a=i[8],l=i[1],c=i[5],d=i[9],f=i[2],m=i[6],y=i[10];switch(n){case"XYZ":this._y=Math.asin(Ar(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-d,y),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(m,c),this._z=0);break;case"YXZ":this._x=Math.asin(-Ar(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(a,y),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-f,s),this._z=0);break;case"ZXY":this._x=Math.asin(Ar(m,-1,1)),Math.abs(m)<.9999999?(this._y=Math.atan2(-f,y),this._z=Math.atan2(-o,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Ar(f,-1,1)),Math.abs(f)<.9999999?(this._x=Math.atan2(m,y),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,c));break;case"YZX":this._z=Math.asin(Ar(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-d,c),this._y=Math.atan2(-f,s)):(this._x=0,this._y=Math.atan2(a,y));break;case"XZY":this._z=Math.asin(-Ar(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(m,c),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-d,y),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+n)}return this._order=n,r===!0&&this._onChangeCallback(),this}setFromQuaternion(e,n,r){return X3.makeRotationFromQuaternion(e),this.setFromRotationMatrix(X3,n,r)}setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)}reorder(e){return q3.setFromEuler(this),this.setFromQuaternion(q3,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}as.DEFAULT_ORDER="XYZ";class Ah{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let n=0;n1){for(let r=0;r0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map(a=>({boxInitialized:a.boxInitialized,boxMin:a.box.min.toArray(),boxMax:a.box.max.toArray(),sphereInitialized:a.sphereInitialized,sphereRadius:a.sphere.radius,sphereCenter:a.sphere.center.toArray()})),i.maxInstanceCount=this._maxInstanceCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(e),this._colorsTexture!==null&&(i.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),this.boundingBox!==null&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()}));function s(a,l){return a[l.uuid]===void 0&&(a[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=s(e.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const l=a.shapes;if(Array.isArray(l))for(let c=0,d=l.length;c0){i.children=[];for(let a=0;a0){i.animations=[];for(let a=0;a0&&(r.geometries=a),l.length>0&&(r.materials=l),c.length>0&&(r.textures=c),d.length>0&&(r.images=d),f.length>0&&(r.shapes=f),m.length>0&&(r.skeletons=m),y.length>0&&(r.animations=y),x.length>0&&(r.nodes=x)}return r.object=i,r;function o(a){const l=[];for(const c in a){const d=a[c];delete d.metadata,l.push(d)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,n=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),n===!0)for(let r=0;r0?i.multiplyScalar(1/Math.sqrt(s)):i.set(0,0,0)}static getBarycoord(e,n,r,i,s){Na.subVectors(i,n),Tc.subVectors(r,n),sA.subVectors(e,n);const o=Na.dot(Na),a=Na.dot(Tc),l=Na.dot(sA),c=Tc.dot(Tc),d=Tc.dot(sA),f=o*c-a*a;if(f===0)return s.set(0,0,0),null;const m=1/f,y=(c*l-a*d)*m,x=(o*d-a*l)*m;return s.set(1-y-x,x,y)}static containsPoint(e,n,r,i){return this.getBarycoord(e,n,r,i,Cc)===null?!1:Cc.x>=0&&Cc.y>=0&&Cc.x+Cc.y<=1}static getInterpolation(e,n,r,i,s,o,a,l){return this.getBarycoord(e,n,r,i,Cc)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,Cc.x),l.addScaledVector(o,Cc.y),l.addScaledVector(a,Cc.z),l)}static getInterpolatedAttribute(e,n,r,i,s,o){return cA.setScalar(0),uA.setScalar(0),dA.setScalar(0),cA.fromBufferAttribute(e,n),uA.fromBufferAttribute(e,r),dA.fromBufferAttribute(e,i),o.setScalar(0),o.addScaledVector(cA,s.x),o.addScaledVector(uA,s.y),o.addScaledVector(dA,s.z),o}static isFrontFacing(e,n,r,i){return Na.subVectors(r,n),Tc.subVectors(e,n),Na.cross(Tc).dot(i)<0}set(e,n,r){return this.a.copy(e),this.b.copy(n),this.c.copy(r),this}setFromPointsAndIndices(e,n,r,i){return this.a.copy(e[n]),this.b.copy(e[r]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,n,r,i){return this.a.fromBufferAttribute(e,n),this.b.fromBufferAttribute(e,r),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Na.subVectors(this.c,this.b),Tc.subVectors(this.a,this.b),Na.cross(Tc).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Ks.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,n){return Ks.getBarycoord(e,this.a,this.b,this.c,n)}getInterpolation(e,n,r,i,s){return Ks.getInterpolation(e,this.a,this.b,this.c,n,r,i,s)}containsPoint(e){return Ks.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Ks.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,n){const r=this.a,i=this.b,s=this.c;let o,a;bm.subVectors(i,r),_m.subVectors(s,r),oA.subVectors(e,r);const l=bm.dot(oA),c=_m.dot(oA);if(l<=0&&c<=0)return n.copy(r);aA.subVectors(e,i);const d=bm.dot(aA),f=_m.dot(aA);if(d>=0&&f<=d)return n.copy(i);const m=l*f-d*c;if(m<=0&&l>=0&&d<=0)return o=l/(l-d),n.copy(r).addScaledVector(bm,o);lA.subVectors(e,s);const y=bm.dot(lA),x=_m.dot(lA);if(x>=0&&y<=x)return n.copy(s);const S=y*c-l*x;if(S<=0&&c>=0&&x<=0)return a=c/(c-x),n.copy(r).addScaledVector(_m,a);const w=d*x-y*f;if(w<=0&&f-d>=0&&y-x>=0)return eD.subVectors(s,i),a=(f-d)/(f-d+(y-x)),n.copy(i).addScaledVector(eD,a);const _=1/(w+S+m);return o=S*_,a=m*_,n.copy(r).addScaledVector(bm,o).addScaledVector(_m,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const l6={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Zu={h:0,s:0,l:0},$b={h:0,s:0,l:0};function fA(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*6*(2/3-n):t}class lt{constructor(e,n,r){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,n,r)}set(e,n,r){if(n===void 0&&r===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,n,r);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,n=Ui){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,In.toWorkingColorSpace(this,n),this}setRGB(e,n,r,i=In.workingColorSpace){return this.r=e,this.g=n,this.b=r,In.toWorkingColorSpace(this,i),this}setHSL(e,n,r,i=In.workingColorSpace){if(e=MR(e,1),n=Ar(n,0,1),r=Ar(r,0,1),n===0)this.r=this.g=this.b=r;else{const s=r<=.5?r*(1+n):r+n-r*n,o=2*r-s;this.r=fA(o,s,e+1/3),this.g=fA(o,s,e),this.b=fA(o,s,e-1/3)}return In.toWorkingColorSpace(this,i),this}setStyle(e,n=Ui){function r(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const o=i[1],a=i[2];switch(o){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return r(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,n);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return r(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,n);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return r(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,n);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=i[1],o=s.length;if(o===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,n);if(o===6)return this.setHex(parseInt(s,16),n);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,n);return this}setColorName(e,n=Ui){const r=l6[e.toLowerCase()];return r!==void 0?this.setHex(r,n):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=ig(e.r),this.g=ig(e.g),this.b=ig(e.b),this}copyLinearToSRGB(e){return this.r=YE(e.r),this.g=YE(e.g),this.b=YE(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Ui){return In.fromWorkingColorSpace(Ji.copy(this),e),Math.round(Ar(Ji.r*255,0,255))*65536+Math.round(Ar(Ji.g*255,0,255))*256+Math.round(Ar(Ji.b*255,0,255))}getHexString(e=Ui){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,n=In.workingColorSpace){In.fromWorkingColorSpace(Ji.copy(this),n);const r=Ji.r,i=Ji.g,s=Ji.b,o=Math.max(r,i,s),a=Math.min(r,i,s);let l,c;const d=(a+o)/2;if(a===o)l=0,c=0;else{const f=o-a;switch(c=d<=.5?f/(o+a):f/(2-o-a),o){case r:l=(i-s)/f+(i0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const n in e){const r=e[n];if(r===void 0){console.warn(`THREE.Material: parameter '${n}' has value of undefined.`);continue}const i=this[n];if(i===void 0){console.warn(`THREE.Material: '${n}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(r):i&&i.isVector3&&r&&r.isVector3?i.copy(r):this[n]=r}}toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={textures:{},images:{}});const r={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};r.uuid=this.uuid,r.type=this.type,this.name!==""&&(r.name=this.name),this.color&&this.color.isColor&&(r.color=this.color.getHex()),this.roughness!==void 0&&(r.roughness=this.roughness),this.metalness!==void 0&&(r.metalness=this.metalness),this.sheen!==void 0&&(r.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(r.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(r.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(r.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(r.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(r.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(r.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(r.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(r.shininess=this.shininess),this.clearcoat!==void 0&&(r.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(r.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(r.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(r.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(r.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,r.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(r.dispersion=this.dispersion),this.iridescence!==void 0&&(r.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(r.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(r.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(r.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(r.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(r.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(r.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(r.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(r.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(r.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(r.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(r.lightMap=this.lightMap.toJSON(e).uuid,r.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(r.aoMap=this.aoMap.toJSON(e).uuid,r.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(r.bumpMap=this.bumpMap.toJSON(e).uuid,r.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(r.normalMap=this.normalMap.toJSON(e).uuid,r.normalMapType=this.normalMapType,r.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(r.displacementMap=this.displacementMap.toJSON(e).uuid,r.displacementScale=this.displacementScale,r.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(r.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(r.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(r.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(r.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(r.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(r.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(r.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(r.combine=this.combine)),this.envMapRotation!==void 0&&(r.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(r.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(r.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(r.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(r.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(r.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(r.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(r.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(r.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(r.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(r.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(r.size=this.size),this.shadowSide!==null&&(r.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(r.sizeAttenuation=this.sizeAttenuation),this.blending!==Sh&&(r.blending=this.blending),this.side!==Ul&&(r.side=this.side),this.vertexColors===!0&&(r.vertexColors=!0),this.opacity<1&&(r.opacity=this.opacity),this.transparent===!0&&(r.transparent=!0),this.blendSrc!==Jw&&(r.blendSrc=this.blendSrc),this.blendDst!==e1&&(r.blendDst=this.blendDst),this.blendEquation!==ud&&(r.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(r.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(r.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(r.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(r.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(r.blendAlpha=this.blendAlpha),this.depthFunc!==jh&&(r.depthFunc=this.depthFunc),this.depthTest===!1&&(r.depthTest=this.depthTest),this.depthWrite===!1&&(r.depthWrite=this.depthWrite),this.colorWrite===!1&&(r.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(r.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==XC&&(r.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(r.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(r.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Kf&&(r.stencilFail=this.stencilFail),this.stencilZFail!==Kf&&(r.stencilZFail=this.stencilZFail),this.stencilZPass!==Kf&&(r.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(r.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(r.rotation=this.rotation),this.polygonOffset===!0&&(r.polygonOffset=!0),this.polygonOffsetFactor!==0&&(r.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(r.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(r.linewidth=this.linewidth),this.dashSize!==void 0&&(r.dashSize=this.dashSize),this.gapSize!==void 0&&(r.gapSize=this.gapSize),this.scale!==void 0&&(r.scale=this.scale),this.dithering===!0&&(r.dithering=!0),this.alphaTest>0&&(r.alphaTest=this.alphaTest),this.alphaHash===!0&&(r.alphaHash=!0),this.alphaToCoverage===!0&&(r.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(r.premultipliedAlpha=!0),this.forceSinglePass===!0&&(r.forceSinglePass=!0),this.wireframe===!0&&(r.wireframe=!0),this.wireframeLinewidth>1&&(r.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(r.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(r.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(r.flatShading=!0),this.visible===!1&&(r.visible=!1),this.toneMapped===!1&&(r.toneMapped=!1),this.fog===!1&&(r.fog=!1),Object.keys(this.userData).length>0&&(r.userData=this.userData);function i(s){const o=[];for(const a in s){const l=s[a];delete l.metadata,o.push(l)}return o}if(n){const s=i(e.textures),o=i(e.images);s.length>0&&(r.textures=s),o.length>0&&(r.images=o)}return r}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const n=e.clippingPlanes;let r=null;if(n!==null){const i=n.length;r=new Array(i);for(let s=0;s!==i;++s)r[s]=n[s].clone()}return this.clippingPlanes=r,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}onBuild(){console.warn("Material: onBuild() has been removed.")}}class As extends Gr{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new lt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new as,this.combine=lx,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const Uc=spe();function spe(){const t=new ArrayBuffer(4),e=new Float32Array(t),n=new Uint32Array(t),r=new Uint32Array(512),i=new Uint32Array(512);for(let l=0;l<256;++l){const c=l-127;c<-27?(r[l]=0,r[l|256]=32768,i[l]=24,i[l|256]=24):c<-14?(r[l]=1024>>-c-14,r[l|256]=1024>>-c-14|32768,i[l]=-c-1,i[l|256]=-c-1):c<=15?(r[l]=c+15<<10,r[l|256]=c+15<<10|32768,i[l]=13,i[l|256]=13):c<128?(r[l]=31744,r[l|256]=64512,i[l]=24,i[l|256]=24):(r[l]=31744,r[l|256]=64512,i[l]=13,i[l|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),a=new Uint32Array(64);for(let l=1;l<1024;++l){let c=l<<13,d=0;for(;(c&8388608)===0;)c<<=1,d-=8388608;c&=-8388609,d+=947912704,s[l]=c|d}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)o[l]=l<<23;o[31]=1199570944,o[32]=2147483648;for(let l=33;l<63;++l)o[l]=2147483648+(l-32<<23);o[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(a[l]=1024);return{floatView:e,uint32View:n,baseTable:r,shiftTable:i,mantissaTable:s,exponentTable:o,offsetTable:a}}function $s(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=Ar(t,-65504,65504),Uc.floatView[0]=t;const e=Uc.uint32View[0],n=e>>23&511;return Uc.baseTable[n]+((e&8388607)>>Uc.shiftTable[n])}function V0(t){const e=t>>10;return Uc.uint32View[0]=Uc.mantissaTable[Uc.offsetTable[e]+(t&1023)]+Uc.exponentTable[e],Uc.floatView[0]}const ope={toHalfFloat:$s,fromHalfFloat:V0},Hr=new X,Xb=new Ge;class Jt{constructor(e,n,r=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=n,this.count=e!==void 0?e.length/n:0,this.normalized=r,this.usage=Iy,this.updateRanges=[],this.gpuType=Qs,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,n,r){e*=this.itemSize,r*=n.itemSize;for(let i=0,s=this.itemSize;i0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};const n=this.index;n!==null&&(e.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const r=this.attributes;for(const l in r){const c=r[l];e.data.attributes[l]=c.toJSON(e.data)}const i={};let s=!1;for(const l in this.morphAttributes){const c=this.morphAttributes[l],d=[];for(let f=0,m=c.length;f0&&(i[l]=d,s=!0)}s&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const n={};this.name=e.name;const r=e.index;r!==null&&this.setIndex(r.clone(n));const i=e.attributes;for(const c in i){const d=i[c];this.setAttribute(c,d.clone(n))}const s=e.morphAttributes;for(const c in s){const d=[],f=s[c];for(let m=0,y=f.length;m0){const i=n[r[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;s(e.far-e.near)**2))&&(tD.copy(s).invert(),Pf.copy(e.ray).applyMatrix4(tD),!(r.boundingBox!==null&&Pf.intersectsBox(r.boundingBox)===!1)&&this._computeIntersections(e,n,Pf)))}_computeIntersections(e,n,r){let i;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,c=s.attributes.uv,d=s.attributes.uv1,f=s.attributes.normal,m=s.groups,y=s.drawRange;if(a!==null)if(Array.isArray(o))for(let x=0,S=m.length;xn.far?null:{distance:c,point:Jb.clone(),object:t}}function e_(t,e,n,r,i,s,o,a,l,c){t.getVertexPosition(a,Kb),t.getVertexPosition(l,Yb),t.getVertexPosition(c,Zb);const d=ppe(t,e,n,r,Kb,Yb,Zb,rD);if(d){const f=new X;Ks.getBarycoord(rD,Kb,Yb,Zb,f),i&&(d.uv=Ks.getInterpolatedAttribute(i,a,l,c,f,new Ge)),s&&(d.uv1=Ks.getInterpolatedAttribute(s,a,l,c,f,new Ge)),o&&(d.normal=Ks.getInterpolatedAttribute(o,a,l,c,f,new X),d.normal.dot(r.direction)>0&&d.normal.multiplyScalar(-1));const m={a,b:l,c,normal:new X,materialIndex:0};Ks.getNormal(Kb,Yb,Zb,m.normal),d.face=m,d.barycoord=f}return d}class ep extends Qt{constructor(e=1,n=1,r=1,i=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:n,depth:r,widthSegments:i,heightSegments:s,depthSegments:o};const a=this;i=Math.floor(i),s=Math.floor(s),o=Math.floor(o);const l=[],c=[],d=[],f=[];let m=0,y=0;x("z","y","x",-1,-1,r,n,e,o,s,0),x("z","y","x",1,-1,r,n,-e,o,s,1),x("x","z","y",1,1,e,r,n,i,o,2),x("x","z","y",1,-1,e,r,-n,i,o,3),x("x","y","z",1,-1,e,n,r,i,s,4),x("x","y","z",-1,-1,e,n,-r,i,s,5),this.setIndex(l),this.setAttribute("position",new Ot(c,3)),this.setAttribute("normal",new Ot(d,3)),this.setAttribute("uv",new Ot(f,2));function x(S,w,_,E,T,C,O,N,D,F,G){const k=C/D,U=O/F,H=C/2,ne=O/2,te=N/2,he=D+1,se=F+1;let fe=0,B=0;const J=new X;for(let Y=0;Y0?1:-1,d.push(J.x,J.y,J.z),f.push(q/D),f.push(1-Y/F),fe+=1}}for(let Y=0;Y>8&255]+Qi[t>>16&255]+Qi[t>>24&255]+"-"+Qi[e&255]+Qi[e>>8&255]+"-"+Qi[e>>16&15|64]+Qi[e>>24&255]+"-"+Qi[n&63|128]+Qi[n>>8&255]+"-"+Qi[n>>16&255]+Qi[n>>24&255]+Qi[r&255]+Qi[r>>8&255]+Qi[r>>16&255]+Qi[r>>24&255]).toLowerCase()}function Ar(t,e,n){return Math.max(e,Math.min(n,t))}function MR(t,e){return(t%e+e)%e}function Ahe(t,e,n,r,i){return r+(t-e)*(i-r)/(n-e)}function The(t,e,n){return t!==e?(n-t)/(e-t):0}function ty(t,e,n){return(1-n)*t+n*e}function Che(t,e,n,r){return ty(t,e,1-Math.exp(-n*r))}function Phe(t,e=1){return e-Math.abs(MR(t,e*2)-e)}function Rhe(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*(3-2*t))}function Nhe(t,e,n){return t<=e?0:t>=n?1:(t=(t-e)/(n-e),t*t*t*(t*(t*6-15)+10))}function Ihe(t,e){return t+Math.floor(Math.random()*(e-t+1))}function khe(t,e){return t+Math.random()*(e-t)}function Ohe(t){return t*(.5-Math.random())}function Lhe(t){t!==void 0&&(H3=t);let e=H3+=1831565813;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}function Dhe(t){return t*Ah}function jhe(t){return t*jg}function Uhe(t){return(t&t-1)===0&&t!==0}function Fhe(t){return Math.pow(2,Math.ceil(Math.log(t)/Math.LN2))}function zhe(t){return Math.pow(2,Math.floor(Math.log(t)/Math.LN2))}function Bhe(t,e,n,r,i){const s=Math.cos,o=Math.sin,a=s(n/2),l=o(n/2),c=s((e+r)/2),d=o((e+r)/2),f=s((e-r)/2),m=o((e-r)/2),y=s((r-e)/2),x=o((r-e)/2);switch(i){case"XYX":t.set(a*d,l*f,l*m,a*c);break;case"YZY":t.set(l*m,a*d,l*f,a*c);break;case"ZXZ":t.set(l*f,l*m,a*d,a*c);break;case"XZX":t.set(a*d,l*x,l*y,a*c);break;case"YXY":t.set(l*y,a*d,l*x,a*c);break;case"ZYZ":t.set(l*x,l*y,a*d,a*c);break;default:console.warn("THREE.MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: "+i)}}function Ss(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return t/4294967295;case Uint16Array:return t/65535;case Uint8Array:return t/255;case Int32Array:return Math.max(t/2147483647,-1);case Int16Array:return Math.max(t/32767,-1);case Int8Array:return Math.max(t/127,-1);default:throw new Error("Invalid component type.")}}function cn(t,e){switch(e.constructor){case Float32Array:return t;case Uint32Array:return Math.round(t*4294967295);case Uint16Array:return Math.round(t*65535);case Uint8Array:return Math.round(t*255);case Int32Array:return Math.round(t*2147483647);case Int16Array:return Math.round(t*32767);case Int8Array:return Math.round(t*127);default:throw new Error("Invalid component type.")}}const gr={DEG2RAD:Ah,RAD2DEG:jg,generateUUID:So,clamp:Ar,euclideanModulo:MR,mapLinear:Ahe,inverseLerp:The,lerp:ty,damp:Che,pingpong:Phe,smoothstep:Rhe,smootherstep:Nhe,randInt:Ihe,randFloat:khe,randFloatSpread:Ohe,seededRandom:Lhe,degToRad:Dhe,radToDeg:jhe,isPowerOfTwo:Uhe,ceilPowerOfTwo:Fhe,floorPowerOfTwo:zhe,setQuaternionFromProperEuler:Bhe,normalize:cn,denormalize:Ss};class Ve{constructor(e=0,n=0){Ve.prototype.isVector2=!0,this.x=e,this.y=n}get width(){return this.x}set width(e){this.x=e}get height(){return this.y}set height(e){this.y=e}set(e,n){return this.x=e,this.y=n,this}setScalar(e){return this.x=e,this.y=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y)}copy(e){return this.x=e.x,this.y=e.y,this}add(e){return this.x+=e.x,this.y+=e.y,this}addScalar(e){return this.x+=e,this.y+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this}subScalar(e){return this.x-=e,this.y-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this}multiply(e){return this.x*=e.x,this.y*=e.y,this}multiplyScalar(e){return this.x*=e,this.y*=e,this}divide(e){return this.x/=e.x,this.y/=e.y,this}divideScalar(e){return this.multiplyScalar(1/e)}applyMatrix3(e){const n=this.x,r=this.y,i=e.elements;return this.x=i[0]*n+i[3]*r+i[6],this.y=i[1]*n+i[4]*r+i[7],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this}clampLength(e,n){const r=this.length();return this.divideScalar(r||1).multiplyScalar(Math.max(e,Math.min(n,r)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this}negate(){return this.x=-this.x,this.y=-this.y,this}dot(e){return this.x*e.x+this.y*e.y}cross(e){return this.x*e.y-this.y*e.x}lengthSq(){return this.x*this.x+this.y*this.y}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)}normalize(){return this.divideScalar(this.length()||1)}angle(){return Math.atan2(-this.y,-this.x)+Math.PI}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const r=this.dot(e)/n;return Math.acos(Ar(r,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,r=this.y-e.y;return n*n+r*r}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this}lerpVectors(e,n,r){return this.x=e.x+(n.x-e.x)*r,this.y=e.y+(n.y-e.y)*r,this}equals(e){return e.x===this.x&&e.y===this.y}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this}rotateAround(e,n){const r=Math.cos(n),i=Math.sin(n),s=this.x-e.x,o=this.y-e.y;return this.x=s*r-o*i+e.x,this.y=s*i+o*r+e.y,this}random(){return this.x=Math.random(),this.y=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y}}class qt{constructor(e,n,r,i,s,o,a,l,c){qt.prototype.isMatrix3=!0,this.elements=[1,0,0,0,1,0,0,0,1],e!==void 0&&this.set(e,n,r,i,s,o,a,l,c)}set(e,n,r,i,s,o,a,l,c){const d=this.elements;return d[0]=e,d[1]=i,d[2]=a,d[3]=n,d[4]=s,d[5]=l,d[6]=r,d[7]=o,d[8]=c,this}identity(){return this.set(1,0,0,0,1,0,0,0,1),this}copy(e){const n=this.elements,r=e.elements;return n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[8]=r[8],this}extractBasis(e,n,r){return e.setFromMatrix3Column(this,0),n.setFromMatrix3Column(this,1),r.setFromMatrix3Column(this,2),this}setFromMatrix4(e){const n=e.elements;return this.set(n[0],n[4],n[8],n[1],n[5],n[9],n[2],n[6],n[10]),this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const r=e.elements,i=n.elements,s=this.elements,o=r[0],a=r[3],l=r[6],c=r[1],d=r[4],f=r[7],m=r[2],y=r[5],x=r[8],S=i[0],w=i[3],_=i[6],E=i[1],T=i[4],C=i[7],O=i[2],N=i[5],D=i[8];return s[0]=o*S+a*E+l*O,s[3]=o*w+a*T+l*N,s[6]=o*_+a*C+l*D,s[1]=c*S+d*E+f*O,s[4]=c*w+d*T+f*N,s[7]=c*_+d*C+f*D,s[2]=m*S+y*E+x*O,s[5]=m*w+y*T+x*N,s[8]=m*_+y*C+x*D,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[3]*=e,n[6]*=e,n[1]*=e,n[4]*=e,n[7]*=e,n[2]*=e,n[5]*=e,n[8]*=e,this}determinant(){const e=this.elements,n=e[0],r=e[1],i=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],d=e[8];return n*o*d-n*a*c-r*s*d+r*a*l+i*s*c-i*o*l}invert(){const e=this.elements,n=e[0],r=e[1],i=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],d=e[8],f=d*o-a*c,m=a*l-d*s,y=c*s-o*l,x=n*f+r*m+i*y;if(x===0)return this.set(0,0,0,0,0,0,0,0,0);const S=1/x;return e[0]=f*S,e[1]=(i*c-d*r)*S,e[2]=(a*r-i*o)*S,e[3]=m*S,e[4]=(d*n-i*l)*S,e[5]=(i*s-a*n)*S,e[6]=y*S,e[7]=(r*l-c*n)*S,e[8]=(o*n-r*s)*S,this}transpose(){let e;const n=this.elements;return e=n[1],n[1]=n[3],n[3]=e,e=n[2],n[2]=n[6],n[6]=e,e=n[5],n[5]=n[7],n[7]=e,this}getNormalMatrix(e){return this.setFromMatrix4(e).invert().transpose()}transposeIntoArray(e){const n=this.elements;return e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],this}setUvTransform(e,n,r,i,s,o,a){const l=Math.cos(s),c=Math.sin(s);return this.set(r*l,r*c,-r*(l*o+c*a)+o+e,-i*c,i*l,-i*(-c*o+l*a)+a+n,0,0,1),this}scale(e,n){return this.premultiply(KE.makeScale(e,n)),this}rotate(e){return this.premultiply(KE.makeRotation(-e)),this}translate(e,n){return this.premultiply(KE.makeTranslation(e,n)),this}makeTranslation(e,n){return e.isVector2?this.set(1,0,e.x,0,1,e.y,0,0,1):this.set(1,0,e,0,1,n,0,0,1),this}makeRotation(e){const n=Math.cos(e),r=Math.sin(e);return this.set(n,-r,0,r,n,0,0,0,1),this}makeScale(e,n){return this.set(e,0,0,0,n,0,0,0,1),this}equals(e){const n=this.elements,r=e.elements;for(let i=0;i<9;i++)if(n[i]!==r[i])return!1;return!0}fromArray(e,n=0){for(let r=0;r<9;r++)this.elements[r]=e[r+n];return this}toArray(e=[],n=0){const r=this.elements;return e[n]=r[0],e[n+1]=r[1],e[n+2]=r[2],e[n+3]=r[3],e[n+4]=r[4],e[n+5]=r[5],e[n+6]=r[6],e[n+7]=r[7],e[n+8]=r[8],e}clone(){return new this.constructor().fromArray(this.elements)}}const KE=new qt;function i6(t){for(let e=t.length-1;e>=0;--e)if(t[e]>=65535)return!0;return!1}const Hhe={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array};function Xm(t,e){return new Hhe[t](e)}function Oy(t){return document.createElementNS("http://www.w3.org/1999/xhtml",t)}function s6(){const t=Oy("canvas");return t.style.display="block",t}const V3={};function X_(t){t in V3||(V3[t]=!0,console.warn(t))}function Vhe(t,e,n){return new Promise(function(r,i){function s(){switch(t.clientWaitSync(e,t.SYNC_FLUSH_COMMANDS_BIT,0)){case t.WAIT_FAILED:i();break;case t.TIMEOUT_EXPIRED:setTimeout(s,n);break;default:r()}}setTimeout(s,n)})}function Ghe(t){const e=t.elements;e[2]=.5*e[2]+.5*e[3],e[6]=.5*e[6]+.5*e[7],e[10]=.5*e[10]+.5*e[11],e[14]=.5*e[14]+.5*e[15]}function Whe(t){const e=t.elements;e[11]===-1?(e[10]=-e[10]-1,e[14]=-e[14]):(e[10]=-e[10],e[14]=-e[14]+1)}const G3=new qt().set(.8224621,.177538,0,.0331941,.9668058,0,.0170827,.0723974,.9105199),W3=new qt().set(1.2249401,-.2249404,0,-.0420569,1.0420571,0,-.0196376,-.0786361,1.0982735),v0={[xi]:{transfer:Py,primaries:Ry,luminanceCoefficients:[.2126,.7152,.0722],toReference:t=>t,fromReference:t=>t},[Ui]:{transfer:Jn,primaries:Ry,luminanceCoefficients:[.2126,.7152,.0722],toReference:t=>t.convertSRGBToLinear(),fromReference:t=>t.convertLinearToSRGB()},[ux]:{transfer:Py,primaries:Ny,luminanceCoefficients:[.2289,.6917,.0793],toReference:t=>t.applyMatrix3(W3),fromReference:t=>t.applyMatrix3(G3)},[QS]:{transfer:Jn,primaries:Ny,luminanceCoefficients:[.2289,.6917,.0793],toReference:t=>t.convertSRGBToLinear().applyMatrix3(W3),fromReference:t=>t.applyMatrix3(G3).convertLinearToSRGB()}},$he=new Set([xi,ux]),In={enabled:!0,_workingColorSpace:xi,get workingColorSpace(){return this._workingColorSpace},set workingColorSpace(t){if(!$he.has(t))throw new Error(`Unsupported working color space, "${t}".`);this._workingColorSpace=t},convert:function(t,e,n){if(this.enabled===!1||e===n||!e||!n)return t;const r=v0[e].toReference,i=v0[n].fromReference;return i(r(t))},fromWorkingColorSpace:function(t,e){return this.convert(t,this._workingColorSpace,e)},toWorkingColorSpace:function(t,e){return this.convert(t,e,this._workingColorSpace)},getPrimaries:function(t){return v0[t].primaries},getTransfer:function(t){return t===jc?Py:v0[t].transfer},getLuminanceCoefficients:function(t,e=this._workingColorSpace){return t.fromArray(v0[e].luminanceCoefficients)}};function ig(t){return t<.04045?t*.0773993808:Math.pow(t*.9478672986+.0521327014,2.4)}function YE(t){return t<.0031308?t*12.92:1.055*Math.pow(t,.41666)-.055}let pm;class o6{static getDataURL(e){if(/^data:/i.test(e.src)||typeof HTMLCanvasElement>"u")return e.src;let n;if(e instanceof HTMLCanvasElement)n=e;else{pm===void 0&&(pm=Oy("canvas")),pm.width=e.width,pm.height=e.height;const r=pm.getContext("2d");e instanceof ImageData?r.putImageData(e,0,0):r.drawImage(e,0,0,e.width,e.height),n=pm}return n.width>2048||n.height>2048?(console.warn("THREE.ImageUtils.getDataURL: Image converted to jpg for performance reasons",e),n.toDataURL("image/jpeg",.6)):n.toDataURL("image/png")}static sRGBToLinear(e){if(typeof HTMLImageElement<"u"&&e instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap){const n=Oy("canvas");n.width=e.width,n.height=e.height;const r=n.getContext("2d");r.drawImage(e,0,0,e.width,e.height);const i=r.getImageData(0,0,e.width,e.height),s=i.data;for(let o=0;o0&&(r.userData=this.userData),n||(e.textures[this.uuid]=r),r}dispose(){this.dispatchEvent({type:"dispose"})}transformUv(e){if(this.mapping!==VS)return e;if(e.applyMatrix3(this.matrix),e.x<0||e.x>1)switch(this.wrapS){case Pd:e.x=e.x-Math.floor(e.x);break;case _o:e.x=e.x<0?0:1;break;case kg:Math.abs(Math.floor(e.x)%2)===1?e.x=Math.ceil(e.x)-e.x:e.x=e.x-Math.floor(e.x);break}if(e.y<0||e.y>1)switch(this.wrapT){case Pd:e.y=e.y-Math.floor(e.y);break;case _o:e.y=e.y<0?0:1;break;case kg:Math.abs(Math.floor(e.y)%2)===1?e.y=Math.ceil(e.y)-e.y:e.y=e.y-Math.floor(e.y);break}return this.flipY&&(e.y=1-e.y),e}set needsUpdate(e){e===!0&&(this.version++,this.source.needsUpdate=!0)}set needsPMREMUpdate(e){e===!0&&this.pmremVersion++}}dr.DEFAULT_IMAGE=null;dr.DEFAULT_MAPPING=VS;dr.DEFAULT_ANISOTROPY=1;class Ln{constructor(e=0,n=0,r=0,i=1){Ln.prototype.isVector4=!0,this.x=e,this.y=n,this.z=r,this.w=i}get width(){return this.z}set width(e){this.z=e}get height(){return this.w}set height(e){this.w=e}set(e,n,r,i){return this.x=e,this.y=n,this.z=r,this.w=i,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this.w=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setW(e){return this.w=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;case 3:this.w=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z,this.w)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w!==void 0?e.w:1,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this.w+=e.w,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this.w+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this.w=e.w+n.w,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this.w+=e.w*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this.w-=e.w,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this.w-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this.w=e.w-n.w,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this.w*=e.w,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this.w*=e,this}applyMatrix4(e){const n=this.x,r=this.y,i=this.z,s=this.w,o=e.elements;return this.x=o[0]*n+o[4]*r+o[8]*i+o[12]*s,this.y=o[1]*n+o[5]*r+o[9]*i+o[13]*s,this.z=o[2]*n+o[6]*r+o[10]*i+o[14]*s,this.w=o[3]*n+o[7]*r+o[11]*i+o[15]*s,this}divideScalar(e){return this.multiplyScalar(1/e)}setAxisAngleFromQuaternion(e){this.w=2*Math.acos(e.w);const n=Math.sqrt(1-e.w*e.w);return n<1e-4?(this.x=1,this.y=0,this.z=0):(this.x=e.x/n,this.y=e.y/n,this.z=e.z/n),this}setAxisAngleFromRotationMatrix(e){let n,r,i,s;const l=e.elements,c=l[0],d=l[4],f=l[8],m=l[1],y=l[5],x=l[9],S=l[2],w=l[6],_=l[10];if(Math.abs(d-m)<.01&&Math.abs(f-S)<.01&&Math.abs(x-w)<.01){if(Math.abs(d+m)<.1&&Math.abs(f+S)<.1&&Math.abs(x+w)<.1&&Math.abs(c+y+_-3)<.1)return this.set(1,0,0,0),this;n=Math.PI;const T=(c+1)/2,C=(y+1)/2,O=(_+1)/2,N=(d+m)/4,D=(f+S)/4,F=(x+w)/4;return T>C&&T>O?T<.01?(r=0,i=.707106781,s=.707106781):(r=Math.sqrt(T),i=N/r,s=D/r):C>O?C<.01?(r=.707106781,i=0,s=.707106781):(i=Math.sqrt(C),r=N/i,s=F/i):O<.01?(r=.707106781,i=.707106781,s=0):(s=Math.sqrt(O),r=D/s,i=F/s),this.set(r,i,s,n),this}let E=Math.sqrt((w-x)*(w-x)+(f-S)*(f-S)+(m-d)*(m-d));return Math.abs(E)<.001&&(E=1),this.x=(w-x)/E,this.y=(f-S)/E,this.z=(m-d)/E,this.w=Math.acos((c+y+_-1)/2),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this.w=n[15],this}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this.w=Math.min(this.w,e.w),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this.w=Math.max(this.w,e.w),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this.w=Math.max(e.w,Math.min(n.w,this.w)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this.w=Math.max(e,Math.min(n,this.w)),this}clampLength(e,n){const r=this.length();return this.divideScalar(r||1).multiplyScalar(Math.max(e,Math.min(n,r)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this.w=Math.floor(this.w),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this.w=Math.ceil(this.w),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this.w=Math.round(this.w),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this.w=Math.trunc(this.w),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this.w+=(e.w-this.w)*n,this}lerpVectors(e,n,r){return this.x=e.x+(n.x-e.x)*r,this.y=e.y+(n.y-e.y)*r,this.z=e.z+(n.z-e.z)*r,this.w=e.w+(n.w-e.w)*r,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z&&e.w===this.w}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this.w=e[n+3],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e[n+3]=this.w,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this.w=e.getW(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this.w=Math.random(),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z,yield this.w}}class a6 extends Vl{constructor(e=1,n=1,r={}){super(),this.isRenderTarget=!0,this.width=e,this.height=n,this.depth=1,this.scissor=new Ln(0,0,e,n),this.scissorTest=!1,this.viewport=new Ln(0,0,e,n);const i={width:e,height:n,depth:1};r=Object.assign({generateMipmaps:!1,internalFormat:null,minFilter:Cr,depthBuffer:!0,stencilBuffer:!1,resolveDepthBuffer:!0,resolveStencilBuffer:!0,depthTexture:null,samples:0,count:1},r);const s=new dr(i,r.mapping,r.wrapS,r.wrapT,r.magFilter,r.minFilter,r.format,r.type,r.anisotropy,r.colorSpace);s.flipY=!1,s.generateMipmaps=r.generateMipmaps,s.internalFormat=r.internalFormat,this.textures=[];const o=r.count;for(let a=0;a=0?1:-1,T=1-_*_;if(T>Number.EPSILON){const O=Math.sqrt(T),N=Math.atan2(O,_*E);w=Math.sin(w*N)/O,a=Math.sin(a*N)/O}const C=a*E;if(l=l*w+m*C,c=c*w+y*C,d=d*w+x*C,f=f*w+S*C,w===1-a){const O=1/Math.sqrt(l*l+c*c+d*d+f*f);l*=O,c*=O,d*=O,f*=O}}e[n]=l,e[n+1]=c,e[n+2]=d,e[n+3]=f}static multiplyQuaternionsFlat(e,n,r,i,s,o){const a=r[i],l=r[i+1],c=r[i+2],d=r[i+3],f=s[o],m=s[o+1],y=s[o+2],x=s[o+3];return e[n]=a*x+d*f+l*y-c*m,e[n+1]=l*x+d*m+c*f-a*y,e[n+2]=c*x+d*y+a*m-l*f,e[n+3]=d*x-a*f-l*m-c*y,e}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get w(){return this._w}set w(e){this._w=e,this._onChangeCallback()}set(e,n,r,i){return this._x=e,this._y=n,this._z=r,this._w=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._w)}copy(e){return this._x=e.x,this._y=e.y,this._z=e.z,this._w=e.w,this._onChangeCallback(),this}setFromEuler(e,n=!0){const r=e._x,i=e._y,s=e._z,o=e._order,a=Math.cos,l=Math.sin,c=a(r/2),d=a(i/2),f=a(s/2),m=l(r/2),y=l(i/2),x=l(s/2);switch(o){case"XYZ":this._x=m*d*f+c*y*x,this._y=c*y*f-m*d*x,this._z=c*d*x+m*y*f,this._w=c*d*f-m*y*x;break;case"YXZ":this._x=m*d*f+c*y*x,this._y=c*y*f-m*d*x,this._z=c*d*x-m*y*f,this._w=c*d*f+m*y*x;break;case"ZXY":this._x=m*d*f-c*y*x,this._y=c*y*f+m*d*x,this._z=c*d*x+m*y*f,this._w=c*d*f-m*y*x;break;case"ZYX":this._x=m*d*f-c*y*x,this._y=c*y*f+m*d*x,this._z=c*d*x-m*y*f,this._w=c*d*f+m*y*x;break;case"YZX":this._x=m*d*f+c*y*x,this._y=c*y*f+m*d*x,this._z=c*d*x-m*y*f,this._w=c*d*f-m*y*x;break;case"XZY":this._x=m*d*f-c*y*x,this._y=c*y*f-m*d*x,this._z=c*d*x+m*y*f,this._w=c*d*f+m*y*x;break;default:console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: "+o)}return n===!0&&this._onChangeCallback(),this}setFromAxisAngle(e,n){const r=n/2,i=Math.sin(r);return this._x=e.x*i,this._y=e.y*i,this._z=e.z*i,this._w=Math.cos(r),this._onChangeCallback(),this}setFromRotationMatrix(e){const n=e.elements,r=n[0],i=n[4],s=n[8],o=n[1],a=n[5],l=n[9],c=n[2],d=n[6],f=n[10],m=r+a+f;if(m>0){const y=.5/Math.sqrt(m+1);this._w=.25/y,this._x=(d-l)*y,this._y=(s-c)*y,this._z=(o-i)*y}else if(r>a&&r>f){const y=2*Math.sqrt(1+r-a-f);this._w=(d-l)/y,this._x=.25*y,this._y=(i+o)/y,this._z=(s+c)/y}else if(a>f){const y=2*Math.sqrt(1+a-r-f);this._w=(s-c)/y,this._x=(i+o)/y,this._y=.25*y,this._z=(l+d)/y}else{const y=2*Math.sqrt(1+f-r-a);this._w=(o-i)/y,this._x=(s+c)/y,this._y=(l+d)/y,this._z=.25*y}return this._onChangeCallback(),this}setFromUnitVectors(e,n){let r=e.dot(n)+1;return rMath.abs(e.z)?(this._x=-e.y,this._y=e.x,this._z=0,this._w=r):(this._x=0,this._y=-e.z,this._z=e.y,this._w=r)):(this._x=e.y*n.z-e.z*n.y,this._y=e.z*n.x-e.x*n.z,this._z=e.x*n.y-e.y*n.x,this._w=r),this.normalize()}angleTo(e){return 2*Math.acos(Math.abs(Ar(this.dot(e),-1,1)))}rotateTowards(e,n){const r=this.angleTo(e);if(r===0)return this;const i=Math.min(1,n/r);return this.slerp(e,i),this}identity(){return this.set(0,0,0,1)}invert(){return this.conjugate()}conjugate(){return this._x*=-1,this._y*=-1,this._z*=-1,this._onChangeCallback(),this}dot(e){return this._x*e._x+this._y*e._y+this._z*e._z+this._w*e._w}lengthSq(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w}length(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)}normalize(){let e=this.length();return e===0?(this._x=0,this._y=0,this._z=0,this._w=1):(e=1/e,this._x=this._x*e,this._y=this._y*e,this._z=this._z*e,this._w=this._w*e),this._onChangeCallback(),this}multiply(e){return this.multiplyQuaternions(this,e)}premultiply(e){return this.multiplyQuaternions(e,this)}multiplyQuaternions(e,n){const r=e._x,i=e._y,s=e._z,o=e._w,a=n._x,l=n._y,c=n._z,d=n._w;return this._x=r*d+o*a+i*c-s*l,this._y=i*d+o*l+s*a-r*c,this._z=s*d+o*c+r*l-i*a,this._w=o*d-r*a-i*l-s*c,this._onChangeCallback(),this}slerp(e,n){if(n===0)return this;if(n===1)return this.copy(e);const r=this._x,i=this._y,s=this._z,o=this._w;let a=o*e._w+r*e._x+i*e._y+s*e._z;if(a<0?(this._w=-e._w,this._x=-e._x,this._y=-e._y,this._z=-e._z,a=-a):this.copy(e),a>=1)return this._w=o,this._x=r,this._y=i,this._z=s,this;const l=1-a*a;if(l<=Number.EPSILON){const y=1-n;return this._w=y*o+n*this._w,this._x=y*r+n*this._x,this._y=y*i+n*this._y,this._z=y*s+n*this._z,this.normalize(),this}const c=Math.sqrt(l),d=Math.atan2(c,a),f=Math.sin((1-n)*d)/c,m=Math.sin(n*d)/c;return this._w=o*f+this._w*m,this._x=r*f+this._x*m,this._y=i*f+this._y*m,this._z=s*f+this._z*m,this._onChangeCallback(),this}slerpQuaternions(e,n,r){return this.copy(e).slerp(n,r)}random(){const e=2*Math.PI*Math.random(),n=2*Math.PI*Math.random(),r=Math.random(),i=Math.sqrt(1-r),s=Math.sqrt(r);return this.set(i*Math.sin(e),i*Math.cos(e),s*Math.sin(n),s*Math.cos(n))}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._w===this._w}fromArray(e,n=0){return this._x=e[n],this._y=e[n+1],this._z=e[n+2],this._w=e[n+3],this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._w,e}fromBufferAttribute(e,n){return this._x=e.getX(n),this._y=e.getY(n),this._z=e.getZ(n),this._w=e.getW(n),this._onChangeCallback(),this}toJSON(){return this.toArray()}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._w}}class X{constructor(e=0,n=0,r=0){X.prototype.isVector3=!0,this.x=e,this.y=n,this.z=r}set(e,n,r){return r===void 0&&(r=this.z),this.x=e,this.y=n,this.z=r,this}setScalar(e){return this.x=e,this.y=e,this.z=e,this}setX(e){return this.x=e,this}setY(e){return this.y=e,this}setZ(e){return this.z=e,this}setComponent(e,n){switch(e){case 0:this.x=n;break;case 1:this.y=n;break;case 2:this.z=n;break;default:throw new Error("index is out of range: "+e)}return this}getComponent(e){switch(e){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw new Error("index is out of range: "+e)}}clone(){return new this.constructor(this.x,this.y,this.z)}copy(e){return this.x=e.x,this.y=e.y,this.z=e.z,this}add(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this}addScalar(e){return this.x+=e,this.y+=e,this.z+=e,this}addVectors(e,n){return this.x=e.x+n.x,this.y=e.y+n.y,this.z=e.z+n.z,this}addScaledVector(e,n){return this.x+=e.x*n,this.y+=e.y*n,this.z+=e.z*n,this}sub(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this}subScalar(e){return this.x-=e,this.y-=e,this.z-=e,this}subVectors(e,n){return this.x=e.x-n.x,this.y=e.y-n.y,this.z=e.z-n.z,this}multiply(e){return this.x*=e.x,this.y*=e.y,this.z*=e.z,this}multiplyScalar(e){return this.x*=e,this.y*=e,this.z*=e,this}multiplyVectors(e,n){return this.x=e.x*n.x,this.y=e.y*n.y,this.z=e.z*n.z,this}applyEuler(e){return this.applyQuaternion($3.setFromEuler(e))}applyAxisAngle(e,n){return this.applyQuaternion($3.setFromAxisAngle(e,n))}applyMatrix3(e){const n=this.x,r=this.y,i=this.z,s=e.elements;return this.x=s[0]*n+s[3]*r+s[6]*i,this.y=s[1]*n+s[4]*r+s[7]*i,this.z=s[2]*n+s[5]*r+s[8]*i,this}applyNormalMatrix(e){return this.applyMatrix3(e).normalize()}applyMatrix4(e){const n=this.x,r=this.y,i=this.z,s=e.elements,o=1/(s[3]*n+s[7]*r+s[11]*i+s[15]);return this.x=(s[0]*n+s[4]*r+s[8]*i+s[12])*o,this.y=(s[1]*n+s[5]*r+s[9]*i+s[13])*o,this.z=(s[2]*n+s[6]*r+s[10]*i+s[14])*o,this}applyQuaternion(e){const n=this.x,r=this.y,i=this.z,s=e.x,o=e.y,a=e.z,l=e.w,c=2*(o*i-a*r),d=2*(a*n-s*i),f=2*(s*r-o*n);return this.x=n+l*c+o*f-a*d,this.y=r+l*d+a*c-s*f,this.z=i+l*f+s*d-o*c,this}project(e){return this.applyMatrix4(e.matrixWorldInverse).applyMatrix4(e.projectionMatrix)}unproject(e){return this.applyMatrix4(e.projectionMatrixInverse).applyMatrix4(e.matrixWorld)}transformDirection(e){const n=this.x,r=this.y,i=this.z,s=e.elements;return this.x=s[0]*n+s[4]*r+s[8]*i,this.y=s[1]*n+s[5]*r+s[9]*i,this.z=s[2]*n+s[6]*r+s[10]*i,this.normalize()}divide(e){return this.x/=e.x,this.y/=e.y,this.z/=e.z,this}divideScalar(e){return this.multiplyScalar(1/e)}min(e){return this.x=Math.min(this.x,e.x),this.y=Math.min(this.y,e.y),this.z=Math.min(this.z,e.z),this}max(e){return this.x=Math.max(this.x,e.x),this.y=Math.max(this.y,e.y),this.z=Math.max(this.z,e.z),this}clamp(e,n){return this.x=Math.max(e.x,Math.min(n.x,this.x)),this.y=Math.max(e.y,Math.min(n.y,this.y)),this.z=Math.max(e.z,Math.min(n.z,this.z)),this}clampScalar(e,n){return this.x=Math.max(e,Math.min(n,this.x)),this.y=Math.max(e,Math.min(n,this.y)),this.z=Math.max(e,Math.min(n,this.z)),this}clampLength(e,n){const r=this.length();return this.divideScalar(r||1).multiplyScalar(Math.max(e,Math.min(n,r)))}floor(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.z=Math.floor(this.z),this}ceil(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.z=Math.ceil(this.z),this}round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this.z=Math.round(this.z),this}roundToZero(){return this.x=Math.trunc(this.x),this.y=Math.trunc(this.y),this.z=Math.trunc(this.z),this}negate(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this}dot(e){return this.x*e.x+this.y*e.y+this.z*e.z}lengthSq(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}manhattanLength(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)}normalize(){return this.divideScalar(this.length()||1)}setLength(e){return this.normalize().multiplyScalar(e)}lerp(e,n){return this.x+=(e.x-this.x)*n,this.y+=(e.y-this.y)*n,this.z+=(e.z-this.z)*n,this}lerpVectors(e,n,r){return this.x=e.x+(n.x-e.x)*r,this.y=e.y+(n.y-e.y)*r,this.z=e.z+(n.z-e.z)*r,this}cross(e){return this.crossVectors(this,e)}crossVectors(e,n){const r=e.x,i=e.y,s=e.z,o=n.x,a=n.y,l=n.z;return this.x=i*l-s*a,this.y=s*o-r*l,this.z=r*a-i*o,this}projectOnVector(e){const n=e.lengthSq();if(n===0)return this.set(0,0,0);const r=e.dot(this)/n;return this.copy(e).multiplyScalar(r)}projectOnPlane(e){return QE.copy(this).projectOnVector(e),this.sub(QE)}reflect(e){return this.sub(QE.copy(e).multiplyScalar(2*this.dot(e)))}angleTo(e){const n=Math.sqrt(this.lengthSq()*e.lengthSq());if(n===0)return Math.PI/2;const r=this.dot(e)/n;return Math.acos(Ar(r,-1,1))}distanceTo(e){return Math.sqrt(this.distanceToSquared(e))}distanceToSquared(e){const n=this.x-e.x,r=this.y-e.y,i=this.z-e.z;return n*n+r*r+i*i}manhattanDistanceTo(e){return Math.abs(this.x-e.x)+Math.abs(this.y-e.y)+Math.abs(this.z-e.z)}setFromSpherical(e){return this.setFromSphericalCoords(e.radius,e.phi,e.theta)}setFromSphericalCoords(e,n,r){const i=Math.sin(n)*e;return this.x=i*Math.sin(r),this.y=Math.cos(n)*e,this.z=i*Math.cos(r),this}setFromCylindrical(e){return this.setFromCylindricalCoords(e.radius,e.theta,e.y)}setFromCylindricalCoords(e,n,r){return this.x=e*Math.sin(n),this.y=r,this.z=e*Math.cos(n),this}setFromMatrixPosition(e){const n=e.elements;return this.x=n[12],this.y=n[13],this.z=n[14],this}setFromMatrixScale(e){const n=this.setFromMatrixColumn(e,0).length(),r=this.setFromMatrixColumn(e,1).length(),i=this.setFromMatrixColumn(e,2).length();return this.x=n,this.y=r,this.z=i,this}setFromMatrixColumn(e,n){return this.fromArray(e.elements,n*4)}setFromMatrix3Column(e,n){return this.fromArray(e.elements,n*3)}setFromEuler(e){return this.x=e._x,this.y=e._y,this.z=e._z,this}setFromColor(e){return this.x=e.r,this.y=e.g,this.z=e.b,this}equals(e){return e.x===this.x&&e.y===this.y&&e.z===this.z}fromArray(e,n=0){return this.x=e[n],this.y=e[n+1],this.z=e[n+2],this}toArray(e=[],n=0){return e[n]=this.x,e[n+1]=this.y,e[n+2]=this.z,e}fromBufferAttribute(e,n){return this.x=e.getX(n),this.y=e.getY(n),this.z=e.getZ(n),this}random(){return this.x=Math.random(),this.y=Math.random(),this.z=Math.random(),this}randomDirection(){const e=Math.random()*Math.PI*2,n=Math.random()*2-1,r=Math.sqrt(1-n*n);return this.x=r*Math.cos(e),this.y=n,this.z=r*Math.sin(e),this}*[Symbol.iterator](){yield this.x,yield this.y,yield this.z}}const QE=new X,$3=new Kt;class os{constructor(e=new X(1/0,1/0,1/0),n=new X(-1/0,-1/0,-1/0)){this.isBox3=!0,this.min=e,this.max=n}set(e,n){return this.min.copy(e),this.max.copy(n),this}setFromArray(e){this.makeEmpty();for(let n=0,r=e.length;n=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y&&e.z>=this.min.z&&e.z<=this.max.z}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y&&this.min.z<=e.min.z&&e.max.z<=this.max.z}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y),(e.z-this.min.z)/(this.max.z-this.min.z))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y&&e.max.z>=this.min.z&&e.min.z<=this.max.z}intersectsSphere(e){return this.clampPoint(e.center,Pa),Pa.distanceToSquared(e.center)<=e.radius*e.radius}intersectsPlane(e){let n,r;return e.normal.x>0?(n=e.normal.x*this.min.x,r=e.normal.x*this.max.x):(n=e.normal.x*this.max.x,r=e.normal.x*this.min.x),e.normal.y>0?(n+=e.normal.y*this.min.y,r+=e.normal.y*this.max.y):(n+=e.normal.y*this.max.y,r+=e.normal.y*this.min.y),e.normal.z>0?(n+=e.normal.z*this.min.z,r+=e.normal.z*this.max.z):(n+=e.normal.z*this.max.z,r+=e.normal.z*this.min.z),n<=-e.constant&&r>=-e.constant}intersectsTriangle(e){if(this.isEmpty())return!1;this.getCenter(y0),zb.subVectors(this.max,y0),mm.subVectors(e.a,y0),gm.subVectors(e.b,y0),vm.subVectors(e.c,y0),Xu.subVectors(gm,mm),qu.subVectors(vm,gm),Tf.subVectors(mm,vm);let n=[0,-Xu.z,Xu.y,0,-qu.z,qu.y,0,-Tf.z,Tf.y,Xu.z,0,-Xu.x,qu.z,0,-qu.x,Tf.z,0,-Tf.x,-Xu.y,Xu.x,0,-qu.y,qu.x,0,-Tf.y,Tf.x,0];return!JE(n,mm,gm,vm,zb)||(n=[1,0,0,0,1,0,0,0,1],!JE(n,mm,gm,vm,zb))?!1:(Bb.crossVectors(Xu,qu),n=[Bb.x,Bb.y,Bb.z],JE(n,mm,gm,vm,zb))}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,Pa).distanceTo(e)}getBoundingSphere(e){return this.isEmpty()?e.makeEmpty():(this.getCenter(e.center),e.radius=this.getSize(Pa).length()*.5),e}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}applyMatrix4(e){return this.isEmpty()?this:(Mc[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(e),Mc[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(e),Mc[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(e),Mc[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(e),Mc[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(e),Mc[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(e),Mc[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(e),Mc[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(e),this.setFromPoints(Mc),this)}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const Mc=[new X,new X,new X,new X,new X,new X,new X,new X],Pa=new X,Fb=new os,mm=new X,gm=new X,vm=new X,Xu=new X,qu=new X,Tf=new X,y0=new X,zb=new X,Bb=new X,Cf=new X;function JE(t,e,n,r,i){for(let s=0,o=t.length-3;s<=o;s+=3){Cf.fromArray(t,s);const a=i.x*Math.abs(Cf.x)+i.y*Math.abs(Cf.y)+i.z*Math.abs(Cf.z),l=e.dot(Cf),c=n.dot(Cf),d=r.dot(Cf);if(Math.max(-Math.max(l,c,d),Math.min(l,c,d))>a)return!1}return!0}const Zhe=new os,x0=new X,eA=new X;class Bi{constructor(e=new X,n=-1){this.isSphere=!0,this.center=e,this.radius=n}set(e,n){return this.center.copy(e),this.radius=n,this}setFromPoints(e,n){const r=this.center;n!==void 0?r.copy(n):Zhe.setFromPoints(e).getCenter(r);let i=0;for(let s=0,o=e.length;sthis.radius*this.radius&&(n.sub(this.center).normalize(),n.multiplyScalar(this.radius).add(this.center)),n}getBoundingBox(e){return this.isEmpty()?(e.makeEmpty(),e):(e.set(this.center,this.center),e.expandByScalar(this.radius),e)}applyMatrix4(e){return this.center.applyMatrix4(e),this.radius=this.radius*e.getMaxScaleOnAxis(),this}translate(e){return this.center.add(e),this}expandByPoint(e){if(this.isEmpty())return this.center.copy(e),this.radius=0,this;x0.subVectors(e,this.center);const n=x0.lengthSq();if(n>this.radius*this.radius){const r=Math.sqrt(n),i=(r-this.radius)*.5;this.center.addScaledVector(x0,i/r),this.radius+=i}return this}union(e){return e.isEmpty()?this:this.isEmpty()?(this.copy(e),this):(this.center.equals(e.center)===!0?this.radius=Math.max(this.radius,e.radius):(eA.subVectors(e.center,this.center).setLength(e.radius),this.expandByPoint(x0.copy(e.center).add(eA)),this.expandByPoint(x0.copy(e.center).sub(eA))),this)}equals(e){return e.center.equals(this.center)&&e.radius===this.radius}clone(){return new this.constructor().copy(this)}}const Ec=new X,tA=new X,Hb=new X,Ku=new X,nA=new X,Vb=new X,rA=new X;class ep{constructor(e=new X,n=new X(0,0,-1)){this.origin=e,this.direction=n}set(e,n){return this.origin.copy(e),this.direction.copy(n),this}copy(e){return this.origin.copy(e.origin),this.direction.copy(e.direction),this}at(e,n){return n.copy(this.origin).addScaledVector(this.direction,e)}lookAt(e){return this.direction.copy(e).sub(this.origin).normalize(),this}recast(e){return this.origin.copy(this.at(e,Ec)),this}closestPointToPoint(e,n){n.subVectors(e,this.origin);const r=n.dot(this.direction);return r<0?n.copy(this.origin):n.copy(this.origin).addScaledVector(this.direction,r)}distanceToPoint(e){return Math.sqrt(this.distanceSqToPoint(e))}distanceSqToPoint(e){const n=Ec.subVectors(e,this.origin).dot(this.direction);return n<0?this.origin.distanceToSquared(e):(Ec.copy(this.origin).addScaledVector(this.direction,n),Ec.distanceToSquared(e))}distanceSqToSegment(e,n,r,i){tA.copy(e).add(n).multiplyScalar(.5),Hb.copy(n).sub(e).normalize(),Ku.copy(this.origin).sub(tA);const s=e.distanceTo(n)*.5,o=-this.direction.dot(Hb),a=Ku.dot(this.direction),l=-Ku.dot(Hb),c=Ku.lengthSq(),d=Math.abs(1-o*o);let f,m,y,x;if(d>0)if(f=o*l-a,m=o*a-l,x=s*d,f>=0)if(m>=-x)if(m<=x){const S=1/d;f*=S,m*=S,y=f*(f+o*m+2*a)+m*(o*f+m+2*l)+c}else m=s,f=Math.max(0,-(o*m+a)),y=-f*f+m*(m+2*l)+c;else m=-s,f=Math.max(0,-(o*m+a)),y=-f*f+m*(m+2*l)+c;else m<=-x?(f=Math.max(0,-(-o*s+a)),m=f>0?-s:Math.min(Math.max(-s,-l),s),y=-f*f+m*(m+2*l)+c):m<=x?(f=0,m=Math.min(Math.max(-s,-l),s),y=m*(m+2*l)+c):(f=Math.max(0,-(o*s+a)),m=f>0?s:Math.min(Math.max(-s,-l),s),y=-f*f+m*(m+2*l)+c);else m=o>0?-s:s,f=Math.max(0,-(o*m+a)),y=-f*f+m*(m+2*l)+c;return r&&r.copy(this.origin).addScaledVector(this.direction,f),i&&i.copy(tA).addScaledVector(Hb,m),y}intersectSphere(e,n){Ec.subVectors(e.center,this.origin);const r=Ec.dot(this.direction),i=Ec.dot(Ec)-r*r,s=e.radius*e.radius;if(i>s)return null;const o=Math.sqrt(s-i),a=r-o,l=r+o;return l<0?null:a<0?this.at(l,n):this.at(a,n)}intersectsSphere(e){return this.distanceSqToPoint(e.center)<=e.radius*e.radius}distanceToPlane(e){const n=e.normal.dot(this.direction);if(n===0)return e.distanceToPoint(this.origin)===0?0:null;const r=-(this.origin.dot(e.normal)+e.constant)/n;return r>=0?r:null}intersectPlane(e,n){const r=this.distanceToPlane(e);return r===null?null:this.at(r,n)}intersectsPlane(e){const n=e.distanceToPoint(this.origin);return n===0||e.normal.dot(this.direction)*n<0}intersectBox(e,n){let r,i,s,o,a,l;const c=1/this.direction.x,d=1/this.direction.y,f=1/this.direction.z,m=this.origin;return c>=0?(r=(e.min.x-m.x)*c,i=(e.max.x-m.x)*c):(r=(e.max.x-m.x)*c,i=(e.min.x-m.x)*c),d>=0?(s=(e.min.y-m.y)*d,o=(e.max.y-m.y)*d):(s=(e.max.y-m.y)*d,o=(e.min.y-m.y)*d),r>o||s>i||((s>r||isNaN(r))&&(r=s),(o=0?(a=(e.min.z-m.z)*f,l=(e.max.z-m.z)*f):(a=(e.max.z-m.z)*f,l=(e.min.z-m.z)*f),r>l||a>i)||((a>r||r!==r)&&(r=a),(l=0?r:i,n)}intersectsBox(e){return this.intersectBox(e,Ec)!==null}intersectTriangle(e,n,r,i,s){nA.subVectors(n,e),Vb.subVectors(r,e),rA.crossVectors(nA,Vb);let o=this.direction.dot(rA),a;if(o>0){if(i)return null;a=1}else if(o<0)a=-1,o=-o;else return null;Ku.subVectors(this.origin,e);const l=a*this.direction.dot(Vb.crossVectors(Ku,Vb));if(l<0)return null;const c=a*this.direction.dot(nA.cross(Ku));if(c<0||l+c>o)return null;const d=-a*Ku.dot(rA);return d<0?null:this.at(d/o,s)}applyMatrix4(e){return this.origin.applyMatrix4(e),this.direction.transformDirection(e),this}equals(e){return e.origin.equals(this.origin)&&e.direction.equals(this.direction)}clone(){return new this.constructor().copy(this)}}class Rt{constructor(e,n,r,i,s,o,a,l,c,d,f,m,y,x,S,w){Rt.prototype.isMatrix4=!0,this.elements=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],e!==void 0&&this.set(e,n,r,i,s,o,a,l,c,d,f,m,y,x,S,w)}set(e,n,r,i,s,o,a,l,c,d,f,m,y,x,S,w){const _=this.elements;return _[0]=e,_[4]=n,_[8]=r,_[12]=i,_[1]=s,_[5]=o,_[9]=a,_[13]=l,_[2]=c,_[6]=d,_[10]=f,_[14]=m,_[3]=y,_[7]=x,_[11]=S,_[15]=w,this}identity(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this}clone(){return new Rt().fromArray(this.elements)}copy(e){const n=this.elements,r=e.elements;return n[0]=r[0],n[1]=r[1],n[2]=r[2],n[3]=r[3],n[4]=r[4],n[5]=r[5],n[6]=r[6],n[7]=r[7],n[8]=r[8],n[9]=r[9],n[10]=r[10],n[11]=r[11],n[12]=r[12],n[13]=r[13],n[14]=r[14],n[15]=r[15],this}copyPosition(e){const n=this.elements,r=e.elements;return n[12]=r[12],n[13]=r[13],n[14]=r[14],this}setFromMatrix3(e){const n=e.elements;return this.set(n[0],n[3],n[6],0,n[1],n[4],n[7],0,n[2],n[5],n[8],0,0,0,0,1),this}extractBasis(e,n,r){return e.setFromMatrixColumn(this,0),n.setFromMatrixColumn(this,1),r.setFromMatrixColumn(this,2),this}makeBasis(e,n,r){return this.set(e.x,n.x,r.x,0,e.y,n.y,r.y,0,e.z,n.z,r.z,0,0,0,0,1),this}extractRotation(e){const n=this.elements,r=e.elements,i=1/ym.setFromMatrixColumn(e,0).length(),s=1/ym.setFromMatrixColumn(e,1).length(),o=1/ym.setFromMatrixColumn(e,2).length();return n[0]=r[0]*i,n[1]=r[1]*i,n[2]=r[2]*i,n[3]=0,n[4]=r[4]*s,n[5]=r[5]*s,n[6]=r[6]*s,n[7]=0,n[8]=r[8]*o,n[9]=r[9]*o,n[10]=r[10]*o,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromEuler(e){const n=this.elements,r=e.x,i=e.y,s=e.z,o=Math.cos(r),a=Math.sin(r),l=Math.cos(i),c=Math.sin(i),d=Math.cos(s),f=Math.sin(s);if(e.order==="XYZ"){const m=o*d,y=o*f,x=a*d,S=a*f;n[0]=l*d,n[4]=-l*f,n[8]=c,n[1]=y+x*c,n[5]=m-S*c,n[9]=-a*l,n[2]=S-m*c,n[6]=x+y*c,n[10]=o*l}else if(e.order==="YXZ"){const m=l*d,y=l*f,x=c*d,S=c*f;n[0]=m+S*a,n[4]=x*a-y,n[8]=o*c,n[1]=o*f,n[5]=o*d,n[9]=-a,n[2]=y*a-x,n[6]=S+m*a,n[10]=o*l}else if(e.order==="ZXY"){const m=l*d,y=l*f,x=c*d,S=c*f;n[0]=m-S*a,n[4]=-o*f,n[8]=x+y*a,n[1]=y+x*a,n[5]=o*d,n[9]=S-m*a,n[2]=-o*c,n[6]=a,n[10]=o*l}else if(e.order==="ZYX"){const m=o*d,y=o*f,x=a*d,S=a*f;n[0]=l*d,n[4]=x*c-y,n[8]=m*c+S,n[1]=l*f,n[5]=S*c+m,n[9]=y*c-x,n[2]=-c,n[6]=a*l,n[10]=o*l}else if(e.order==="YZX"){const m=o*l,y=o*c,x=a*l,S=a*c;n[0]=l*d,n[4]=S-m*f,n[8]=x*f+y,n[1]=f,n[5]=o*d,n[9]=-a*d,n[2]=-c*d,n[6]=y*f+x,n[10]=m-S*f}else if(e.order==="XZY"){const m=o*l,y=o*c,x=a*l,S=a*c;n[0]=l*d,n[4]=-f,n[8]=c*d,n[1]=m*f+S,n[5]=o*d,n[9]=y*f-x,n[2]=x*f-y,n[6]=a*d,n[10]=S*f+m}return n[3]=0,n[7]=0,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this}makeRotationFromQuaternion(e){return this.compose(Qhe,e,Jhe)}lookAt(e,n,r){const i=this.elements;return ho.subVectors(e,n),ho.lengthSq()===0&&(ho.z=1),ho.normalize(),Yu.crossVectors(r,ho),Yu.lengthSq()===0&&(Math.abs(r.z)===1?ho.x+=1e-4:ho.z+=1e-4,ho.normalize(),Yu.crossVectors(r,ho)),Yu.normalize(),Gb.crossVectors(ho,Yu),i[0]=Yu.x,i[4]=Gb.x,i[8]=ho.x,i[1]=Yu.y,i[5]=Gb.y,i[9]=ho.y,i[2]=Yu.z,i[6]=Gb.z,i[10]=ho.z,this}multiply(e){return this.multiplyMatrices(this,e)}premultiply(e){return this.multiplyMatrices(e,this)}multiplyMatrices(e,n){const r=e.elements,i=n.elements,s=this.elements,o=r[0],a=r[4],l=r[8],c=r[12],d=r[1],f=r[5],m=r[9],y=r[13],x=r[2],S=r[6],w=r[10],_=r[14],E=r[3],T=r[7],C=r[11],O=r[15],N=i[0],D=i[4],F=i[8],G=i[12],k=i[1],U=i[5],H=i[9],ne=i[13],te=i[2],he=i[6],oe=i[10],fe=i[14],B=i[3],J=i[7],Y=i[11],V=i[15];return s[0]=o*N+a*k+l*te+c*B,s[4]=o*D+a*U+l*he+c*J,s[8]=o*F+a*H+l*oe+c*Y,s[12]=o*G+a*ne+l*fe+c*V,s[1]=d*N+f*k+m*te+y*B,s[5]=d*D+f*U+m*he+y*J,s[9]=d*F+f*H+m*oe+y*Y,s[13]=d*G+f*ne+m*fe+y*V,s[2]=x*N+S*k+w*te+_*B,s[6]=x*D+S*U+w*he+_*J,s[10]=x*F+S*H+w*oe+_*Y,s[14]=x*G+S*ne+w*fe+_*V,s[3]=E*N+T*k+C*te+O*B,s[7]=E*D+T*U+C*he+O*J,s[11]=E*F+T*H+C*oe+O*Y,s[15]=E*G+T*ne+C*fe+O*V,this}multiplyScalar(e){const n=this.elements;return n[0]*=e,n[4]*=e,n[8]*=e,n[12]*=e,n[1]*=e,n[5]*=e,n[9]*=e,n[13]*=e,n[2]*=e,n[6]*=e,n[10]*=e,n[14]*=e,n[3]*=e,n[7]*=e,n[11]*=e,n[15]*=e,this}determinant(){const e=this.elements,n=e[0],r=e[4],i=e[8],s=e[12],o=e[1],a=e[5],l=e[9],c=e[13],d=e[2],f=e[6],m=e[10],y=e[14],x=e[3],S=e[7],w=e[11],_=e[15];return x*(+s*l*f-i*c*f-s*a*m+r*c*m+i*a*y-r*l*y)+S*(+n*l*y-n*c*m+s*o*m-i*o*y+i*c*d-s*l*d)+w*(+n*c*f-n*a*y-s*o*f+r*o*y+s*a*d-r*c*d)+_*(-i*a*d-n*l*f+n*a*m+i*o*f-r*o*m+r*l*d)}transpose(){const e=this.elements;let n;return n=e[1],e[1]=e[4],e[4]=n,n=e[2],e[2]=e[8],e[8]=n,n=e[6],e[6]=e[9],e[9]=n,n=e[3],e[3]=e[12],e[12]=n,n=e[7],e[7]=e[13],e[13]=n,n=e[11],e[11]=e[14],e[14]=n,this}setPosition(e,n,r){const i=this.elements;return e.isVector3?(i[12]=e.x,i[13]=e.y,i[14]=e.z):(i[12]=e,i[13]=n,i[14]=r),this}invert(){const e=this.elements,n=e[0],r=e[1],i=e[2],s=e[3],o=e[4],a=e[5],l=e[6],c=e[7],d=e[8],f=e[9],m=e[10],y=e[11],x=e[12],S=e[13],w=e[14],_=e[15],E=f*w*c-S*m*c+S*l*y-a*w*y-f*l*_+a*m*_,T=x*m*c-d*w*c-x*l*y+o*w*y+d*l*_-o*m*_,C=d*S*c-x*f*c+x*a*y-o*S*y-d*a*_+o*f*_,O=x*f*l-d*S*l-x*a*m+o*S*m+d*a*w-o*f*w,N=n*E+r*T+i*C+s*O;if(N===0)return this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);const D=1/N;return e[0]=E*D,e[1]=(S*m*s-f*w*s-S*i*y+r*w*y+f*i*_-r*m*_)*D,e[2]=(a*w*s-S*l*s+S*i*c-r*w*c-a*i*_+r*l*_)*D,e[3]=(f*l*s-a*m*s-f*i*c+r*m*c+a*i*y-r*l*y)*D,e[4]=T*D,e[5]=(d*w*s-x*m*s+x*i*y-n*w*y-d*i*_+n*m*_)*D,e[6]=(x*l*s-o*w*s-x*i*c+n*w*c+o*i*_-n*l*_)*D,e[7]=(o*m*s-d*l*s+d*i*c-n*m*c-o*i*y+n*l*y)*D,e[8]=C*D,e[9]=(x*f*s-d*S*s-x*r*y+n*S*y+d*r*_-n*f*_)*D,e[10]=(o*S*s-x*a*s+x*r*c-n*S*c-o*r*_+n*a*_)*D,e[11]=(d*a*s-o*f*s-d*r*c+n*f*c+o*r*y-n*a*y)*D,e[12]=O*D,e[13]=(d*S*i-x*f*i+x*r*m-n*S*m-d*r*w+n*f*w)*D,e[14]=(x*a*i-o*S*i-x*r*l+n*S*l+o*r*w-n*a*w)*D,e[15]=(o*f*i-d*a*i+d*r*l-n*f*l-o*r*m+n*a*m)*D,this}scale(e){const n=this.elements,r=e.x,i=e.y,s=e.z;return n[0]*=r,n[4]*=i,n[8]*=s,n[1]*=r,n[5]*=i,n[9]*=s,n[2]*=r,n[6]*=i,n[10]*=s,n[3]*=r,n[7]*=i,n[11]*=s,this}getMaxScaleOnAxis(){const e=this.elements,n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],r=e[4]*e[4]+e[5]*e[5]+e[6]*e[6],i=e[8]*e[8]+e[9]*e[9]+e[10]*e[10];return Math.sqrt(Math.max(n,r,i))}makeTranslation(e,n,r){return e.isVector3?this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1):this.set(1,0,0,e,0,1,0,n,0,0,1,r,0,0,0,1),this}makeRotationX(e){const n=Math.cos(e),r=Math.sin(e);return this.set(1,0,0,0,0,n,-r,0,0,r,n,0,0,0,0,1),this}makeRotationY(e){const n=Math.cos(e),r=Math.sin(e);return this.set(n,0,r,0,0,1,0,0,-r,0,n,0,0,0,0,1),this}makeRotationZ(e){const n=Math.cos(e),r=Math.sin(e);return this.set(n,-r,0,0,r,n,0,0,0,0,1,0,0,0,0,1),this}makeRotationAxis(e,n){const r=Math.cos(n),i=Math.sin(n),s=1-r,o=e.x,a=e.y,l=e.z,c=s*o,d=s*a;return this.set(c*o+r,c*a-i*l,c*l+i*a,0,c*a+i*l,d*a+r,d*l-i*o,0,c*l-i*a,d*l+i*o,s*l*l+r,0,0,0,0,1),this}makeScale(e,n,r){return this.set(e,0,0,0,0,n,0,0,0,0,r,0,0,0,0,1),this}makeShear(e,n,r,i,s,o){return this.set(1,r,s,0,e,1,o,0,n,i,1,0,0,0,0,1),this}compose(e,n,r){const i=this.elements,s=n._x,o=n._y,a=n._z,l=n._w,c=s+s,d=o+o,f=a+a,m=s*c,y=s*d,x=s*f,S=o*d,w=o*f,_=a*f,E=l*c,T=l*d,C=l*f,O=r.x,N=r.y,D=r.z;return i[0]=(1-(S+_))*O,i[1]=(y+C)*O,i[2]=(x-T)*O,i[3]=0,i[4]=(y-C)*N,i[5]=(1-(m+_))*N,i[6]=(w+E)*N,i[7]=0,i[8]=(x+T)*D,i[9]=(w-E)*D,i[10]=(1-(m+S))*D,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,this}decompose(e,n,r){const i=this.elements;let s=ym.set(i[0],i[1],i[2]).length();const o=ym.set(i[4],i[5],i[6]).length(),a=ym.set(i[8],i[9],i[10]).length();this.determinant()<0&&(s=-s),e.x=i[12],e.y=i[13],e.z=i[14],Ra.copy(this);const c=1/s,d=1/o,f=1/a;return Ra.elements[0]*=c,Ra.elements[1]*=c,Ra.elements[2]*=c,Ra.elements[4]*=d,Ra.elements[5]*=d,Ra.elements[6]*=d,Ra.elements[8]*=f,Ra.elements[9]*=f,Ra.elements[10]*=f,n.setFromRotationMatrix(Ra),r.x=s,r.y=o,r.z=a,this}makePerspective(e,n,r,i,s,o,a=Ml){const l=this.elements,c=2*s/(n-e),d=2*s/(r-i),f=(n+e)/(n-e),m=(r+i)/(r-i);let y,x;if(a===Ml)y=-(o+s)/(o-s),x=-2*o*s/(o-s);else if(a===ky)y=-o/(o-s),x=-o*s/(o-s);else throw new Error("THREE.Matrix4.makePerspective(): Invalid coordinate system: "+a);return l[0]=c,l[4]=0,l[8]=f,l[12]=0,l[1]=0,l[5]=d,l[9]=m,l[13]=0,l[2]=0,l[6]=0,l[10]=y,l[14]=x,l[3]=0,l[7]=0,l[11]=-1,l[15]=0,this}makeOrthographic(e,n,r,i,s,o,a=Ml){const l=this.elements,c=1/(n-e),d=1/(r-i),f=1/(o-s),m=(n+e)*c,y=(r+i)*d;let x,S;if(a===Ml)x=(o+s)*f,S=-2*f;else if(a===ky)x=s*f,S=-1*f;else throw new Error("THREE.Matrix4.makeOrthographic(): Invalid coordinate system: "+a);return l[0]=2*c,l[4]=0,l[8]=0,l[12]=-m,l[1]=0,l[5]=2*d,l[9]=0,l[13]=-y,l[2]=0,l[6]=0,l[10]=S,l[14]=-x,l[3]=0,l[7]=0,l[11]=0,l[15]=1,this}equals(e){const n=this.elements,r=e.elements;for(let i=0;i<16;i++)if(n[i]!==r[i])return!1;return!0}fromArray(e,n=0){for(let r=0;r<16;r++)this.elements[r]=e[r+n];return this}toArray(e=[],n=0){const r=this.elements;return e[n]=r[0],e[n+1]=r[1],e[n+2]=r[2],e[n+3]=r[3],e[n+4]=r[4],e[n+5]=r[5],e[n+6]=r[6],e[n+7]=r[7],e[n+8]=r[8],e[n+9]=r[9],e[n+10]=r[10],e[n+11]=r[11],e[n+12]=r[12],e[n+13]=r[13],e[n+14]=r[14],e[n+15]=r[15],e}}const ym=new X,Ra=new Rt,Qhe=new X(0,0,0),Jhe=new X(1,1,1),Yu=new X,Gb=new X,ho=new X,X3=new Rt,q3=new Kt;class as{constructor(e=0,n=0,r=0,i=as.DEFAULT_ORDER){this.isEuler=!0,this._x=e,this._y=n,this._z=r,this._order=i}get x(){return this._x}set x(e){this._x=e,this._onChangeCallback()}get y(){return this._y}set y(e){this._y=e,this._onChangeCallback()}get z(){return this._z}set z(e){this._z=e,this._onChangeCallback()}get order(){return this._order}set order(e){this._order=e,this._onChangeCallback()}set(e,n,r,i=this._order){return this._x=e,this._y=n,this._z=r,this._order=i,this._onChangeCallback(),this}clone(){return new this.constructor(this._x,this._y,this._z,this._order)}copy(e){return this._x=e._x,this._y=e._y,this._z=e._z,this._order=e._order,this._onChangeCallback(),this}setFromRotationMatrix(e,n=this._order,r=!0){const i=e.elements,s=i[0],o=i[4],a=i[8],l=i[1],c=i[5],d=i[9],f=i[2],m=i[6],y=i[10];switch(n){case"XYZ":this._y=Math.asin(Ar(a,-1,1)),Math.abs(a)<.9999999?(this._x=Math.atan2(-d,y),this._z=Math.atan2(-o,s)):(this._x=Math.atan2(m,c),this._z=0);break;case"YXZ":this._x=Math.asin(-Ar(d,-1,1)),Math.abs(d)<.9999999?(this._y=Math.atan2(a,y),this._z=Math.atan2(l,c)):(this._y=Math.atan2(-f,s),this._z=0);break;case"ZXY":this._x=Math.asin(Ar(m,-1,1)),Math.abs(m)<.9999999?(this._y=Math.atan2(-f,y),this._z=Math.atan2(-o,c)):(this._y=0,this._z=Math.atan2(l,s));break;case"ZYX":this._y=Math.asin(-Ar(f,-1,1)),Math.abs(f)<.9999999?(this._x=Math.atan2(m,y),this._z=Math.atan2(l,s)):(this._x=0,this._z=Math.atan2(-o,c));break;case"YZX":this._z=Math.asin(Ar(l,-1,1)),Math.abs(l)<.9999999?(this._x=Math.atan2(-d,c),this._y=Math.atan2(-f,s)):(this._x=0,this._y=Math.atan2(a,y));break;case"XZY":this._z=Math.asin(-Ar(o,-1,1)),Math.abs(o)<.9999999?(this._x=Math.atan2(m,c),this._y=Math.atan2(a,s)):(this._x=Math.atan2(-d,y),this._y=0);break;default:console.warn("THREE.Euler: .setFromRotationMatrix() encountered an unknown order: "+n)}return this._order=n,r===!0&&this._onChangeCallback(),this}setFromQuaternion(e,n,r){return X3.makeRotationFromQuaternion(e),this.setFromRotationMatrix(X3,n,r)}setFromVector3(e,n=this._order){return this.set(e.x,e.y,e.z,n)}reorder(e){return q3.setFromEuler(this),this.setFromQuaternion(q3,e)}equals(e){return e._x===this._x&&e._y===this._y&&e._z===this._z&&e._order===this._order}fromArray(e){return this._x=e[0],this._y=e[1],this._z=e[2],e[3]!==void 0&&(this._order=e[3]),this._onChangeCallback(),this}toArray(e=[],n=0){return e[n]=this._x,e[n+1]=this._y,e[n+2]=this._z,e[n+3]=this._order,e}_onChange(e){return this._onChangeCallback=e,this}_onChangeCallback(){}*[Symbol.iterator](){yield this._x,yield this._y,yield this._z,yield this._order}}as.DEFAULT_ORDER="XYZ";class Th{constructor(){this.mask=1}set(e){this.mask=(1<>>0}enable(e){this.mask|=1<1){for(let n=0;n1){for(let r=0;r0&&(i.userData=this.userData),i.layers=this.layers.mask,i.matrix=this.matrix.toArray(),i.up=this.up.toArray(),this.matrixAutoUpdate===!1&&(i.matrixAutoUpdate=!1),this.isInstancedMesh&&(i.type="InstancedMesh",i.count=this.count,i.instanceMatrix=this.instanceMatrix.toJSON(),this.instanceColor!==null&&(i.instanceColor=this.instanceColor.toJSON())),this.isBatchedMesh&&(i.type="BatchedMesh",i.perObjectFrustumCulled=this.perObjectFrustumCulled,i.sortObjects=this.sortObjects,i.drawRanges=this._drawRanges,i.reservedRanges=this._reservedRanges,i.visibility=this._visibility,i.active=this._active,i.bounds=this._bounds.map(a=>({boxInitialized:a.boxInitialized,boxMin:a.box.min.toArray(),boxMax:a.box.max.toArray(),sphereInitialized:a.sphereInitialized,sphereRadius:a.sphere.radius,sphereCenter:a.sphere.center.toArray()})),i.maxInstanceCount=this._maxInstanceCount,i.maxVertexCount=this._maxVertexCount,i.maxIndexCount=this._maxIndexCount,i.geometryInitialized=this._geometryInitialized,i.geometryCount=this._geometryCount,i.matricesTexture=this._matricesTexture.toJSON(e),this._colorsTexture!==null&&(i.colorsTexture=this._colorsTexture.toJSON(e)),this.boundingSphere!==null&&(i.boundingSphere={center:i.boundingSphere.center.toArray(),radius:i.boundingSphere.radius}),this.boundingBox!==null&&(i.boundingBox={min:i.boundingBox.min.toArray(),max:i.boundingBox.max.toArray()}));function s(a,l){return a[l.uuid]===void 0&&(a[l.uuid]=l.toJSON(e)),l.uuid}if(this.isScene)this.background&&(this.background.isColor?i.background=this.background.toJSON():this.background.isTexture&&(i.background=this.background.toJSON(e).uuid)),this.environment&&this.environment.isTexture&&this.environment.isRenderTargetTexture!==!0&&(i.environment=this.environment.toJSON(e).uuid);else if(this.isMesh||this.isLine||this.isPoints){i.geometry=s(e.geometries,this.geometry);const a=this.geometry.parameters;if(a!==void 0&&a.shapes!==void 0){const l=a.shapes;if(Array.isArray(l))for(let c=0,d=l.length;c0){i.children=[];for(let a=0;a0){i.animations=[];for(let a=0;a0&&(r.geometries=a),l.length>0&&(r.materials=l),c.length>0&&(r.textures=c),d.length>0&&(r.images=d),f.length>0&&(r.shapes=f),m.length>0&&(r.skeletons=m),y.length>0&&(r.animations=y),x.length>0&&(r.nodes=x)}return r.object=i,r;function o(a){const l=[];for(const c in a){const d=a[c];delete d.metadata,l.push(d)}return l}}clone(e){return new this.constructor().copy(this,e)}copy(e,n=!0){if(this.name=e.name,this.up.copy(e.up),this.position.copy(e.position),this.rotation.order=e.rotation.order,this.quaternion.copy(e.quaternion),this.scale.copy(e.scale),this.matrix.copy(e.matrix),this.matrixWorld.copy(e.matrixWorld),this.matrixAutoUpdate=e.matrixAutoUpdate,this.matrixWorldAutoUpdate=e.matrixWorldAutoUpdate,this.matrixWorldNeedsUpdate=e.matrixWorldNeedsUpdate,this.layers.mask=e.layers.mask,this.visible=e.visible,this.castShadow=e.castShadow,this.receiveShadow=e.receiveShadow,this.frustumCulled=e.frustumCulled,this.renderOrder=e.renderOrder,this.animations=e.animations.slice(),this.userData=JSON.parse(JSON.stringify(e.userData)),n===!0)for(let r=0;r0?i.multiplyScalar(1/Math.sqrt(s)):i.set(0,0,0)}static getBarycoord(e,n,r,i,s){Na.subVectors(i,n),Tc.subVectors(r,n),sA.subVectors(e,n);const o=Na.dot(Na),a=Na.dot(Tc),l=Na.dot(sA),c=Tc.dot(Tc),d=Tc.dot(sA),f=o*c-a*a;if(f===0)return s.set(0,0,0),null;const m=1/f,y=(c*l-a*d)*m,x=(o*d-a*l)*m;return s.set(1-y-x,x,y)}static containsPoint(e,n,r,i){return this.getBarycoord(e,n,r,i,Cc)===null?!1:Cc.x>=0&&Cc.y>=0&&Cc.x+Cc.y<=1}static getInterpolation(e,n,r,i,s,o,a,l){return this.getBarycoord(e,n,r,i,Cc)===null?(l.x=0,l.y=0,"z"in l&&(l.z=0),"w"in l&&(l.w=0),null):(l.setScalar(0),l.addScaledVector(s,Cc.x),l.addScaledVector(o,Cc.y),l.addScaledVector(a,Cc.z),l)}static getInterpolatedAttribute(e,n,r,i,s,o){return cA.setScalar(0),uA.setScalar(0),dA.setScalar(0),cA.fromBufferAttribute(e,n),uA.fromBufferAttribute(e,r),dA.fromBufferAttribute(e,i),o.setScalar(0),o.addScaledVector(cA,s.x),o.addScaledVector(uA,s.y),o.addScaledVector(dA,s.z),o}static isFrontFacing(e,n,r,i){return Na.subVectors(r,n),Tc.subVectors(e,n),Na.cross(Tc).dot(i)<0}set(e,n,r){return this.a.copy(e),this.b.copy(n),this.c.copy(r),this}setFromPointsAndIndices(e,n,r,i){return this.a.copy(e[n]),this.b.copy(e[r]),this.c.copy(e[i]),this}setFromAttributeAndIndices(e,n,r,i){return this.a.fromBufferAttribute(e,n),this.b.fromBufferAttribute(e,r),this.c.fromBufferAttribute(e,i),this}clone(){return new this.constructor().copy(this)}copy(e){return this.a.copy(e.a),this.b.copy(e.b),this.c.copy(e.c),this}getArea(){return Na.subVectors(this.c,this.b),Tc.subVectors(this.a,this.b),Na.cross(Tc).length()*.5}getMidpoint(e){return e.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)}getNormal(e){return Ks.getNormal(this.a,this.b,this.c,e)}getPlane(e){return e.setFromCoplanarPoints(this.a,this.b,this.c)}getBarycoord(e,n){return Ks.getBarycoord(e,this.a,this.b,this.c,n)}getInterpolation(e,n,r,i,s){return Ks.getInterpolation(e,this.a,this.b,this.c,n,r,i,s)}containsPoint(e){return Ks.containsPoint(e,this.a,this.b,this.c)}isFrontFacing(e){return Ks.isFrontFacing(this.a,this.b,this.c,e)}intersectsBox(e){return e.intersectsTriangle(this)}closestPointToPoint(e,n){const r=this.a,i=this.b,s=this.c;let o,a;_m.subVectors(i,r),wm.subVectors(s,r),oA.subVectors(e,r);const l=_m.dot(oA),c=wm.dot(oA);if(l<=0&&c<=0)return n.copy(r);aA.subVectors(e,i);const d=_m.dot(aA),f=wm.dot(aA);if(d>=0&&f<=d)return n.copy(i);const m=l*f-d*c;if(m<=0&&l>=0&&d<=0)return o=l/(l-d),n.copy(r).addScaledVector(_m,o);lA.subVectors(e,s);const y=_m.dot(lA),x=wm.dot(lA);if(x>=0&&y<=x)return n.copy(s);const S=y*c-l*x;if(S<=0&&c>=0&&x<=0)return a=c/(c-x),n.copy(r).addScaledVector(wm,a);const w=d*x-y*f;if(w<=0&&f-d>=0&&y-x>=0)return eD.subVectors(s,i),a=(f-d)/(f-d+(y-x)),n.copy(i).addScaledVector(eD,a);const _=1/(w+S+m);return o=S*_,a=m*_,n.copy(r).addScaledVector(_m,o).addScaledVector(wm,a)}equals(e){return e.a.equals(this.a)&&e.b.equals(this.b)&&e.c.equals(this.c)}}const l6={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},Zu={h:0,s:0,l:0},$b={h:0,s:0,l:0};function fA(t,e,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?t+(e-t)*6*n:n<1/2?e:n<2/3?t+(e-t)*6*(2/3-n):t}class lt{constructor(e,n,r){return this.isColor=!0,this.r=1,this.g=1,this.b=1,this.set(e,n,r)}set(e,n,r){if(n===void 0&&r===void 0){const i=e;i&&i.isColor?this.copy(i):typeof i=="number"?this.setHex(i):typeof i=="string"&&this.setStyle(i)}else this.setRGB(e,n,r);return this}setScalar(e){return this.r=e,this.g=e,this.b=e,this}setHex(e,n=Ui){return e=Math.floor(e),this.r=(e>>16&255)/255,this.g=(e>>8&255)/255,this.b=(e&255)/255,In.toWorkingColorSpace(this,n),this}setRGB(e,n,r,i=In.workingColorSpace){return this.r=e,this.g=n,this.b=r,In.toWorkingColorSpace(this,i),this}setHSL(e,n,r,i=In.workingColorSpace){if(e=MR(e,1),n=Ar(n,0,1),r=Ar(r,0,1),n===0)this.r=this.g=this.b=r;else{const s=r<=.5?r*(1+n):r+n-r*n,o=2*r-s;this.r=fA(o,s,e+1/3),this.g=fA(o,s,e),this.b=fA(o,s,e-1/3)}return In.toWorkingColorSpace(this,i),this}setStyle(e,n=Ui){function r(s){s!==void 0&&parseFloat(s)<1&&console.warn("THREE.Color: Alpha component of "+e+" will be ignored.")}let i;if(i=/^(\w+)\(([^\)]*)\)/.exec(e)){let s;const o=i[1],a=i[2];switch(o){case"rgb":case"rgba":if(s=/^\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return r(s[4]),this.setRGB(Math.min(255,parseInt(s[1],10))/255,Math.min(255,parseInt(s[2],10))/255,Math.min(255,parseInt(s[3],10))/255,n);if(s=/^\s*(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return r(s[4]),this.setRGB(Math.min(100,parseInt(s[1],10))/100,Math.min(100,parseInt(s[2],10))/100,Math.min(100,parseInt(s[3],10))/100,n);break;case"hsl":case"hsla":if(s=/^\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\%\s*,\s*(\d*\.?\d+)\%\s*(?:,\s*(\d*\.?\d+)\s*)?$/.exec(a))return r(s[4]),this.setHSL(parseFloat(s[1])/360,parseFloat(s[2])/100,parseFloat(s[3])/100,n);break;default:console.warn("THREE.Color: Unknown color model "+e)}}else if(i=/^\#([A-Fa-f\d]+)$/.exec(e)){const s=i[1],o=s.length;if(o===3)return this.setRGB(parseInt(s.charAt(0),16)/15,parseInt(s.charAt(1),16)/15,parseInt(s.charAt(2),16)/15,n);if(o===6)return this.setHex(parseInt(s,16),n);console.warn("THREE.Color: Invalid hex color "+e)}else if(e&&e.length>0)return this.setColorName(e,n);return this}setColorName(e,n=Ui){const r=l6[e.toLowerCase()];return r!==void 0?this.setHex(r,n):console.warn("THREE.Color: Unknown color "+e),this}clone(){return new this.constructor(this.r,this.g,this.b)}copy(e){return this.r=e.r,this.g=e.g,this.b=e.b,this}copySRGBToLinear(e){return this.r=ig(e.r),this.g=ig(e.g),this.b=ig(e.b),this}copyLinearToSRGB(e){return this.r=YE(e.r),this.g=YE(e.g),this.b=YE(e.b),this}convertSRGBToLinear(){return this.copySRGBToLinear(this),this}convertLinearToSRGB(){return this.copyLinearToSRGB(this),this}getHex(e=Ui){return In.fromWorkingColorSpace(Ji.copy(this),e),Math.round(Ar(Ji.r*255,0,255))*65536+Math.round(Ar(Ji.g*255,0,255))*256+Math.round(Ar(Ji.b*255,0,255))}getHexString(e=Ui){return("000000"+this.getHex(e).toString(16)).slice(-6)}getHSL(e,n=In.workingColorSpace){In.fromWorkingColorSpace(Ji.copy(this),n);const r=Ji.r,i=Ji.g,s=Ji.b,o=Math.max(r,i,s),a=Math.min(r,i,s);let l,c;const d=(a+o)/2;if(a===o)l=0,c=0;else{const f=o-a;switch(c=d<=.5?f/(o+a):f/(2-o-a),o){case r:l=(i-s)/f+(i0!=e>0&&this.version++,this._alphaTest=e}onBeforeRender(){}onBeforeCompile(){}customProgramCacheKey(){return this.onBeforeCompile.toString()}setValues(e){if(e!==void 0)for(const n in e){const r=e[n];if(r===void 0){console.warn(`THREE.Material: parameter '${n}' has value of undefined.`);continue}const i=this[n];if(i===void 0){console.warn(`THREE.Material: '${n}' is not a property of THREE.${this.type}.`);continue}i&&i.isColor?i.set(r):i&&i.isVector3&&r&&r.isVector3?i.copy(r):this[n]=r}}toJSON(e){const n=e===void 0||typeof e=="string";n&&(e={textures:{},images:{}});const r={metadata:{version:4.6,type:"Material",generator:"Material.toJSON"}};r.uuid=this.uuid,r.type=this.type,this.name!==""&&(r.name=this.name),this.color&&this.color.isColor&&(r.color=this.color.getHex()),this.roughness!==void 0&&(r.roughness=this.roughness),this.metalness!==void 0&&(r.metalness=this.metalness),this.sheen!==void 0&&(r.sheen=this.sheen),this.sheenColor&&this.sheenColor.isColor&&(r.sheenColor=this.sheenColor.getHex()),this.sheenRoughness!==void 0&&(r.sheenRoughness=this.sheenRoughness),this.emissive&&this.emissive.isColor&&(r.emissive=this.emissive.getHex()),this.emissiveIntensity!==void 0&&this.emissiveIntensity!==1&&(r.emissiveIntensity=this.emissiveIntensity),this.specular&&this.specular.isColor&&(r.specular=this.specular.getHex()),this.specularIntensity!==void 0&&(r.specularIntensity=this.specularIntensity),this.specularColor&&this.specularColor.isColor&&(r.specularColor=this.specularColor.getHex()),this.shininess!==void 0&&(r.shininess=this.shininess),this.clearcoat!==void 0&&(r.clearcoat=this.clearcoat),this.clearcoatRoughness!==void 0&&(r.clearcoatRoughness=this.clearcoatRoughness),this.clearcoatMap&&this.clearcoatMap.isTexture&&(r.clearcoatMap=this.clearcoatMap.toJSON(e).uuid),this.clearcoatRoughnessMap&&this.clearcoatRoughnessMap.isTexture&&(r.clearcoatRoughnessMap=this.clearcoatRoughnessMap.toJSON(e).uuid),this.clearcoatNormalMap&&this.clearcoatNormalMap.isTexture&&(r.clearcoatNormalMap=this.clearcoatNormalMap.toJSON(e).uuid,r.clearcoatNormalScale=this.clearcoatNormalScale.toArray()),this.dispersion!==void 0&&(r.dispersion=this.dispersion),this.iridescence!==void 0&&(r.iridescence=this.iridescence),this.iridescenceIOR!==void 0&&(r.iridescenceIOR=this.iridescenceIOR),this.iridescenceThicknessRange!==void 0&&(r.iridescenceThicknessRange=this.iridescenceThicknessRange),this.iridescenceMap&&this.iridescenceMap.isTexture&&(r.iridescenceMap=this.iridescenceMap.toJSON(e).uuid),this.iridescenceThicknessMap&&this.iridescenceThicknessMap.isTexture&&(r.iridescenceThicknessMap=this.iridescenceThicknessMap.toJSON(e).uuid),this.anisotropy!==void 0&&(r.anisotropy=this.anisotropy),this.anisotropyRotation!==void 0&&(r.anisotropyRotation=this.anisotropyRotation),this.anisotropyMap&&this.anisotropyMap.isTexture&&(r.anisotropyMap=this.anisotropyMap.toJSON(e).uuid),this.map&&this.map.isTexture&&(r.map=this.map.toJSON(e).uuid),this.matcap&&this.matcap.isTexture&&(r.matcap=this.matcap.toJSON(e).uuid),this.alphaMap&&this.alphaMap.isTexture&&(r.alphaMap=this.alphaMap.toJSON(e).uuid),this.lightMap&&this.lightMap.isTexture&&(r.lightMap=this.lightMap.toJSON(e).uuid,r.lightMapIntensity=this.lightMapIntensity),this.aoMap&&this.aoMap.isTexture&&(r.aoMap=this.aoMap.toJSON(e).uuid,r.aoMapIntensity=this.aoMapIntensity),this.bumpMap&&this.bumpMap.isTexture&&(r.bumpMap=this.bumpMap.toJSON(e).uuid,r.bumpScale=this.bumpScale),this.normalMap&&this.normalMap.isTexture&&(r.normalMap=this.normalMap.toJSON(e).uuid,r.normalMapType=this.normalMapType,r.normalScale=this.normalScale.toArray()),this.displacementMap&&this.displacementMap.isTexture&&(r.displacementMap=this.displacementMap.toJSON(e).uuid,r.displacementScale=this.displacementScale,r.displacementBias=this.displacementBias),this.roughnessMap&&this.roughnessMap.isTexture&&(r.roughnessMap=this.roughnessMap.toJSON(e).uuid),this.metalnessMap&&this.metalnessMap.isTexture&&(r.metalnessMap=this.metalnessMap.toJSON(e).uuid),this.emissiveMap&&this.emissiveMap.isTexture&&(r.emissiveMap=this.emissiveMap.toJSON(e).uuid),this.specularMap&&this.specularMap.isTexture&&(r.specularMap=this.specularMap.toJSON(e).uuid),this.specularIntensityMap&&this.specularIntensityMap.isTexture&&(r.specularIntensityMap=this.specularIntensityMap.toJSON(e).uuid),this.specularColorMap&&this.specularColorMap.isTexture&&(r.specularColorMap=this.specularColorMap.toJSON(e).uuid),this.envMap&&this.envMap.isTexture&&(r.envMap=this.envMap.toJSON(e).uuid,this.combine!==void 0&&(r.combine=this.combine)),this.envMapRotation!==void 0&&(r.envMapRotation=this.envMapRotation.toArray()),this.envMapIntensity!==void 0&&(r.envMapIntensity=this.envMapIntensity),this.reflectivity!==void 0&&(r.reflectivity=this.reflectivity),this.refractionRatio!==void 0&&(r.refractionRatio=this.refractionRatio),this.gradientMap&&this.gradientMap.isTexture&&(r.gradientMap=this.gradientMap.toJSON(e).uuid),this.transmission!==void 0&&(r.transmission=this.transmission),this.transmissionMap&&this.transmissionMap.isTexture&&(r.transmissionMap=this.transmissionMap.toJSON(e).uuid),this.thickness!==void 0&&(r.thickness=this.thickness),this.thicknessMap&&this.thicknessMap.isTexture&&(r.thicknessMap=this.thicknessMap.toJSON(e).uuid),this.attenuationDistance!==void 0&&this.attenuationDistance!==1/0&&(r.attenuationDistance=this.attenuationDistance),this.attenuationColor!==void 0&&(r.attenuationColor=this.attenuationColor.getHex()),this.size!==void 0&&(r.size=this.size),this.shadowSide!==null&&(r.shadowSide=this.shadowSide),this.sizeAttenuation!==void 0&&(r.sizeAttenuation=this.sizeAttenuation),this.blending!==Mh&&(r.blending=this.blending),this.side!==Ul&&(r.side=this.side),this.vertexColors===!0&&(r.vertexColors=!0),this.opacity<1&&(r.opacity=this.opacity),this.transparent===!0&&(r.transparent=!0),this.blendSrc!==Jw&&(r.blendSrc=this.blendSrc),this.blendDst!==e1&&(r.blendDst=this.blendDst),this.blendEquation!==ud&&(r.blendEquation=this.blendEquation),this.blendSrcAlpha!==null&&(r.blendSrcAlpha=this.blendSrcAlpha),this.blendDstAlpha!==null&&(r.blendDstAlpha=this.blendDstAlpha),this.blendEquationAlpha!==null&&(r.blendEquationAlpha=this.blendEquationAlpha),this.blendColor&&this.blendColor.isColor&&(r.blendColor=this.blendColor.getHex()),this.blendAlpha!==0&&(r.blendAlpha=this.blendAlpha),this.depthFunc!==Uh&&(r.depthFunc=this.depthFunc),this.depthTest===!1&&(r.depthTest=this.depthTest),this.depthWrite===!1&&(r.depthWrite=this.depthWrite),this.colorWrite===!1&&(r.colorWrite=this.colorWrite),this.stencilWriteMask!==255&&(r.stencilWriteMask=this.stencilWriteMask),this.stencilFunc!==XC&&(r.stencilFunc=this.stencilFunc),this.stencilRef!==0&&(r.stencilRef=this.stencilRef),this.stencilFuncMask!==255&&(r.stencilFuncMask=this.stencilFuncMask),this.stencilFail!==Kf&&(r.stencilFail=this.stencilFail),this.stencilZFail!==Kf&&(r.stencilZFail=this.stencilZFail),this.stencilZPass!==Kf&&(r.stencilZPass=this.stencilZPass),this.stencilWrite===!0&&(r.stencilWrite=this.stencilWrite),this.rotation!==void 0&&this.rotation!==0&&(r.rotation=this.rotation),this.polygonOffset===!0&&(r.polygonOffset=!0),this.polygonOffsetFactor!==0&&(r.polygonOffsetFactor=this.polygonOffsetFactor),this.polygonOffsetUnits!==0&&(r.polygonOffsetUnits=this.polygonOffsetUnits),this.linewidth!==void 0&&this.linewidth!==1&&(r.linewidth=this.linewidth),this.dashSize!==void 0&&(r.dashSize=this.dashSize),this.gapSize!==void 0&&(r.gapSize=this.gapSize),this.scale!==void 0&&(r.scale=this.scale),this.dithering===!0&&(r.dithering=!0),this.alphaTest>0&&(r.alphaTest=this.alphaTest),this.alphaHash===!0&&(r.alphaHash=!0),this.alphaToCoverage===!0&&(r.alphaToCoverage=!0),this.premultipliedAlpha===!0&&(r.premultipliedAlpha=!0),this.forceSinglePass===!0&&(r.forceSinglePass=!0),this.wireframe===!0&&(r.wireframe=!0),this.wireframeLinewidth>1&&(r.wireframeLinewidth=this.wireframeLinewidth),this.wireframeLinecap!=="round"&&(r.wireframeLinecap=this.wireframeLinecap),this.wireframeLinejoin!=="round"&&(r.wireframeLinejoin=this.wireframeLinejoin),this.flatShading===!0&&(r.flatShading=!0),this.visible===!1&&(r.visible=!1),this.toneMapped===!1&&(r.toneMapped=!1),this.fog===!1&&(r.fog=!1),Object.keys(this.userData).length>0&&(r.userData=this.userData);function i(s){const o=[];for(const a in s){const l=s[a];delete l.metadata,o.push(l)}return o}if(n){const s=i(e.textures),o=i(e.images);s.length>0&&(r.textures=s),o.length>0&&(r.images=o)}return r}clone(){return new this.constructor().copy(this)}copy(e){this.name=e.name,this.blending=e.blending,this.side=e.side,this.vertexColors=e.vertexColors,this.opacity=e.opacity,this.transparent=e.transparent,this.blendSrc=e.blendSrc,this.blendDst=e.blendDst,this.blendEquation=e.blendEquation,this.blendSrcAlpha=e.blendSrcAlpha,this.blendDstAlpha=e.blendDstAlpha,this.blendEquationAlpha=e.blendEquationAlpha,this.blendColor.copy(e.blendColor),this.blendAlpha=e.blendAlpha,this.depthFunc=e.depthFunc,this.depthTest=e.depthTest,this.depthWrite=e.depthWrite,this.stencilWriteMask=e.stencilWriteMask,this.stencilFunc=e.stencilFunc,this.stencilRef=e.stencilRef,this.stencilFuncMask=e.stencilFuncMask,this.stencilFail=e.stencilFail,this.stencilZFail=e.stencilZFail,this.stencilZPass=e.stencilZPass,this.stencilWrite=e.stencilWrite;const n=e.clippingPlanes;let r=null;if(n!==null){const i=n.length;r=new Array(i);for(let s=0;s!==i;++s)r[s]=n[s].clone()}return this.clippingPlanes=r,this.clipIntersection=e.clipIntersection,this.clipShadows=e.clipShadows,this.shadowSide=e.shadowSide,this.colorWrite=e.colorWrite,this.precision=e.precision,this.polygonOffset=e.polygonOffset,this.polygonOffsetFactor=e.polygonOffsetFactor,this.polygonOffsetUnits=e.polygonOffsetUnits,this.dithering=e.dithering,this.alphaTest=e.alphaTest,this.alphaHash=e.alphaHash,this.alphaToCoverage=e.alphaToCoverage,this.premultipliedAlpha=e.premultipliedAlpha,this.forceSinglePass=e.forceSinglePass,this.visible=e.visible,this.toneMapped=e.toneMapped,this.userData=JSON.parse(JSON.stringify(e.userData)),this}dispose(){this.dispatchEvent({type:"dispose"})}set needsUpdate(e){e===!0&&this.version++}onBuild(){console.warn("Material: onBuild() has been removed.")}}class As extends Gr{constructor(e){super(),this.isMeshBasicMaterial=!0,this.type="MeshBasicMaterial",this.color=new lt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new as,this.combine=lx,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}const Uc=spe();function spe(){const t=new ArrayBuffer(4),e=new Float32Array(t),n=new Uint32Array(t),r=new Uint32Array(512),i=new Uint32Array(512);for(let l=0;l<256;++l){const c=l-127;c<-27?(r[l]=0,r[l|256]=32768,i[l]=24,i[l|256]=24):c<-14?(r[l]=1024>>-c-14,r[l|256]=1024>>-c-14|32768,i[l]=-c-1,i[l|256]=-c-1):c<=15?(r[l]=c+15<<10,r[l|256]=c+15<<10|32768,i[l]=13,i[l|256]=13):c<128?(r[l]=31744,r[l|256]=64512,i[l]=24,i[l|256]=24):(r[l]=31744,r[l|256]=64512,i[l]=13,i[l|256]=13)}const s=new Uint32Array(2048),o=new Uint32Array(64),a=new Uint32Array(64);for(let l=1;l<1024;++l){let c=l<<13,d=0;for(;(c&8388608)===0;)c<<=1,d-=8388608;c&=-8388609,d+=947912704,s[l]=c|d}for(let l=1024;l<2048;++l)s[l]=939524096+(l-1024<<13);for(let l=1;l<31;++l)o[l]=l<<23;o[31]=1199570944,o[32]=2147483648;for(let l=33;l<63;++l)o[l]=2147483648+(l-32<<23);o[63]=3347054592;for(let l=1;l<64;++l)l!==32&&(a[l]=1024);return{floatView:e,uint32View:n,baseTable:r,shiftTable:i,mantissaTable:s,exponentTable:o,offsetTable:a}}function $s(t){Math.abs(t)>65504&&console.warn("THREE.DataUtils.toHalfFloat(): Value out of range."),t=Ar(t,-65504,65504),Uc.floatView[0]=t;const e=Uc.uint32View[0],n=e>>23&511;return Uc.baseTable[n]+((e&8388607)>>Uc.shiftTable[n])}function V0(t){const e=t>>10;return Uc.uint32View[0]=Uc.mantissaTable[Uc.offsetTable[e]+(t&1023)]+Uc.exponentTable[e],Uc.floatView[0]}const ope={toHalfFloat:$s,fromHalfFloat:V0},Hr=new X,Xb=new Ve;class Jt{constructor(e,n,r=!1){if(Array.isArray(e))throw new TypeError("THREE.BufferAttribute: array should be a Typed Array.");this.isBufferAttribute=!0,this.name="",this.array=e,this.itemSize=n,this.count=e!==void 0?e.length/n:0,this.normalized=r,this.usage=Iy,this.updateRanges=[],this.gpuType=Qs,this.version=0}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.name=e.name,this.array=new e.array.constructor(e.array),this.itemSize=e.itemSize,this.count=e.count,this.normalized=e.normalized,this.usage=e.usage,this.gpuType=e.gpuType,this}copyAt(e,n,r){e*=this.itemSize,r*=n.itemSize;for(let i=0,s=this.itemSize;i0&&(e.userData=this.userData),this.parameters!==void 0){const l=this.parameters;for(const c in l)l[c]!==void 0&&(e[c]=l[c]);return e}e.data={attributes:{}};const n=this.index;n!==null&&(e.data.index={type:n.array.constructor.name,array:Array.prototype.slice.call(n.array)});const r=this.attributes;for(const l in r){const c=r[l];e.data.attributes[l]=c.toJSON(e.data)}const i={};let s=!1;for(const l in this.morphAttributes){const c=this.morphAttributes[l],d=[];for(let f=0,m=c.length;f0&&(i[l]=d,s=!0)}s&&(e.data.morphAttributes=i,e.data.morphTargetsRelative=this.morphTargetsRelative);const o=this.groups;o.length>0&&(e.data.groups=JSON.parse(JSON.stringify(o)));const a=this.boundingSphere;return a!==null&&(e.data.boundingSphere={center:a.center.toArray(),radius:a.radius}),e}clone(){return new this.constructor().copy(this)}copy(e){this.index=null,this.attributes={},this.morphAttributes={},this.groups=[],this.boundingBox=null,this.boundingSphere=null;const n={};this.name=e.name;const r=e.index;r!==null&&this.setIndex(r.clone(n));const i=e.attributes;for(const c in i){const d=i[c];this.setAttribute(c,d.clone(n))}const s=e.morphAttributes;for(const c in s){const d=[],f=s[c];for(let m=0,y=f.length;m0){const i=n[r[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;s(e.far-e.near)**2))&&(tD.copy(s).invert(),Pf.copy(e.ray).applyMatrix4(tD),!(r.boundingBox!==null&&Pf.intersectsBox(r.boundingBox)===!1)&&this._computeIntersections(e,n,Pf)))}_computeIntersections(e,n,r){let i;const s=this.geometry,o=this.material,a=s.index,l=s.attributes.position,c=s.attributes.uv,d=s.attributes.uv1,f=s.attributes.normal,m=s.groups,y=s.drawRange;if(a!==null)if(Array.isArray(o))for(let x=0,S=m.length;xn.far?null:{distance:c,point:Jb.clone(),object:t}}function e_(t,e,n,r,i,s,o,a,l,c){t.getVertexPosition(a,Kb),t.getVertexPosition(l,Yb),t.getVertexPosition(c,Zb);const d=ppe(t,e,n,r,Kb,Yb,Zb,rD);if(d){const f=new X;Ks.getBarycoord(rD,Kb,Yb,Zb,f),i&&(d.uv=Ks.getInterpolatedAttribute(i,a,l,c,f,new Ve)),s&&(d.uv1=Ks.getInterpolatedAttribute(s,a,l,c,f,new Ve)),o&&(d.normal=Ks.getInterpolatedAttribute(o,a,l,c,f,new X),d.normal.dot(r.direction)>0&&d.normal.multiplyScalar(-1));const m={a,b:l,c,normal:new X,materialIndex:0};Ks.getNormal(Kb,Yb,Zb,m.normal),d.face=m,d.barycoord=f}return d}class tp extends Qt{constructor(e=1,n=1,r=1,i=1,s=1,o=1){super(),this.type="BoxGeometry",this.parameters={width:e,height:n,depth:r,widthSegments:i,heightSegments:s,depthSegments:o};const a=this;i=Math.floor(i),s=Math.floor(s),o=Math.floor(o);const l=[],c=[],d=[],f=[];let m=0,y=0;x("z","y","x",-1,-1,r,n,e,o,s,0),x("z","y","x",1,-1,r,n,-e,o,s,1),x("x","z","y",1,1,e,r,n,i,o,2),x("x","z","y",1,-1,e,r,-n,i,o,3),x("x","y","z",1,-1,e,n,r,i,s,4),x("x","y","z",-1,-1,e,n,-r,i,s,5),this.setIndex(l),this.setAttribute("position",new Lt(c,3)),this.setAttribute("normal",new Lt(d,3)),this.setAttribute("uv",new Lt(f,2));function x(S,w,_,E,T,C,O,N,D,F,G){const k=C/D,U=O/F,H=C/2,ne=O/2,te=N/2,he=D+1,oe=F+1;let fe=0,B=0;const J=new X;for(let Y=0;Y0?1:-1,d.push(J.x,J.y,J.z),f.push(q/D),f.push(1-Y/F),fe+=1}}for(let Y=0;Y0&&(n.defines=this.defines),n.vertexShader=this.vertexShader,n.fragmentShader=this.fragmentShader,n.lights=this.lights,n.clipping=this.clipping;const r={};for(const i in this.extensions)this.extensions[i]===!0&&(r[i]=!0);return Object.keys(r).length>0&&(n.extensions=r),n}}class dx extends mn{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Pt,this.projectionMatrix=new Pt,this.projectionMatrixInverse=new Pt,this.coordinateSystem=Ml}copy(e,n){return super.copy(e,n),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,n){super.updateWorldMatrix(e,n),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const Qu=new X,iD=new Ge,sD=new Ge;class Tr extends dx{constructor(e=50,n=1,r=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=r,this.far=i,this.focus=10,this.aspect=n,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const n=.5*this.getFilmHeight()/e;this.fov=jg*2*Math.atan(n),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(Eh*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return jg*2*Math.atan(Math.tan(Eh*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,n,r){Qu.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(Qu.x,Qu.y).multiplyScalar(-e/Qu.z),Qu.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),r.set(Qu.x,Qu.y).multiplyScalar(-e/Qu.z)}getViewSize(e,n){return this.getViewBounds(e,iD,sD),n.subVectors(sD,iD)}setViewOffset(e,n,r,i,s,o){this.aspect=e/n,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=r,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let n=e*Math.tan(Eh*.5*this.fov)/this.zoom,r=2*n,i=this.aspect*r,s=-.5*i;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,c=o.fullHeight;s+=o.offsetX*i/l,n-=o.offsetY*r/c,i*=o.width/l,r*=o.height/c}const a=this.filmOffset;a!==0&&(s+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+i,n,n-r,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.fov=this.fov,n.object.zoom=this.zoom,n.object.near=this.near,n.object.far=this.far,n.object.focus=this.focus,n.object.aspect=this.aspect,this.view!==null&&(n.object.view=Object.assign({},this.view)),n.object.filmGauge=this.filmGauge,n.object.filmOffset=this.filmOffset,n}}const Sm=-90,Mm=1;class u6 extends mn{constructor(e,n,r){super(),this.type="CubeCamera",this.renderTarget=r,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new Tr(Sm,Mm,e,n);i.layers=this.layers,this.add(i);const s=new Tr(Sm,Mm,e,n);s.layers=this.layers,this.add(s);const o=new Tr(Sm,Mm,e,n);o.layers=this.layers,this.add(o);const a=new Tr(Sm,Mm,e,n);a.layers=this.layers,this.add(a);const l=new Tr(Sm,Mm,e,n);l.layers=this.layers,this.add(l);const c=new Tr(Sm,Mm,e,n);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,n=this.children.concat(),[r,i,s,o,a,l]=n;for(const c of n)this.remove(c);if(e===Ml)r.up.set(0,1,0),r.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===ky)r.up.set(0,-1,0),r.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of n)this.add(c),c.updateMatrixWorld()}update(e,n){this.parent===null&&this.updateMatrixWorld();const{renderTarget:r,activeMipmapLevel:i}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,o,a,l,c,d]=this.children,f=e.getRenderTarget(),m=e.getActiveCubeFace(),y=e.getActiveMipmapLevel(),x=e.xr.enabled;e.xr.enabled=!1;const S=r.texture.generateMipmaps;r.texture.generateMipmaps=!1,e.setRenderTarget(r,0,i),e.render(n,s),e.setRenderTarget(r,1,i),e.render(n,o),e.setRenderTarget(r,2,i),e.render(n,a),e.setRenderTarget(r,3,i),e.render(n,l),e.setRenderTarget(r,4,i),e.render(n,c),r.texture.generateMipmaps=S,e.setRenderTarget(r,5,i),e.render(n,d),e.setRenderTarget(f,m,y),e.xr.enabled=x,r.texture.needsPMREMUpdate=!0}}class fx extends dr{constructor(e,n,r,i,s,o,a,l,c,d){e=e!==void 0?e:[],n=n!==void 0?n:Jc,super(e,n,r,i,s,o,a,l,c,d),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class d6 extends Va{constructor(e=1,n={}){super(e,e,n),this.isWebGLCubeRenderTarget=!0;const r={width:e,height:e,depth:1},i=[r,r,r,r,r,r];this.texture=new fx(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:Cr}fromEquirectangularTexture(e,n){this.texture.type=n.type,this.texture.colorSpace=n.colorSpace,this.texture.generateMipmaps=n.generateMipmaps,this.texture.minFilter=n.minFilter,this.texture.magFilter=n.magFilter;const r={uniforms:{tEquirect:{value:null}},vertexShader:` +}`;class Qo extends Gr{constructor(e){super(),this.isShaderMaterial=!0,this.type="ShaderMaterial",this.defines={},this.uniforms={},this.uniformsGroups=[],this.vertexShader=gpe,this.fragmentShader=vpe,this.linewidth=1,this.wireframe=!1,this.wireframeLinewidth=1,this.fog=!1,this.lights=!1,this.clipping=!1,this.forceSinglePass=!0,this.extensions={clipCullDistance:!1,multiDraw:!1},this.defaultAttributeValues={color:[1,1,1],uv:[0,0],uv1:[0,0]},this.index0AttributeName=void 0,this.uniformsNeedUpdate=!1,this.glslVersion=null,e!==void 0&&this.setValues(e)}copy(e){return super.copy(e),this.fragmentShader=e.fragmentShader,this.vertexShader=e.vertexShader,this.uniforms=Ug(e.uniforms),this.uniformsGroups=mpe(e.uniformsGroups),this.defines=Object.assign({},e.defines),this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.fog=e.fog,this.lights=e.lights,this.clipping=e.clipping,this.extensions=Object.assign({},e.extensions),this.glslVersion=e.glslVersion,this}toJSON(e){const n=super.toJSON(e);n.glslVersion=this.glslVersion,n.uniforms={};for(const i in this.uniforms){const o=this.uniforms[i].value;o&&o.isTexture?n.uniforms[i]={type:"t",value:o.toJSON(e).uuid}:o&&o.isColor?n.uniforms[i]={type:"c",value:o.getHex()}:o&&o.isVector2?n.uniforms[i]={type:"v2",value:o.toArray()}:o&&o.isVector3?n.uniforms[i]={type:"v3",value:o.toArray()}:o&&o.isVector4?n.uniforms[i]={type:"v4",value:o.toArray()}:o&&o.isMatrix3?n.uniforms[i]={type:"m3",value:o.toArray()}:o&&o.isMatrix4?n.uniforms[i]={type:"m4",value:o.toArray()}:n.uniforms[i]={value:o}}Object.keys(this.defines).length>0&&(n.defines=this.defines),n.vertexShader=this.vertexShader,n.fragmentShader=this.fragmentShader,n.lights=this.lights,n.clipping=this.clipping;const r={};for(const i in this.extensions)this.extensions[i]===!0&&(r[i]=!0);return Object.keys(r).length>0&&(n.extensions=r),n}}class dx extends mn{constructor(){super(),this.isCamera=!0,this.type="Camera",this.matrixWorldInverse=new Rt,this.projectionMatrix=new Rt,this.projectionMatrixInverse=new Rt,this.coordinateSystem=Ml}copy(e,n){return super.copy(e,n),this.matrixWorldInverse.copy(e.matrixWorldInverse),this.projectionMatrix.copy(e.projectionMatrix),this.projectionMatrixInverse.copy(e.projectionMatrixInverse),this.coordinateSystem=e.coordinateSystem,this}getWorldDirection(e){return super.getWorldDirection(e).negate()}updateMatrixWorld(e){super.updateMatrixWorld(e),this.matrixWorldInverse.copy(this.matrixWorld).invert()}updateWorldMatrix(e,n){super.updateWorldMatrix(e,n),this.matrixWorldInverse.copy(this.matrixWorld).invert()}clone(){return new this.constructor().copy(this)}}const Qu=new X,iD=new Ve,sD=new Ve;class Tr extends dx{constructor(e=50,n=1,r=.1,i=2e3){super(),this.isPerspectiveCamera=!0,this.type="PerspectiveCamera",this.fov=e,this.zoom=1,this.near=r,this.far=i,this.focus=10,this.aspect=n,this.view=null,this.filmGauge=35,this.filmOffset=0,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.fov=e.fov,this.zoom=e.zoom,this.near=e.near,this.far=e.far,this.focus=e.focus,this.aspect=e.aspect,this.view=e.view===null?null:Object.assign({},e.view),this.filmGauge=e.filmGauge,this.filmOffset=e.filmOffset,this}setFocalLength(e){const n=.5*this.getFilmHeight()/e;this.fov=jg*2*Math.atan(n),this.updateProjectionMatrix()}getFocalLength(){const e=Math.tan(Ah*.5*this.fov);return .5*this.getFilmHeight()/e}getEffectiveFOV(){return jg*2*Math.atan(Math.tan(Ah*.5*this.fov)/this.zoom)}getFilmWidth(){return this.filmGauge*Math.min(this.aspect,1)}getFilmHeight(){return this.filmGauge/Math.max(this.aspect,1)}getViewBounds(e,n,r){Qu.set(-1,-1,.5).applyMatrix4(this.projectionMatrixInverse),n.set(Qu.x,Qu.y).multiplyScalar(-e/Qu.z),Qu.set(1,1,.5).applyMatrix4(this.projectionMatrixInverse),r.set(Qu.x,Qu.y).multiplyScalar(-e/Qu.z)}getViewSize(e,n){return this.getViewBounds(e,iD,sD),n.subVectors(sD,iD)}setViewOffset(e,n,r,i,s,o){this.aspect=e/n,this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=r,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=this.near;let n=e*Math.tan(Ah*.5*this.fov)/this.zoom,r=2*n,i=this.aspect*r,s=-.5*i;const o=this.view;if(this.view!==null&&this.view.enabled){const l=o.fullWidth,c=o.fullHeight;s+=o.offsetX*i/l,n-=o.offsetY*r/c,i*=o.width/l,r*=o.height/c}const a=this.filmOffset;a!==0&&(s+=e*a/this.getFilmWidth()),this.projectionMatrix.makePerspective(s,s+i,n,n-r,e,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.fov=this.fov,n.object.zoom=this.zoom,n.object.near=this.near,n.object.far=this.far,n.object.focus=this.focus,n.object.aspect=this.aspect,this.view!==null&&(n.object.view=Object.assign({},this.view)),n.object.filmGauge=this.filmGauge,n.object.filmOffset=this.filmOffset,n}}const Mm=-90,Em=1;class u6 extends mn{constructor(e,n,r){super(),this.type="CubeCamera",this.renderTarget=r,this.coordinateSystem=null,this.activeMipmapLevel=0;const i=new Tr(Mm,Em,e,n);i.layers=this.layers,this.add(i);const s=new Tr(Mm,Em,e,n);s.layers=this.layers,this.add(s);const o=new Tr(Mm,Em,e,n);o.layers=this.layers,this.add(o);const a=new Tr(Mm,Em,e,n);a.layers=this.layers,this.add(a);const l=new Tr(Mm,Em,e,n);l.layers=this.layers,this.add(l);const c=new Tr(Mm,Em,e,n);c.layers=this.layers,this.add(c)}updateCoordinateSystem(){const e=this.coordinateSystem,n=this.children.concat(),[r,i,s,o,a,l]=n;for(const c of n)this.remove(c);if(e===Ml)r.up.set(0,1,0),r.lookAt(1,0,0),i.up.set(0,1,0),i.lookAt(-1,0,0),s.up.set(0,0,-1),s.lookAt(0,1,0),o.up.set(0,0,1),o.lookAt(0,-1,0),a.up.set(0,1,0),a.lookAt(0,0,1),l.up.set(0,1,0),l.lookAt(0,0,-1);else if(e===ky)r.up.set(0,-1,0),r.lookAt(-1,0,0),i.up.set(0,-1,0),i.lookAt(1,0,0),s.up.set(0,0,1),s.lookAt(0,1,0),o.up.set(0,0,-1),o.lookAt(0,-1,0),a.up.set(0,-1,0),a.lookAt(0,0,1),l.up.set(0,-1,0),l.lookAt(0,0,-1);else throw new Error("THREE.CubeCamera.updateCoordinateSystem(): Invalid coordinate system: "+e);for(const c of n)this.add(c),c.updateMatrixWorld()}update(e,n){this.parent===null&&this.updateMatrixWorld();const{renderTarget:r,activeMipmapLevel:i}=this;this.coordinateSystem!==e.coordinateSystem&&(this.coordinateSystem=e.coordinateSystem,this.updateCoordinateSystem());const[s,o,a,l,c,d]=this.children,f=e.getRenderTarget(),m=e.getActiveCubeFace(),y=e.getActiveMipmapLevel(),x=e.xr.enabled;e.xr.enabled=!1;const S=r.texture.generateMipmaps;r.texture.generateMipmaps=!1,e.setRenderTarget(r,0,i),e.render(n,s),e.setRenderTarget(r,1,i),e.render(n,o),e.setRenderTarget(r,2,i),e.render(n,a),e.setRenderTarget(r,3,i),e.render(n,l),e.setRenderTarget(r,4,i),e.render(n,c),r.texture.generateMipmaps=S,e.setRenderTarget(r,5,i),e.render(n,d),e.setRenderTarget(f,m,y),e.xr.enabled=x,r.texture.needsPMREMUpdate=!0}}class fx extends dr{constructor(e,n,r,i,s,o,a,l,c,d){e=e!==void 0?e:[],n=n!==void 0?n:Jc,super(e,n,r,i,s,o,a,l,c,d),this.isCubeTexture=!0,this.flipY=!1}get images(){return this.image}set images(e){this.image=e}}class d6 extends Va{constructor(e=1,n={}){super(e,e,n),this.isWebGLCubeRenderTarget=!0;const r={width:e,height:e,depth:1},i=[r,r,r,r,r,r];this.texture=new fx(i,n.mapping,n.wrapS,n.wrapT,n.magFilter,n.minFilter,n.format,n.type,n.anisotropy,n.colorSpace),this.texture.isRenderTargetTexture=!0,this.texture.generateMipmaps=n.generateMipmaps!==void 0?n.generateMipmaps:!1,this.texture.minFilter=n.minFilter!==void 0?n.minFilter:Cr}fromEquirectangularTexture(e,n){this.texture.type=n.type,this.texture.colorSpace=n.colorSpace,this.texture.generateMipmaps=n.generateMipmaps,this.texture.minFilter=n.minFilter,this.texture.magFilter=n.magFilter;const r={uniforms:{tEquirect:{value:null}},vertexShader:` varying vec3 vWorldDirection; @@ -629,7 +629,7 @@ Frag immer nur eine Sache auf einmal und fass am Ende zusammen, was du dir gemer gl_FragColor = texture2D( tEquirect, sampleUV ); } - `},i=new ep(5,5,5),s=new Qo({name:"CubemapFromEquirect",uniforms:Ug(r.uniforms),vertexShader:r.vertexShader,fragmentShader:r.fragmentShader,side:ss,blending:$c});s.uniforms.tEquirect.value=n;const o=new yr(i,s),a=n.minFilter;return n.minFilter===qo&&(n.minFilter=Cr),new u6(1,10,this).update(e,o),n.minFilter=a,o.geometry.dispose(),o.material.dispose(),this}clear(e,n,r,i){const s=e.getRenderTarget();for(let o=0;o<6;o++)e.setRenderTarget(this,o),e.clear(n,r,i);e.setRenderTarget(s)}}const mA=new X,ype=new X,xpe=new qt;class kc{constructor(e=new X(1,0,0),n=0){this.isPlane=!0,this.normal=e,this.constant=n}set(e,n){return this.normal.copy(e),this.constant=n,this}setComponents(e,n,r,i){return this.normal.set(e,n,r),this.constant=i,this}setFromNormalAndCoplanarPoint(e,n){return this.normal.copy(e),this.constant=-n.dot(this.normal),this}setFromCoplanarPoints(e,n,r){const i=mA.subVectors(r,n).cross(ype.subVectors(e,n)).normalize();return this.setFromNormalAndCoplanarPoint(i,e),this}copy(e){return this.normal.copy(e.normal),this.constant=e.constant,this}normalize(){const e=1/this.normal.length();return this.normal.multiplyScalar(e),this.constant*=e,this}negate(){return this.constant*=-1,this.normal.negate(),this}distanceToPoint(e){return this.normal.dot(e)+this.constant}distanceToSphere(e){return this.distanceToPoint(e.center)-e.radius}projectPoint(e,n){return n.copy(e).addScaledVector(this.normal,-this.distanceToPoint(e))}intersectLine(e,n){const r=e.delta(mA),i=this.normal.dot(r);if(i===0)return this.distanceToPoint(e.start)===0?n.copy(e.start):null;const s=-(e.start.dot(this.normal)+this.constant)/i;return s<0||s>1?null:n.copy(e.start).addScaledVector(r,s)}intersectsLine(e){const n=this.distanceToPoint(e.start),r=this.distanceToPoint(e.end);return n<0&&r>0||r<0&&n>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,n){const r=n||xpe.getNormalMatrix(e),i=this.coplanarPoint(mA).applyMatrix4(e),s=this.normal.applyMatrix3(r).normalize();return this.constant=-i.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Rf=new Bi,t_=new X;class hx{constructor(e=new kc,n=new kc,r=new kc,i=new kc,s=new kc,o=new kc){this.planes=[e,n,r,i,s,o]}set(e,n,r,i,s,o){const a=this.planes;return a[0].copy(e),a[1].copy(n),a[2].copy(r),a[3].copy(i),a[4].copy(s),a[5].copy(o),this}copy(e){const n=this.planes;for(let r=0;r<6;r++)n[r].copy(e.planes[r]);return this}setFromProjectionMatrix(e,n=Ml){const r=this.planes,i=e.elements,s=i[0],o=i[1],a=i[2],l=i[3],c=i[4],d=i[5],f=i[6],m=i[7],y=i[8],x=i[9],S=i[10],w=i[11],_=i[12],E=i[13],T=i[14],C=i[15];if(r[0].setComponents(l-s,m-c,w-y,C-_).normalize(),r[1].setComponents(l+s,m+c,w+y,C+_).normalize(),r[2].setComponents(l+o,m+d,w+x,C+E).normalize(),r[3].setComponents(l-o,m-d,w-x,C-E).normalize(),r[4].setComponents(l-a,m-f,w-S,C-T).normalize(),n===Ml)r[5].setComponents(l+a,m+f,w+S,C+T).normalize();else if(n===ky)r[5].setComponents(a,f,S,T).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+n);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Rf.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const n=e.geometry;n.boundingSphere===null&&n.computeBoundingSphere(),Rf.copy(n.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Rf)}intersectsSprite(e){return Rf.center.set(0,0,0),Rf.radius=.7071067811865476,Rf.applyMatrix4(e.matrixWorld),this.intersectsSphere(Rf)}intersectsSphere(e){const n=this.planes,r=e.center,i=-e.radius;for(let s=0;s<6;s++)if(n[s].distanceToPoint(r)0?e.max.x:e.min.x,t_.y=i.normal.y>0?e.max.y:e.min.y,t_.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(t_)<0)return!1}return!0}containsPoint(e){const n=this.planes;for(let r=0;r<6;r++)if(n[r].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function f6(){let t=null,e=!1,n=null,r=null;function i(s,o){n(s,o),r=t.requestAnimationFrame(i)}return{start:function(){e!==!0&&n!==null&&(r=t.requestAnimationFrame(i),e=!0)},stop:function(){t.cancelAnimationFrame(r),e=!1},setAnimationLoop:function(s){n=s},setContext:function(s){t=s}}}function bpe(t){const e=new WeakMap;function n(a,l){const c=a.array,d=a.usage,f=c.byteLength,m=t.createBuffer();t.bindBuffer(l,m),t.bufferData(l,c,d),a.onUploadCallback();let y;if(c instanceof Float32Array)y=t.FLOAT;else if(c instanceof Uint16Array)a.isFloat16BufferAttribute?y=t.HALF_FLOAT:y=t.UNSIGNED_SHORT;else if(c instanceof Int16Array)y=t.SHORT;else if(c instanceof Uint32Array)y=t.UNSIGNED_INT;else if(c instanceof Int32Array)y=t.INT;else if(c instanceof Int8Array)y=t.BYTE;else if(c instanceof Uint8Array)y=t.UNSIGNED_BYTE;else if(c instanceof Uint8ClampedArray)y=t.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+c);return{buffer:m,type:y,bytesPerElement:c.BYTES_PER_ELEMENT,version:a.version,size:f}}function r(a,l,c){const d=l.array,f=l.updateRanges;if(t.bindBuffer(c,a),f.length===0)t.bufferSubData(c,0,d);else{f.sort((y,x)=>y.start-x.start);let m=0;for(let y=1;y1?null:n.copy(e.start).addScaledVector(r,s)}intersectsLine(e){const n=this.distanceToPoint(e.start),r=this.distanceToPoint(e.end);return n<0&&r>0||r<0&&n>0}intersectsBox(e){return e.intersectsPlane(this)}intersectsSphere(e){return e.intersectsPlane(this)}coplanarPoint(e){return e.copy(this.normal).multiplyScalar(-this.constant)}applyMatrix4(e,n){const r=n||xpe.getNormalMatrix(e),i=this.coplanarPoint(mA).applyMatrix4(e),s=this.normal.applyMatrix3(r).normalize();return this.constant=-i.dot(s),this}translate(e){return this.constant-=e.dot(this.normal),this}equals(e){return e.normal.equals(this.normal)&&e.constant===this.constant}clone(){return new this.constructor().copy(this)}}const Rf=new Bi,t_=new X;class hx{constructor(e=new kc,n=new kc,r=new kc,i=new kc,s=new kc,o=new kc){this.planes=[e,n,r,i,s,o]}set(e,n,r,i,s,o){const a=this.planes;return a[0].copy(e),a[1].copy(n),a[2].copy(r),a[3].copy(i),a[4].copy(s),a[5].copy(o),this}copy(e){const n=this.planes;for(let r=0;r<6;r++)n[r].copy(e.planes[r]);return this}setFromProjectionMatrix(e,n=Ml){const r=this.planes,i=e.elements,s=i[0],o=i[1],a=i[2],l=i[3],c=i[4],d=i[5],f=i[6],m=i[7],y=i[8],x=i[9],S=i[10],w=i[11],_=i[12],E=i[13],T=i[14],C=i[15];if(r[0].setComponents(l-s,m-c,w-y,C-_).normalize(),r[1].setComponents(l+s,m+c,w+y,C+_).normalize(),r[2].setComponents(l+o,m+d,w+x,C+E).normalize(),r[3].setComponents(l-o,m-d,w-x,C-E).normalize(),r[4].setComponents(l-a,m-f,w-S,C-T).normalize(),n===Ml)r[5].setComponents(l+a,m+f,w+S,C+T).normalize();else if(n===ky)r[5].setComponents(a,f,S,T).normalize();else throw new Error("THREE.Frustum.setFromProjectionMatrix(): Invalid coordinate system: "+n);return this}intersectsObject(e){if(e.boundingSphere!==void 0)e.boundingSphere===null&&e.computeBoundingSphere(),Rf.copy(e.boundingSphere).applyMatrix4(e.matrixWorld);else{const n=e.geometry;n.boundingSphere===null&&n.computeBoundingSphere(),Rf.copy(n.boundingSphere).applyMatrix4(e.matrixWorld)}return this.intersectsSphere(Rf)}intersectsSprite(e){return Rf.center.set(0,0,0),Rf.radius=.7071067811865476,Rf.applyMatrix4(e.matrixWorld),this.intersectsSphere(Rf)}intersectsSphere(e){const n=this.planes,r=e.center,i=-e.radius;for(let s=0;s<6;s++)if(n[s].distanceToPoint(r)0?e.max.x:e.min.x,t_.y=i.normal.y>0?e.max.y:e.min.y,t_.z=i.normal.z>0?e.max.z:e.min.z,i.distanceToPoint(t_)<0)return!1}return!0}containsPoint(e){const n=this.planes;for(let r=0;r<6;r++)if(n[r].distanceToPoint(e)<0)return!1;return!0}clone(){return new this.constructor().copy(this)}}function f6(){let t=null,e=!1,n=null,r=null;function i(s,o){n(s,o),r=t.requestAnimationFrame(i)}return{start:function(){e!==!0&&n!==null&&(r=t.requestAnimationFrame(i),e=!0)},stop:function(){t.cancelAnimationFrame(r),e=!1},setAnimationLoop:function(s){n=s},setContext:function(s){t=s}}}function bpe(t){const e=new WeakMap;function n(a,l){const c=a.array,d=a.usage,f=c.byteLength,m=t.createBuffer();t.bindBuffer(l,m),t.bufferData(l,c,d),a.onUploadCallback();let y;if(c instanceof Float32Array)y=t.FLOAT;else if(c instanceof Uint16Array)a.isFloat16BufferAttribute?y=t.HALF_FLOAT:y=t.UNSIGNED_SHORT;else if(c instanceof Int16Array)y=t.SHORT;else if(c instanceof Uint32Array)y=t.UNSIGNED_INT;else if(c instanceof Int32Array)y=t.INT;else if(c instanceof Int8Array)y=t.BYTE;else if(c instanceof Uint8Array)y=t.UNSIGNED_BYTE;else if(c instanceof Uint8ClampedArray)y=t.UNSIGNED_BYTE;else throw new Error("THREE.WebGLAttributes: Unsupported buffer data format: "+c);return{buffer:m,type:y,bytesPerElement:c.BYTES_PER_ELEMENT,version:a.version,size:f}}function r(a,l,c){const d=l.array,f=l.updateRanges;if(t.bindBuffer(c,a),f.length===0)t.bufferSubData(c,0,d);else{f.sort((y,x)=>y.start-x.start);let m=0;for(let y=1;y #include #include -}`,hn={alphahash_fragment:_pe,alphahash_pars_fragment:wpe,alphamap_fragment:Spe,alphamap_pars_fragment:Mpe,alphatest_fragment:Epe,alphatest_pars_fragment:Ape,aomap_fragment:Tpe,aomap_pars_fragment:Cpe,batching_pars_vertex:Ppe,batching_vertex:Rpe,begin_vertex:Npe,beginnormal_vertex:Ipe,bsdfs:kpe,iridescence_fragment:Ope,bumpmap_pars_fragment:Lpe,clipping_planes_fragment:Dpe,clipping_planes_pars_fragment:jpe,clipping_planes_pars_vertex:Upe,clipping_planes_vertex:Fpe,color_fragment:zpe,color_pars_fragment:Bpe,color_pars_vertex:Hpe,color_vertex:Vpe,common:Gpe,cube_uv_reflection_fragment:Wpe,defaultnormal_vertex:$pe,displacementmap_pars_vertex:Xpe,displacementmap_vertex:qpe,emissivemap_fragment:Kpe,emissivemap_pars_fragment:Ype,colorspace_fragment:Zpe,colorspace_pars_fragment:Qpe,envmap_fragment:Jpe,envmap_common_pars_fragment:eme,envmap_pars_fragment:tme,envmap_pars_vertex:nme,envmap_physical_pars_fragment:hme,envmap_vertex:rme,fog_vertex:ime,fog_pars_vertex:sme,fog_fragment:ome,fog_pars_fragment:ame,gradientmap_pars_fragment:lme,lightmap_pars_fragment:cme,lights_lambert_fragment:ume,lights_lambert_pars_fragment:dme,lights_pars_begin:fme,lights_toon_fragment:pme,lights_toon_pars_fragment:mme,lights_phong_fragment:gme,lights_phong_pars_fragment:vme,lights_physical_fragment:yme,lights_physical_pars_fragment:xme,lights_fragment_begin:bme,lights_fragment_maps:_me,lights_fragment_end:wme,logdepthbuf_fragment:Sme,logdepthbuf_pars_fragment:Mme,logdepthbuf_pars_vertex:Eme,logdepthbuf_vertex:Ame,map_fragment:Tme,map_pars_fragment:Cme,map_particle_fragment:Pme,map_particle_pars_fragment:Rme,metalnessmap_fragment:Nme,metalnessmap_pars_fragment:Ime,morphinstance_vertex:kme,morphcolor_vertex:Ome,morphnormal_vertex:Lme,morphtarget_pars_vertex:Dme,morphtarget_vertex:jme,normal_fragment_begin:Ume,normal_fragment_maps:Fme,normal_pars_fragment:zme,normal_pars_vertex:Bme,normal_vertex:Hme,normalmap_pars_fragment:Vme,clearcoat_normal_fragment_begin:Gme,clearcoat_normal_fragment_maps:Wme,clearcoat_pars_fragment:$me,iridescence_pars_fragment:Xme,opaque_fragment:qme,packing:Kme,premultiplied_alpha_fragment:Yme,project_vertex:Zme,dithering_fragment:Qme,dithering_pars_fragment:Jme,roughnessmap_fragment:ege,roughnessmap_pars_fragment:tge,shadowmap_pars_fragment:nge,shadowmap_pars_vertex:rge,shadowmap_vertex:ige,shadowmask_pars_fragment:sge,skinbase_vertex:oge,skinning_pars_vertex:age,skinning_vertex:lge,skinnormal_vertex:cge,specularmap_fragment:uge,specularmap_pars_fragment:dge,tonemapping_fragment:fge,tonemapping_pars_fragment:hge,transmission_fragment:pge,transmission_pars_fragment:mge,uv_pars_fragment:gge,uv_pars_vertex:vge,uv_vertex:yge,worldpos_vertex:xge,background_vert:bge,background_frag:_ge,backgroundCube_vert:wge,backgroundCube_frag:Sge,cube_vert:Mge,cube_frag:Ege,depth_vert:Age,depth_frag:Tge,distanceRGBA_vert:Cge,distanceRGBA_frag:Pge,equirect_vert:Rge,equirect_frag:Nge,linedashed_vert:Ige,linedashed_frag:kge,meshbasic_vert:Oge,meshbasic_frag:Lge,meshlambert_vert:Dge,meshlambert_frag:jge,meshmatcap_vert:Uge,meshmatcap_frag:Fge,meshnormal_vert:zge,meshnormal_frag:Bge,meshphong_vert:Hge,meshphong_frag:Vge,meshphysical_vert:Gge,meshphysical_frag:Wge,meshtoon_vert:$ge,meshtoon_frag:Xge,points_vert:qge,points_frag:Kge,shadow_vert:Yge,shadow_frag:Zge,sprite_vert:Qge,sprite_frag:Jge},pt={common:{diffuse:{value:new lt(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new qt},alphaMap:{value:null},alphaMapTransform:{value:new qt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new qt}},envmap:{envMap:{value:null},envMapRotation:{value:new qt},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new qt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new qt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new qt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new qt},normalScale:{value:new Ge(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new qt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new qt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new qt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new qt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new lt(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new lt(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new qt},alphaTest:{value:0},uvTransform:{value:new qt}},sprite:{diffuse:{value:new lt(16777215)},opacity:{value:1},center:{value:new Ge(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new qt},alphaMap:{value:null},alphaMapTransform:{value:new qt},alphaTest:{value:0}}},Da={basic:{uniforms:_s([pt.common,pt.specularmap,pt.envmap,pt.aomap,pt.lightmap,pt.fog]),vertexShader:hn.meshbasic_vert,fragmentShader:hn.meshbasic_frag},lambert:{uniforms:_s([pt.common,pt.specularmap,pt.envmap,pt.aomap,pt.lightmap,pt.emissivemap,pt.bumpmap,pt.normalmap,pt.displacementmap,pt.fog,pt.lights,{emissive:{value:new lt(0)}}]),vertexShader:hn.meshlambert_vert,fragmentShader:hn.meshlambert_frag},phong:{uniforms:_s([pt.common,pt.specularmap,pt.envmap,pt.aomap,pt.lightmap,pt.emissivemap,pt.bumpmap,pt.normalmap,pt.displacementmap,pt.fog,pt.lights,{emissive:{value:new lt(0)},specular:{value:new lt(1118481)},shininess:{value:30}}]),vertexShader:hn.meshphong_vert,fragmentShader:hn.meshphong_frag},standard:{uniforms:_s([pt.common,pt.envmap,pt.aomap,pt.lightmap,pt.emissivemap,pt.bumpmap,pt.normalmap,pt.displacementmap,pt.roughnessmap,pt.metalnessmap,pt.fog,pt.lights,{emissive:{value:new lt(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:hn.meshphysical_vert,fragmentShader:hn.meshphysical_frag},toon:{uniforms:_s([pt.common,pt.aomap,pt.lightmap,pt.emissivemap,pt.bumpmap,pt.normalmap,pt.displacementmap,pt.gradientmap,pt.fog,pt.lights,{emissive:{value:new lt(0)}}]),vertexShader:hn.meshtoon_vert,fragmentShader:hn.meshtoon_frag},matcap:{uniforms:_s([pt.common,pt.bumpmap,pt.normalmap,pt.displacementmap,pt.fog,{matcap:{value:null}}]),vertexShader:hn.meshmatcap_vert,fragmentShader:hn.meshmatcap_frag},points:{uniforms:_s([pt.points,pt.fog]),vertexShader:hn.points_vert,fragmentShader:hn.points_frag},dashed:{uniforms:_s([pt.common,pt.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:hn.linedashed_vert,fragmentShader:hn.linedashed_frag},depth:{uniforms:_s([pt.common,pt.displacementmap]),vertexShader:hn.depth_vert,fragmentShader:hn.depth_frag},normal:{uniforms:_s([pt.common,pt.bumpmap,pt.normalmap,pt.displacementmap,{opacity:{value:1}}]),vertexShader:hn.meshnormal_vert,fragmentShader:hn.meshnormal_frag},sprite:{uniforms:_s([pt.sprite,pt.fog]),vertexShader:hn.sprite_vert,fragmentShader:hn.sprite_frag},background:{uniforms:{uvTransform:{value:new qt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:hn.background_vert,fragmentShader:hn.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new qt}},vertexShader:hn.backgroundCube_vert,fragmentShader:hn.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:hn.cube_vert,fragmentShader:hn.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:hn.equirect_vert,fragmentShader:hn.equirect_frag},distanceRGBA:{uniforms:_s([pt.common,pt.displacementmap,{referencePosition:{value:new X},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:hn.distanceRGBA_vert,fragmentShader:hn.distanceRGBA_frag},shadow:{uniforms:_s([pt.lights,pt.fog,{color:{value:new lt(0)},opacity:{value:1}}]),vertexShader:hn.shadow_vert,fragmentShader:hn.shadow_frag}};Da.physical={uniforms:_s([Da.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new qt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new qt},clearcoatNormalScale:{value:new Ge(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new qt},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new qt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new qt},sheen:{value:0},sheenColor:{value:new lt(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new qt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new qt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new qt},transmissionSamplerSize:{value:new Ge},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new qt},attenuationDistance:{value:0},attenuationColor:{value:new lt(0)},specularColor:{value:new lt(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new qt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new qt},anisotropyVector:{value:new Ge},anisotropyMap:{value:null},anisotropyMapTransform:{value:new qt}}]),vertexShader:hn.meshphysical_vert,fragmentShader:hn.meshphysical_frag};const n_={r:0,b:0,g:0},Nf=new as,eve=new Pt;function tve(t,e,n,r,i,s,o){const a=new lt(0);let l=s===!0?0:1,c,d,f=null,m=0,y=null;function x(E){let T=E.isScene===!0?E.background:null;return T&&T.isTexture&&(T=(E.backgroundBlurriness>0?n:e).get(T)),T}function S(E){let T=!1;const C=x(E);C===null?_(a,l):C&&C.isColor&&(_(C,1),T=!0);const O=t.xr.getEnvironmentBlendMode();O==="additive"?r.buffers.color.setClear(0,0,0,1,o):O==="alpha-blend"&&r.buffers.color.setClear(0,0,0,0,o),(t.autoClear||T)&&(r.buffers.depth.setTest(!0),r.buffers.depth.setMask(!0),r.buffers.color.setMask(!0),t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil))}function w(E,T){const C=x(T);C&&(C.isCubeTexture||C.mapping===nv)?(d===void 0&&(d=new yr(new ep(1,1,1),new Qo({name:"BackgroundCubeMaterial",uniforms:Ug(Da.backgroundCube.uniforms),vertexShader:Da.backgroundCube.vertexShader,fragmentShader:Da.backgroundCube.fragmentShader,side:ss,depthTest:!1,depthWrite:!1,fog:!1})),d.geometry.deleteAttribute("normal"),d.geometry.deleteAttribute("uv"),d.onBeforeRender=function(O,N,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(d.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(d)),Nf.copy(T.backgroundRotation),Nf.x*=-1,Nf.y*=-1,Nf.z*=-1,C.isCubeTexture&&C.isRenderTargetTexture===!1&&(Nf.y*=-1,Nf.z*=-1),d.material.uniforms.envMap.value=C,d.material.uniforms.flipEnvMap.value=C.isCubeTexture&&C.isRenderTargetTexture===!1?-1:1,d.material.uniforms.backgroundBlurriness.value=T.backgroundBlurriness,d.material.uniforms.backgroundIntensity.value=T.backgroundIntensity,d.material.uniforms.backgroundRotation.value.setFromMatrix4(eve.makeRotationFromEuler(Nf)),d.material.toneMapped=In.getTransfer(C.colorSpace)!==Jn,(f!==C||m!==C.version||y!==t.toneMapping)&&(d.material.needsUpdate=!0,f=C,m=C.version,y=t.toneMapping),d.layers.enableAll(),E.unshift(d,d.geometry,d.material,0,0,null)):C&&C.isTexture&&(c===void 0&&(c=new yr(new iv(2,2),new Qo({name:"BackgroundMaterial",uniforms:Ug(Da.background.uniforms),vertexShader:Da.background.vertexShader,fragmentShader:Da.background.fragmentShader,side:Ul,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),Object.defineProperty(c.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(c)),c.material.uniforms.t2D.value=C,c.material.uniforms.backgroundIntensity.value=T.backgroundIntensity,c.material.toneMapped=In.getTransfer(C.colorSpace)!==Jn,C.matrixAutoUpdate===!0&&C.updateMatrix(),c.material.uniforms.uvTransform.value.copy(C.matrix),(f!==C||m!==C.version||y!==t.toneMapping)&&(c.material.needsUpdate=!0,f=C,m=C.version,y=t.toneMapping),c.layers.enableAll(),E.unshift(c,c.geometry,c.material,0,0,null))}function _(E,T){E.getRGB(n_,c6(t)),r.buffers.color.setClear(n_.r,n_.g,n_.b,T,o)}return{getClearColor:function(){return a},setClearColor:function(E,T=1){a.set(E),l=T,_(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(E){l=E,_(a,l)},render:S,addToRenderList:w}}function nve(t,e){const n=t.getParameter(t.MAX_VERTEX_ATTRIBS),r={},i=m(null);let s=i,o=!1;function a(k,U,H,ne,te){let he=!1;const se=f(ne,H,U);s!==se&&(s=se,c(s.object)),he=y(k,ne,H,te),he&&x(k,ne,H,te),te!==null&&e.update(te,t.ELEMENT_ARRAY_BUFFER),(he||o)&&(o=!1,C(k,U,H,ne),te!==null&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e.get(te).buffer))}function l(){return t.createVertexArray()}function c(k){return t.bindVertexArray(k)}function d(k){return t.deleteVertexArray(k)}function f(k,U,H){const ne=H.wireframe===!0;let te=r[k.id];te===void 0&&(te={},r[k.id]=te);let he=te[U.id];he===void 0&&(he={},te[U.id]=he);let se=he[ne];return se===void 0&&(se=m(l()),he[ne]=se),se}function m(k){const U=[],H=[],ne=[];for(let te=0;te=0){const Y=te[B];let V=he[B];if(V===void 0&&(B==="instanceMatrix"&&k.instanceMatrix&&(V=k.instanceMatrix),B==="instanceColor"&&k.instanceColor&&(V=k.instanceColor)),Y===void 0||Y.attribute!==V||V&&Y.data!==V.data)return!0;se++}return s.attributesNum!==se||s.index!==ne}function x(k,U,H,ne){const te={},he=U.attributes;let se=0;const fe=H.getAttributes();for(const B in fe)if(fe[B].location>=0){let Y=he[B];Y===void 0&&(B==="instanceMatrix"&&k.instanceMatrix&&(Y=k.instanceMatrix),B==="instanceColor"&&k.instanceColor&&(Y=k.instanceColor));const V={};V.attribute=Y,Y&&Y.data&&(V.data=Y.data),te[B]=V,se++}s.attributes=te,s.attributesNum=se,s.index=ne}function S(){const k=s.newAttributes;for(let U=0,H=k.length;U=0){let J=te[fe];if(J===void 0&&(fe==="instanceMatrix"&&k.instanceMatrix&&(J=k.instanceMatrix),fe==="instanceColor"&&k.instanceColor&&(J=k.instanceColor)),J!==void 0){const Y=J.normalized,V=J.itemSize,q=e.get(J);if(q===void 0)continue;const pe=q.buffer,ae=q.type,le=q.bytesPerElement,be=ae===t.INT||ae===t.UNSIGNED_INT||J.gpuType===WS;if(J.isInterleavedBufferAttribute){const Se=J.data,qe=Se.stride,Me=J.offset;if(Se.isInstancedInterleavedBuffer){for(let $e=0;$e0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return"highp";D="mediump"}return D==="mediump"&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let c=n.precision!==void 0?n.precision:"highp";const d=l(c);d!==c&&(console.warn("THREE.WebGLRenderer:",c,"not supported, using",d,"instead."),c=d);const f=n.logarithmicDepthBuffer===!0,m=n.reverseDepthBuffer===!0&&e.has("EXT_clip_control");if(m===!0){const D=e.get("EXT_clip_control");D.clipControlEXT(D.LOWER_LEFT_EXT,D.ZERO_TO_ONE_EXT)}const y=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),x=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),S=t.getParameter(t.MAX_TEXTURE_SIZE),w=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),_=t.getParameter(t.MAX_VERTEX_ATTRIBS),E=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),T=t.getParameter(t.MAX_VARYING_VECTORS),C=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),O=x>0,N=t.getParameter(t.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:l,textureFormatReadable:o,textureTypeReadable:a,precision:c,logarithmicDepthBuffer:f,reverseDepthBuffer:m,maxTextures:y,maxVertexTextures:x,maxTextureSize:S,maxCubemapSize:w,maxAttributes:_,maxVertexUniforms:E,maxVaryings:T,maxFragmentUniforms:C,vertexTextures:O,maxSamples:N}}function sve(t){const e=this;let n=null,r=0,i=!1,s=!1;const o=new kc,a=new qt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(f,m){const y=f.length!==0||m||r!==0||i;return i=m,r=f.length,y},this.beginShadows=function(){s=!0,d(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(f,m){n=d(f,m,0)},this.setState=function(f,m,y){const x=f.clippingPlanes,S=f.clipIntersection,w=f.clipShadows,_=t.get(f);if(!i||x===null||x.length===0||s&&!w)s?d(null):c();else{const E=s?0:r,T=E*4;let C=_.clippingState||null;l.value=C,C=d(x,m,T,y);for(let O=0;O!==T;++O)C[O]=n[O];_.clippingState=C,this.numIntersection=S?this.numPlanes:0,this.numPlanes+=E}};function c(){l.value!==n&&(l.value=n,l.needsUpdate=r>0),e.numPlanes=r,e.numIntersection=0}function d(f,m,y,x){const S=f!==null?f.length:0;let w=null;if(S!==0){if(w=l.value,x!==!0||w===null){const _=y+S*4,E=m.matrixWorldInverse;a.getNormalMatrix(E),(w===null||w.length<_)&&(w=new Float32Array(_));for(let T=0,C=y;T!==S;++T,C+=4)o.copy(f[T]).applyMatrix4(E,a),o.normal.toArray(w,C),w[C+3]=o.constant}l.value=w,l.needsUpdate=!0}return e.numPlanes=S,e.numIntersection=0,w}}function ove(t){let e=new WeakMap;function n(o,a){return a===Ay?o.mapping=Jc:a===Ty&&(o.mapping=Cd),o}function r(o){if(o&&o.isTexture){const a=o.mapping;if(a===Ay||a===Ty)if(e.has(o)){const l=e.get(o).texture;return n(l,o.mapping)}else{const l=o.image;if(l&&l.height>0){const c=new d6(l.height);return c.fromEquirectangularTexture(t,o),e.set(o,c),o.addEventListener("dispose",i),n(c.texture,o.mapping)}else return null}}return o}function i(o){const a=o.target;a.removeEventListener("dispose",i);const l=e.get(a);l!==void 0&&(e.delete(a),l.dispose())}function s(){e=new WeakMap}return{get:r,dispose:s}}class Xc extends dx{constructor(e=-1,n=1,r=1,i=-1,s=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=n,this.top=r,this.bottom=i,this.near=s,this.far=o,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,n,r,i,s,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=r,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),n=(this.top-this.bottom)/(2*this.zoom),r=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let s=r-e,o=r+e,a=i+n,l=i-n;if(this.view!==null&&this.view.enabled){const c=(this.right-this.left)/this.view.fullWidth/this.zoom,d=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=c*this.view.offsetX,o=s+c*this.view.width,a-=d*this.view.offsetY,l=a-d*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.zoom=this.zoom,n.object.left=this.left,n.object.right=this.right,n.object.top=this.top,n.object.bottom=this.bottom,n.object.near=this.near,n.object.far=this.far,this.view!==null&&(n.object.view=Object.assign({},this.view)),n}}const qm=4,oD=[.125,.215,.35,.446,.526,.582],Zf=20,gA=new Xc,aD=new lt;let vA=null,yA=0,xA=0,bA=!1;const Yf=(1+Math.sqrt(5))/2,Em=1/Yf,lD=[new X(-Yf,Em,0),new X(Yf,Em,0),new X(-Em,0,Yf),new X(Em,0,Yf),new X(0,Yf,-Em),new X(0,Yf,Em),new X(-1,1,-1),new X(1,1,-1),new X(-1,1,1),new X(1,1,1)];class KC{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,n=0,r=.1,i=100){vA=this._renderer.getRenderTarget(),yA=this._renderer.getActiveCubeFace(),xA=this._renderer.getActiveMipmapLevel(),bA=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,r,i,s),n>0&&this._blur(s,0,0,n),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,n=null){return this._fromTexture(e,n)}fromCubemap(e,n=null){return this._fromTexture(e,n)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=dD(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=uD(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?T:0,T,T),d.setRenderTarget(i),S&&d.render(x,a),d.render(e,a)}x.geometry.dispose(),x.material.dispose(),d.toneMapping=m,d.autoClear=f,e.background=w}_textureToCubeUV(e,n){const r=this._renderer,i=e.mapping===Jc||e.mapping===Cd;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=dD()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=uD());const s=i?this._cubemapMaterial:this._equirectMaterial,o=new yr(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;r_(n,0,0,3*l,2*l),r.setRenderTarget(n),r.render(o,gA)}_applyPMREM(e){const n=this._renderer,r=n.autoClear;n.autoClear=!1;const i=this._lodPlanes.length;for(let s=1;sZf&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${w} samples when the maximum is set to ${Zf}`);const _=[];let E=0;for(let D=0;DT-qm?i-T+qm:0),N=4*(this._cubeSize-C);r_(n,O,N,3*C,2*C),l.setRenderTarget(n),l.render(f,gA)}}function ave(t){const e=[],n=[],r=[];let i=t;const s=t-qm+1+oD.length;for(let o=0;ot-qm?l=oD[o-t+qm-1]:o===0&&(l=0),r.push(l);const c=1/(a-2),d=-c,f=1+c,m=[d,d,f,d,f,f,d,d,f,f,d,f],y=6,x=6,S=3,w=2,_=1,E=new Float32Array(S*x*y),T=new Float32Array(w*x*y),C=new Float32Array(_*x*y);for(let N=0;N2?0:-1,G=[D,F,0,D+2/3,F,0,D+2/3,F+1,0,D,F,0,D+2/3,F+1,0,D,F+1,0];E.set(G,S*x*N),T.set(m,w*x*N);const k=[N,N,N,N,N,N];C.set(k,_*x*N)}const O=new Qt;O.setAttribute("position",new Jt(E,S)),O.setAttribute("uv",new Jt(T,w)),O.setAttribute("faceIndex",new Jt(C,_)),e.push(O),i>qm&&i--}return{lodPlanes:e,sizeLods:n,sigmas:r}}function cD(t,e,n){const r=new Va(t,e,n);return r.texture.mapping=nv,r.texture.name="PMREM.cubeUv",r.scissorTest=!0,r}function r_(t,e,n,r,i){t.viewport.set(e,n,r,i),t.scissor.set(e,n,r,i)}function lve(t,e,n){const r=new Float32Array(Zf),i=new X(0,1,0);return new Qo({name:"SphericalGaussianBlur",defines:{n:Zf,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:r},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:PR(),fragmentShader:` +}`,hn={alphahash_fragment:_pe,alphahash_pars_fragment:wpe,alphamap_fragment:Spe,alphamap_pars_fragment:Mpe,alphatest_fragment:Epe,alphatest_pars_fragment:Ape,aomap_fragment:Tpe,aomap_pars_fragment:Cpe,batching_pars_vertex:Ppe,batching_vertex:Rpe,begin_vertex:Npe,beginnormal_vertex:Ipe,bsdfs:kpe,iridescence_fragment:Ope,bumpmap_pars_fragment:Lpe,clipping_planes_fragment:Dpe,clipping_planes_pars_fragment:jpe,clipping_planes_pars_vertex:Upe,clipping_planes_vertex:Fpe,color_fragment:zpe,color_pars_fragment:Bpe,color_pars_vertex:Hpe,color_vertex:Vpe,common:Gpe,cube_uv_reflection_fragment:Wpe,defaultnormal_vertex:$pe,displacementmap_pars_vertex:Xpe,displacementmap_vertex:qpe,emissivemap_fragment:Kpe,emissivemap_pars_fragment:Ype,colorspace_fragment:Zpe,colorspace_pars_fragment:Qpe,envmap_fragment:Jpe,envmap_common_pars_fragment:eme,envmap_pars_fragment:tme,envmap_pars_vertex:nme,envmap_physical_pars_fragment:hme,envmap_vertex:rme,fog_vertex:ime,fog_pars_vertex:sme,fog_fragment:ome,fog_pars_fragment:ame,gradientmap_pars_fragment:lme,lightmap_pars_fragment:cme,lights_lambert_fragment:ume,lights_lambert_pars_fragment:dme,lights_pars_begin:fme,lights_toon_fragment:pme,lights_toon_pars_fragment:mme,lights_phong_fragment:gme,lights_phong_pars_fragment:vme,lights_physical_fragment:yme,lights_physical_pars_fragment:xme,lights_fragment_begin:bme,lights_fragment_maps:_me,lights_fragment_end:wme,logdepthbuf_fragment:Sme,logdepthbuf_pars_fragment:Mme,logdepthbuf_pars_vertex:Eme,logdepthbuf_vertex:Ame,map_fragment:Tme,map_pars_fragment:Cme,map_particle_fragment:Pme,map_particle_pars_fragment:Rme,metalnessmap_fragment:Nme,metalnessmap_pars_fragment:Ime,morphinstance_vertex:kme,morphcolor_vertex:Ome,morphnormal_vertex:Lme,morphtarget_pars_vertex:Dme,morphtarget_vertex:jme,normal_fragment_begin:Ume,normal_fragment_maps:Fme,normal_pars_fragment:zme,normal_pars_vertex:Bme,normal_vertex:Hme,normalmap_pars_fragment:Vme,clearcoat_normal_fragment_begin:Gme,clearcoat_normal_fragment_maps:Wme,clearcoat_pars_fragment:$me,iridescence_pars_fragment:Xme,opaque_fragment:qme,packing:Kme,premultiplied_alpha_fragment:Yme,project_vertex:Zme,dithering_fragment:Qme,dithering_pars_fragment:Jme,roughnessmap_fragment:ege,roughnessmap_pars_fragment:tge,shadowmap_pars_fragment:nge,shadowmap_pars_vertex:rge,shadowmap_vertex:ige,shadowmask_pars_fragment:sge,skinbase_vertex:oge,skinning_pars_vertex:age,skinning_vertex:lge,skinnormal_vertex:cge,specularmap_fragment:uge,specularmap_pars_fragment:dge,tonemapping_fragment:fge,tonemapping_pars_fragment:hge,transmission_fragment:pge,transmission_pars_fragment:mge,uv_pars_fragment:gge,uv_pars_vertex:vge,uv_vertex:yge,worldpos_vertex:xge,background_vert:bge,background_frag:_ge,backgroundCube_vert:wge,backgroundCube_frag:Sge,cube_vert:Mge,cube_frag:Ege,depth_vert:Age,depth_frag:Tge,distanceRGBA_vert:Cge,distanceRGBA_frag:Pge,equirect_vert:Rge,equirect_frag:Nge,linedashed_vert:Ige,linedashed_frag:kge,meshbasic_vert:Oge,meshbasic_frag:Lge,meshlambert_vert:Dge,meshlambert_frag:jge,meshmatcap_vert:Uge,meshmatcap_frag:Fge,meshnormal_vert:zge,meshnormal_frag:Bge,meshphong_vert:Hge,meshphong_frag:Vge,meshphysical_vert:Gge,meshphysical_frag:Wge,meshtoon_vert:$ge,meshtoon_frag:Xge,points_vert:qge,points_frag:Kge,shadow_vert:Yge,shadow_frag:Zge,sprite_vert:Qge,sprite_frag:Jge},ht={common:{diffuse:{value:new lt(16777215)},opacity:{value:1},map:{value:null},mapTransform:{value:new qt},alphaMap:{value:null},alphaMapTransform:{value:new qt},alphaTest:{value:0}},specularmap:{specularMap:{value:null},specularMapTransform:{value:new qt}},envmap:{envMap:{value:null},envMapRotation:{value:new qt},flipEnvMap:{value:-1},reflectivity:{value:1},ior:{value:1.5},refractionRatio:{value:.98}},aomap:{aoMap:{value:null},aoMapIntensity:{value:1},aoMapTransform:{value:new qt}},lightmap:{lightMap:{value:null},lightMapIntensity:{value:1},lightMapTransform:{value:new qt}},bumpmap:{bumpMap:{value:null},bumpMapTransform:{value:new qt},bumpScale:{value:1}},normalmap:{normalMap:{value:null},normalMapTransform:{value:new qt},normalScale:{value:new Ve(1,1)}},displacementmap:{displacementMap:{value:null},displacementMapTransform:{value:new qt},displacementScale:{value:1},displacementBias:{value:0}},emissivemap:{emissiveMap:{value:null},emissiveMapTransform:{value:new qt}},metalnessmap:{metalnessMap:{value:null},metalnessMapTransform:{value:new qt}},roughnessmap:{roughnessMap:{value:null},roughnessMapTransform:{value:new qt}},gradientmap:{gradientMap:{value:null}},fog:{fogDensity:{value:25e-5},fogNear:{value:1},fogFar:{value:2e3},fogColor:{value:new lt(16777215)}},lights:{ambientLightColor:{value:[]},lightProbe:{value:[]},directionalLights:{value:[],properties:{direction:{},color:{}}},directionalLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},directionalShadowMap:{value:[]},directionalShadowMatrix:{value:[]},spotLights:{value:[],properties:{color:{},position:{},direction:{},distance:{},coneCos:{},penumbraCos:{},decay:{}}},spotLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{}}},spotLightMap:{value:[]},spotShadowMap:{value:[]},spotLightMatrix:{value:[]},pointLights:{value:[],properties:{color:{},position:{},decay:{},distance:{}}},pointLightShadows:{value:[],properties:{shadowIntensity:1,shadowBias:{},shadowNormalBias:{},shadowRadius:{},shadowMapSize:{},shadowCameraNear:{},shadowCameraFar:{}}},pointShadowMap:{value:[]},pointShadowMatrix:{value:[]},hemisphereLights:{value:[],properties:{direction:{},skyColor:{},groundColor:{}}},rectAreaLights:{value:[],properties:{color:{},position:{},width:{},height:{}}},ltc_1:{value:null},ltc_2:{value:null}},points:{diffuse:{value:new lt(16777215)},opacity:{value:1},size:{value:1},scale:{value:1},map:{value:null},alphaMap:{value:null},alphaMapTransform:{value:new qt},alphaTest:{value:0},uvTransform:{value:new qt}},sprite:{diffuse:{value:new lt(16777215)},opacity:{value:1},center:{value:new Ve(.5,.5)},rotation:{value:0},map:{value:null},mapTransform:{value:new qt},alphaMap:{value:null},alphaMapTransform:{value:new qt},alphaTest:{value:0}}},Da={basic:{uniforms:_s([ht.common,ht.specularmap,ht.envmap,ht.aomap,ht.lightmap,ht.fog]),vertexShader:hn.meshbasic_vert,fragmentShader:hn.meshbasic_frag},lambert:{uniforms:_s([ht.common,ht.specularmap,ht.envmap,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.fog,ht.lights,{emissive:{value:new lt(0)}}]),vertexShader:hn.meshlambert_vert,fragmentShader:hn.meshlambert_frag},phong:{uniforms:_s([ht.common,ht.specularmap,ht.envmap,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.fog,ht.lights,{emissive:{value:new lt(0)},specular:{value:new lt(1118481)},shininess:{value:30}}]),vertexShader:hn.meshphong_vert,fragmentShader:hn.meshphong_frag},standard:{uniforms:_s([ht.common,ht.envmap,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.roughnessmap,ht.metalnessmap,ht.fog,ht.lights,{emissive:{value:new lt(0)},roughness:{value:1},metalness:{value:0},envMapIntensity:{value:1}}]),vertexShader:hn.meshphysical_vert,fragmentShader:hn.meshphysical_frag},toon:{uniforms:_s([ht.common,ht.aomap,ht.lightmap,ht.emissivemap,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.gradientmap,ht.fog,ht.lights,{emissive:{value:new lt(0)}}]),vertexShader:hn.meshtoon_vert,fragmentShader:hn.meshtoon_frag},matcap:{uniforms:_s([ht.common,ht.bumpmap,ht.normalmap,ht.displacementmap,ht.fog,{matcap:{value:null}}]),vertexShader:hn.meshmatcap_vert,fragmentShader:hn.meshmatcap_frag},points:{uniforms:_s([ht.points,ht.fog]),vertexShader:hn.points_vert,fragmentShader:hn.points_frag},dashed:{uniforms:_s([ht.common,ht.fog,{scale:{value:1},dashSize:{value:1},totalSize:{value:2}}]),vertexShader:hn.linedashed_vert,fragmentShader:hn.linedashed_frag},depth:{uniforms:_s([ht.common,ht.displacementmap]),vertexShader:hn.depth_vert,fragmentShader:hn.depth_frag},normal:{uniforms:_s([ht.common,ht.bumpmap,ht.normalmap,ht.displacementmap,{opacity:{value:1}}]),vertexShader:hn.meshnormal_vert,fragmentShader:hn.meshnormal_frag},sprite:{uniforms:_s([ht.sprite,ht.fog]),vertexShader:hn.sprite_vert,fragmentShader:hn.sprite_frag},background:{uniforms:{uvTransform:{value:new qt},t2D:{value:null},backgroundIntensity:{value:1}},vertexShader:hn.background_vert,fragmentShader:hn.background_frag},backgroundCube:{uniforms:{envMap:{value:null},flipEnvMap:{value:-1},backgroundBlurriness:{value:0},backgroundIntensity:{value:1},backgroundRotation:{value:new qt}},vertexShader:hn.backgroundCube_vert,fragmentShader:hn.backgroundCube_frag},cube:{uniforms:{tCube:{value:null},tFlip:{value:-1},opacity:{value:1}},vertexShader:hn.cube_vert,fragmentShader:hn.cube_frag},equirect:{uniforms:{tEquirect:{value:null}},vertexShader:hn.equirect_vert,fragmentShader:hn.equirect_frag},distanceRGBA:{uniforms:_s([ht.common,ht.displacementmap,{referencePosition:{value:new X},nearDistance:{value:1},farDistance:{value:1e3}}]),vertexShader:hn.distanceRGBA_vert,fragmentShader:hn.distanceRGBA_frag},shadow:{uniforms:_s([ht.lights,ht.fog,{color:{value:new lt(0)},opacity:{value:1}}]),vertexShader:hn.shadow_vert,fragmentShader:hn.shadow_frag}};Da.physical={uniforms:_s([Da.standard.uniforms,{clearcoat:{value:0},clearcoatMap:{value:null},clearcoatMapTransform:{value:new qt},clearcoatNormalMap:{value:null},clearcoatNormalMapTransform:{value:new qt},clearcoatNormalScale:{value:new Ve(1,1)},clearcoatRoughness:{value:0},clearcoatRoughnessMap:{value:null},clearcoatRoughnessMapTransform:{value:new qt},dispersion:{value:0},iridescence:{value:0},iridescenceMap:{value:null},iridescenceMapTransform:{value:new qt},iridescenceIOR:{value:1.3},iridescenceThicknessMinimum:{value:100},iridescenceThicknessMaximum:{value:400},iridescenceThicknessMap:{value:null},iridescenceThicknessMapTransform:{value:new qt},sheen:{value:0},sheenColor:{value:new lt(0)},sheenColorMap:{value:null},sheenColorMapTransform:{value:new qt},sheenRoughness:{value:1},sheenRoughnessMap:{value:null},sheenRoughnessMapTransform:{value:new qt},transmission:{value:0},transmissionMap:{value:null},transmissionMapTransform:{value:new qt},transmissionSamplerSize:{value:new Ve},transmissionSamplerMap:{value:null},thickness:{value:0},thicknessMap:{value:null},thicknessMapTransform:{value:new qt},attenuationDistance:{value:0},attenuationColor:{value:new lt(0)},specularColor:{value:new lt(1,1,1)},specularColorMap:{value:null},specularColorMapTransform:{value:new qt},specularIntensity:{value:1},specularIntensityMap:{value:null},specularIntensityMapTransform:{value:new qt},anisotropyVector:{value:new Ve},anisotropyMap:{value:null},anisotropyMapTransform:{value:new qt}}]),vertexShader:hn.meshphysical_vert,fragmentShader:hn.meshphysical_frag};const n_={r:0,b:0,g:0},Nf=new as,eve=new Rt;function tve(t,e,n,r,i,s,o){const a=new lt(0);let l=s===!0?0:1,c,d,f=null,m=0,y=null;function x(E){let T=E.isScene===!0?E.background:null;return T&&T.isTexture&&(T=(E.backgroundBlurriness>0?n:e).get(T)),T}function S(E){let T=!1;const C=x(E);C===null?_(a,l):C&&C.isColor&&(_(C,1),T=!0);const O=t.xr.getEnvironmentBlendMode();O==="additive"?r.buffers.color.setClear(0,0,0,1,o):O==="alpha-blend"&&r.buffers.color.setClear(0,0,0,0,o),(t.autoClear||T)&&(r.buffers.depth.setTest(!0),r.buffers.depth.setMask(!0),r.buffers.color.setMask(!0),t.clear(t.autoClearColor,t.autoClearDepth,t.autoClearStencil))}function w(E,T){const C=x(T);C&&(C.isCubeTexture||C.mapping===nv)?(d===void 0&&(d=new yr(new tp(1,1,1),new Qo({name:"BackgroundCubeMaterial",uniforms:Ug(Da.backgroundCube.uniforms),vertexShader:Da.backgroundCube.vertexShader,fragmentShader:Da.backgroundCube.fragmentShader,side:ss,depthTest:!1,depthWrite:!1,fog:!1})),d.geometry.deleteAttribute("normal"),d.geometry.deleteAttribute("uv"),d.onBeforeRender=function(O,N,D){this.matrixWorld.copyPosition(D.matrixWorld)},Object.defineProperty(d.material,"envMap",{get:function(){return this.uniforms.envMap.value}}),i.update(d)),Nf.copy(T.backgroundRotation),Nf.x*=-1,Nf.y*=-1,Nf.z*=-1,C.isCubeTexture&&C.isRenderTargetTexture===!1&&(Nf.y*=-1,Nf.z*=-1),d.material.uniforms.envMap.value=C,d.material.uniforms.flipEnvMap.value=C.isCubeTexture&&C.isRenderTargetTexture===!1?-1:1,d.material.uniforms.backgroundBlurriness.value=T.backgroundBlurriness,d.material.uniforms.backgroundIntensity.value=T.backgroundIntensity,d.material.uniforms.backgroundRotation.value.setFromMatrix4(eve.makeRotationFromEuler(Nf)),d.material.toneMapped=In.getTransfer(C.colorSpace)!==Jn,(f!==C||m!==C.version||y!==t.toneMapping)&&(d.material.needsUpdate=!0,f=C,m=C.version,y=t.toneMapping),d.layers.enableAll(),E.unshift(d,d.geometry,d.material,0,0,null)):C&&C.isTexture&&(c===void 0&&(c=new yr(new iv(2,2),new Qo({name:"BackgroundMaterial",uniforms:Ug(Da.background.uniforms),vertexShader:Da.background.vertexShader,fragmentShader:Da.background.fragmentShader,side:Ul,depthTest:!1,depthWrite:!1,fog:!1})),c.geometry.deleteAttribute("normal"),Object.defineProperty(c.material,"map",{get:function(){return this.uniforms.t2D.value}}),i.update(c)),c.material.uniforms.t2D.value=C,c.material.uniforms.backgroundIntensity.value=T.backgroundIntensity,c.material.toneMapped=In.getTransfer(C.colorSpace)!==Jn,C.matrixAutoUpdate===!0&&C.updateMatrix(),c.material.uniforms.uvTransform.value.copy(C.matrix),(f!==C||m!==C.version||y!==t.toneMapping)&&(c.material.needsUpdate=!0,f=C,m=C.version,y=t.toneMapping),c.layers.enableAll(),E.unshift(c,c.geometry,c.material,0,0,null))}function _(E,T){E.getRGB(n_,c6(t)),r.buffers.color.setClear(n_.r,n_.g,n_.b,T,o)}return{getClearColor:function(){return a},setClearColor:function(E,T=1){a.set(E),l=T,_(a,l)},getClearAlpha:function(){return l},setClearAlpha:function(E){l=E,_(a,l)},render:S,addToRenderList:w}}function nve(t,e){const n=t.getParameter(t.MAX_VERTEX_ATTRIBS),r={},i=m(null);let s=i,o=!1;function a(k,U,H,ne,te){let he=!1;const oe=f(ne,H,U);s!==oe&&(s=oe,c(s.object)),he=y(k,ne,H,te),he&&x(k,ne,H,te),te!==null&&e.update(te,t.ELEMENT_ARRAY_BUFFER),(he||o)&&(o=!1,C(k,U,H,ne),te!==null&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e.get(te).buffer))}function l(){return t.createVertexArray()}function c(k){return t.bindVertexArray(k)}function d(k){return t.deleteVertexArray(k)}function f(k,U,H){const ne=H.wireframe===!0;let te=r[k.id];te===void 0&&(te={},r[k.id]=te);let he=te[U.id];he===void 0&&(he={},te[U.id]=he);let oe=he[ne];return oe===void 0&&(oe=m(l()),he[ne]=oe),oe}function m(k){const U=[],H=[],ne=[];for(let te=0;te=0){const Y=te[B];let V=he[B];if(V===void 0&&(B==="instanceMatrix"&&k.instanceMatrix&&(V=k.instanceMatrix),B==="instanceColor"&&k.instanceColor&&(V=k.instanceColor)),Y===void 0||Y.attribute!==V||V&&Y.data!==V.data)return!0;oe++}return s.attributesNum!==oe||s.index!==ne}function x(k,U,H,ne){const te={},he=U.attributes;let oe=0;const fe=H.getAttributes();for(const B in fe)if(fe[B].location>=0){let Y=he[B];Y===void 0&&(B==="instanceMatrix"&&k.instanceMatrix&&(Y=k.instanceMatrix),B==="instanceColor"&&k.instanceColor&&(Y=k.instanceColor));const V={};V.attribute=Y,Y&&Y.data&&(V.data=Y.data),te[B]=V,oe++}s.attributes=te,s.attributesNum=oe,s.index=ne}function S(){const k=s.newAttributes;for(let U=0,H=k.length;U=0){let J=te[fe];if(J===void 0&&(fe==="instanceMatrix"&&k.instanceMatrix&&(J=k.instanceMatrix),fe==="instanceColor"&&k.instanceColor&&(J=k.instanceColor)),J!==void 0){const Y=J.normalized,V=J.itemSize,q=e.get(J);if(q===void 0)continue;const pe=q.buffer,le=q.type,ce=q.bytesPerElement,be=le===t.INT||le===t.UNSIGNED_INT||J.gpuType===WS;if(J.isInterleavedBufferAttribute){const Se=J.data,Xe=Se.stride,Me=J.offset;if(Se.isInstancedInterleavedBuffer){for(let We=0;We0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT).precision>0)return"highp";D="mediump"}return D==="mediump"&&t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT).precision>0&&t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT).precision>0?"mediump":"lowp"}let c=n.precision!==void 0?n.precision:"highp";const d=l(c);d!==c&&(console.warn("THREE.WebGLRenderer:",c,"not supported, using",d,"instead."),c=d);const f=n.logarithmicDepthBuffer===!0,m=n.reverseDepthBuffer===!0&&e.has("EXT_clip_control");if(m===!0){const D=e.get("EXT_clip_control");D.clipControlEXT(D.LOWER_LEFT_EXT,D.ZERO_TO_ONE_EXT)}const y=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),x=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),S=t.getParameter(t.MAX_TEXTURE_SIZE),w=t.getParameter(t.MAX_CUBE_MAP_TEXTURE_SIZE),_=t.getParameter(t.MAX_VERTEX_ATTRIBS),E=t.getParameter(t.MAX_VERTEX_UNIFORM_VECTORS),T=t.getParameter(t.MAX_VARYING_VECTORS),C=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),O=x>0,N=t.getParameter(t.MAX_SAMPLES);return{isWebGL2:!0,getMaxAnisotropy:s,getMaxPrecision:l,textureFormatReadable:o,textureTypeReadable:a,precision:c,logarithmicDepthBuffer:f,reverseDepthBuffer:m,maxTextures:y,maxVertexTextures:x,maxTextureSize:S,maxCubemapSize:w,maxAttributes:_,maxVertexUniforms:E,maxVaryings:T,maxFragmentUniforms:C,vertexTextures:O,maxSamples:N}}function sve(t){const e=this;let n=null,r=0,i=!1,s=!1;const o=new kc,a=new qt,l={value:null,needsUpdate:!1};this.uniform=l,this.numPlanes=0,this.numIntersection=0,this.init=function(f,m){const y=f.length!==0||m||r!==0||i;return i=m,r=f.length,y},this.beginShadows=function(){s=!0,d(null)},this.endShadows=function(){s=!1},this.setGlobalState=function(f,m){n=d(f,m,0)},this.setState=function(f,m,y){const x=f.clippingPlanes,S=f.clipIntersection,w=f.clipShadows,_=t.get(f);if(!i||x===null||x.length===0||s&&!w)s?d(null):c();else{const E=s?0:r,T=E*4;let C=_.clippingState||null;l.value=C,C=d(x,m,T,y);for(let O=0;O!==T;++O)C[O]=n[O];_.clippingState=C,this.numIntersection=S?this.numPlanes:0,this.numPlanes+=E}};function c(){l.value!==n&&(l.value=n,l.needsUpdate=r>0),e.numPlanes=r,e.numIntersection=0}function d(f,m,y,x){const S=f!==null?f.length:0;let w=null;if(S!==0){if(w=l.value,x!==!0||w===null){const _=y+S*4,E=m.matrixWorldInverse;a.getNormalMatrix(E),(w===null||w.length<_)&&(w=new Float32Array(_));for(let T=0,C=y;T!==S;++T,C+=4)o.copy(f[T]).applyMatrix4(E,a),o.normal.toArray(w,C),w[C+3]=o.constant}l.value=w,l.needsUpdate=!0}return e.numPlanes=S,e.numIntersection=0,w}}function ove(t){let e=new WeakMap;function n(o,a){return a===Ay?o.mapping=Jc:a===Ty&&(o.mapping=Cd),o}function r(o){if(o&&o.isTexture){const a=o.mapping;if(a===Ay||a===Ty)if(e.has(o)){const l=e.get(o).texture;return n(l,o.mapping)}else{const l=o.image;if(l&&l.height>0){const c=new d6(l.height);return c.fromEquirectangularTexture(t,o),e.set(o,c),o.addEventListener("dispose",i),n(c.texture,o.mapping)}else return null}}return o}function i(o){const a=o.target;a.removeEventListener("dispose",i);const l=e.get(a);l!==void 0&&(e.delete(a),l.dispose())}function s(){e=new WeakMap}return{get:r,dispose:s}}class Xc extends dx{constructor(e=-1,n=1,r=1,i=-1,s=.1,o=2e3){super(),this.isOrthographicCamera=!0,this.type="OrthographicCamera",this.zoom=1,this.view=null,this.left=e,this.right=n,this.top=r,this.bottom=i,this.near=s,this.far=o,this.updateProjectionMatrix()}copy(e,n){return super.copy(e,n),this.left=e.left,this.right=e.right,this.top=e.top,this.bottom=e.bottom,this.near=e.near,this.far=e.far,this.zoom=e.zoom,this.view=e.view===null?null:Object.assign({},e.view),this}setViewOffset(e,n,r,i,s,o){this.view===null&&(this.view={enabled:!0,fullWidth:1,fullHeight:1,offsetX:0,offsetY:0,width:1,height:1}),this.view.enabled=!0,this.view.fullWidth=e,this.view.fullHeight=n,this.view.offsetX=r,this.view.offsetY=i,this.view.width=s,this.view.height=o,this.updateProjectionMatrix()}clearViewOffset(){this.view!==null&&(this.view.enabled=!1),this.updateProjectionMatrix()}updateProjectionMatrix(){const e=(this.right-this.left)/(2*this.zoom),n=(this.top-this.bottom)/(2*this.zoom),r=(this.right+this.left)/2,i=(this.top+this.bottom)/2;let s=r-e,o=r+e,a=i+n,l=i-n;if(this.view!==null&&this.view.enabled){const c=(this.right-this.left)/this.view.fullWidth/this.zoom,d=(this.top-this.bottom)/this.view.fullHeight/this.zoom;s+=c*this.view.offsetX,o=s+c*this.view.width,a-=d*this.view.offsetY,l=a-d*this.view.height}this.projectionMatrix.makeOrthographic(s,o,a,l,this.near,this.far,this.coordinateSystem),this.projectionMatrixInverse.copy(this.projectionMatrix).invert()}toJSON(e){const n=super.toJSON(e);return n.object.zoom=this.zoom,n.object.left=this.left,n.object.right=this.right,n.object.top=this.top,n.object.bottom=this.bottom,n.object.near=this.near,n.object.far=this.far,this.view!==null&&(n.object.view=Object.assign({},this.view)),n}}const qm=4,oD=[.125,.215,.35,.446,.526,.582],Qf=20,gA=new Xc,aD=new lt;let vA=null,yA=0,xA=0,bA=!1;const Yf=(1+Math.sqrt(5))/2,Am=1/Yf,lD=[new X(-Yf,Am,0),new X(Yf,Am,0),new X(-Am,0,Yf),new X(Am,0,Yf),new X(0,Yf,-Am),new X(0,Yf,Am),new X(-1,1,-1),new X(1,1,-1),new X(-1,1,1),new X(1,1,1)];class KC{constructor(e){this._renderer=e,this._pingPongRenderTarget=null,this._lodMax=0,this._cubeSize=0,this._lodPlanes=[],this._sizeLods=[],this._sigmas=[],this._blurMaterial=null,this._cubemapMaterial=null,this._equirectMaterial=null,this._compileMaterial(this._blurMaterial)}fromScene(e,n=0,r=.1,i=100){vA=this._renderer.getRenderTarget(),yA=this._renderer.getActiveCubeFace(),xA=this._renderer.getActiveMipmapLevel(),bA=this._renderer.xr.enabled,this._renderer.xr.enabled=!1,this._setSize(256);const s=this._allocateTargets();return s.depthBuffer=!0,this._sceneToCubeUV(e,r,i,s),n>0&&this._blur(s,0,0,n),this._applyPMREM(s),this._cleanup(s),s}fromEquirectangular(e,n=null){return this._fromTexture(e,n)}fromCubemap(e,n=null){return this._fromTexture(e,n)}compileCubemapShader(){this._cubemapMaterial===null&&(this._cubemapMaterial=dD(),this._compileMaterial(this._cubemapMaterial))}compileEquirectangularShader(){this._equirectMaterial===null&&(this._equirectMaterial=uD(),this._compileMaterial(this._equirectMaterial))}dispose(){this._dispose(),this._cubemapMaterial!==null&&this._cubemapMaterial.dispose(),this._equirectMaterial!==null&&this._equirectMaterial.dispose()}_setSize(e){this._lodMax=Math.floor(Math.log2(e)),this._cubeSize=Math.pow(2,this._lodMax)}_dispose(){this._blurMaterial!==null&&this._blurMaterial.dispose(),this._pingPongRenderTarget!==null&&this._pingPongRenderTarget.dispose();for(let e=0;e2?T:0,T,T),d.setRenderTarget(i),S&&d.render(x,a),d.render(e,a)}x.geometry.dispose(),x.material.dispose(),d.toneMapping=m,d.autoClear=f,e.background=w}_textureToCubeUV(e,n){const r=this._renderer,i=e.mapping===Jc||e.mapping===Cd;i?(this._cubemapMaterial===null&&(this._cubemapMaterial=dD()),this._cubemapMaterial.uniforms.flipEnvMap.value=e.isRenderTargetTexture===!1?-1:1):this._equirectMaterial===null&&(this._equirectMaterial=uD());const s=i?this._cubemapMaterial:this._equirectMaterial,o=new yr(this._lodPlanes[0],s),a=s.uniforms;a.envMap.value=e;const l=this._cubeSize;r_(n,0,0,3*l,2*l),r.setRenderTarget(n),r.render(o,gA)}_applyPMREM(e){const n=this._renderer,r=n.autoClear;n.autoClear=!1;const i=this._lodPlanes.length;for(let s=1;sQf&&console.warn(`sigmaRadians, ${s}, is too large and will clip, as it requested ${w} samples when the maximum is set to ${Qf}`);const _=[];let E=0;for(let D=0;DT-qm?i-T+qm:0),N=4*(this._cubeSize-C);r_(n,O,N,3*C,2*C),l.setRenderTarget(n),l.render(f,gA)}}function ave(t){const e=[],n=[],r=[];let i=t;const s=t-qm+1+oD.length;for(let o=0;ot-qm?l=oD[o-t+qm-1]:o===0&&(l=0),r.push(l);const c=1/(a-2),d=-c,f=1+c,m=[d,d,f,d,f,f,d,d,f,f,d,f],y=6,x=6,S=3,w=2,_=1,E=new Float32Array(S*x*y),T=new Float32Array(w*x*y),C=new Float32Array(_*x*y);for(let N=0;N2?0:-1,G=[D,F,0,D+2/3,F,0,D+2/3,F+1,0,D,F,0,D+2/3,F+1,0,D,F+1,0];E.set(G,S*x*N),T.set(m,w*x*N);const k=[N,N,N,N,N,N];C.set(k,_*x*N)}const O=new Qt;O.setAttribute("position",new Jt(E,S)),O.setAttribute("uv",new Jt(T,w)),O.setAttribute("faceIndex",new Jt(C,_)),e.push(O),i>qm&&i--}return{lodPlanes:e,sizeLods:n,sigmas:r}}function cD(t,e,n){const r=new Va(t,e,n);return r.texture.mapping=nv,r.texture.name="PMREM.cubeUv",r.scissorTest=!0,r}function r_(t,e,n,r,i){t.viewport.set(e,n,r,i),t.scissor.set(e,n,r,i)}function lve(t,e,n){const r=new Float32Array(Qf),i=new X(0,1,0);return new Qo({name:"SphericalGaussianBlur",defines:{n:Qf,CUBEUV_TEXEL_WIDTH:1/e,CUBEUV_TEXEL_HEIGHT:1/n,CUBEUV_MAX_MIP:`${t}.0`},uniforms:{envMap:{value:null},samples:{value:1},weights:{value:r},latitudinal:{value:!1},dTheta:{value:0},mipInt:{value:0},poleAxis:{value:i}},vertexShader:PR(),fragmentShader:` precision mediump float; precision mediump int; @@ -4322,7 +4322,7 @@ void main() { gl_Position = vec4( position, 1.0 ); } - `}function cve(t){let e=new WeakMap,n=null;function r(a){if(a&&a.isTexture){const l=a.mapping,c=l===Ay||l===Ty,d=l===Jc||l===Cd;if(c||d){let f=e.get(a);const m=f!==void 0?f.texture.pmremVersion:0;if(a.isRenderTargetTexture&&a.pmremVersion!==m)return n===null&&(n=new KC(t)),f=c?n.fromEquirectangular(a,f):n.fromCubemap(a,f),f.texture.pmremVersion=a.pmremVersion,e.set(a,f),f.texture;if(f!==void 0)return f.texture;{const y=a.image;return c&&y&&y.height>0||d&&y&&i(y)?(n===null&&(n=new KC(t)),f=c?n.fromEquirectangular(a):n.fromCubemap(a),f.texture.pmremVersion=a.pmremVersion,e.set(a,f),a.addEventListener("dispose",s),f.texture):null}}}return a}function i(a){let l=0;const c=6;for(let d=0;de.maxTextureSize&&(O=Math.ceil(C/e.maxTextureSize),C=e.maxTextureSize);const N=new Float32Array(C*O*4*f),D=new JS(N,C,O,f);D.type=Qs,D.needsUpdate=!0;const F=T*4;for(let k=0;k0)return t;const i=e*n;let s=hD[i];if(s===void 0&&(s=new Float32Array(i),hD[i]=s),e!==0){r.toArray(s,0);for(let o=1,a=0;o!==e;++o)a+=n,t[o].toArray(s,a)}return s}function ii(t,e){if(t.length!==e.length)return!1;for(let n=0,r=t.length;n0||d&&y&&i(y)?(n===null&&(n=new KC(t)),f=c?n.fromEquirectangular(a):n.fromCubemap(a),f.texture.pmremVersion=a.pmremVersion,e.set(a,f),a.addEventListener("dispose",s),f.texture):null}}}return a}function i(a){let l=0;const c=6;for(let d=0;de.maxTextureSize&&(O=Math.ceil(C/e.maxTextureSize),C=e.maxTextureSize);const N=new Float32Array(C*O*4*f),D=new JS(N,C,O,f);D.type=Qs,D.needsUpdate=!0;const F=T*4;for(let k=0;k0)return t;const i=e*n;let s=hD[i];if(s===void 0&&(s=new Float32Array(i),hD[i]=s),e!==0){r.toArray(s,0);for(let o=1,a=0;o!==e;++o)a+=n,t[o].toArray(s,a)}return s}function ii(t,e){if(t.length!==e.length)return!1;for(let n=0,r=t.length;n":" "} ${a}: ${n[o]}`)}return r.join(` `)}function c0e(t){const e=In.getPrimaries(In.workingColorSpace),n=In.getPrimaries(t);let r;switch(e===n?r="":e===Ny&&n===Ry?r="LinearDisplayP3ToLinearSRGB":e===Ry&&n===Ny&&(r="LinearSRGBToLinearDisplayP3"),t){case xi:case ux:return[r,"LinearTransferOETF"];case Ui:case QS:return[r,"sRGBTransferOETF"];default:return console.warn("THREE.WebGLProgram: Unsupported color space:",t),[r,"LinearTransferOETF"]}}function bD(t,e,n){const r=t.getShaderParameter(e,t.COMPILE_STATUS),i=t.getShaderInfoLog(e).trim();if(r&&i==="")return"";const s=/ERROR: 0:(\d+)/.exec(i);if(s){const o=parseInt(s[1]);return n.toUpperCase()+` @@ -4365,14 +4365,14 @@ void main() { `)+` `+w,_=["#define varying in",n.glslVersion===qC?"":"layout(location = 0) out highp vec4 pc_fragColor;",n.glslVersion===qC?"":"#define gl_FragColor pc_fragColor","#define gl_FragDepthEXT gl_FragDepth","#define texture2D texture","#define textureCube texture","#define texture2DProj textureProj","#define texture2DLodEXT textureLod","#define texture2DProjLodEXT textureProjLod","#define textureCubeLodEXT textureLod","#define texture2DGradEXT textureGrad","#define texture2DProjGradEXT textureProjGrad","#define textureCubeGradEXT textureGrad"].join(` `)+` -`+_);const T=E+w+o,C=E+_+a,O=xD(i,i.VERTEX_SHADER,T),N=xD(i,i.FRAGMENT_SHADER,C);i.attachShader(S,O),i.attachShader(S,N),n.index0AttributeName!==void 0?i.bindAttribLocation(S,0,n.index0AttributeName):n.morphTargets===!0&&i.bindAttribLocation(S,0,"position"),i.linkProgram(S);function D(U){if(t.debug.checkShaderErrors){const H=i.getProgramInfoLog(S).trim(),ne=i.getShaderInfoLog(O).trim(),te=i.getShaderInfoLog(N).trim();let he=!0,se=!0;if(i.getProgramParameter(S,i.LINK_STATUS)===!1)if(he=!1,typeof t.debug.onShaderError=="function")t.debug.onShaderError(i,S,O,N);else{const fe=bD(i,O,"vertex"),B=bD(i,N,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(S,i.VALIDATE_STATUS)+` +`+_);const T=E+w+o,C=E+_+a,O=xD(i,i.VERTEX_SHADER,T),N=xD(i,i.FRAGMENT_SHADER,C);i.attachShader(S,O),i.attachShader(S,N),n.index0AttributeName!==void 0?i.bindAttribLocation(S,0,n.index0AttributeName):n.morphTargets===!0&&i.bindAttribLocation(S,0,"position"),i.linkProgram(S);function D(U){if(t.debug.checkShaderErrors){const H=i.getProgramInfoLog(S).trim(),ne=i.getShaderInfoLog(O).trim(),te=i.getShaderInfoLog(N).trim();let he=!0,oe=!0;if(i.getProgramParameter(S,i.LINK_STATUS)===!1)if(he=!1,typeof t.debug.onShaderError=="function")t.debug.onShaderError(i,S,O,N);else{const fe=bD(i,O,"vertex"),B=bD(i,N,"fragment");console.error("THREE.WebGLProgram: Shader Error "+i.getError()+" - VALIDATE_STATUS "+i.getProgramParameter(S,i.VALIDATE_STATUS)+` Material Name: `+U.name+` Material Type: `+U.type+` Program Info Log: `+H+` `+fe+` -`+B)}else H!==""?console.warn("THREE.WebGLProgram: Program Info Log:",H):(ne===""||te==="")&&(se=!1);se&&(U.diagnostics={runnable:he,programLog:H,vertexShader:{log:ne,prefix:w},fragmentShader:{log:te,prefix:_}})}i.deleteShader(O),i.deleteShader(N),F=new q_(i,S),G=m0e(i,S)}let F;this.getUniforms=function(){return F===void 0&&D(this),F};let G;this.getAttributes=function(){return G===void 0&&D(this),G};let k=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return k===!1&&(k=i.getProgramParameter(S,o0e)),k},this.destroy=function(){r.releaseStatesOfProgram(this),i.deleteProgram(S),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=a0e++,this.cacheKey=e,this.usedTimes=1,this.program=S,this.vertexShader=O,this.fragmentShader=N,this}let T0e=0;class C0e{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const n=e.vertexShader,r=e.fragmentShader,i=this._getShaderStage(n),s=this._getShaderStage(r),o=this._getShaderCacheForMaterial(e);return o.has(i)===!1&&(o.add(i),i.usedTimes++),o.has(s)===!1&&(o.add(s),s.usedTimes++),this}remove(e){const n=this.materialCache.get(e);for(const r of n)r.usedTimes--,r.usedTimes===0&&this.shaderCache.delete(r.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const n=this.materialCache;let r=n.get(e);return r===void 0&&(r=new Set,n.set(e,r)),r}_getShaderStage(e){const n=this.shaderCache;let r=n.get(e);return r===void 0&&(r=new P0e(e),n.set(e,r)),r}}class P0e{constructor(e){this.id=T0e++,this.code=e,this.usedTimes=0}}function R0e(t,e,n,r,i,s,o){const a=new Ah,l=new C0e,c=new Set,d=[],f=i.logarithmicDepthBuffer,m=i.reverseDepthBuffer,y=i.vertexTextures;let x=i.precision;const S={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function w(k){return c.add(k),k===0?"uv":`uv${k}`}function _(k,U,H,ne,te){const he=ne.fog,se=te.geometry,fe=k.isMeshStandardMaterial?ne.environment:null,B=(k.isMeshStandardMaterial?n:e).get(k.envMap||fe),J=B&&B.mapping===nv?B.image.height:null,Y=S[k.type];k.precision!==null&&(x=i.getMaxPrecision(k.precision),x!==k.precision&&console.warn("THREE.WebGLProgram.getParameters:",k.precision,"not supported, using",x,"instead."));const V=se.morphAttributes.position||se.morphAttributes.normal||se.morphAttributes.color,q=V!==void 0?V.length:0;let pe=0;se.morphAttributes.position!==void 0&&(pe=1),se.morphAttributes.normal!==void 0&&(pe=2),se.morphAttributes.color!==void 0&&(pe=3);let ae,le,be,Se;if(Y){const Hn=Da[Y];ae=Hn.vertexShader,le=Hn.fragmentShader}else ae=k.vertexShader,le=k.fragmentShader,l.update(k),be=l.getVertexShaderID(k),Se=l.getFragmentShaderID(k);const qe=t.getRenderTarget(),Me=te.isInstancedMesh===!0,$e=te.isBatchedMesh===!0,Ke=!!k.map,ce=!!k.matcap,Z=!!B,We=!!k.aoMap,je=!!k.lightMap,Xe=!!k.bumpMap,Je=!!k.normalMap,bt=!!k.displacementMap,ut=!!k.emissiveMap,ee=!!k.metalnessMap,$=!!k.roughnessMap,Ee=k.anisotropy>0,Be=k.clearcoat>0,Ve=k.dispersion>0,He=k.iridescence>0,mt=k.sheen>0,rt=k.transmission>0,dt=Ee&&!!k.anisotropyMap,de=Be&&!!k.clearcoatMap,Ne=Be&&!!k.clearcoatNormalMap,tt=Be&&!!k.clearcoatRoughnessMap,jt=He&&!!k.iridescenceMap,Lt=He&&!!k.iridescenceThicknessMap,ct=mt&&!!k.sheenColorMap,ue=mt&&!!k.sheenRoughnessMap,Q=!!k.specularMap,Ae=!!k.specularColorMap,re=!!k.specularIntensityMap,Fe=rt&&!!k.transmissionMap,Te=rt&&!!k.thicknessMap,Le=!!k.gradientMap,Ye=!!k.alphaMap,ht=k.alphaTest>0,Yt=!!k.alphaHash,un=!!k.extensions;let Cn=Pl;k.toneMapped&&(qe===null||qe.isXRRenderTarget===!0)&&(Cn=t.toneMapping);const en={shaderID:Y,shaderType:k.type,shaderName:k.name,vertexShader:ae,fragmentShader:le,defines:k.defines,customVertexShaderID:be,customFragmentShaderID:Se,isRawShaderMaterial:k.isRawShaderMaterial===!0,glslVersion:k.glslVersion,precision:x,batching:$e,batchingColor:$e&&te._colorsTexture!==null,instancing:Me,instancingColor:Me&&te.instanceColor!==null,instancingMorph:Me&&te.morphTexture!==null,supportsVertexTextures:y,outputColorSpace:qe===null?t.outputColorSpace:qe.isXRRenderTarget===!0?qe.texture.colorSpace:xi,alphaToCoverage:!!k.alphaToCoverage,map:Ke,matcap:ce,envMap:Z,envMapMode:Z&&B.mapping,envMapCubeUVHeight:J,aoMap:We,lightMap:je,bumpMap:Xe,normalMap:Je,displacementMap:y&&bt,emissiveMap:ut,normalMapObjectSpace:Je&&k.normalMapType===KV,normalMapTangentSpace:Je&&k.normalMapType===lu,metalnessMap:ee,roughnessMap:$,anisotropy:Ee,anisotropyMap:dt,clearcoat:Be,clearcoatMap:de,clearcoatNormalMap:Ne,clearcoatRoughnessMap:tt,dispersion:Ve,iridescence:He,iridescenceMap:jt,iridescenceThicknessMap:Lt,sheen:mt,sheenColorMap:ct,sheenRoughnessMap:ue,specularMap:Q,specularColorMap:Ae,specularIntensityMap:re,transmission:rt,transmissionMap:Fe,thicknessMap:Te,gradientMap:Le,opaque:k.transparent===!1&&k.blending===Sh&&k.alphaToCoverage===!1,alphaMap:Ye,alphaTest:ht,alphaHash:Yt,combine:k.combine,mapUv:Ke&&w(k.map.channel),aoMapUv:We&&w(k.aoMap.channel),lightMapUv:je&&w(k.lightMap.channel),bumpMapUv:Xe&&w(k.bumpMap.channel),normalMapUv:Je&&w(k.normalMap.channel),displacementMapUv:bt&&w(k.displacementMap.channel),emissiveMapUv:ut&&w(k.emissiveMap.channel),metalnessMapUv:ee&&w(k.metalnessMap.channel),roughnessMapUv:$&&w(k.roughnessMap.channel),anisotropyMapUv:dt&&w(k.anisotropyMap.channel),clearcoatMapUv:de&&w(k.clearcoatMap.channel),clearcoatNormalMapUv:Ne&&w(k.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:tt&&w(k.clearcoatRoughnessMap.channel),iridescenceMapUv:jt&&w(k.iridescenceMap.channel),iridescenceThicknessMapUv:Lt&&w(k.iridescenceThicknessMap.channel),sheenColorMapUv:ct&&w(k.sheenColorMap.channel),sheenRoughnessMapUv:ue&&w(k.sheenRoughnessMap.channel),specularMapUv:Q&&w(k.specularMap.channel),specularColorMapUv:Ae&&w(k.specularColorMap.channel),specularIntensityMapUv:re&&w(k.specularIntensityMap.channel),transmissionMapUv:Fe&&w(k.transmissionMap.channel),thicknessMapUv:Te&&w(k.thicknessMap.channel),alphaMapUv:Ye&&w(k.alphaMap.channel),vertexTangents:!!se.attributes.tangent&&(Je||Ee),vertexColors:k.vertexColors,vertexAlphas:k.vertexColors===!0&&!!se.attributes.color&&se.attributes.color.itemSize===4,pointsUvs:te.isPoints===!0&&!!se.attributes.uv&&(Ke||Ye),fog:!!he,useFog:k.fog===!0,fogExp2:!!he&&he.isFogExp2,flatShading:k.flatShading===!0,sizeAttenuation:k.sizeAttenuation===!0,logarithmicDepthBuffer:f,reverseDepthBuffer:m,skinning:te.isSkinnedMesh===!0,morphTargets:se.morphAttributes.position!==void 0,morphNormals:se.morphAttributes.normal!==void 0,morphColors:se.morphAttributes.color!==void 0,morphTargetsCount:q,morphTextureStride:pe,numDirLights:U.directional.length,numPointLights:U.point.length,numSpotLights:U.spot.length,numSpotLightMaps:U.spotLightMap.length,numRectAreaLights:U.rectArea.length,numHemiLights:U.hemi.length,numDirLightShadows:U.directionalShadowMap.length,numPointLightShadows:U.pointShadowMap.length,numSpotLightShadows:U.spotShadowMap.length,numSpotLightShadowsWithMaps:U.numSpotLightShadowsWithMaps,numLightProbes:U.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:k.dithering,shadowMapEnabled:t.shadowMap.enabled&&H.length>0,shadowMapType:t.shadowMap.type,toneMapping:Cn,decodeVideoTexture:Ke&&k.map.isVideoTexture===!0&&In.getTransfer(k.map.colorSpace)===Jn,premultipliedAlpha:k.premultipliedAlpha,doubleSided:k.side===xo,flipSided:k.side===ss,useDepthPacking:k.depthPacking>=0,depthPacking:k.depthPacking||0,index0AttributeName:k.index0AttributeName,extensionClipCullDistance:un&&k.extensions.clipCullDistance===!0&&r.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(un&&k.extensions.multiDraw===!0||$e)&&r.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:r.has("KHR_parallel_shader_compile"),customProgramCacheKey:k.customProgramCacheKey()};return en.vertexUv1s=c.has(1),en.vertexUv2s=c.has(2),en.vertexUv3s=c.has(3),c.clear(),en}function E(k){const U=[];if(k.shaderID?U.push(k.shaderID):(U.push(k.customVertexShaderID),U.push(k.customFragmentShaderID)),k.defines!==void 0)for(const H in k.defines)U.push(H),U.push(k.defines[H]);return k.isRawShaderMaterial===!1&&(T(U,k),C(U,k),U.push(t.outputColorSpace)),U.push(k.customProgramCacheKey),U.join()}function T(k,U){k.push(U.precision),k.push(U.outputColorSpace),k.push(U.envMapMode),k.push(U.envMapCubeUVHeight),k.push(U.mapUv),k.push(U.alphaMapUv),k.push(U.lightMapUv),k.push(U.aoMapUv),k.push(U.bumpMapUv),k.push(U.normalMapUv),k.push(U.displacementMapUv),k.push(U.emissiveMapUv),k.push(U.metalnessMapUv),k.push(U.roughnessMapUv),k.push(U.anisotropyMapUv),k.push(U.clearcoatMapUv),k.push(U.clearcoatNormalMapUv),k.push(U.clearcoatRoughnessMapUv),k.push(U.iridescenceMapUv),k.push(U.iridescenceThicknessMapUv),k.push(U.sheenColorMapUv),k.push(U.sheenRoughnessMapUv),k.push(U.specularMapUv),k.push(U.specularColorMapUv),k.push(U.specularIntensityMapUv),k.push(U.transmissionMapUv),k.push(U.thicknessMapUv),k.push(U.combine),k.push(U.fogExp2),k.push(U.sizeAttenuation),k.push(U.morphTargetsCount),k.push(U.morphAttributeCount),k.push(U.numDirLights),k.push(U.numPointLights),k.push(U.numSpotLights),k.push(U.numSpotLightMaps),k.push(U.numHemiLights),k.push(U.numRectAreaLights),k.push(U.numDirLightShadows),k.push(U.numPointLightShadows),k.push(U.numSpotLightShadows),k.push(U.numSpotLightShadowsWithMaps),k.push(U.numLightProbes),k.push(U.shadowMapType),k.push(U.toneMapping),k.push(U.numClippingPlanes),k.push(U.numClipIntersection),k.push(U.depthPacking)}function C(k,U){a.disableAll(),U.supportsVertexTextures&&a.enable(0),U.instancing&&a.enable(1),U.instancingColor&&a.enable(2),U.instancingMorph&&a.enable(3),U.matcap&&a.enable(4),U.envMap&&a.enable(5),U.normalMapObjectSpace&&a.enable(6),U.normalMapTangentSpace&&a.enable(7),U.clearcoat&&a.enable(8),U.iridescence&&a.enable(9),U.alphaTest&&a.enable(10),U.vertexColors&&a.enable(11),U.vertexAlphas&&a.enable(12),U.vertexUv1s&&a.enable(13),U.vertexUv2s&&a.enable(14),U.vertexUv3s&&a.enable(15),U.vertexTangents&&a.enable(16),U.anisotropy&&a.enable(17),U.alphaHash&&a.enable(18),U.batching&&a.enable(19),U.dispersion&&a.enable(20),U.batchingColor&&a.enable(21),k.push(a.mask),a.disableAll(),U.fog&&a.enable(0),U.useFog&&a.enable(1),U.flatShading&&a.enable(2),U.logarithmicDepthBuffer&&a.enable(3),U.reverseDepthBuffer&&a.enable(4),U.skinning&&a.enable(5),U.morphTargets&&a.enable(6),U.morphNormals&&a.enable(7),U.morphColors&&a.enable(8),U.premultipliedAlpha&&a.enable(9),U.shadowMapEnabled&&a.enable(10),U.doubleSided&&a.enable(11),U.flipSided&&a.enable(12),U.useDepthPacking&&a.enable(13),U.dithering&&a.enable(14),U.transmission&&a.enable(15),U.sheen&&a.enable(16),U.opaque&&a.enable(17),U.pointsUvs&&a.enable(18),U.decodeVideoTexture&&a.enable(19),U.alphaToCoverage&&a.enable(20),k.push(a.mask)}function O(k){const U=S[k.type];let H;if(U){const ne=Da[U];H=CR.clone(ne.uniforms)}else H=k.uniforms;return H}function N(k,U){let H;for(let ne=0,te=d.length;ne0?r.push(_):y.transparent===!0?i.push(_):n.push(_)}function l(f,m,y,x,S,w){const _=o(f,m,y,x,S,w);y.transmission>0?r.unshift(_):y.transparent===!0?i.unshift(_):n.unshift(_)}function c(f,m){n.length>1&&n.sort(f||I0e),r.length>1&&r.sort(m||ED),i.length>1&&i.sort(m||ED)}function d(){for(let f=e,m=t.length;f=s.length?(o=new AD,s.push(o)):o=s[i],o}function n(){t=new WeakMap}return{get:e,dispose:n}}function O0e(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new X,color:new lt};break;case"SpotLight":n={position:new X,direction:new X,color:new lt,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new X,color:new lt,distance:0,decay:0};break;case"HemisphereLight":n={direction:new X,skyColor:new lt,groundColor:new lt};break;case"RectAreaLight":n={color:new lt,position:new X,halfWidth:new X,halfHeight:new X};break}return t[e.id]=n,n}}}function L0e(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ge};break;case"SpotLight":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ge};break;case"PointLight":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ge,shadowCameraNear:1,shadowCameraFar:1e3};break}return t[e.id]=n,n}}}let D0e=0;function j0e(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function U0e(t){const e=new O0e,n=L0e(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let c=0;c<9;c++)r.probe.push(new X);const i=new X,s=new Pt,o=new Pt;function a(c){let d=0,f=0,m=0;for(let G=0;G<9;G++)r.probe[G].set(0,0,0);let y=0,x=0,S=0,w=0,_=0,E=0,T=0,C=0,O=0,N=0,D=0;c.sort(j0e);for(let G=0,k=c.length;G0&&(t.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=pt.LTC_FLOAT_1,r.rectAreaLTC2=pt.LTC_FLOAT_2):(r.rectAreaLTC1=pt.LTC_HALF_1,r.rectAreaLTC2=pt.LTC_HALF_2)),r.ambient[0]=d,r.ambient[1]=f,r.ambient[2]=m;const F=r.hash;(F.directionalLength!==y||F.pointLength!==x||F.spotLength!==S||F.rectAreaLength!==w||F.hemiLength!==_||F.numDirectionalShadows!==E||F.numPointShadows!==T||F.numSpotShadows!==C||F.numSpotMaps!==O||F.numLightProbes!==D)&&(r.directional.length=y,r.spot.length=S,r.rectArea.length=w,r.point.length=x,r.hemi.length=_,r.directionalShadow.length=E,r.directionalShadowMap.length=E,r.pointShadow.length=T,r.pointShadowMap.length=T,r.spotShadow.length=C,r.spotShadowMap.length=C,r.directionalShadowMatrix.length=E,r.pointShadowMatrix.length=T,r.spotLightMatrix.length=C+O-N,r.spotLightMap.length=O,r.numSpotLightShadowsWithMaps=N,r.numLightProbes=D,F.directionalLength=y,F.pointLength=x,F.spotLength=S,F.rectAreaLength=w,F.hemiLength=_,F.numDirectionalShadows=E,F.numPointShadows=T,F.numSpotShadows=C,F.numSpotMaps=O,F.numLightProbes=D,r.version=D0e++)}function l(c,d){let f=0,m=0,y=0,x=0,S=0;const w=d.matrixWorldInverse;for(let _=0,E=c.length;_=o.length?(a=new TD(t),o.push(a)):a=o[s],a}function r(){e=new WeakMap}return{get:n,dispose:r}}class NR extends Gr{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=XV,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class IR extends Gr{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const z0e=`void main() { +`+B)}else H!==""?console.warn("THREE.WebGLProgram: Program Info Log:",H):(ne===""||te==="")&&(oe=!1);oe&&(U.diagnostics={runnable:he,programLog:H,vertexShader:{log:ne,prefix:w},fragmentShader:{log:te,prefix:_}})}i.deleteShader(O),i.deleteShader(N),F=new q_(i,S),G=m0e(i,S)}let F;this.getUniforms=function(){return F===void 0&&D(this),F};let G;this.getAttributes=function(){return G===void 0&&D(this),G};let k=n.rendererExtensionParallelShaderCompile===!1;return this.isReady=function(){return k===!1&&(k=i.getProgramParameter(S,o0e)),k},this.destroy=function(){r.releaseStatesOfProgram(this),i.deleteProgram(S),this.program=void 0},this.type=n.shaderType,this.name=n.shaderName,this.id=a0e++,this.cacheKey=e,this.usedTimes=1,this.program=S,this.vertexShader=O,this.fragmentShader=N,this}let T0e=0;class C0e{constructor(){this.shaderCache=new Map,this.materialCache=new Map}update(e){const n=e.vertexShader,r=e.fragmentShader,i=this._getShaderStage(n),s=this._getShaderStage(r),o=this._getShaderCacheForMaterial(e);return o.has(i)===!1&&(o.add(i),i.usedTimes++),o.has(s)===!1&&(o.add(s),s.usedTimes++),this}remove(e){const n=this.materialCache.get(e);for(const r of n)r.usedTimes--,r.usedTimes===0&&this.shaderCache.delete(r.code);return this.materialCache.delete(e),this}getVertexShaderID(e){return this._getShaderStage(e.vertexShader).id}getFragmentShaderID(e){return this._getShaderStage(e.fragmentShader).id}dispose(){this.shaderCache.clear(),this.materialCache.clear()}_getShaderCacheForMaterial(e){const n=this.materialCache;let r=n.get(e);return r===void 0&&(r=new Set,n.set(e,r)),r}_getShaderStage(e){const n=this.shaderCache;let r=n.get(e);return r===void 0&&(r=new P0e(e),n.set(e,r)),r}}class P0e{constructor(e){this.id=T0e++,this.code=e,this.usedTimes=0}}function R0e(t,e,n,r,i,s,o){const a=new Th,l=new C0e,c=new Set,d=[],f=i.logarithmicDepthBuffer,m=i.reverseDepthBuffer,y=i.vertexTextures;let x=i.precision;const S={MeshDepthMaterial:"depth",MeshDistanceMaterial:"distanceRGBA",MeshNormalMaterial:"normal",MeshBasicMaterial:"basic",MeshLambertMaterial:"lambert",MeshPhongMaterial:"phong",MeshToonMaterial:"toon",MeshStandardMaterial:"physical",MeshPhysicalMaterial:"physical",MeshMatcapMaterial:"matcap",LineBasicMaterial:"basic",LineDashedMaterial:"dashed",PointsMaterial:"points",ShadowMaterial:"shadow",SpriteMaterial:"sprite"};function w(k){return c.add(k),k===0?"uv":`uv${k}`}function _(k,U,H,ne,te){const he=ne.fog,oe=te.geometry,fe=k.isMeshStandardMaterial?ne.environment:null,B=(k.isMeshStandardMaterial?n:e).get(k.envMap||fe),J=B&&B.mapping===nv?B.image.height:null,Y=S[k.type];k.precision!==null&&(x=i.getMaxPrecision(k.precision),x!==k.precision&&console.warn("THREE.WebGLProgram.getParameters:",k.precision,"not supported, using",x,"instead."));const V=oe.morphAttributes.position||oe.morphAttributes.normal||oe.morphAttributes.color,q=V!==void 0?V.length:0;let pe=0;oe.morphAttributes.position!==void 0&&(pe=1),oe.morphAttributes.normal!==void 0&&(pe=2),oe.morphAttributes.color!==void 0&&(pe=3);let le,ce,be,Se;if(Y){const Hn=Da[Y];le=Hn.vertexShader,ce=Hn.fragmentShader}else le=k.vertexShader,ce=k.fragmentShader,l.update(k),be=l.getVertexShaderID(k),Se=l.getFragmentShaderID(k);const Xe=t.getRenderTarget(),Me=te.isInstancedMesh===!0,We=te.isBatchedMesh===!0,qe=!!k.map,ue=!!k.matcap,Z=!!B,Ge=!!k.aoMap,De=!!k.lightMap,$e=!!k.bumpMap,et=!!k.normalMap,bt=!!k.displacementMap,ct=!!k.emissiveMap,ee=!!k.metalnessMap,$=!!k.roughnessMap,Ee=k.anisotropy>0,ze=k.clearcoat>0,He=k.dispersion>0,Be=k.iridescence>0,gt=k.sheen>0,rt=k.transmission>0,dt=Ee&&!!k.anisotropyMap,Bt=ze&&!!k.clearcoatMap,Ke=ze&&!!k.clearcoatNormalMap,re=ze&&!!k.clearcoatRoughnessMap,Qe=Be&&!!k.iridescenceMap,wt=Be&&!!k.iridescenceThicknessMap,pt=gt&&!!k.sheenColorMap,de=gt&&!!k.sheenRoughnessMap,Q=!!k.specularMap,Ae=!!k.specularColorMap,ie=!!k.specularIntensityMap,Ue=rt&&!!k.transmissionMap,Te=rt&&!!k.thicknessMap,Oe=!!k.gradientMap,Ye=!!k.alphaMap,ft=k.alphaTest>0,Yt=!!k.alphaHash,un=!!k.extensions;let Cn=Pl;k.toneMapped&&(Xe===null||Xe.isXRRenderTarget===!0)&&(Cn=t.toneMapping);const en={shaderID:Y,shaderType:k.type,shaderName:k.name,vertexShader:le,fragmentShader:ce,defines:k.defines,customVertexShaderID:be,customFragmentShaderID:Se,isRawShaderMaterial:k.isRawShaderMaterial===!0,glslVersion:k.glslVersion,precision:x,batching:We,batchingColor:We&&te._colorsTexture!==null,instancing:Me,instancingColor:Me&&te.instanceColor!==null,instancingMorph:Me&&te.morphTexture!==null,supportsVertexTextures:y,outputColorSpace:Xe===null?t.outputColorSpace:Xe.isXRRenderTarget===!0?Xe.texture.colorSpace:xi,alphaToCoverage:!!k.alphaToCoverage,map:qe,matcap:ue,envMap:Z,envMapMode:Z&&B.mapping,envMapCubeUVHeight:J,aoMap:Ge,lightMap:De,bumpMap:$e,normalMap:et,displacementMap:y&&bt,emissiveMap:ct,normalMapObjectSpace:et&&k.normalMapType===KV,normalMapTangentSpace:et&&k.normalMapType===lu,metalnessMap:ee,roughnessMap:$,anisotropy:Ee,anisotropyMap:dt,clearcoat:ze,clearcoatMap:Bt,clearcoatNormalMap:Ke,clearcoatRoughnessMap:re,dispersion:He,iridescence:Be,iridescenceMap:Qe,iridescenceThicknessMap:wt,sheen:gt,sheenColorMap:pt,sheenRoughnessMap:de,specularMap:Q,specularColorMap:Ae,specularIntensityMap:ie,transmission:rt,transmissionMap:Ue,thicknessMap:Te,gradientMap:Oe,opaque:k.transparent===!1&&k.blending===Mh&&k.alphaToCoverage===!1,alphaMap:Ye,alphaTest:ft,alphaHash:Yt,combine:k.combine,mapUv:qe&&w(k.map.channel),aoMapUv:Ge&&w(k.aoMap.channel),lightMapUv:De&&w(k.lightMap.channel),bumpMapUv:$e&&w(k.bumpMap.channel),normalMapUv:et&&w(k.normalMap.channel),displacementMapUv:bt&&w(k.displacementMap.channel),emissiveMapUv:ct&&w(k.emissiveMap.channel),metalnessMapUv:ee&&w(k.metalnessMap.channel),roughnessMapUv:$&&w(k.roughnessMap.channel),anisotropyMapUv:dt&&w(k.anisotropyMap.channel),clearcoatMapUv:Bt&&w(k.clearcoatMap.channel),clearcoatNormalMapUv:Ke&&w(k.clearcoatNormalMap.channel),clearcoatRoughnessMapUv:re&&w(k.clearcoatRoughnessMap.channel),iridescenceMapUv:Qe&&w(k.iridescenceMap.channel),iridescenceThicknessMapUv:wt&&w(k.iridescenceThicknessMap.channel),sheenColorMapUv:pt&&w(k.sheenColorMap.channel),sheenRoughnessMapUv:de&&w(k.sheenRoughnessMap.channel),specularMapUv:Q&&w(k.specularMap.channel),specularColorMapUv:Ae&&w(k.specularColorMap.channel),specularIntensityMapUv:ie&&w(k.specularIntensityMap.channel),transmissionMapUv:Ue&&w(k.transmissionMap.channel),thicknessMapUv:Te&&w(k.thicknessMap.channel),alphaMapUv:Ye&&w(k.alphaMap.channel),vertexTangents:!!oe.attributes.tangent&&(et||Ee),vertexColors:k.vertexColors,vertexAlphas:k.vertexColors===!0&&!!oe.attributes.color&&oe.attributes.color.itemSize===4,pointsUvs:te.isPoints===!0&&!!oe.attributes.uv&&(qe||Ye),fog:!!he,useFog:k.fog===!0,fogExp2:!!he&&he.isFogExp2,flatShading:k.flatShading===!0,sizeAttenuation:k.sizeAttenuation===!0,logarithmicDepthBuffer:f,reverseDepthBuffer:m,skinning:te.isSkinnedMesh===!0,morphTargets:oe.morphAttributes.position!==void 0,morphNormals:oe.morphAttributes.normal!==void 0,morphColors:oe.morphAttributes.color!==void 0,morphTargetsCount:q,morphTextureStride:pe,numDirLights:U.directional.length,numPointLights:U.point.length,numSpotLights:U.spot.length,numSpotLightMaps:U.spotLightMap.length,numRectAreaLights:U.rectArea.length,numHemiLights:U.hemi.length,numDirLightShadows:U.directionalShadowMap.length,numPointLightShadows:U.pointShadowMap.length,numSpotLightShadows:U.spotShadowMap.length,numSpotLightShadowsWithMaps:U.numSpotLightShadowsWithMaps,numLightProbes:U.numLightProbes,numClippingPlanes:o.numPlanes,numClipIntersection:o.numIntersection,dithering:k.dithering,shadowMapEnabled:t.shadowMap.enabled&&H.length>0,shadowMapType:t.shadowMap.type,toneMapping:Cn,decodeVideoTexture:qe&&k.map.isVideoTexture===!0&&In.getTransfer(k.map.colorSpace)===Jn,premultipliedAlpha:k.premultipliedAlpha,doubleSided:k.side===xo,flipSided:k.side===ss,useDepthPacking:k.depthPacking>=0,depthPacking:k.depthPacking||0,index0AttributeName:k.index0AttributeName,extensionClipCullDistance:un&&k.extensions.clipCullDistance===!0&&r.has("WEBGL_clip_cull_distance"),extensionMultiDraw:(un&&k.extensions.multiDraw===!0||We)&&r.has("WEBGL_multi_draw"),rendererExtensionParallelShaderCompile:r.has("KHR_parallel_shader_compile"),customProgramCacheKey:k.customProgramCacheKey()};return en.vertexUv1s=c.has(1),en.vertexUv2s=c.has(2),en.vertexUv3s=c.has(3),c.clear(),en}function E(k){const U=[];if(k.shaderID?U.push(k.shaderID):(U.push(k.customVertexShaderID),U.push(k.customFragmentShaderID)),k.defines!==void 0)for(const H in k.defines)U.push(H),U.push(k.defines[H]);return k.isRawShaderMaterial===!1&&(T(U,k),C(U,k),U.push(t.outputColorSpace)),U.push(k.customProgramCacheKey),U.join()}function T(k,U){k.push(U.precision),k.push(U.outputColorSpace),k.push(U.envMapMode),k.push(U.envMapCubeUVHeight),k.push(U.mapUv),k.push(U.alphaMapUv),k.push(U.lightMapUv),k.push(U.aoMapUv),k.push(U.bumpMapUv),k.push(U.normalMapUv),k.push(U.displacementMapUv),k.push(U.emissiveMapUv),k.push(U.metalnessMapUv),k.push(U.roughnessMapUv),k.push(U.anisotropyMapUv),k.push(U.clearcoatMapUv),k.push(U.clearcoatNormalMapUv),k.push(U.clearcoatRoughnessMapUv),k.push(U.iridescenceMapUv),k.push(U.iridescenceThicknessMapUv),k.push(U.sheenColorMapUv),k.push(U.sheenRoughnessMapUv),k.push(U.specularMapUv),k.push(U.specularColorMapUv),k.push(U.specularIntensityMapUv),k.push(U.transmissionMapUv),k.push(U.thicknessMapUv),k.push(U.combine),k.push(U.fogExp2),k.push(U.sizeAttenuation),k.push(U.morphTargetsCount),k.push(U.morphAttributeCount),k.push(U.numDirLights),k.push(U.numPointLights),k.push(U.numSpotLights),k.push(U.numSpotLightMaps),k.push(U.numHemiLights),k.push(U.numRectAreaLights),k.push(U.numDirLightShadows),k.push(U.numPointLightShadows),k.push(U.numSpotLightShadows),k.push(U.numSpotLightShadowsWithMaps),k.push(U.numLightProbes),k.push(U.shadowMapType),k.push(U.toneMapping),k.push(U.numClippingPlanes),k.push(U.numClipIntersection),k.push(U.depthPacking)}function C(k,U){a.disableAll(),U.supportsVertexTextures&&a.enable(0),U.instancing&&a.enable(1),U.instancingColor&&a.enable(2),U.instancingMorph&&a.enable(3),U.matcap&&a.enable(4),U.envMap&&a.enable(5),U.normalMapObjectSpace&&a.enable(6),U.normalMapTangentSpace&&a.enable(7),U.clearcoat&&a.enable(8),U.iridescence&&a.enable(9),U.alphaTest&&a.enable(10),U.vertexColors&&a.enable(11),U.vertexAlphas&&a.enable(12),U.vertexUv1s&&a.enable(13),U.vertexUv2s&&a.enable(14),U.vertexUv3s&&a.enable(15),U.vertexTangents&&a.enable(16),U.anisotropy&&a.enable(17),U.alphaHash&&a.enable(18),U.batching&&a.enable(19),U.dispersion&&a.enable(20),U.batchingColor&&a.enable(21),k.push(a.mask),a.disableAll(),U.fog&&a.enable(0),U.useFog&&a.enable(1),U.flatShading&&a.enable(2),U.logarithmicDepthBuffer&&a.enable(3),U.reverseDepthBuffer&&a.enable(4),U.skinning&&a.enable(5),U.morphTargets&&a.enable(6),U.morphNormals&&a.enable(7),U.morphColors&&a.enable(8),U.premultipliedAlpha&&a.enable(9),U.shadowMapEnabled&&a.enable(10),U.doubleSided&&a.enable(11),U.flipSided&&a.enable(12),U.useDepthPacking&&a.enable(13),U.dithering&&a.enable(14),U.transmission&&a.enable(15),U.sheen&&a.enable(16),U.opaque&&a.enable(17),U.pointsUvs&&a.enable(18),U.decodeVideoTexture&&a.enable(19),U.alphaToCoverage&&a.enable(20),k.push(a.mask)}function O(k){const U=S[k.type];let H;if(U){const ne=Da[U];H=CR.clone(ne.uniforms)}else H=k.uniforms;return H}function N(k,U){let H;for(let ne=0,te=d.length;ne0?r.push(_):y.transparent===!0?i.push(_):n.push(_)}function l(f,m,y,x,S,w){const _=o(f,m,y,x,S,w);y.transmission>0?r.unshift(_):y.transparent===!0?i.unshift(_):n.unshift(_)}function c(f,m){n.length>1&&n.sort(f||I0e),r.length>1&&r.sort(m||ED),i.length>1&&i.sort(m||ED)}function d(){for(let f=e,m=t.length;f=s.length?(o=new AD,s.push(o)):o=s[i],o}function n(){t=new WeakMap}return{get:e,dispose:n}}function O0e(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={direction:new X,color:new lt};break;case"SpotLight":n={position:new X,direction:new X,color:new lt,distance:0,coneCos:0,penumbraCos:0,decay:0};break;case"PointLight":n={position:new X,color:new lt,distance:0,decay:0};break;case"HemisphereLight":n={direction:new X,skyColor:new lt,groundColor:new lt};break;case"RectAreaLight":n={color:new lt,position:new X,halfWidth:new X,halfHeight:new X};break}return t[e.id]=n,n}}}function L0e(){const t={};return{get:function(e){if(t[e.id]!==void 0)return t[e.id];let n;switch(e.type){case"DirectionalLight":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ve};break;case"SpotLight":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ve};break;case"PointLight":n={shadowIntensity:1,shadowBias:0,shadowNormalBias:0,shadowRadius:1,shadowMapSize:new Ve,shadowCameraNear:1,shadowCameraFar:1e3};break}return t[e.id]=n,n}}}let D0e=0;function j0e(t,e){return(e.castShadow?2:0)-(t.castShadow?2:0)+(e.map?1:0)-(t.map?1:0)}function U0e(t){const e=new O0e,n=L0e(),r={version:0,hash:{directionalLength:-1,pointLength:-1,spotLength:-1,rectAreaLength:-1,hemiLength:-1,numDirectionalShadows:-1,numPointShadows:-1,numSpotShadows:-1,numSpotMaps:-1,numLightProbes:-1},ambient:[0,0,0],probe:[],directional:[],directionalShadow:[],directionalShadowMap:[],directionalShadowMatrix:[],spot:[],spotLightMap:[],spotShadow:[],spotShadowMap:[],spotLightMatrix:[],rectArea:[],rectAreaLTC1:null,rectAreaLTC2:null,point:[],pointShadow:[],pointShadowMap:[],pointShadowMatrix:[],hemi:[],numSpotLightShadowsWithMaps:0,numLightProbes:0};for(let c=0;c<9;c++)r.probe.push(new X);const i=new X,s=new Rt,o=new Rt;function a(c){let d=0,f=0,m=0;for(let G=0;G<9;G++)r.probe[G].set(0,0,0);let y=0,x=0,S=0,w=0,_=0,E=0,T=0,C=0,O=0,N=0,D=0;c.sort(j0e);for(let G=0,k=c.length;G0&&(t.has("OES_texture_float_linear")===!0?(r.rectAreaLTC1=ht.LTC_FLOAT_1,r.rectAreaLTC2=ht.LTC_FLOAT_2):(r.rectAreaLTC1=ht.LTC_HALF_1,r.rectAreaLTC2=ht.LTC_HALF_2)),r.ambient[0]=d,r.ambient[1]=f,r.ambient[2]=m;const F=r.hash;(F.directionalLength!==y||F.pointLength!==x||F.spotLength!==S||F.rectAreaLength!==w||F.hemiLength!==_||F.numDirectionalShadows!==E||F.numPointShadows!==T||F.numSpotShadows!==C||F.numSpotMaps!==O||F.numLightProbes!==D)&&(r.directional.length=y,r.spot.length=S,r.rectArea.length=w,r.point.length=x,r.hemi.length=_,r.directionalShadow.length=E,r.directionalShadowMap.length=E,r.pointShadow.length=T,r.pointShadowMap.length=T,r.spotShadow.length=C,r.spotShadowMap.length=C,r.directionalShadowMatrix.length=E,r.pointShadowMatrix.length=T,r.spotLightMatrix.length=C+O-N,r.spotLightMap.length=O,r.numSpotLightShadowsWithMaps=N,r.numLightProbes=D,F.directionalLength=y,F.pointLength=x,F.spotLength=S,F.rectAreaLength=w,F.hemiLength=_,F.numDirectionalShadows=E,F.numPointShadows=T,F.numSpotShadows=C,F.numSpotMaps=O,F.numLightProbes=D,r.version=D0e++)}function l(c,d){let f=0,m=0,y=0,x=0,S=0;const w=d.matrixWorldInverse;for(let _=0,E=c.length;_=o.length?(a=new TD(t),o.push(a)):a=o[s],a}function r(){e=new WeakMap}return{get:n,dispose:r}}class NR extends Gr{constructor(e){super(),this.isMeshDepthMaterial=!0,this.type="MeshDepthMaterial",this.depthPacking=XV,this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.setValues(e)}copy(e){return super.copy(e),this.depthPacking=e.depthPacking,this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this}}class IR extends Gr{constructor(e){super(),this.isMeshDistanceMaterial=!0,this.type="MeshDistanceMaterial",this.map=null,this.alphaMap=null,this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.setValues(e)}copy(e){return super.copy(e),this.map=e.map,this.alphaMap=e.alphaMap,this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this}}const z0e=`void main() { gl_Position = vec4( position, 1.0 ); }`,B0e=`uniform sampler2D shadow_pass; uniform vec2 resolution; @@ -4400,7 +4400,7 @@ void main() { squared_mean = squared_mean / samples; float std_dev = sqrt( squared_mean - mean * mean ); gl_FragColor = pack2HalfToRGBA( vec2( mean, std_dev ) ); -}`;function H0e(t,e,n){let r=new hx;const i=new Ge,s=new Ge,o=new Ln,a=new NR({depthPacking:qV}),l=new IR,c={},d=n.maxTextureSize,f={[Ul]:ss,[ss]:Ul,[xo]:xo},m=new Qo({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Ge},radius:{value:4}},vertexShader:z0e,fragmentShader:B0e}),y=m.clone();y.defines.HORIZONTAL_PASS=1;const x=new Qt;x.setAttribute("position",new Jt(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const S=new yr(x,m),w=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=HS;let _=this.type;this.render=function(N,D,F){if(w.enabled===!1||w.autoUpdate===!1&&w.needsUpdate===!1||N.length===0)return;const G=t.getRenderTarget(),k=t.getActiveCubeFace(),U=t.getActiveMipmapLevel(),H=t.state;H.setBlending($c),H.buffers.color.setClear(1,1,1,1),H.buffers.depth.setTest(!0),H.setScissorTest(!1);const ne=_!==Oa&&this.type===Oa,te=_===Oa&&this.type!==Oa;for(let he=0,se=N.length;hed||i.y>d)&&(i.x>d&&(s.x=Math.floor(d/J.x),i.x=s.x*J.x,B.mapSize.x=s.x),i.y>d&&(s.y=Math.floor(d/J.y),i.y=s.y*J.y,B.mapSize.y=s.y)),B.map===null||ne===!0||te===!0){const V=this.type!==Oa?{minFilter:ri,magFilter:ri}:{};B.map!==null&&B.map.dispose(),B.map=new Va(i.x,i.y,V),B.map.texture.name=fe.name+".shadowMap",B.camera.updateProjectionMatrix()}t.setRenderTarget(B.map),t.clear();const Y=B.getViewportCount();for(let V=0;V0||D.map&&D.alphaTest>0){const H=k.uuid,ne=D.uuid;let te=c[H];te===void 0&&(te={},c[H]=te);let he=te[ne];he===void 0&&(he=k.clone(),te[ne]=he,D.addEventListener("dispose",O)),k=he}if(k.visible=D.visible,k.wireframe=D.wireframe,G===Oa?k.side=D.shadowSide!==null?D.shadowSide:D.side:k.side=D.shadowSide!==null?D.shadowSide:f[D.side],k.alphaMap=D.alphaMap,k.alphaTest=D.alphaTest,k.map=D.map,k.clipShadows=D.clipShadows,k.clippingPlanes=D.clippingPlanes,k.clipIntersection=D.clipIntersection,k.displacementMap=D.displacementMap,k.displacementScale=D.displacementScale,k.displacementBias=D.displacementBias,k.wireframeLinewidth=D.wireframeLinewidth,k.linewidth=D.linewidth,F.isPointLight===!0&&k.isMeshDistanceMaterial===!0){const H=t.properties.get(k);H.light=F}return k}function C(N,D,F,G,k){if(N.visible===!1)return;if(N.layers.test(D.layers)&&(N.isMesh||N.isLine||N.isPoints)&&(N.castShadow||N.receiveShadow&&k===Oa)&&(!N.frustumCulled||r.intersectsObject(N))){N.modelViewMatrix.multiplyMatrices(F.matrixWorldInverse,N.matrixWorld);const ne=e.update(N),te=N.material;if(Array.isArray(te)){const he=ne.groups;for(let se=0,fe=he.length;se=1):fe.indexOf("OpenGL ES")!==-1&&(se=parseFloat(/^OpenGL ES (\d)/.exec(fe)[1]),he=se>=2);let B=null,J={};const Y=t.getParameter(t.SCISSOR_BOX),V=t.getParameter(t.VIEWPORT),q=new Ln().fromArray(Y),pe=new Ln().fromArray(V);function ae(re,Fe,Te,Le){const Ye=new Uint8Array(4),ht=t.createTexture();t.bindTexture(re,ht),t.texParameteri(re,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(re,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let Yt=0;Yte?(t.repeat.x=1,t.repeat.y=n/e,t.offset.x=0,t.offset.y=(1-t.repeat.y)/2):(t.repeat.x=e/n,t.repeat.y=1,t.offset.x=(1-t.repeat.x)/2,t.offset.y=0),t}function $0e(t,e){const n=t.image&&t.image.width?t.image.width/t.image.height:1;return n>e?(t.repeat.x=e/n,t.repeat.y=1,t.offset.x=(1-t.repeat.x)/2,t.offset.y=0):(t.repeat.x=1,t.repeat.y=n/e,t.offset.x=0,t.offset.y=(1-t.repeat.y)/2),t}function X0e(t){return t.repeat.x=1,t.repeat.y=1,t.offset.x=0,t.offset.y=0,t}function ZC(t,e,n,r){const i=q0e(r);switch(n){case mR:return t*e;case vR:return t*e;case yR:return t*e*2;case qS:return t*e/i.components*i.byteLength;case cx:return t*e/i.components*i.byteLength;case xR:return t*e*2/i.components*i.byteLength;case KS:return t*e*2/i.components*i.byteLength;case gR:return t*e*3/i.components*i.byteLength;case is:return t*e*4/i.components*i.byteLength;case YS:return t*e*4/i.components*i.byteLength;case Y0:case Z0:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*8;case Q0:case J0:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*16;case c1:case d1:return Math.max(t,16)*Math.max(e,8)/4;case l1:case u1:return Math.max(t,8)*Math.max(e,8)/2;case f1:case h1:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*8;case p1:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*16;case m1:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*16;case g1:return Math.floor((t+4)/5)*Math.floor((e+3)/4)*16;case v1:return Math.floor((t+4)/5)*Math.floor((e+4)/5)*16;case y1:return Math.floor((t+5)/6)*Math.floor((e+4)/5)*16;case x1:return Math.floor((t+5)/6)*Math.floor((e+5)/6)*16;case b1:return Math.floor((t+7)/8)*Math.floor((e+4)/5)*16;case _1:return Math.floor((t+7)/8)*Math.floor((e+5)/6)*16;case w1:return Math.floor((t+7)/8)*Math.floor((e+7)/8)*16;case S1:return Math.floor((t+9)/10)*Math.floor((e+4)/5)*16;case M1:return Math.floor((t+9)/10)*Math.floor((e+5)/6)*16;case E1:return Math.floor((t+9)/10)*Math.floor((e+7)/8)*16;case A1:return Math.floor((t+9)/10)*Math.floor((e+9)/10)*16;case T1:return Math.floor((t+11)/12)*Math.floor((e+9)/10)*16;case C1:return Math.floor((t+11)/12)*Math.floor((e+11)/12)*16;case ey:case P1:case R1:return Math.ceil(t/4)*Math.ceil(e/4)*16;case bR:case N1:return Math.ceil(t/4)*Math.ceil(e/4)*8;case I1:case k1:return Math.ceil(t/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${n} format.`)}function q0e(t){switch(t){case Ha:case fR:return{byteLength:1,components:1};case Og:case hR:case rv:return{byteLength:2,components:1};case $S:case XS:return{byteLength:2,components:4};case eu:case WS:case Qs:return{byteLength:4,components:1};case pR:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${t}.`)}const K0e={contain:W0e,cover:$0e,fill:X0e,getByteLength:ZC};function Y0e(t,e,n,r,i,s,o){const a=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,l=typeof navigator>"u"?!1:/OculusBrowser/g.test(navigator.userAgent),c=new Ge,d=new WeakMap;let f;const m=new WeakMap;let y=!1;try{y=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function x(ee,$){return y?new OffscreenCanvas(ee,$):Oy("canvas")}function S(ee,$,Ee){let Be=1;const Ve=ut(ee);if((Ve.width>Ee||Ve.height>Ee)&&(Be=Ee/Math.max(Ve.width,Ve.height)),Be<1)if(typeof HTMLImageElement<"u"&&ee instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&ee instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&ee instanceof ImageBitmap||typeof VideoFrame<"u"&&ee instanceof VideoFrame){const He=Math.floor(Be*Ve.width),mt=Math.floor(Be*Ve.height);f===void 0&&(f=x(He,mt));const rt=$?x(He,mt):f;return rt.width=He,rt.height=mt,rt.getContext("2d").drawImage(ee,0,0,He,mt),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+Ve.width+"x"+Ve.height+") to ("+He+"x"+mt+")."),rt}else return"data"in ee&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+Ve.width+"x"+Ve.height+")."),ee;return ee}function w(ee){return ee.generateMipmaps&&ee.minFilter!==ri&&ee.minFilter!==Cr}function _(ee){t.generateMipmap(ee)}function E(ee,$,Ee,Be,Ve=!1){if(ee!==null){if(t[ee]!==void 0)return t[ee];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+ee+"'")}let He=$;if($===t.RED&&(Ee===t.FLOAT&&(He=t.R32F),Ee===t.HALF_FLOAT&&(He=t.R16F),Ee===t.UNSIGNED_BYTE&&(He=t.R8)),$===t.RED_INTEGER&&(Ee===t.UNSIGNED_BYTE&&(He=t.R8UI),Ee===t.UNSIGNED_SHORT&&(He=t.R16UI),Ee===t.UNSIGNED_INT&&(He=t.R32UI),Ee===t.BYTE&&(He=t.R8I),Ee===t.SHORT&&(He=t.R16I),Ee===t.INT&&(He=t.R32I)),$===t.RG&&(Ee===t.FLOAT&&(He=t.RG32F),Ee===t.HALF_FLOAT&&(He=t.RG16F),Ee===t.UNSIGNED_BYTE&&(He=t.RG8)),$===t.RG_INTEGER&&(Ee===t.UNSIGNED_BYTE&&(He=t.RG8UI),Ee===t.UNSIGNED_SHORT&&(He=t.RG16UI),Ee===t.UNSIGNED_INT&&(He=t.RG32UI),Ee===t.BYTE&&(He=t.RG8I),Ee===t.SHORT&&(He=t.RG16I),Ee===t.INT&&(He=t.RG32I)),$===t.RGB_INTEGER&&(Ee===t.UNSIGNED_BYTE&&(He=t.RGB8UI),Ee===t.UNSIGNED_SHORT&&(He=t.RGB16UI),Ee===t.UNSIGNED_INT&&(He=t.RGB32UI),Ee===t.BYTE&&(He=t.RGB8I),Ee===t.SHORT&&(He=t.RGB16I),Ee===t.INT&&(He=t.RGB32I)),$===t.RGBA_INTEGER&&(Ee===t.UNSIGNED_BYTE&&(He=t.RGBA8UI),Ee===t.UNSIGNED_SHORT&&(He=t.RGBA16UI),Ee===t.UNSIGNED_INT&&(He=t.RGBA32UI),Ee===t.BYTE&&(He=t.RGBA8I),Ee===t.SHORT&&(He=t.RGBA16I),Ee===t.INT&&(He=t.RGBA32I)),$===t.RGB&&Ee===t.UNSIGNED_INT_5_9_9_9_REV&&(He=t.RGB9_E5),$===t.RGBA){const mt=Ve?Py:In.getTransfer(Be);Ee===t.FLOAT&&(He=t.RGBA32F),Ee===t.HALF_FLOAT&&(He=t.RGBA16F),Ee===t.UNSIGNED_BYTE&&(He=mt===Jn?t.SRGB8_ALPHA8:t.RGBA8),Ee===t.UNSIGNED_SHORT_4_4_4_4&&(He=t.RGBA4),Ee===t.UNSIGNED_SHORT_5_5_5_1&&(He=t.RGB5_A1)}return(He===t.R16F||He===t.R32F||He===t.RG16F||He===t.RG32F||He===t.RGBA16F||He===t.RGBA32F)&&e.get("EXT_color_buffer_float"),He}function T(ee,$){let Ee;return ee?$===null||$===eu||$===Uh?Ee=t.DEPTH24_STENCIL8:$===Qs?Ee=t.DEPTH32F_STENCIL8:$===Og&&(Ee=t.DEPTH24_STENCIL8,console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):$===null||$===eu||$===Uh?Ee=t.DEPTH_COMPONENT24:$===Qs?Ee=t.DEPTH_COMPONENT32F:$===Og&&(Ee=t.DEPTH_COMPONENT16),Ee}function C(ee,$){return w(ee)===!0||ee.isFramebufferTexture&&ee.minFilter!==ri&&ee.minFilter!==Cr?Math.log2(Math.max($.width,$.height))+1:ee.mipmaps!==void 0&&ee.mipmaps.length>0?ee.mipmaps.length:ee.isCompressedTexture&&Array.isArray(ee.image)?$.mipmaps.length:1}function O(ee){const $=ee.target;$.removeEventListener("dispose",O),D($),$.isVideoTexture&&d.delete($)}function N(ee){const $=ee.target;$.removeEventListener("dispose",N),G($)}function D(ee){const $=r.get(ee);if($.__webglInit===void 0)return;const Ee=ee.source,Be=m.get(Ee);if(Be){const Ve=Be[$.__cacheKey];Ve.usedTimes--,Ve.usedTimes===0&&F(ee),Object.keys(Be).length===0&&m.delete(Ee)}r.remove(ee)}function F(ee){const $=r.get(ee);t.deleteTexture($.__webglTexture);const Ee=ee.source,Be=m.get(Ee);delete Be[$.__cacheKey],o.memory.textures--}function G(ee){const $=r.get(ee);if(ee.depthTexture&&ee.depthTexture.dispose(),ee.isWebGLCubeRenderTarget)for(let Be=0;Be<6;Be++){if(Array.isArray($.__webglFramebuffer[Be]))for(let Ve=0;Ve<$.__webglFramebuffer[Be].length;Ve++)t.deleteFramebuffer($.__webglFramebuffer[Be][Ve]);else t.deleteFramebuffer($.__webglFramebuffer[Be]);$.__webglDepthbuffer&&t.deleteRenderbuffer($.__webglDepthbuffer[Be])}else{if(Array.isArray($.__webglFramebuffer))for(let Be=0;Be<$.__webglFramebuffer.length;Be++)t.deleteFramebuffer($.__webglFramebuffer[Be]);else t.deleteFramebuffer($.__webglFramebuffer);if($.__webglDepthbuffer&&t.deleteRenderbuffer($.__webglDepthbuffer),$.__webglMultisampledFramebuffer&&t.deleteFramebuffer($.__webglMultisampledFramebuffer),$.__webglColorRenderbuffer)for(let Be=0;Be<$.__webglColorRenderbuffer.length;Be++)$.__webglColorRenderbuffer[Be]&&t.deleteRenderbuffer($.__webglColorRenderbuffer[Be]);$.__webglDepthRenderbuffer&&t.deleteRenderbuffer($.__webglDepthRenderbuffer)}const Ee=ee.textures;for(let Be=0,Ve=Ee.length;Be=i.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+ee+" texture units while this GPU supports only "+i.maxTextures),k+=1,ee}function ne(ee){const $=[];return $.push(ee.wrapS),$.push(ee.wrapT),$.push(ee.wrapR||0),$.push(ee.magFilter),$.push(ee.minFilter),$.push(ee.anisotropy),$.push(ee.internalFormat),$.push(ee.format),$.push(ee.type),$.push(ee.generateMipmaps),$.push(ee.premultiplyAlpha),$.push(ee.flipY),$.push(ee.unpackAlignment),$.push(ee.colorSpace),$.join()}function te(ee,$){const Ee=r.get(ee);if(ee.isVideoTexture&&Je(ee),ee.isRenderTargetTexture===!1&&ee.version>0&&Ee.__version!==ee.version){const Be=ee.image;if(Be===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(Be.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{pe(Ee,ee,$);return}}n.bindTexture(t.TEXTURE_2D,Ee.__webglTexture,t.TEXTURE0+$)}function he(ee,$){const Ee=r.get(ee);if(ee.version>0&&Ee.__version!==ee.version){pe(Ee,ee,$);return}n.bindTexture(t.TEXTURE_2D_ARRAY,Ee.__webglTexture,t.TEXTURE0+$)}function se(ee,$){const Ee=r.get(ee);if(ee.version>0&&Ee.__version!==ee.version){pe(Ee,ee,$);return}n.bindTexture(t.TEXTURE_3D,Ee.__webglTexture,t.TEXTURE0+$)}function fe(ee,$){const Ee=r.get(ee);if(ee.version>0&&Ee.__version!==ee.version){ae(Ee,ee,$);return}n.bindTexture(t.TEXTURE_CUBE_MAP,Ee.__webglTexture,t.TEXTURE0+$)}const B={[Pd]:t.REPEAT,[_o]:t.CLAMP_TO_EDGE,[kg]:t.MIRRORED_REPEAT},J={[ri]:t.NEAREST,[GS]:t.NEAREST_MIPMAP_NEAREST,[ih]:t.NEAREST_MIPMAP_LINEAR,[Cr]:t.LINEAR,[rg]:t.LINEAR_MIPMAP_NEAREST,[qo]:t.LINEAR_MIPMAP_LINEAR},Y={[YV]:t.NEVER,[n6]:t.ALWAYS,[ZV]:t.LESS,[SR]:t.LEQUAL,[QV]:t.EQUAL,[t6]:t.GEQUAL,[JV]:t.GREATER,[e6]:t.NOTEQUAL};function V(ee,$){if($.type===Qs&&e.has("OES_texture_float_linear")===!1&&($.magFilter===Cr||$.magFilter===rg||$.magFilter===ih||$.magFilter===qo||$.minFilter===Cr||$.minFilter===rg||$.minFilter===ih||$.minFilter===qo)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),t.texParameteri(ee,t.TEXTURE_WRAP_S,B[$.wrapS]),t.texParameteri(ee,t.TEXTURE_WRAP_T,B[$.wrapT]),(ee===t.TEXTURE_3D||ee===t.TEXTURE_2D_ARRAY)&&t.texParameteri(ee,t.TEXTURE_WRAP_R,B[$.wrapR]),t.texParameteri(ee,t.TEXTURE_MAG_FILTER,J[$.magFilter]),t.texParameteri(ee,t.TEXTURE_MIN_FILTER,J[$.minFilter]),$.compareFunction&&(t.texParameteri(ee,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(ee,t.TEXTURE_COMPARE_FUNC,Y[$.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if($.magFilter===ri||$.minFilter!==ih&&$.minFilter!==qo||$.type===Qs&&e.has("OES_texture_float_linear")===!1)return;if($.anisotropy>1||r.get($).__currentAnisotropy){const Ee=e.get("EXT_texture_filter_anisotropic");t.texParameterf(ee,Ee.TEXTURE_MAX_ANISOTROPY_EXT,Math.min($.anisotropy,i.getMaxAnisotropy())),r.get($).__currentAnisotropy=$.anisotropy}}}function q(ee,$){let Ee=!1;ee.__webglInit===void 0&&(ee.__webglInit=!0,$.addEventListener("dispose",O));const Be=$.source;let Ve=m.get(Be);Ve===void 0&&(Ve={},m.set(Be,Ve));const He=ne($);if(He!==ee.__cacheKey){Ve[He]===void 0&&(Ve[He]={texture:t.createTexture(),usedTimes:0},o.memory.textures++,Ee=!0),Ve[He].usedTimes++;const mt=Ve[ee.__cacheKey];mt!==void 0&&(Ve[ee.__cacheKey].usedTimes--,mt.usedTimes===0&&F($)),ee.__cacheKey=He,ee.__webglTexture=Ve[He].texture}return Ee}function pe(ee,$,Ee){let Be=t.TEXTURE_2D;($.isDataArrayTexture||$.isCompressedArrayTexture)&&(Be=t.TEXTURE_2D_ARRAY),$.isData3DTexture&&(Be=t.TEXTURE_3D);const Ve=q(ee,$),He=$.source;n.bindTexture(Be,ee.__webglTexture,t.TEXTURE0+Ee);const mt=r.get(He);if(He.version!==mt.__version||Ve===!0){n.activeTexture(t.TEXTURE0+Ee);const rt=In.getPrimaries(In.workingColorSpace),dt=$.colorSpace===jc?null:In.getPrimaries($.colorSpace),de=$.colorSpace===jc||rt===dt?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,$.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,$.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,$.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,de);let Ne=S($.image,!1,i.maxTextureSize);Ne=bt($,Ne);const tt=s.convert($.format,$.colorSpace),jt=s.convert($.type);let Lt=E($.internalFormat,tt,jt,$.colorSpace,$.isVideoTexture);V(Be,$);let ct;const ue=$.mipmaps,Q=$.isVideoTexture!==!0,Ae=mt.__version===void 0||Ve===!0,re=He.dataReady,Fe=C($,Ne);if($.isDepthTexture)Lt=T($.format===Fh,$.type),Ae&&(Q?n.texStorage2D(t.TEXTURE_2D,1,Lt,Ne.width,Ne.height):n.texImage2D(t.TEXTURE_2D,0,Lt,Ne.width,Ne.height,0,tt,jt,null));else if($.isDataTexture)if(ue.length>0){Q&&Ae&&n.texStorage2D(t.TEXTURE_2D,Fe,Lt,ue[0].width,ue[0].height);for(let Te=0,Le=ue.length;Te0){const Ye=ZC(ct.width,ct.height,$.format,$.type);for(const ht of $.layerUpdates){const Yt=ct.data.subarray(ht*Ye/ct.data.BYTES_PER_ELEMENT,(ht+1)*Ye/ct.data.BYTES_PER_ELEMENT);n.compressedTexSubImage3D(t.TEXTURE_2D_ARRAY,Te,0,0,ht,ct.width,ct.height,1,tt,Yt,0,0)}$.clearLayerUpdates()}else n.compressedTexSubImage3D(t.TEXTURE_2D_ARRAY,Te,0,0,0,ct.width,ct.height,Ne.depth,tt,ct.data,0,0)}else n.compressedTexImage3D(t.TEXTURE_2D_ARRAY,Te,Lt,ct.width,ct.height,Ne.depth,0,ct.data,0,0);else console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else Q?re&&n.texSubImage3D(t.TEXTURE_2D_ARRAY,Te,0,0,0,ct.width,ct.height,Ne.depth,tt,jt,ct.data):n.texImage3D(t.TEXTURE_2D_ARRAY,Te,Lt,ct.width,ct.height,Ne.depth,0,tt,jt,ct.data)}else{Q&&Ae&&n.texStorage2D(t.TEXTURE_2D,Fe,Lt,ue[0].width,ue[0].height);for(let Te=0,Le=ue.length;Te0){const Te=ZC(Ne.width,Ne.height,$.format,$.type);for(const Le of $.layerUpdates){const Ye=Ne.data.subarray(Le*Te/Ne.data.BYTES_PER_ELEMENT,(Le+1)*Te/Ne.data.BYTES_PER_ELEMENT);n.texSubImage3D(t.TEXTURE_2D_ARRAY,0,0,0,Le,Ne.width,Ne.height,1,tt,jt,Ye)}$.clearLayerUpdates()}else n.texSubImage3D(t.TEXTURE_2D_ARRAY,0,0,0,0,Ne.width,Ne.height,Ne.depth,tt,jt,Ne.data)}else n.texImage3D(t.TEXTURE_2D_ARRAY,0,Lt,Ne.width,Ne.height,Ne.depth,0,tt,jt,Ne.data);else if($.isData3DTexture)Q?(Ae&&n.texStorage3D(t.TEXTURE_3D,Fe,Lt,Ne.width,Ne.height,Ne.depth),re&&n.texSubImage3D(t.TEXTURE_3D,0,0,0,0,Ne.width,Ne.height,Ne.depth,tt,jt,Ne.data)):n.texImage3D(t.TEXTURE_3D,0,Lt,Ne.width,Ne.height,Ne.depth,0,tt,jt,Ne.data);else if($.isFramebufferTexture){if(Ae)if(Q)n.texStorage2D(t.TEXTURE_2D,Fe,Lt,Ne.width,Ne.height);else{let Te=Ne.width,Le=Ne.height;for(let Ye=0;Ye>=1,Le>>=1}}else if(ue.length>0){if(Q&&Ae){const Te=ut(ue[0]);n.texStorage2D(t.TEXTURE_2D,Fe,Lt,Te.width,Te.height)}for(let Te=0,Le=ue.length;Te0&&Fe++;const Le=ut(tt[0]);n.texStorage2D(t.TEXTURE_CUBE_MAP,Fe,ue,Le.width,Le.height)}for(let Le=0;Le<6;Le++)if(Ne){Q?re&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+Le,0,0,0,tt[Le].width,tt[Le].height,Lt,ct,tt[Le].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+Le,0,ue,tt[Le].width,tt[Le].height,0,Lt,ct,tt[Le].data);for(let Ye=0;Ye>He),tt=Math.max(1,$.height>>He);Ve===t.TEXTURE_3D||Ve===t.TEXTURE_2D_ARRAY?n.texImage3D(Ve,He,dt,Ne,tt,$.depth,0,mt,rt,null):n.texImage2D(Ve,He,dt,Ne,tt,0,mt,rt,null)}n.bindFramebuffer(t.FRAMEBUFFER,ee),Xe($)?a.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,Be,Ve,r.get(Ee).__webglTexture,0,je($)):(Ve===t.TEXTURE_2D||Ve>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&Ve<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,Be,Ve,r.get(Ee).__webglTexture,He),n.bindFramebuffer(t.FRAMEBUFFER,null)}function be(ee,$,Ee){if(t.bindRenderbuffer(t.RENDERBUFFER,ee),$.depthBuffer){const Be=$.depthTexture,Ve=Be&&Be.isDepthTexture?Be.type:null,He=T($.stencilBuffer,Ve),mt=$.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,rt=je($);Xe($)?a.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,rt,He,$.width,$.height):Ee?t.renderbufferStorageMultisample(t.RENDERBUFFER,rt,He,$.width,$.height):t.renderbufferStorage(t.RENDERBUFFER,He,$.width,$.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,mt,t.RENDERBUFFER,ee)}else{const Be=$.textures;for(let Ve=0;Ve{delete $.__boundDepthTexture,delete $.__depthDisposeCallback,Be.removeEventListener("dispose",Ve)};Be.addEventListener("dispose",Ve),$.__depthDisposeCallback=Ve}$.__boundDepthTexture=Be}if(ee.depthTexture&&!$.__autoAllocateDepthBuffer){if(Ee)throw new Error("target.depthTexture not supported in Cube render targets");Se($.__webglFramebuffer,ee)}else if(Ee){$.__webglDepthbuffer=[];for(let Be=0;Be<6;Be++)if(n.bindFramebuffer(t.FRAMEBUFFER,$.__webglFramebuffer[Be]),$.__webglDepthbuffer[Be]===void 0)$.__webglDepthbuffer[Be]=t.createRenderbuffer(),be($.__webglDepthbuffer[Be],ee,!1);else{const Ve=ee.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,He=$.__webglDepthbuffer[Be];t.bindRenderbuffer(t.RENDERBUFFER,He),t.framebufferRenderbuffer(t.FRAMEBUFFER,Ve,t.RENDERBUFFER,He)}}else if(n.bindFramebuffer(t.FRAMEBUFFER,$.__webglFramebuffer),$.__webglDepthbuffer===void 0)$.__webglDepthbuffer=t.createRenderbuffer(),be($.__webglDepthbuffer,ee,!1);else{const Be=ee.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,Ve=$.__webglDepthbuffer;t.bindRenderbuffer(t.RENDERBUFFER,Ve),t.framebufferRenderbuffer(t.FRAMEBUFFER,Be,t.RENDERBUFFER,Ve)}n.bindFramebuffer(t.FRAMEBUFFER,null)}function Me(ee,$,Ee){const Be=r.get(ee);$!==void 0&&le(Be.__webglFramebuffer,ee,ee.texture,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,0),Ee!==void 0&&qe(ee)}function $e(ee){const $=ee.texture,Ee=r.get(ee),Be=r.get($);ee.addEventListener("dispose",N);const Ve=ee.textures,He=ee.isWebGLCubeRenderTarget===!0,mt=Ve.length>1;if(mt||(Be.__webglTexture===void 0&&(Be.__webglTexture=t.createTexture()),Be.__version=$.version,o.memory.textures++),He){Ee.__webglFramebuffer=[];for(let rt=0;rt<6;rt++)if($.mipmaps&&$.mipmaps.length>0){Ee.__webglFramebuffer[rt]=[];for(let dt=0;dt<$.mipmaps.length;dt++)Ee.__webglFramebuffer[rt][dt]=t.createFramebuffer()}else Ee.__webglFramebuffer[rt]=t.createFramebuffer()}else{if($.mipmaps&&$.mipmaps.length>0){Ee.__webglFramebuffer=[];for(let rt=0;rt<$.mipmaps.length;rt++)Ee.__webglFramebuffer[rt]=t.createFramebuffer()}else Ee.__webglFramebuffer=t.createFramebuffer();if(mt)for(let rt=0,dt=Ve.length;rt0&&Xe(ee)===!1){Ee.__webglMultisampledFramebuffer=t.createFramebuffer(),Ee.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,Ee.__webglMultisampledFramebuffer);for(let rt=0;rt0)for(let dt=0;dt<$.mipmaps.length;dt++)le(Ee.__webglFramebuffer[rt][dt],ee,$,t.COLOR_ATTACHMENT0,t.TEXTURE_CUBE_MAP_POSITIVE_X+rt,dt);else le(Ee.__webglFramebuffer[rt],ee,$,t.COLOR_ATTACHMENT0,t.TEXTURE_CUBE_MAP_POSITIVE_X+rt,0);w($)&&_(t.TEXTURE_CUBE_MAP),n.unbindTexture()}else if(mt){for(let rt=0,dt=Ve.length;rt0)for(let dt=0;dt<$.mipmaps.length;dt++)le(Ee.__webglFramebuffer[dt],ee,$,t.COLOR_ATTACHMENT0,rt,dt);else le(Ee.__webglFramebuffer,ee,$,t.COLOR_ATTACHMENT0,rt,0);w($)&&_(rt),n.unbindTexture()}ee.depthBuffer&&qe(ee)}function Ke(ee){const $=ee.textures;for(let Ee=0,Be=$.length;Ee0){if(Xe(ee)===!1){const $=ee.textures,Ee=ee.width,Be=ee.height;let Ve=t.COLOR_BUFFER_BIT;const He=ee.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,mt=r.get(ee),rt=$.length>1;if(rt)for(let dt=0;dt<$.length;dt++)n.bindFramebuffer(t.FRAMEBUFFER,mt.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0+dt,t.RENDERBUFFER,null),n.bindFramebuffer(t.FRAMEBUFFER,mt.__webglFramebuffer),t.framebufferTexture2D(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0+dt,t.TEXTURE_2D,null,0);n.bindFramebuffer(t.READ_FRAMEBUFFER,mt.__webglMultisampledFramebuffer),n.bindFramebuffer(t.DRAW_FRAMEBUFFER,mt.__webglFramebuffer);for(let dt=0;dt<$.length;dt++){if(ee.resolveDepthBuffer&&(ee.depthBuffer&&(Ve|=t.DEPTH_BUFFER_BIT),ee.stencilBuffer&&ee.resolveStencilBuffer&&(Ve|=t.STENCIL_BUFFER_BIT)),rt){t.framebufferRenderbuffer(t.READ_FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.RENDERBUFFER,mt.__webglColorRenderbuffer[dt]);const de=r.get($[dt]).__webglTexture;t.framebufferTexture2D(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,de,0)}t.blitFramebuffer(0,0,Ee,Be,0,0,Ee,Be,Ve,t.NEAREST),l===!0&&(ce.length=0,Z.length=0,ce.push(t.COLOR_ATTACHMENT0+dt),ee.depthBuffer&&ee.resolveDepthBuffer===!1&&(ce.push(He),Z.push(He),t.invalidateFramebuffer(t.DRAW_FRAMEBUFFER,Z)),t.invalidateFramebuffer(t.READ_FRAMEBUFFER,ce))}if(n.bindFramebuffer(t.READ_FRAMEBUFFER,null),n.bindFramebuffer(t.DRAW_FRAMEBUFFER,null),rt)for(let dt=0;dt<$.length;dt++){n.bindFramebuffer(t.FRAMEBUFFER,mt.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0+dt,t.RENDERBUFFER,mt.__webglColorRenderbuffer[dt]);const de=r.get($[dt]).__webglTexture;n.bindFramebuffer(t.FRAMEBUFFER,mt.__webglFramebuffer),t.framebufferTexture2D(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0+dt,t.TEXTURE_2D,de,0)}n.bindFramebuffer(t.DRAW_FRAMEBUFFER,mt.__webglMultisampledFramebuffer)}else if(ee.depthBuffer&&ee.resolveDepthBuffer===!1&&l){const $=ee.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT;t.invalidateFramebuffer(t.DRAW_FRAMEBUFFER,[$])}}}function je(ee){return Math.min(i.maxSamples,ee.samples)}function Xe(ee){const $=r.get(ee);return ee.samples>0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&$.__useRenderToTexture!==!1}function Je(ee){const $=o.render.frame;d.get(ee)!==$&&(d.set(ee,$),ee.update())}function bt(ee,$){const Ee=ee.colorSpace,Be=ee.format,Ve=ee.type;return ee.isCompressedTexture===!0||ee.isVideoTexture===!0||Ee!==xi&&Ee!==jc&&(In.getTransfer(Ee)===Jn?(Be!==is||Ve!==Ha)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",Ee)),$}function ut(ee){return typeof HTMLImageElement<"u"&&ee instanceof HTMLImageElement?(c.width=ee.naturalWidth||ee.width,c.height=ee.naturalHeight||ee.height):typeof VideoFrame<"u"&&ee instanceof VideoFrame?(c.width=ee.displayWidth,c.height=ee.displayHeight):(c.width=ee.width,c.height=ee.height),c}this.allocateTextureUnit=H,this.resetTextureUnits=U,this.setTexture2D=te,this.setTexture2DArray=he,this.setTexture3D=se,this.setTextureCube=fe,this.rebindTextures=Me,this.setupRenderTarget=$e,this.updateRenderTargetMipmap=Ke,this.updateMultisampleRenderTarget=We,this.setupDepthRenderbuffer=qe,this.setupFrameBufferTexture=le,this.useMultisampledRTT=Xe}function v6(t,e){function n(r,i=jc){let s;const o=In.getTransfer(i);if(r===Ha)return t.UNSIGNED_BYTE;if(r===$S)return t.UNSIGNED_SHORT_4_4_4_4;if(r===XS)return t.UNSIGNED_SHORT_5_5_5_1;if(r===pR)return t.UNSIGNED_INT_5_9_9_9_REV;if(r===fR)return t.BYTE;if(r===hR)return t.SHORT;if(r===Og)return t.UNSIGNED_SHORT;if(r===WS)return t.INT;if(r===eu)return t.UNSIGNED_INT;if(r===Qs)return t.FLOAT;if(r===rv)return t.HALF_FLOAT;if(r===mR)return t.ALPHA;if(r===gR)return t.RGB;if(r===is)return t.RGBA;if(r===vR)return t.LUMINANCE;if(r===yR)return t.LUMINANCE_ALPHA;if(r===Mh)return t.DEPTH_COMPONENT;if(r===Fh)return t.DEPTH_STENCIL;if(r===qS)return t.RED;if(r===cx)return t.RED_INTEGER;if(r===xR)return t.RG;if(r===KS)return t.RG_INTEGER;if(r===YS)return t.RGBA_INTEGER;if(r===Y0||r===Z0||r===Q0||r===J0)if(o===Jn)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(r===Y0)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(r===Z0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(r===Q0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(r===J0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(r===Y0)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(r===Z0)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(r===Q0)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(r===J0)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(r===l1||r===c1||r===u1||r===d1)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(r===l1)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(r===c1)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(r===u1)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(r===d1)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(r===f1||r===h1||r===p1)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(r===f1||r===h1)return o===Jn?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(r===p1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(r===m1||r===g1||r===v1||r===y1||r===x1||r===b1||r===_1||r===w1||r===S1||r===M1||r===E1||r===A1||r===T1||r===C1)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(r===m1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(r===g1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(r===v1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(r===y1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(r===x1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(r===b1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(r===_1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(r===w1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(r===S1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(r===M1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(r===E1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(r===A1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(r===T1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(r===C1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(r===ey||r===P1||r===R1)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(r===ey)return o===Jn?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(r===P1)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(r===R1)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(r===bR||r===N1||r===I1||r===k1)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(r===ey)return s.COMPRESSED_RED_RGTC1_EXT;if(r===N1)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(r===I1)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(r===k1)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return r===Uh?t.UNSIGNED_INT_24_8:t[r]!==void 0?t[r]:null}return{convert:n}}class y6 extends Tr{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Ts extends mn{constructor(){super(),this.isGroup=!0,this.type="Group"}}const Z0e={type:"move"};class wA{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Ts,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Ts,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new X,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new X),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Ts,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new X,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new X),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const n=this._hand;if(n)for(const r of e.hand.values())this._getHandJoint(n,r)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,n,r){let i=null,s=null,o=null;const a=this._targetRay,l=this._grip,c=this._hand;if(e&&n.session.visibilityState!=="visible-blurred"){if(c&&e.hand){o=!0;for(const S of e.hand.values()){const w=n.getJointPose(S,r),_=this._getHandJoint(c,S);w!==null&&(_.matrix.fromArray(w.transform.matrix),_.matrix.decompose(_.position,_.rotation,_.scale),_.matrixWorldNeedsUpdate=!0,_.jointRadius=w.radius),_.visible=w!==null}const d=c.joints["index-finger-tip"],f=c.joints["thumb-tip"],m=d.position.distanceTo(f.position),y=.02,x=.005;c.inputState.pinching&&m>y+x?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&m<=y-x&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=n.getPose(e.gripSpace,r),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(i=n.getPose(e.targetRaySpace,r),i===null&&s!==null&&(i=s),i!==null&&(a.matrix.fromArray(i.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,i.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(i.linearVelocity)):a.hasLinearVelocity=!1,i.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(i.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(Z0e)))}return a!==null&&(a.visible=i!==null),l!==null&&(l.visible=s!==null),c!==null&&(c.visible=o!==null),this}_getHandJoint(e,n){if(e.joints[n.jointName]===void 0){const r=new Ts;r.matrixAutoUpdate=!1,r.visible=!1,e.joints[n.jointName]=r,e.add(r)}return e.joints[n.jointName]}}const Q0e=` +}`;function H0e(t,e,n){let r=new hx;const i=new Ve,s=new Ve,o=new Ln,a=new NR({depthPacking:qV}),l=new IR,c={},d=n.maxTextureSize,f={[Ul]:ss,[ss]:Ul,[xo]:xo},m=new Qo({defines:{VSM_SAMPLES:8},uniforms:{shadow_pass:{value:null},resolution:{value:new Ve},radius:{value:4}},vertexShader:z0e,fragmentShader:B0e}),y=m.clone();y.defines.HORIZONTAL_PASS=1;const x=new Qt;x.setAttribute("position",new Jt(new Float32Array([-1,-1,.5,3,-1,.5,-1,3,.5]),3));const S=new yr(x,m),w=this;this.enabled=!1,this.autoUpdate=!0,this.needsUpdate=!1,this.type=HS;let _=this.type;this.render=function(N,D,F){if(w.enabled===!1||w.autoUpdate===!1&&w.needsUpdate===!1||N.length===0)return;const G=t.getRenderTarget(),k=t.getActiveCubeFace(),U=t.getActiveMipmapLevel(),H=t.state;H.setBlending($c),H.buffers.color.setClear(1,1,1,1),H.buffers.depth.setTest(!0),H.setScissorTest(!1);const ne=_!==Oa&&this.type===Oa,te=_===Oa&&this.type!==Oa;for(let he=0,oe=N.length;hed||i.y>d)&&(i.x>d&&(s.x=Math.floor(d/J.x),i.x=s.x*J.x,B.mapSize.x=s.x),i.y>d&&(s.y=Math.floor(d/J.y),i.y=s.y*J.y,B.mapSize.y=s.y)),B.map===null||ne===!0||te===!0){const V=this.type!==Oa?{minFilter:ri,magFilter:ri}:{};B.map!==null&&B.map.dispose(),B.map=new Va(i.x,i.y,V),B.map.texture.name=fe.name+".shadowMap",B.camera.updateProjectionMatrix()}t.setRenderTarget(B.map),t.clear();const Y=B.getViewportCount();for(let V=0;V0||D.map&&D.alphaTest>0){const H=k.uuid,ne=D.uuid;let te=c[H];te===void 0&&(te={},c[H]=te);let he=te[ne];he===void 0&&(he=k.clone(),te[ne]=he,D.addEventListener("dispose",O)),k=he}if(k.visible=D.visible,k.wireframe=D.wireframe,G===Oa?k.side=D.shadowSide!==null?D.shadowSide:D.side:k.side=D.shadowSide!==null?D.shadowSide:f[D.side],k.alphaMap=D.alphaMap,k.alphaTest=D.alphaTest,k.map=D.map,k.clipShadows=D.clipShadows,k.clippingPlanes=D.clippingPlanes,k.clipIntersection=D.clipIntersection,k.displacementMap=D.displacementMap,k.displacementScale=D.displacementScale,k.displacementBias=D.displacementBias,k.wireframeLinewidth=D.wireframeLinewidth,k.linewidth=D.linewidth,F.isPointLight===!0&&k.isMeshDistanceMaterial===!0){const H=t.properties.get(k);H.light=F}return k}function C(N,D,F,G,k){if(N.visible===!1)return;if(N.layers.test(D.layers)&&(N.isMesh||N.isLine||N.isPoints)&&(N.castShadow||N.receiveShadow&&k===Oa)&&(!N.frustumCulled||r.intersectsObject(N))){N.modelViewMatrix.multiplyMatrices(F.matrixWorldInverse,N.matrixWorld);const ne=e.update(N),te=N.material;if(Array.isArray(te)){const he=ne.groups;for(let oe=0,fe=he.length;oe=1):fe.indexOf("OpenGL ES")!==-1&&(oe=parseFloat(/^OpenGL ES (\d)/.exec(fe)[1]),he=oe>=2);let B=null,J={};const Y=t.getParameter(t.SCISSOR_BOX),V=t.getParameter(t.VIEWPORT),q=new Ln().fromArray(Y),pe=new Ln().fromArray(V);function le(ie,Ue,Te,Oe){const Ye=new Uint8Array(4),ft=t.createTexture();t.bindTexture(ie,ft),t.texParameteri(ie,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(ie,t.TEXTURE_MAG_FILTER,t.NEAREST);for(let Yt=0;Yte?(t.repeat.x=1,t.repeat.y=n/e,t.offset.x=0,t.offset.y=(1-t.repeat.y)/2):(t.repeat.x=e/n,t.repeat.y=1,t.offset.x=(1-t.repeat.x)/2,t.offset.y=0),t}function $0e(t,e){const n=t.image&&t.image.width?t.image.width/t.image.height:1;return n>e?(t.repeat.x=e/n,t.repeat.y=1,t.offset.x=(1-t.repeat.x)/2,t.offset.y=0):(t.repeat.x=1,t.repeat.y=n/e,t.offset.x=0,t.offset.y=(1-t.repeat.y)/2),t}function X0e(t){return t.repeat.x=1,t.repeat.y=1,t.offset.x=0,t.offset.y=0,t}function ZC(t,e,n,r){const i=q0e(r);switch(n){case mR:return t*e;case vR:return t*e;case yR:return t*e*2;case qS:return t*e/i.components*i.byteLength;case cx:return t*e/i.components*i.byteLength;case xR:return t*e*2/i.components*i.byteLength;case KS:return t*e*2/i.components*i.byteLength;case gR:return t*e*3/i.components*i.byteLength;case is:return t*e*4/i.components*i.byteLength;case YS:return t*e*4/i.components*i.byteLength;case Y0:case Z0:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*8;case Q0:case J0:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*16;case c1:case d1:return Math.max(t,16)*Math.max(e,8)/4;case l1:case u1:return Math.max(t,8)*Math.max(e,8)/2;case f1:case h1:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*8;case p1:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*16;case m1:return Math.floor((t+3)/4)*Math.floor((e+3)/4)*16;case g1:return Math.floor((t+4)/5)*Math.floor((e+3)/4)*16;case v1:return Math.floor((t+4)/5)*Math.floor((e+4)/5)*16;case y1:return Math.floor((t+5)/6)*Math.floor((e+4)/5)*16;case x1:return Math.floor((t+5)/6)*Math.floor((e+5)/6)*16;case b1:return Math.floor((t+7)/8)*Math.floor((e+4)/5)*16;case _1:return Math.floor((t+7)/8)*Math.floor((e+5)/6)*16;case w1:return Math.floor((t+7)/8)*Math.floor((e+7)/8)*16;case S1:return Math.floor((t+9)/10)*Math.floor((e+4)/5)*16;case M1:return Math.floor((t+9)/10)*Math.floor((e+5)/6)*16;case E1:return Math.floor((t+9)/10)*Math.floor((e+7)/8)*16;case A1:return Math.floor((t+9)/10)*Math.floor((e+9)/10)*16;case T1:return Math.floor((t+11)/12)*Math.floor((e+9)/10)*16;case C1:return Math.floor((t+11)/12)*Math.floor((e+11)/12)*16;case ey:case P1:case R1:return Math.ceil(t/4)*Math.ceil(e/4)*16;case bR:case N1:return Math.ceil(t/4)*Math.ceil(e/4)*8;case I1:case k1:return Math.ceil(t/4)*Math.ceil(e/4)*16}throw new Error(`Unable to determine texture byte length for ${n} format.`)}function q0e(t){switch(t){case Ha:case fR:return{byteLength:1,components:1};case Og:case hR:case rv:return{byteLength:2,components:1};case $S:case XS:return{byteLength:2,components:4};case eu:case WS:case Qs:return{byteLength:4,components:1};case pR:return{byteLength:4,components:3}}throw new Error(`Unknown texture type ${t}.`)}const K0e={contain:W0e,cover:$0e,fill:X0e,getByteLength:ZC};function Y0e(t,e,n,r,i,s,o){const a=e.has("WEBGL_multisampled_render_to_texture")?e.get("WEBGL_multisampled_render_to_texture"):null,l=typeof navigator>"u"?!1:/OculusBrowser/g.test(navigator.userAgent),c=new Ve,d=new WeakMap;let f;const m=new WeakMap;let y=!1;try{y=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")!==null}catch{}function x(ee,$){return y?new OffscreenCanvas(ee,$):Oy("canvas")}function S(ee,$,Ee){let ze=1;const He=ct(ee);if((He.width>Ee||He.height>Ee)&&(ze=Ee/Math.max(He.width,He.height)),ze<1)if(typeof HTMLImageElement<"u"&&ee instanceof HTMLImageElement||typeof HTMLCanvasElement<"u"&&ee instanceof HTMLCanvasElement||typeof ImageBitmap<"u"&&ee instanceof ImageBitmap||typeof VideoFrame<"u"&&ee instanceof VideoFrame){const Be=Math.floor(ze*He.width),gt=Math.floor(ze*He.height);f===void 0&&(f=x(Be,gt));const rt=$?x(Be,gt):f;return rt.width=Be,rt.height=gt,rt.getContext("2d").drawImage(ee,0,0,Be,gt),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+He.width+"x"+He.height+") to ("+Be+"x"+gt+")."),rt}else return"data"in ee&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+He.width+"x"+He.height+")."),ee;return ee}function w(ee){return ee.generateMipmaps&&ee.minFilter!==ri&&ee.minFilter!==Cr}function _(ee){t.generateMipmap(ee)}function E(ee,$,Ee,ze,He=!1){if(ee!==null){if(t[ee]!==void 0)return t[ee];console.warn("THREE.WebGLRenderer: Attempt to use non-existing WebGL internal format '"+ee+"'")}let Be=$;if($===t.RED&&(Ee===t.FLOAT&&(Be=t.R32F),Ee===t.HALF_FLOAT&&(Be=t.R16F),Ee===t.UNSIGNED_BYTE&&(Be=t.R8)),$===t.RED_INTEGER&&(Ee===t.UNSIGNED_BYTE&&(Be=t.R8UI),Ee===t.UNSIGNED_SHORT&&(Be=t.R16UI),Ee===t.UNSIGNED_INT&&(Be=t.R32UI),Ee===t.BYTE&&(Be=t.R8I),Ee===t.SHORT&&(Be=t.R16I),Ee===t.INT&&(Be=t.R32I)),$===t.RG&&(Ee===t.FLOAT&&(Be=t.RG32F),Ee===t.HALF_FLOAT&&(Be=t.RG16F),Ee===t.UNSIGNED_BYTE&&(Be=t.RG8)),$===t.RG_INTEGER&&(Ee===t.UNSIGNED_BYTE&&(Be=t.RG8UI),Ee===t.UNSIGNED_SHORT&&(Be=t.RG16UI),Ee===t.UNSIGNED_INT&&(Be=t.RG32UI),Ee===t.BYTE&&(Be=t.RG8I),Ee===t.SHORT&&(Be=t.RG16I),Ee===t.INT&&(Be=t.RG32I)),$===t.RGB_INTEGER&&(Ee===t.UNSIGNED_BYTE&&(Be=t.RGB8UI),Ee===t.UNSIGNED_SHORT&&(Be=t.RGB16UI),Ee===t.UNSIGNED_INT&&(Be=t.RGB32UI),Ee===t.BYTE&&(Be=t.RGB8I),Ee===t.SHORT&&(Be=t.RGB16I),Ee===t.INT&&(Be=t.RGB32I)),$===t.RGBA_INTEGER&&(Ee===t.UNSIGNED_BYTE&&(Be=t.RGBA8UI),Ee===t.UNSIGNED_SHORT&&(Be=t.RGBA16UI),Ee===t.UNSIGNED_INT&&(Be=t.RGBA32UI),Ee===t.BYTE&&(Be=t.RGBA8I),Ee===t.SHORT&&(Be=t.RGBA16I),Ee===t.INT&&(Be=t.RGBA32I)),$===t.RGB&&Ee===t.UNSIGNED_INT_5_9_9_9_REV&&(Be=t.RGB9_E5),$===t.RGBA){const gt=He?Py:In.getTransfer(ze);Ee===t.FLOAT&&(Be=t.RGBA32F),Ee===t.HALF_FLOAT&&(Be=t.RGBA16F),Ee===t.UNSIGNED_BYTE&&(Be=gt===Jn?t.SRGB8_ALPHA8:t.RGBA8),Ee===t.UNSIGNED_SHORT_4_4_4_4&&(Be=t.RGBA4),Ee===t.UNSIGNED_SHORT_5_5_5_1&&(Be=t.RGB5_A1)}return(Be===t.R16F||Be===t.R32F||Be===t.RG16F||Be===t.RG32F||Be===t.RGBA16F||Be===t.RGBA32F)&&e.get("EXT_color_buffer_float"),Be}function T(ee,$){let Ee;return ee?$===null||$===eu||$===Fh?Ee=t.DEPTH24_STENCIL8:$===Qs?Ee=t.DEPTH32F_STENCIL8:$===Og&&(Ee=t.DEPTH24_STENCIL8,console.warn("DepthTexture: 16 bit depth attachment is not supported with stencil. Using 24-bit attachment.")):$===null||$===eu||$===Fh?Ee=t.DEPTH_COMPONENT24:$===Qs?Ee=t.DEPTH_COMPONENT32F:$===Og&&(Ee=t.DEPTH_COMPONENT16),Ee}function C(ee,$){return w(ee)===!0||ee.isFramebufferTexture&&ee.minFilter!==ri&&ee.minFilter!==Cr?Math.log2(Math.max($.width,$.height))+1:ee.mipmaps!==void 0&&ee.mipmaps.length>0?ee.mipmaps.length:ee.isCompressedTexture&&Array.isArray(ee.image)?$.mipmaps.length:1}function O(ee){const $=ee.target;$.removeEventListener("dispose",O),D($),$.isVideoTexture&&d.delete($)}function N(ee){const $=ee.target;$.removeEventListener("dispose",N),G($)}function D(ee){const $=r.get(ee);if($.__webglInit===void 0)return;const Ee=ee.source,ze=m.get(Ee);if(ze){const He=ze[$.__cacheKey];He.usedTimes--,He.usedTimes===0&&F(ee),Object.keys(ze).length===0&&m.delete(Ee)}r.remove(ee)}function F(ee){const $=r.get(ee);t.deleteTexture($.__webglTexture);const Ee=ee.source,ze=m.get(Ee);delete ze[$.__cacheKey],o.memory.textures--}function G(ee){const $=r.get(ee);if(ee.depthTexture&&ee.depthTexture.dispose(),ee.isWebGLCubeRenderTarget)for(let ze=0;ze<6;ze++){if(Array.isArray($.__webglFramebuffer[ze]))for(let He=0;He<$.__webglFramebuffer[ze].length;He++)t.deleteFramebuffer($.__webglFramebuffer[ze][He]);else t.deleteFramebuffer($.__webglFramebuffer[ze]);$.__webglDepthbuffer&&t.deleteRenderbuffer($.__webglDepthbuffer[ze])}else{if(Array.isArray($.__webglFramebuffer))for(let ze=0;ze<$.__webglFramebuffer.length;ze++)t.deleteFramebuffer($.__webglFramebuffer[ze]);else t.deleteFramebuffer($.__webglFramebuffer);if($.__webglDepthbuffer&&t.deleteRenderbuffer($.__webglDepthbuffer),$.__webglMultisampledFramebuffer&&t.deleteFramebuffer($.__webglMultisampledFramebuffer),$.__webglColorRenderbuffer)for(let ze=0;ze<$.__webglColorRenderbuffer.length;ze++)$.__webglColorRenderbuffer[ze]&&t.deleteRenderbuffer($.__webglColorRenderbuffer[ze]);$.__webglDepthRenderbuffer&&t.deleteRenderbuffer($.__webglDepthRenderbuffer)}const Ee=ee.textures;for(let ze=0,He=Ee.length;ze=i.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+ee+" texture units while this GPU supports only "+i.maxTextures),k+=1,ee}function ne(ee){const $=[];return $.push(ee.wrapS),$.push(ee.wrapT),$.push(ee.wrapR||0),$.push(ee.magFilter),$.push(ee.minFilter),$.push(ee.anisotropy),$.push(ee.internalFormat),$.push(ee.format),$.push(ee.type),$.push(ee.generateMipmaps),$.push(ee.premultiplyAlpha),$.push(ee.flipY),$.push(ee.unpackAlignment),$.push(ee.colorSpace),$.join()}function te(ee,$){const Ee=r.get(ee);if(ee.isVideoTexture&&et(ee),ee.isRenderTargetTexture===!1&&ee.version>0&&Ee.__version!==ee.version){const ze=ee.image;if(ze===null)console.warn("THREE.WebGLRenderer: Texture marked for update but no image data found.");else if(ze.complete===!1)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete");else{pe(Ee,ee,$);return}}n.bindTexture(t.TEXTURE_2D,Ee.__webglTexture,t.TEXTURE0+$)}function he(ee,$){const Ee=r.get(ee);if(ee.version>0&&Ee.__version!==ee.version){pe(Ee,ee,$);return}n.bindTexture(t.TEXTURE_2D_ARRAY,Ee.__webglTexture,t.TEXTURE0+$)}function oe(ee,$){const Ee=r.get(ee);if(ee.version>0&&Ee.__version!==ee.version){pe(Ee,ee,$);return}n.bindTexture(t.TEXTURE_3D,Ee.__webglTexture,t.TEXTURE0+$)}function fe(ee,$){const Ee=r.get(ee);if(ee.version>0&&Ee.__version!==ee.version){le(Ee,ee,$);return}n.bindTexture(t.TEXTURE_CUBE_MAP,Ee.__webglTexture,t.TEXTURE0+$)}const B={[Pd]:t.REPEAT,[_o]:t.CLAMP_TO_EDGE,[kg]:t.MIRRORED_REPEAT},J={[ri]:t.NEAREST,[GS]:t.NEAREST_MIPMAP_NEAREST,[sh]:t.NEAREST_MIPMAP_LINEAR,[Cr]:t.LINEAR,[rg]:t.LINEAR_MIPMAP_NEAREST,[qo]:t.LINEAR_MIPMAP_LINEAR},Y={[YV]:t.NEVER,[n6]:t.ALWAYS,[ZV]:t.LESS,[SR]:t.LEQUAL,[QV]:t.EQUAL,[t6]:t.GEQUAL,[JV]:t.GREATER,[e6]:t.NOTEQUAL};function V(ee,$){if($.type===Qs&&e.has("OES_texture_float_linear")===!1&&($.magFilter===Cr||$.magFilter===rg||$.magFilter===sh||$.magFilter===qo||$.minFilter===Cr||$.minFilter===rg||$.minFilter===sh||$.minFilter===qo)&&console.warn("THREE.WebGLRenderer: Unable to use linear filtering with floating point textures. OES_texture_float_linear not supported on this device."),t.texParameteri(ee,t.TEXTURE_WRAP_S,B[$.wrapS]),t.texParameteri(ee,t.TEXTURE_WRAP_T,B[$.wrapT]),(ee===t.TEXTURE_3D||ee===t.TEXTURE_2D_ARRAY)&&t.texParameteri(ee,t.TEXTURE_WRAP_R,B[$.wrapR]),t.texParameteri(ee,t.TEXTURE_MAG_FILTER,J[$.magFilter]),t.texParameteri(ee,t.TEXTURE_MIN_FILTER,J[$.minFilter]),$.compareFunction&&(t.texParameteri(ee,t.TEXTURE_COMPARE_MODE,t.COMPARE_REF_TO_TEXTURE),t.texParameteri(ee,t.TEXTURE_COMPARE_FUNC,Y[$.compareFunction])),e.has("EXT_texture_filter_anisotropic")===!0){if($.magFilter===ri||$.minFilter!==sh&&$.minFilter!==qo||$.type===Qs&&e.has("OES_texture_float_linear")===!1)return;if($.anisotropy>1||r.get($).__currentAnisotropy){const Ee=e.get("EXT_texture_filter_anisotropic");t.texParameterf(ee,Ee.TEXTURE_MAX_ANISOTROPY_EXT,Math.min($.anisotropy,i.getMaxAnisotropy())),r.get($).__currentAnisotropy=$.anisotropy}}}function q(ee,$){let Ee=!1;ee.__webglInit===void 0&&(ee.__webglInit=!0,$.addEventListener("dispose",O));const ze=$.source;let He=m.get(ze);He===void 0&&(He={},m.set(ze,He));const Be=ne($);if(Be!==ee.__cacheKey){He[Be]===void 0&&(He[Be]={texture:t.createTexture(),usedTimes:0},o.memory.textures++,Ee=!0),He[Be].usedTimes++;const gt=He[ee.__cacheKey];gt!==void 0&&(He[ee.__cacheKey].usedTimes--,gt.usedTimes===0&&F($)),ee.__cacheKey=Be,ee.__webglTexture=He[Be].texture}return Ee}function pe(ee,$,Ee){let ze=t.TEXTURE_2D;($.isDataArrayTexture||$.isCompressedArrayTexture)&&(ze=t.TEXTURE_2D_ARRAY),$.isData3DTexture&&(ze=t.TEXTURE_3D);const He=q(ee,$),Be=$.source;n.bindTexture(ze,ee.__webglTexture,t.TEXTURE0+Ee);const gt=r.get(Be);if(Be.version!==gt.__version||He===!0){n.activeTexture(t.TEXTURE0+Ee);const rt=In.getPrimaries(In.workingColorSpace),dt=$.colorSpace===jc?null:In.getPrimaries($.colorSpace),Bt=$.colorSpace===jc||rt===dt?t.NONE:t.BROWSER_DEFAULT_WEBGL;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,$.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,$.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,$.unpackAlignment),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,Bt);let Ke=S($.image,!1,i.maxTextureSize);Ke=bt($,Ke);const re=s.convert($.format,$.colorSpace),Qe=s.convert($.type);let wt=E($.internalFormat,re,Qe,$.colorSpace,$.isVideoTexture);V(ze,$);let pt;const de=$.mipmaps,Q=$.isVideoTexture!==!0,Ae=gt.__version===void 0||He===!0,ie=Be.dataReady,Ue=C($,Ke);if($.isDepthTexture)wt=T($.format===zh,$.type),Ae&&(Q?n.texStorage2D(t.TEXTURE_2D,1,wt,Ke.width,Ke.height):n.texImage2D(t.TEXTURE_2D,0,wt,Ke.width,Ke.height,0,re,Qe,null));else if($.isDataTexture)if(de.length>0){Q&&Ae&&n.texStorage2D(t.TEXTURE_2D,Ue,wt,de[0].width,de[0].height);for(let Te=0,Oe=de.length;Te0){const Ye=ZC(pt.width,pt.height,$.format,$.type);for(const ft of $.layerUpdates){const Yt=pt.data.subarray(ft*Ye/pt.data.BYTES_PER_ELEMENT,(ft+1)*Ye/pt.data.BYTES_PER_ELEMENT);n.compressedTexSubImage3D(t.TEXTURE_2D_ARRAY,Te,0,0,ft,pt.width,pt.height,1,re,Yt,0,0)}$.clearLayerUpdates()}else n.compressedTexSubImage3D(t.TEXTURE_2D_ARRAY,Te,0,0,0,pt.width,pt.height,Ke.depth,re,pt.data,0,0)}else n.compressedTexImage3D(t.TEXTURE_2D_ARRAY,Te,wt,pt.width,pt.height,Ke.depth,0,pt.data,0,0);else console.warn("THREE.WebGLRenderer: Attempt to load unsupported compressed texture format in .uploadTexture()");else Q?ie&&n.texSubImage3D(t.TEXTURE_2D_ARRAY,Te,0,0,0,pt.width,pt.height,Ke.depth,re,Qe,pt.data):n.texImage3D(t.TEXTURE_2D_ARRAY,Te,wt,pt.width,pt.height,Ke.depth,0,re,Qe,pt.data)}else{Q&&Ae&&n.texStorage2D(t.TEXTURE_2D,Ue,wt,de[0].width,de[0].height);for(let Te=0,Oe=de.length;Te0){const Te=ZC(Ke.width,Ke.height,$.format,$.type);for(const Oe of $.layerUpdates){const Ye=Ke.data.subarray(Oe*Te/Ke.data.BYTES_PER_ELEMENT,(Oe+1)*Te/Ke.data.BYTES_PER_ELEMENT);n.texSubImage3D(t.TEXTURE_2D_ARRAY,0,0,0,Oe,Ke.width,Ke.height,1,re,Qe,Ye)}$.clearLayerUpdates()}else n.texSubImage3D(t.TEXTURE_2D_ARRAY,0,0,0,0,Ke.width,Ke.height,Ke.depth,re,Qe,Ke.data)}else n.texImage3D(t.TEXTURE_2D_ARRAY,0,wt,Ke.width,Ke.height,Ke.depth,0,re,Qe,Ke.data);else if($.isData3DTexture)Q?(Ae&&n.texStorage3D(t.TEXTURE_3D,Ue,wt,Ke.width,Ke.height,Ke.depth),ie&&n.texSubImage3D(t.TEXTURE_3D,0,0,0,0,Ke.width,Ke.height,Ke.depth,re,Qe,Ke.data)):n.texImage3D(t.TEXTURE_3D,0,wt,Ke.width,Ke.height,Ke.depth,0,re,Qe,Ke.data);else if($.isFramebufferTexture){if(Ae)if(Q)n.texStorage2D(t.TEXTURE_2D,Ue,wt,Ke.width,Ke.height);else{let Te=Ke.width,Oe=Ke.height;for(let Ye=0;Ye>=1,Oe>>=1}}else if(de.length>0){if(Q&&Ae){const Te=ct(de[0]);n.texStorage2D(t.TEXTURE_2D,Ue,wt,Te.width,Te.height)}for(let Te=0,Oe=de.length;Te0&&Ue++;const Oe=ct(re[0]);n.texStorage2D(t.TEXTURE_CUBE_MAP,Ue,de,Oe.width,Oe.height)}for(let Oe=0;Oe<6;Oe++)if(Ke){Q?ie&&n.texSubImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+Oe,0,0,0,re[Oe].width,re[Oe].height,wt,pt,re[Oe].data):n.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+Oe,0,de,re[Oe].width,re[Oe].height,0,wt,pt,re[Oe].data);for(let Ye=0;Ye>Be),re=Math.max(1,$.height>>Be);He===t.TEXTURE_3D||He===t.TEXTURE_2D_ARRAY?n.texImage3D(He,Be,dt,Ke,re,$.depth,0,gt,rt,null):n.texImage2D(He,Be,dt,Ke,re,0,gt,rt,null)}n.bindFramebuffer(t.FRAMEBUFFER,ee),$e($)?a.framebufferTexture2DMultisampleEXT(t.FRAMEBUFFER,ze,He,r.get(Ee).__webglTexture,0,De($)):(He===t.TEXTURE_2D||He>=t.TEXTURE_CUBE_MAP_POSITIVE_X&&He<=t.TEXTURE_CUBE_MAP_NEGATIVE_Z)&&t.framebufferTexture2D(t.FRAMEBUFFER,ze,He,r.get(Ee).__webglTexture,Be),n.bindFramebuffer(t.FRAMEBUFFER,null)}function be(ee,$,Ee){if(t.bindRenderbuffer(t.RENDERBUFFER,ee),$.depthBuffer){const ze=$.depthTexture,He=ze&&ze.isDepthTexture?ze.type:null,Be=T($.stencilBuffer,He),gt=$.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,rt=De($);$e($)?a.renderbufferStorageMultisampleEXT(t.RENDERBUFFER,rt,Be,$.width,$.height):Ee?t.renderbufferStorageMultisample(t.RENDERBUFFER,rt,Be,$.width,$.height):t.renderbufferStorage(t.RENDERBUFFER,Be,$.width,$.height),t.framebufferRenderbuffer(t.FRAMEBUFFER,gt,t.RENDERBUFFER,ee)}else{const ze=$.textures;for(let He=0;He{delete $.__boundDepthTexture,delete $.__depthDisposeCallback,ze.removeEventListener("dispose",He)};ze.addEventListener("dispose",He),$.__depthDisposeCallback=He}$.__boundDepthTexture=ze}if(ee.depthTexture&&!$.__autoAllocateDepthBuffer){if(Ee)throw new Error("target.depthTexture not supported in Cube render targets");Se($.__webglFramebuffer,ee)}else if(Ee){$.__webglDepthbuffer=[];for(let ze=0;ze<6;ze++)if(n.bindFramebuffer(t.FRAMEBUFFER,$.__webglFramebuffer[ze]),$.__webglDepthbuffer[ze]===void 0)$.__webglDepthbuffer[ze]=t.createRenderbuffer(),be($.__webglDepthbuffer[ze],ee,!1);else{const He=ee.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,Be=$.__webglDepthbuffer[ze];t.bindRenderbuffer(t.RENDERBUFFER,Be),t.framebufferRenderbuffer(t.FRAMEBUFFER,He,t.RENDERBUFFER,Be)}}else if(n.bindFramebuffer(t.FRAMEBUFFER,$.__webglFramebuffer),$.__webglDepthbuffer===void 0)$.__webglDepthbuffer=t.createRenderbuffer(),be($.__webglDepthbuffer,ee,!1);else{const ze=ee.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,He=$.__webglDepthbuffer;t.bindRenderbuffer(t.RENDERBUFFER,He),t.framebufferRenderbuffer(t.FRAMEBUFFER,ze,t.RENDERBUFFER,He)}n.bindFramebuffer(t.FRAMEBUFFER,null)}function Me(ee,$,Ee){const ze=r.get(ee);$!==void 0&&ce(ze.__webglFramebuffer,ee,ee.texture,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,0),Ee!==void 0&&Xe(ee)}function We(ee){const $=ee.texture,Ee=r.get(ee),ze=r.get($);ee.addEventListener("dispose",N);const He=ee.textures,Be=ee.isWebGLCubeRenderTarget===!0,gt=He.length>1;if(gt||(ze.__webglTexture===void 0&&(ze.__webglTexture=t.createTexture()),ze.__version=$.version,o.memory.textures++),Be){Ee.__webglFramebuffer=[];for(let rt=0;rt<6;rt++)if($.mipmaps&&$.mipmaps.length>0){Ee.__webglFramebuffer[rt]=[];for(let dt=0;dt<$.mipmaps.length;dt++)Ee.__webglFramebuffer[rt][dt]=t.createFramebuffer()}else Ee.__webglFramebuffer[rt]=t.createFramebuffer()}else{if($.mipmaps&&$.mipmaps.length>0){Ee.__webglFramebuffer=[];for(let rt=0;rt<$.mipmaps.length;rt++)Ee.__webglFramebuffer[rt]=t.createFramebuffer()}else Ee.__webglFramebuffer=t.createFramebuffer();if(gt)for(let rt=0,dt=He.length;rt0&&$e(ee)===!1){Ee.__webglMultisampledFramebuffer=t.createFramebuffer(),Ee.__webglColorRenderbuffer=[],n.bindFramebuffer(t.FRAMEBUFFER,Ee.__webglMultisampledFramebuffer);for(let rt=0;rt0)for(let dt=0;dt<$.mipmaps.length;dt++)ce(Ee.__webglFramebuffer[rt][dt],ee,$,t.COLOR_ATTACHMENT0,t.TEXTURE_CUBE_MAP_POSITIVE_X+rt,dt);else ce(Ee.__webglFramebuffer[rt],ee,$,t.COLOR_ATTACHMENT0,t.TEXTURE_CUBE_MAP_POSITIVE_X+rt,0);w($)&&_(t.TEXTURE_CUBE_MAP),n.unbindTexture()}else if(gt){for(let rt=0,dt=He.length;rt0)for(let dt=0;dt<$.mipmaps.length;dt++)ce(Ee.__webglFramebuffer[dt],ee,$,t.COLOR_ATTACHMENT0,rt,dt);else ce(Ee.__webglFramebuffer,ee,$,t.COLOR_ATTACHMENT0,rt,0);w($)&&_(rt),n.unbindTexture()}ee.depthBuffer&&Xe(ee)}function qe(ee){const $=ee.textures;for(let Ee=0,ze=$.length;Ee0){if($e(ee)===!1){const $=ee.textures,Ee=ee.width,ze=ee.height;let He=t.COLOR_BUFFER_BIT;const Be=ee.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT,gt=r.get(ee),rt=$.length>1;if(rt)for(let dt=0;dt<$.length;dt++)n.bindFramebuffer(t.FRAMEBUFFER,gt.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0+dt,t.RENDERBUFFER,null),n.bindFramebuffer(t.FRAMEBUFFER,gt.__webglFramebuffer),t.framebufferTexture2D(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0+dt,t.TEXTURE_2D,null,0);n.bindFramebuffer(t.READ_FRAMEBUFFER,gt.__webglMultisampledFramebuffer),n.bindFramebuffer(t.DRAW_FRAMEBUFFER,gt.__webglFramebuffer);for(let dt=0;dt<$.length;dt++){if(ee.resolveDepthBuffer&&(ee.depthBuffer&&(He|=t.DEPTH_BUFFER_BIT),ee.stencilBuffer&&ee.resolveStencilBuffer&&(He|=t.STENCIL_BUFFER_BIT)),rt){t.framebufferRenderbuffer(t.READ_FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.RENDERBUFFER,gt.__webglColorRenderbuffer[dt]);const Bt=r.get($[dt]).__webglTexture;t.framebufferTexture2D(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,Bt,0)}t.blitFramebuffer(0,0,Ee,ze,0,0,Ee,ze,He,t.NEAREST),l===!0&&(ue.length=0,Z.length=0,ue.push(t.COLOR_ATTACHMENT0+dt),ee.depthBuffer&&ee.resolveDepthBuffer===!1&&(ue.push(Be),Z.push(Be),t.invalidateFramebuffer(t.DRAW_FRAMEBUFFER,Z)),t.invalidateFramebuffer(t.READ_FRAMEBUFFER,ue))}if(n.bindFramebuffer(t.READ_FRAMEBUFFER,null),n.bindFramebuffer(t.DRAW_FRAMEBUFFER,null),rt)for(let dt=0;dt<$.length;dt++){n.bindFramebuffer(t.FRAMEBUFFER,gt.__webglMultisampledFramebuffer),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0+dt,t.RENDERBUFFER,gt.__webglColorRenderbuffer[dt]);const Bt=r.get($[dt]).__webglTexture;n.bindFramebuffer(t.FRAMEBUFFER,gt.__webglFramebuffer),t.framebufferTexture2D(t.DRAW_FRAMEBUFFER,t.COLOR_ATTACHMENT0+dt,t.TEXTURE_2D,Bt,0)}n.bindFramebuffer(t.DRAW_FRAMEBUFFER,gt.__webglMultisampledFramebuffer)}else if(ee.depthBuffer&&ee.resolveDepthBuffer===!1&&l){const $=ee.stencilBuffer?t.DEPTH_STENCIL_ATTACHMENT:t.DEPTH_ATTACHMENT;t.invalidateFramebuffer(t.DRAW_FRAMEBUFFER,[$])}}}function De(ee){return Math.min(i.maxSamples,ee.samples)}function $e(ee){const $=r.get(ee);return ee.samples>0&&e.has("WEBGL_multisampled_render_to_texture")===!0&&$.__useRenderToTexture!==!1}function et(ee){const $=o.render.frame;d.get(ee)!==$&&(d.set(ee,$),ee.update())}function bt(ee,$){const Ee=ee.colorSpace,ze=ee.format,He=ee.type;return ee.isCompressedTexture===!0||ee.isVideoTexture===!0||Ee!==xi&&Ee!==jc&&(In.getTransfer(Ee)===Jn?(ze!==is||He!==Ha)&&console.warn("THREE.WebGLTextures: sRGB encoded textures have to use RGBAFormat and UnsignedByteType."):console.error("THREE.WebGLTextures: Unsupported texture color space:",Ee)),$}function ct(ee){return typeof HTMLImageElement<"u"&&ee instanceof HTMLImageElement?(c.width=ee.naturalWidth||ee.width,c.height=ee.naturalHeight||ee.height):typeof VideoFrame<"u"&&ee instanceof VideoFrame?(c.width=ee.displayWidth,c.height=ee.displayHeight):(c.width=ee.width,c.height=ee.height),c}this.allocateTextureUnit=H,this.resetTextureUnits=U,this.setTexture2D=te,this.setTexture2DArray=he,this.setTexture3D=oe,this.setTextureCube=fe,this.rebindTextures=Me,this.setupRenderTarget=We,this.updateRenderTargetMipmap=qe,this.updateMultisampleRenderTarget=Ge,this.setupDepthRenderbuffer=Xe,this.setupFrameBufferTexture=ce,this.useMultisampledRTT=$e}function v6(t,e){function n(r,i=jc){let s;const o=In.getTransfer(i);if(r===Ha)return t.UNSIGNED_BYTE;if(r===$S)return t.UNSIGNED_SHORT_4_4_4_4;if(r===XS)return t.UNSIGNED_SHORT_5_5_5_1;if(r===pR)return t.UNSIGNED_INT_5_9_9_9_REV;if(r===fR)return t.BYTE;if(r===hR)return t.SHORT;if(r===Og)return t.UNSIGNED_SHORT;if(r===WS)return t.INT;if(r===eu)return t.UNSIGNED_INT;if(r===Qs)return t.FLOAT;if(r===rv)return t.HALF_FLOAT;if(r===mR)return t.ALPHA;if(r===gR)return t.RGB;if(r===is)return t.RGBA;if(r===vR)return t.LUMINANCE;if(r===yR)return t.LUMINANCE_ALPHA;if(r===Eh)return t.DEPTH_COMPONENT;if(r===zh)return t.DEPTH_STENCIL;if(r===qS)return t.RED;if(r===cx)return t.RED_INTEGER;if(r===xR)return t.RG;if(r===KS)return t.RG_INTEGER;if(r===YS)return t.RGBA_INTEGER;if(r===Y0||r===Z0||r===Q0||r===J0)if(o===Jn)if(s=e.get("WEBGL_compressed_texture_s3tc_srgb"),s!==null){if(r===Y0)return s.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(r===Z0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(r===Q0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(r===J0)return s.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else return null;else if(s=e.get("WEBGL_compressed_texture_s3tc"),s!==null){if(r===Y0)return s.COMPRESSED_RGB_S3TC_DXT1_EXT;if(r===Z0)return s.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(r===Q0)return s.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(r===J0)return s.COMPRESSED_RGBA_S3TC_DXT5_EXT}else return null;if(r===l1||r===c1||r===u1||r===d1)if(s=e.get("WEBGL_compressed_texture_pvrtc"),s!==null){if(r===l1)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(r===c1)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(r===u1)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(r===d1)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}else return null;if(r===f1||r===h1||r===p1)if(s=e.get("WEBGL_compressed_texture_etc"),s!==null){if(r===f1||r===h1)return o===Jn?s.COMPRESSED_SRGB8_ETC2:s.COMPRESSED_RGB8_ETC2;if(r===p1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:s.COMPRESSED_RGBA8_ETC2_EAC}else return null;if(r===m1||r===g1||r===v1||r===y1||r===x1||r===b1||r===_1||r===w1||r===S1||r===M1||r===E1||r===A1||r===T1||r===C1)if(s=e.get("WEBGL_compressed_texture_astc"),s!==null){if(r===m1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:s.COMPRESSED_RGBA_ASTC_4x4_KHR;if(r===g1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:s.COMPRESSED_RGBA_ASTC_5x4_KHR;if(r===v1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:s.COMPRESSED_RGBA_ASTC_5x5_KHR;if(r===y1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:s.COMPRESSED_RGBA_ASTC_6x5_KHR;if(r===x1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:s.COMPRESSED_RGBA_ASTC_6x6_KHR;if(r===b1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:s.COMPRESSED_RGBA_ASTC_8x5_KHR;if(r===_1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:s.COMPRESSED_RGBA_ASTC_8x6_KHR;if(r===w1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:s.COMPRESSED_RGBA_ASTC_8x8_KHR;if(r===S1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:s.COMPRESSED_RGBA_ASTC_10x5_KHR;if(r===M1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:s.COMPRESSED_RGBA_ASTC_10x6_KHR;if(r===E1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:s.COMPRESSED_RGBA_ASTC_10x8_KHR;if(r===A1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:s.COMPRESSED_RGBA_ASTC_10x10_KHR;if(r===T1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:s.COMPRESSED_RGBA_ASTC_12x10_KHR;if(r===C1)return o===Jn?s.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:s.COMPRESSED_RGBA_ASTC_12x12_KHR}else return null;if(r===ey||r===P1||r===R1)if(s=e.get("EXT_texture_compression_bptc"),s!==null){if(r===ey)return o===Jn?s.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:s.COMPRESSED_RGBA_BPTC_UNORM_EXT;if(r===P1)return s.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT;if(r===R1)return s.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT}else return null;if(r===bR||r===N1||r===I1||r===k1)if(s=e.get("EXT_texture_compression_rgtc"),s!==null){if(r===ey)return s.COMPRESSED_RED_RGTC1_EXT;if(r===N1)return s.COMPRESSED_SIGNED_RED_RGTC1_EXT;if(r===I1)return s.COMPRESSED_RED_GREEN_RGTC2_EXT;if(r===k1)return s.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}else return null;return r===Fh?t.UNSIGNED_INT_24_8:t[r]!==void 0?t[r]:null}return{convert:n}}class y6 extends Tr{constructor(e=[]){super(),this.isArrayCamera=!0,this.cameras=e}}class Ts extends mn{constructor(){super(),this.isGroup=!0,this.type="Group"}}const Z0e={type:"move"};class wA{constructor(){this._targetRay=null,this._grip=null,this._hand=null}getHandSpace(){return this._hand===null&&(this._hand=new Ts,this._hand.matrixAutoUpdate=!1,this._hand.visible=!1,this._hand.joints={},this._hand.inputState={pinching:!1}),this._hand}getTargetRaySpace(){return this._targetRay===null&&(this._targetRay=new Ts,this._targetRay.matrixAutoUpdate=!1,this._targetRay.visible=!1,this._targetRay.hasLinearVelocity=!1,this._targetRay.linearVelocity=new X,this._targetRay.hasAngularVelocity=!1,this._targetRay.angularVelocity=new X),this._targetRay}getGripSpace(){return this._grip===null&&(this._grip=new Ts,this._grip.matrixAutoUpdate=!1,this._grip.visible=!1,this._grip.hasLinearVelocity=!1,this._grip.linearVelocity=new X,this._grip.hasAngularVelocity=!1,this._grip.angularVelocity=new X),this._grip}dispatchEvent(e){return this._targetRay!==null&&this._targetRay.dispatchEvent(e),this._grip!==null&&this._grip.dispatchEvent(e),this._hand!==null&&this._hand.dispatchEvent(e),this}connect(e){if(e&&e.hand){const n=this._hand;if(n)for(const r of e.hand.values())this._getHandJoint(n,r)}return this.dispatchEvent({type:"connected",data:e}),this}disconnect(e){return this.dispatchEvent({type:"disconnected",data:e}),this._targetRay!==null&&(this._targetRay.visible=!1),this._grip!==null&&(this._grip.visible=!1),this._hand!==null&&(this._hand.visible=!1),this}update(e,n,r){let i=null,s=null,o=null;const a=this._targetRay,l=this._grip,c=this._hand;if(e&&n.session.visibilityState!=="visible-blurred"){if(c&&e.hand){o=!0;for(const S of e.hand.values()){const w=n.getJointPose(S,r),_=this._getHandJoint(c,S);w!==null&&(_.matrix.fromArray(w.transform.matrix),_.matrix.decompose(_.position,_.rotation,_.scale),_.matrixWorldNeedsUpdate=!0,_.jointRadius=w.radius),_.visible=w!==null}const d=c.joints["index-finger-tip"],f=c.joints["thumb-tip"],m=d.position.distanceTo(f.position),y=.02,x=.005;c.inputState.pinching&&m>y+x?(c.inputState.pinching=!1,this.dispatchEvent({type:"pinchend",handedness:e.handedness,target:this})):!c.inputState.pinching&&m<=y-x&&(c.inputState.pinching=!0,this.dispatchEvent({type:"pinchstart",handedness:e.handedness,target:this}))}else l!==null&&e.gripSpace&&(s=n.getPose(e.gripSpace,r),s!==null&&(l.matrix.fromArray(s.transform.matrix),l.matrix.decompose(l.position,l.rotation,l.scale),l.matrixWorldNeedsUpdate=!0,s.linearVelocity?(l.hasLinearVelocity=!0,l.linearVelocity.copy(s.linearVelocity)):l.hasLinearVelocity=!1,s.angularVelocity?(l.hasAngularVelocity=!0,l.angularVelocity.copy(s.angularVelocity)):l.hasAngularVelocity=!1));a!==null&&(i=n.getPose(e.targetRaySpace,r),i===null&&s!==null&&(i=s),i!==null&&(a.matrix.fromArray(i.transform.matrix),a.matrix.decompose(a.position,a.rotation,a.scale),a.matrixWorldNeedsUpdate=!0,i.linearVelocity?(a.hasLinearVelocity=!0,a.linearVelocity.copy(i.linearVelocity)):a.hasLinearVelocity=!1,i.angularVelocity?(a.hasAngularVelocity=!0,a.angularVelocity.copy(i.angularVelocity)):a.hasAngularVelocity=!1,this.dispatchEvent(Z0e)))}return a!==null&&(a.visible=i!==null),l!==null&&(l.visible=s!==null),c!==null&&(c.visible=o!==null),this}_getHandJoint(e,n){if(e.joints[n.jointName]===void 0){const r=new Ts;r.matrixAutoUpdate=!1,r.visible=!1,e.joints[n.jointName]=r,e.add(r)}return e.joints[n.jointName]}}const Q0e=` void main() { gl_Position = vec4( position, 1.0 ); @@ -4424,7 +4424,7 @@ void main() { } -}`;class eye{constructor(){this.texture=null,this.mesh=null,this.depthNear=0,this.depthFar=0}init(e,n,r){if(this.texture===null){const i=new dr,s=e.properties.get(i);s.__webglTexture=n.texture,(n.depthNear!=r.depthNear||n.depthFar!=r.depthFar)&&(this.depthNear=n.depthNear,this.depthFar=n.depthFar),this.texture=i}}getMesh(e){if(this.texture!==null&&this.mesh===null){const n=e.cameras[0].viewport,r=new Qo({vertexShader:Q0e,fragmentShader:J0e,uniforms:{depthColor:{value:this.texture},depthWidth:{value:n.z},depthHeight:{value:n.w}}});this.mesh=new yr(new iv(20,20),r)}return this.mesh}reset(){this.texture=null,this.mesh=null}getDepthTexture(){return this.texture}}class tye extends Vl{constructor(e,n){super();const r=this;let i=null,s=1,o=null,a="local-floor",l=1,c=null,d=null,f=null,m=null,y=null,x=null;const S=new eye,w=n.getContextAttributes();let _=null,E=null;const T=[],C=[],O=new Ge;let N=null;const D=new Tr;D.layers.enable(1),D.viewport=new Ln;const F=new Tr;F.layers.enable(2),F.viewport=new Ln;const G=[D,F],k=new y6;k.layers.enable(1),k.layers.enable(2);let U=null,H=null;this.cameraAutoUpdate=!0,this.enabled=!1,this.isPresenting=!1,this.getController=function(ae){let le=T[ae];return le===void 0&&(le=new wA,T[ae]=le),le.getTargetRaySpace()},this.getControllerGrip=function(ae){let le=T[ae];return le===void 0&&(le=new wA,T[ae]=le),le.getGripSpace()},this.getHand=function(ae){let le=T[ae];return le===void 0&&(le=new wA,T[ae]=le),le.getHandSpace()};function ne(ae){const le=C.indexOf(ae.inputSource);if(le===-1)return;const be=T[le];be!==void 0&&(be.update(ae.inputSource,ae.frame,c||o),be.dispatchEvent({type:ae.type,data:ae.inputSource}))}function te(){i.removeEventListener("select",ne),i.removeEventListener("selectstart",ne),i.removeEventListener("selectend",ne),i.removeEventListener("squeeze",ne),i.removeEventListener("squeezestart",ne),i.removeEventListener("squeezeend",ne),i.removeEventListener("end",te),i.removeEventListener("inputsourceschange",he);for(let ae=0;ae=0&&(C[Se]=null,T[Se].disconnect(be))}for(let le=0;le=C.length){C.push(be),Se=Me;break}else if(C[Me]===null){C[Me]=be,Se=Me;break}if(Se===-1)break}const qe=T[Se];qe&&qe.connect(be)}}const se=new X,fe=new X;function B(ae,le,be){se.setFromMatrixPosition(le.matrixWorld),fe.setFromMatrixPosition(be.matrixWorld);const Se=se.distanceTo(fe),qe=le.projectionMatrix.elements,Me=be.projectionMatrix.elements,$e=qe[14]/(qe[10]-1),Ke=qe[14]/(qe[10]+1),ce=(qe[9]+1)/qe[5],Z=(qe[9]-1)/qe[5],We=(qe[8]-1)/qe[0],je=(Me[8]+1)/Me[0],Xe=$e*We,Je=$e*je,bt=Se/(-We+je),ut=bt*-We;if(le.matrixWorld.decompose(ae.position,ae.quaternion,ae.scale),ae.translateX(ut),ae.translateZ(bt),ae.matrixWorld.compose(ae.position,ae.quaternion,ae.scale),ae.matrixWorldInverse.copy(ae.matrixWorld).invert(),qe[10]===-1)ae.projectionMatrix.copy(le.projectionMatrix),ae.projectionMatrixInverse.copy(le.projectionMatrixInverse);else{const ee=$e+bt,$=Ke+bt,Ee=Xe-ut,Be=Je+(Se-ut),Ve=ce*Ke/$*ee,He=Z*Ke/$*ee;ae.projectionMatrix.makePerspective(Ee,Be,Ve,He,ee,$),ae.projectionMatrixInverse.copy(ae.projectionMatrix).invert()}}function J(ae,le){le===null?ae.matrixWorld.copy(ae.matrix):ae.matrixWorld.multiplyMatrices(le.matrixWorld,ae.matrix),ae.matrixWorldInverse.copy(ae.matrixWorld).invert()}this.updateCamera=function(ae){if(i===null)return;let le=ae.near,be=ae.far;S.texture!==null&&(S.depthNear>0&&(le=S.depthNear),S.depthFar>0&&(be=S.depthFar)),k.near=F.near=D.near=le,k.far=F.far=D.far=be,(U!==k.near||H!==k.far)&&(i.updateRenderState({depthNear:k.near,depthFar:k.far}),U=k.near,H=k.far);const Se=ae.parent,qe=k.cameras;J(k,Se);for(let Me=0;Me0&&(w.alphaTest.value=_.alphaTest);const E=e.get(_),T=E.envMap,C=E.envMapRotation;T&&(w.envMap.value=T,If.copy(C),If.x*=-1,If.y*=-1,If.z*=-1,T.isCubeTexture&&T.isRenderTargetTexture===!1&&(If.y*=-1,If.z*=-1),w.envMapRotation.value.setFromMatrix4(nye.makeRotationFromEuler(If)),w.flipEnvMap.value=T.isCubeTexture&&T.isRenderTargetTexture===!1?-1:1,w.reflectivity.value=_.reflectivity,w.ior.value=_.ior,w.refractionRatio.value=_.refractionRatio),_.lightMap&&(w.lightMap.value=_.lightMap,w.lightMapIntensity.value=_.lightMapIntensity,n(_.lightMap,w.lightMapTransform)),_.aoMap&&(w.aoMap.value=_.aoMap,w.aoMapIntensity.value=_.aoMapIntensity,n(_.aoMap,w.aoMapTransform))}function o(w,_){w.diffuse.value.copy(_.color),w.opacity.value=_.opacity,_.map&&(w.map.value=_.map,n(_.map,w.mapTransform))}function a(w,_){w.dashSize.value=_.dashSize,w.totalSize.value=_.dashSize+_.gapSize,w.scale.value=_.scale}function l(w,_,E,T){w.diffuse.value.copy(_.color),w.opacity.value=_.opacity,w.size.value=_.size*E,w.scale.value=T*.5,_.map&&(w.map.value=_.map,n(_.map,w.uvTransform)),_.alphaMap&&(w.alphaMap.value=_.alphaMap,n(_.alphaMap,w.alphaMapTransform)),_.alphaTest>0&&(w.alphaTest.value=_.alphaTest)}function c(w,_){w.diffuse.value.copy(_.color),w.opacity.value=_.opacity,w.rotation.value=_.rotation,_.map&&(w.map.value=_.map,n(_.map,w.mapTransform)),_.alphaMap&&(w.alphaMap.value=_.alphaMap,n(_.alphaMap,w.alphaMapTransform)),_.alphaTest>0&&(w.alphaTest.value=_.alphaTest)}function d(w,_){w.specular.value.copy(_.specular),w.shininess.value=Math.max(_.shininess,1e-4)}function f(w,_){_.gradientMap&&(w.gradientMap.value=_.gradientMap)}function m(w,_){w.metalness.value=_.metalness,_.metalnessMap&&(w.metalnessMap.value=_.metalnessMap,n(_.metalnessMap,w.metalnessMapTransform)),w.roughness.value=_.roughness,_.roughnessMap&&(w.roughnessMap.value=_.roughnessMap,n(_.roughnessMap,w.roughnessMapTransform)),_.envMap&&(w.envMapIntensity.value=_.envMapIntensity)}function y(w,_,E){w.ior.value=_.ior,_.sheen>0&&(w.sheenColor.value.copy(_.sheenColor).multiplyScalar(_.sheen),w.sheenRoughness.value=_.sheenRoughness,_.sheenColorMap&&(w.sheenColorMap.value=_.sheenColorMap,n(_.sheenColorMap,w.sheenColorMapTransform)),_.sheenRoughnessMap&&(w.sheenRoughnessMap.value=_.sheenRoughnessMap,n(_.sheenRoughnessMap,w.sheenRoughnessMapTransform))),_.clearcoat>0&&(w.clearcoat.value=_.clearcoat,w.clearcoatRoughness.value=_.clearcoatRoughness,_.clearcoatMap&&(w.clearcoatMap.value=_.clearcoatMap,n(_.clearcoatMap,w.clearcoatMapTransform)),_.clearcoatRoughnessMap&&(w.clearcoatRoughnessMap.value=_.clearcoatRoughnessMap,n(_.clearcoatRoughnessMap,w.clearcoatRoughnessMapTransform)),_.clearcoatNormalMap&&(w.clearcoatNormalMap.value=_.clearcoatNormalMap,n(_.clearcoatNormalMap,w.clearcoatNormalMapTransform),w.clearcoatNormalScale.value.copy(_.clearcoatNormalScale),_.side===ss&&w.clearcoatNormalScale.value.negate())),_.dispersion>0&&(w.dispersion.value=_.dispersion),_.iridescence>0&&(w.iridescence.value=_.iridescence,w.iridescenceIOR.value=_.iridescenceIOR,w.iridescenceThicknessMinimum.value=_.iridescenceThicknessRange[0],w.iridescenceThicknessMaximum.value=_.iridescenceThicknessRange[1],_.iridescenceMap&&(w.iridescenceMap.value=_.iridescenceMap,n(_.iridescenceMap,w.iridescenceMapTransform)),_.iridescenceThicknessMap&&(w.iridescenceThicknessMap.value=_.iridescenceThicknessMap,n(_.iridescenceThicknessMap,w.iridescenceThicknessMapTransform))),_.transmission>0&&(w.transmission.value=_.transmission,w.transmissionSamplerMap.value=E.texture,w.transmissionSamplerSize.value.set(E.width,E.height),_.transmissionMap&&(w.transmissionMap.value=_.transmissionMap,n(_.transmissionMap,w.transmissionMapTransform)),w.thickness.value=_.thickness,_.thicknessMap&&(w.thicknessMap.value=_.thicknessMap,n(_.thicknessMap,w.thicknessMapTransform)),w.attenuationDistance.value=_.attenuationDistance,w.attenuationColor.value.copy(_.attenuationColor)),_.anisotropy>0&&(w.anisotropyVector.value.set(_.anisotropy*Math.cos(_.anisotropyRotation),_.anisotropy*Math.sin(_.anisotropyRotation)),_.anisotropyMap&&(w.anisotropyMap.value=_.anisotropyMap,n(_.anisotropyMap,w.anisotropyMapTransform))),w.specularIntensity.value=_.specularIntensity,w.specularColor.value.copy(_.specularColor),_.specularColorMap&&(w.specularColorMap.value=_.specularColorMap,n(_.specularColorMap,w.specularColorMapTransform)),_.specularIntensityMap&&(w.specularIntensityMap.value=_.specularIntensityMap,n(_.specularIntensityMap,w.specularIntensityMapTransform))}function x(w,_){_.matcap&&(w.matcap.value=_.matcap)}function S(w,_){const E=e.get(_).light;w.referencePosition.value.setFromMatrixPosition(E.matrixWorld),w.nearDistance.value=E.shadow.camera.near,w.farDistance.value=E.shadow.camera.far}return{refreshFogUniforms:r,refreshMaterialUniforms:i}}function iye(t,e,n,r){let i={},s={},o=[];const a=t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS);function l(E,T){const C=T.program;r.uniformBlockBinding(E,C)}function c(E,T){let C=i[E.id];C===void 0&&(x(E),C=d(E),i[E.id]=C,E.addEventListener("dispose",w));const O=T.program;r.updateUBOMapping(E,O);const N=e.render.frame;s[E.id]!==N&&(m(E),s[E.id]=N)}function d(E){const T=f();E.__bindingPointIndex=T;const C=t.createBuffer(),O=E.__size,N=E.usage;return t.bindBuffer(t.UNIFORM_BUFFER,C),t.bufferData(t.UNIFORM_BUFFER,O,N),t.bindBuffer(t.UNIFORM_BUFFER,null),t.bindBufferBase(t.UNIFORM_BUFFER,T,C),C}function f(){for(let E=0;E0&&(C+=O-N),E.__size=C,E.__cache={},this}function S(E){const T={boundary:0,storage:0};return typeof E=="number"||typeof E=="boolean"?(T.boundary=4,T.storage=4):E.isVector2?(T.boundary=8,T.storage=8):E.isVector3||E.isColor?(T.boundary=16,T.storage=12):E.isVector4?(T.boundary=16,T.storage=16):E.isMatrix3?(T.boundary=48,T.storage=48):E.isMatrix4?(T.boundary=64,T.storage=64):E.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",E),T}function w(E){const T=E.target;T.removeEventListener("dispose",w);const C=o.indexOf(T.__bindingPointIndex);o.splice(C,1),t.deleteBuffer(i[T.id]),delete i[T.id],delete s[T.id]}function _(){for(const E in i)t.deleteBuffer(i[E]);o=[],i={},s={}}return{bind:l,update:c,dispose:_}}class x6{constructor(e={}){const{canvas:n=s6(),context:r=null,depth:i=!0,stencil:s=!1,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:d="default",failIfMajorPerformanceCaveat:f=!1}=e;this.isWebGLRenderer=!0;let m;if(r!==null){if(typeof WebGLRenderingContext<"u"&&r instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");m=r.getContextAttributes().alpha}else m=o;const y=new Uint32Array(4),x=new Int32Array(4);let S=null,w=null;const _=[],E=[];this.domElement=n,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Ui,this.toneMapping=Pl,this.toneMappingExposure=1;const T=this;let C=!1,O=0,N=0,D=null,F=-1,G=null;const k=new Ln,U=new Ln;let H=null;const ne=new lt(0);let te=0,he=n.width,se=n.height,fe=1,B=null,J=null;const Y=new Ln(0,0,he,se),V=new Ln(0,0,he,se);let q=!1;const pe=new hx;let ae=!1,le=!1;const be=new Pt,Se=new Pt,qe=new X,Me=new Ln,$e={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let Ke=!1;function ce(){return D===null?fe:1}let Z=r;function We(K,xe){return n.getContext(K,xe)}try{const K={alpha:!0,depth:i,stencil:s,antialias:a,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:d,failIfMajorPerformanceCaveat:f};if("setAttribute"in n&&n.setAttribute("data-engine",`three.js r${Td}`),n.addEventListener("webglcontextlost",Le,!1),n.addEventListener("webglcontextrestored",Ye,!1),n.addEventListener("webglcontextcreationerror",ht,!1),Z===null){const xe="webgl2";if(Z=We(xe,K),Z===null)throw We(xe)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(K){throw console.error("THREE.WebGLRenderer: "+K.message),K}let je,Xe,Je,bt,ut,ee,$,Ee,Be,Ve,He,mt,rt,dt,de,Ne,tt,jt,Lt,ct,ue,Q,Ae,re;function Fe(){je=new uve(Z),je.init(),Q=new v6(Z,je),Xe=new ive(Z,je,e,Q),Je=new G0e(Z),Xe.reverseDepthBuffer&&Je.buffers.depth.setReversed(!0),bt=new hve(Z),ut=new N0e,ee=new Y0e(Z,je,Je,ut,Xe,Q,bt),$=new ove(T),Ee=new cve(T),Be=new bpe(Z),Ae=new nve(Z,Be),Ve=new dve(Z,Be,bt,Ae),He=new mve(Z,Ve,Be,bt),Lt=new pve(Z,Xe,ee),Ne=new sve(ut),mt=new R0e(T,$,Ee,je,Xe,Ae,Ne),rt=new rye(T,ut),dt=new k0e,de=new F0e(je),jt=new tve(T,$,Ee,Je,He,m,l),tt=new H0e(T,He,Xe),re=new iye(Z,bt,Xe,Je),ct=new rve(Z,je,bt),ue=new fve(Z,je,bt),bt.programs=mt.programs,T.capabilities=Xe,T.extensions=je,T.properties=ut,T.renderLists=dt,T.shadowMap=tt,T.state=Je,T.info=bt}Fe();const Te=new tye(T,Z);this.xr=Te,this.getContext=function(){return Z},this.getContextAttributes=function(){return Z.getContextAttributes()},this.forceContextLoss=function(){const K=je.get("WEBGL_lose_context");K&&K.loseContext()},this.forceContextRestore=function(){const K=je.get("WEBGL_lose_context");K&&K.restoreContext()},this.getPixelRatio=function(){return fe},this.setPixelRatio=function(K){K!==void 0&&(fe=K,this.setSize(he,se,!1))},this.getSize=function(K){return K.set(he,se)},this.setSize=function(K,xe,Pe=!0){if(Te.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}he=K,se=xe,n.width=Math.floor(K*fe),n.height=Math.floor(xe*fe),Pe===!0&&(n.style.width=K+"px",n.style.height=xe+"px"),this.setViewport(0,0,K,xe)},this.getDrawingBufferSize=function(K){return K.set(he*fe,se*fe).floor()},this.setDrawingBufferSize=function(K,xe,Pe){he=K,se=xe,fe=Pe,n.width=Math.floor(K*Pe),n.height=Math.floor(xe*Pe),this.setViewport(0,0,K,xe)},this.getCurrentViewport=function(K){return K.copy(k)},this.getViewport=function(K){return K.copy(Y)},this.setViewport=function(K,xe,Pe,ke){K.isVector4?Y.set(K.x,K.y,K.z,K.w):Y.set(K,xe,Pe,ke),Je.viewport(k.copy(Y).multiplyScalar(fe).round())},this.getScissor=function(K){return K.copy(V)},this.setScissor=function(K,xe,Pe,ke){K.isVector4?V.set(K.x,K.y,K.z,K.w):V.set(K,xe,Pe,ke),Je.scissor(U.copy(V).multiplyScalar(fe).round())},this.getScissorTest=function(){return q},this.setScissorTest=function(K){Je.setScissorTest(q=K)},this.setOpaqueSort=function(K){B=K},this.setTransparentSort=function(K){J=K},this.getClearColor=function(K){return K.copy(jt.getClearColor())},this.setClearColor=function(){jt.setClearColor.apply(jt,arguments)},this.getClearAlpha=function(){return jt.getClearAlpha()},this.setClearAlpha=function(){jt.setClearAlpha.apply(jt,arguments)},this.clear=function(K=!0,xe=!0,Pe=!0){let ke=0;if(K){let we=!1;if(D!==null){const it=D.texture.format;we=it===YS||it===KS||it===cx}if(we){const it=D.texture.type,xt=it===Ha||it===eu||it===Og||it===Uh||it===$S||it===XS,at=jt.getClearColor(),Et=jt.getClearAlpha(),zt=at.r,Vt=at.g,Rt=at.b;xt?(y[0]=zt,y[1]=Vt,y[2]=Rt,y[3]=Et,Z.clearBufferuiv(Z.COLOR,0,y)):(x[0]=zt,x[1]=Vt,x[2]=Rt,x[3]=Et,Z.clearBufferiv(Z.COLOR,0,x))}else ke|=Z.COLOR_BUFFER_BIT}xe&&(ke|=Z.DEPTH_BUFFER_BIT,Z.clearDepth(this.capabilities.reverseDepthBuffer?0:1)),Pe&&(ke|=Z.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),Z.clear(ke)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){n.removeEventListener("webglcontextlost",Le,!1),n.removeEventListener("webglcontextrestored",Ye,!1),n.removeEventListener("webglcontextcreationerror",ht,!1),dt.dispose(),de.dispose(),ut.dispose(),$.dispose(),Ee.dispose(),He.dispose(),Ae.dispose(),re.dispose(),mt.dispose(),Te.dispose(),Te.removeEventListener("sessionstart",Si),Te.removeEventListener("sessionend",ra),Mi.stop()};function Le(K){K.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),C=!0}function Ye(){console.log("THREE.WebGLRenderer: Context Restored."),C=!1;const K=bt.autoReset,xe=tt.enabled,Pe=tt.autoUpdate,ke=tt.needsUpdate,we=tt.type;Fe(),bt.autoReset=K,tt.enabled=xe,tt.autoUpdate=Pe,tt.needsUpdate=ke,tt.type=we}function ht(K){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",K.statusMessage)}function Yt(K){const xe=K.target;xe.removeEventListener("dispose",Yt),un(xe)}function un(K){Cn(K),ut.remove(K)}function Cn(K){const xe=ut.get(K).programs;xe!==void 0&&(xe.forEach(function(Pe){mt.releaseProgram(Pe)}),K.isShaderMaterial&&mt.releaseShaderCache(K))}this.renderBufferDirect=function(K,xe,Pe,ke,we,it){xe===null&&(xe=$e);const xt=we.isMesh&&we.matrixWorld.determinant()<0,at=To(K,xe,Pe,ke,we);Je.setMaterial(ke,xt);let Et=Pe.index,zt=1;if(ke.wireframe===!0){if(Et=Ve.getWireframeAttribute(Pe),Et===void 0)return;zt=2}const Vt=Pe.drawRange,Rt=Pe.attributes.position;let Sn=Vt.start*zt,Mn=(Vt.start+Vt.count)*zt;it!==null&&(Sn=Math.max(Sn,it.start*zt),Mn=Math.min(Mn,(it.start+it.count)*zt)),Et!==null?(Sn=Math.max(Sn,0),Mn=Math.min(Mn,Et.count)):Rt!=null&&(Sn=Math.max(Sn,0),Mn=Math.min(Mn,Rt.count));const yn=Mn-Sn;if(yn<0||yn===1/0)return;Ae.setup(we,ke,at,Pe,Et);let Zt,Ut=ct;if(Et!==null&&(Zt=Be.get(Et),Ut=ue,Ut.setIndex(Zt)),we.isMesh)ke.wireframe===!0?(Je.setLineWidth(ke.wireframeLinewidth*ce()),Ut.setMode(Z.LINES)):Ut.setMode(Z.TRIANGLES);else if(we.isLine){let vt=ke.linewidth;vt===void 0&&(vt=1),Je.setLineWidth(vt*ce()),we.isLineSegments?Ut.setMode(Z.LINES):we.isLineLoop?Ut.setMode(Z.LINE_LOOP):Ut.setMode(Z.LINE_STRIP)}else we.isPoints?Ut.setMode(Z.POINTS):we.isSprite&&Ut.setMode(Z.TRIANGLES);if(we.isBatchedMesh)if(we._multiDrawInstances!==null)Ut.renderMultiDrawInstances(we._multiDrawStarts,we._multiDrawCounts,we._multiDrawCount,we._multiDrawInstances);else if(je.get("WEBGL_multi_draw"))Ut.renderMultiDraw(we._multiDrawStarts,we._multiDrawCounts,we._multiDrawCount);else{const vt=we._multiDrawStarts,xn=we._multiDrawCounts,tn=we._multiDrawCount,Pr=Et?Be.get(Et).bytesPerElement:1,li=ut.get(ke).currentProgram.getUniforms();for(let kn=0;kn{function it(){if(ke.forEach(function(xt){ut.get(xt).currentProgram.isReady()&&ke.delete(xt)}),ke.size===0){we(K);return}setTimeout(it,10)}je.get("KHR_parallel_shader_compile")!==null?it():setTimeout(it,10)})};let Hn=null;function hr(K){Hn&&Hn(K)}function Si(){Mi.stop()}function ra(){Mi.start()}const Mi=new f6;Mi.setAnimationLoop(hr),typeof self<"u"&&Mi.setContext(self),this.setAnimationLoop=function(K){Hn=K,Te.setAnimationLoop(K),K===null?Mi.stop():Mi.start()},Te.addEventListener("sessionstart",Si),Te.addEventListener("sessionend",ra),this.render=function(K,xe){if(xe!==void 0&&xe.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(C===!0)return;if(K.matrixWorldAutoUpdate===!0&&K.updateMatrixWorld(),xe.parent===null&&xe.matrixWorldAutoUpdate===!0&&xe.updateMatrixWorld(),Te.enabled===!0&&Te.isPresenting===!0&&(Te.cameraAutoUpdate===!0&&Te.updateCamera(xe),xe=Te.getCamera()),K.isScene===!0&&K.onBeforeRender(T,K,xe,D),w=de.get(K,E.length),w.init(xe),E.push(w),Se.multiplyMatrices(xe.projectionMatrix,xe.matrixWorldInverse),pe.setFromProjectionMatrix(Se),le=this.localClippingEnabled,ae=Ne.init(this.clippingPlanes,le),S=dt.get(K,_.length),S.init(),_.push(S),Te.enabled===!0&&Te.isPresenting===!0){const it=T.xr.getDepthSensingMesh();it!==null&&Ka(it,xe,-1/0,T.sortObjects)}Ka(K,xe,0,T.sortObjects),S.finish(),T.sortObjects===!0&&S.sort(B,J),Ke=Te.enabled===!1||Te.isPresenting===!1||Te.hasDepthSensing()===!1,Ke&&jt.addToRenderList(S,K),this.info.render.frame++,ae===!0&&Ne.beginShadows();const Pe=w.state.shadowsArray;tt.render(Pe,K,xe),ae===!0&&Ne.endShadows(),this.info.autoReset===!0&&this.info.reset();const ke=S.opaque,we=S.transmissive;if(w.setupLights(),xe.isArrayCamera){const it=xe.cameras;if(we.length>0)for(let xt=0,at=it.length;xt0&&ia(ke,we,K,xe),Ke&&jt.render(K),Ns(S,K,xe);D!==null&&(ee.updateMultisampleRenderTarget(D),ee.updateRenderTargetMipmap(D)),K.isScene===!0&&K.onAfterRender(T,K,xe),Ae.resetDefaultState(),F=-1,G=null,E.pop(),E.length>0?(w=E[E.length-1],ae===!0&&Ne.setGlobalState(T.clippingPlanes,w.state.camera)):w=null,_.pop(),_.length>0?S=_[_.length-1]:S=null};function Ka(K,xe,Pe,ke){if(K.visible===!1)return;if(K.layers.test(xe.layers)){if(K.isGroup)Pe=K.renderOrder;else if(K.isLOD)K.autoUpdate===!0&&K.update(xe);else if(K.isLight)w.pushLight(K),K.castShadow&&w.pushShadow(K);else if(K.isSprite){if(!K.frustumCulled||pe.intersectsSprite(K)){ke&&Me.setFromMatrixPosition(K.matrixWorld).applyMatrix4(Se);const xt=He.update(K),at=K.material;at.visible&&S.push(K,xt,at,Pe,Me.z,null)}}else if((K.isMesh||K.isLine||K.isPoints)&&(!K.frustumCulled||pe.intersectsObject(K))){const xt=He.update(K),at=K.material;if(ke&&(K.boundingSphere!==void 0?(K.boundingSphere===null&&K.computeBoundingSphere(),Me.copy(K.boundingSphere.center)):(xt.boundingSphere===null&&xt.computeBoundingSphere(),Me.copy(xt.boundingSphere.center)),Me.applyMatrix4(K.matrixWorld).applyMatrix4(Se)),Array.isArray(at)){const Et=xt.groups;for(let zt=0,Vt=Et.length;zt0&&Ei(we,xe,Pe),it.length>0&&Ei(it,xe,Pe),xt.length>0&&Ei(xt,xe,Pe),Je.buffers.depth.setTest(!0),Je.buffers.depth.setMask(!0),Je.buffers.color.setMask(!0),Je.setPolygonOffset(!1)}function ia(K,xe,Pe,ke){if((Pe.isScene===!0?Pe.overrideMaterial:null)!==null)return;w.state.transmissionRenderTarget[ke.id]===void 0&&(w.state.transmissionRenderTarget[ke.id]=new Va(1,1,{generateMipmaps:!0,type:je.has("EXT_color_buffer_half_float")||je.has("EXT_color_buffer_float")?rv:Ha,minFilter:qo,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:In.workingColorSpace}));const it=w.state.transmissionRenderTarget[ke.id],xt=ke.viewport||k;it.setSize(xt.z,xt.w);const at=T.getRenderTarget();T.setRenderTarget(it),T.getClearColor(ne),te=T.getClearAlpha(),te<1&&T.setClearColor(16777215,.5),T.clear(),Ke&&jt.render(Pe);const Et=T.toneMapping;T.toneMapping=Pl;const zt=ke.viewport;if(ke.viewport!==void 0&&(ke.viewport=void 0),w.setupLightsView(ke),ae===!0&&Ne.setGlobalState(T.clippingPlanes,ke),Ei(K,Pe,ke),ee.updateMultisampleRenderTarget(it),ee.updateRenderTargetMipmap(it),je.has("WEBGL_multisampled_render_to_texture")===!1){let Vt=!1;for(let Rt=0,Sn=xe.length;Rt0),Rt=!!Pe.morphAttributes.position,Sn=!!Pe.morphAttributes.normal,Mn=!!Pe.morphAttributes.color;let yn=Pl;ke.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(yn=T.toneMapping);const Zt=Pe.morphAttributes.position||Pe.morphAttributes.normal||Pe.morphAttributes.color,Ut=Zt!==void 0?Zt.length:0,vt=ut.get(ke),xn=w.state.lights;if(ae===!0&&(le===!0||K!==G)){const Xr=K===G&&ke.id===F;Ne.setState(ke,K,Xr)}let tn=!1;ke.version===vt.__version?(vt.needsLights&&vt.lightsStateVersion!==xn.state.version||vt.outputColorSpace!==at||we.isBatchedMesh&&vt.batching===!1||!we.isBatchedMesh&&vt.batching===!0||we.isBatchedMesh&&vt.batchingColor===!0&&we.colorTexture===null||we.isBatchedMesh&&vt.batchingColor===!1&&we.colorTexture!==null||we.isInstancedMesh&&vt.instancing===!1||!we.isInstancedMesh&&vt.instancing===!0||we.isSkinnedMesh&&vt.skinning===!1||!we.isSkinnedMesh&&vt.skinning===!0||we.isInstancedMesh&&vt.instancingColor===!0&&we.instanceColor===null||we.isInstancedMesh&&vt.instancingColor===!1&&we.instanceColor!==null||we.isInstancedMesh&&vt.instancingMorph===!0&&we.morphTexture===null||we.isInstancedMesh&&vt.instancingMorph===!1&&we.morphTexture!==null||vt.envMap!==Et||ke.fog===!0&&vt.fog!==it||vt.numClippingPlanes!==void 0&&(vt.numClippingPlanes!==Ne.numPlanes||vt.numIntersection!==Ne.numIntersection)||vt.vertexAlphas!==zt||vt.vertexTangents!==Vt||vt.morphTargets!==Rt||vt.morphNormals!==Sn||vt.morphColors!==Mn||vt.toneMapping!==yn||vt.morphTargetsCount!==Ut)&&(tn=!0):(tn=!0,vt.__version=ke.version);let Pr=vt.currentProgram;tn===!0&&(Pr=sa(ke,xe,we));let li=!1,kn=!1,Is=!1;const Vn=Pr.getUniforms(),to=vt.uniforms;if(Je.useProgram(Pr.program)&&(li=!0,kn=!0,Is=!0),ke.id!==F&&(F=ke.id,kn=!0),li||G!==K){Xe.reverseDepthBuffer?(be.copy(K.projectionMatrix),Ghe(be),Whe(be),Vn.setValue(Z,"projectionMatrix",be)):Vn.setValue(Z,"projectionMatrix",K.projectionMatrix),Vn.setValue(Z,"viewMatrix",K.matrixWorldInverse);const Xr=Vn.map.cameraPosition;Xr!==void 0&&Xr.setValue(Z,qe.setFromMatrixPosition(K.matrixWorld)),Xe.logarithmicDepthBuffer&&Vn.setValue(Z,"logDepthBufFC",2/(Math.log(K.far+1)/Math.LN2)),(ke.isMeshPhongMaterial||ke.isMeshToonMaterial||ke.isMeshLambertMaterial||ke.isMeshBasicMaterial||ke.isMeshStandardMaterial||ke.isShaderMaterial)&&Vn.setValue(Z,"isOrthographic",K.isOrthographicCamera===!0),G!==K&&(G=K,kn=!0,Is=!0)}if(we.isSkinnedMesh){Vn.setOptional(Z,we,"bindMatrix"),Vn.setOptional(Z,we,"bindMatrixInverse");const Xr=we.skeleton;Xr&&(Xr.boneTexture===null&&Xr.computeBoneTexture(),Vn.setValue(Z,"boneTexture",Xr.boneTexture,ee))}we.isBatchedMesh&&(Vn.setOptional(Z,we,"batchingTexture"),Vn.setValue(Z,"batchingTexture",we._matricesTexture,ee),Vn.setOptional(Z,we,"batchingIdTexture"),Vn.setValue(Z,"batchingIdTexture",we._indirectTexture,ee),Vn.setOptional(Z,we,"batchingColorTexture"),we._colorsTexture!==null&&Vn.setValue(Z,"batchingColorTexture",we._colorsTexture,ee));const Ya=Pe.morphAttributes;if((Ya.position!==void 0||Ya.normal!==void 0||Ya.color!==void 0)&&Lt.update(we,Pe,Pr),(kn||vt.receiveShadow!==we.receiveShadow)&&(vt.receiveShadow=we.receiveShadow,Vn.setValue(Z,"receiveShadow",we.receiveShadow)),ke.isMeshGouraudMaterial&&ke.envMap!==null&&(to.envMap.value=Et,to.flipEnvMap.value=Et.isCubeTexture&&Et.isRenderTargetTexture===!1?-1:1),ke.isMeshStandardMaterial&&ke.envMap===null&&xe.environment!==null&&(to.envMapIntensity.value=xe.environmentIntensity),kn&&(Vn.setValue(Z,"toneMappingExposure",T.toneMappingExposure),vt.needsLights&&du(to,Is),it&&ke.fog===!0&&rt.refreshFogUniforms(to,it),rt.refreshMaterialUniforms(to,ke,fe,se,w.state.transmissionRenderTarget[K.id]),q_.upload(Z,cu(vt),to,ee)),ke.isShaderMaterial&&ke.uniformsNeedUpdate===!0&&(q_.upload(Z,cu(vt),to,ee),ke.uniformsNeedUpdate=!1),ke.isSpriteMaterial&&Vn.setValue(Z,"center",we.center),Vn.setValue(Z,"modelViewMatrix",we.modelViewMatrix),Vn.setValue(Z,"normalMatrix",we.normalMatrix),Vn.setValue(Z,"modelMatrix",we.matrixWorld),ke.isShaderMaterial||ke.isRawShaderMaterial){const Xr=ke.uniformsGroups;for(let ci=0,Ld=Xr.length;ci0&&ee.useMultisampledRTT(K)===!1?we=ut.get(K).__webglMultisampledFramebuffer:Array.isArray(Vt)?we=Vt[Pe]:we=Vt,k.copy(K.viewport),U.copy(K.scissor),H=K.scissorTest}else k.copy(Y).multiplyScalar(fe).floor(),U.copy(V).multiplyScalar(fe).floor(),H=q;if(Je.bindFramebuffer(Z.FRAMEBUFFER,we)&&ke&&Je.drawBuffers(K,we),Je.viewport(k),Je.scissor(U),Je.setScissorTest(H),it){const Et=ut.get(K.texture);Z.framebufferTexture2D(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,Z.TEXTURE_CUBE_MAP_POSITIVE_X+xe,Et.__webglTexture,Pe)}else if(xt){const Et=ut.get(K.texture),zt=xe||0;Z.framebufferTextureLayer(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,Et.__webglTexture,Pe||0,zt)}F=-1},this.readRenderTargetPixels=function(K,xe,Pe,ke,we,it,xt){if(!(K&&K.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let at=ut.get(K).__webglFramebuffer;if(K.isWebGLCubeRenderTarget&&xt!==void 0&&(at=at[xt]),at){Je.bindFramebuffer(Z.FRAMEBUFFER,at);try{const Et=K.texture,zt=Et.format,Vt=Et.type;if(!Xe.textureFormatReadable(zt)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!Xe.textureTypeReadable(Vt)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}xe>=0&&xe<=K.width-ke&&Pe>=0&&Pe<=K.height-we&&Z.readPixels(xe,Pe,ke,we,Q.convert(zt),Q.convert(Vt),it)}finally{const Et=D!==null?ut.get(D).__webglFramebuffer:null;Je.bindFramebuffer(Z.FRAMEBUFFER,Et)}}},this.readRenderTargetPixelsAsync=async function(K,xe,Pe,ke,we,it,xt){if(!(K&&K.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let at=ut.get(K).__webglFramebuffer;if(K.isWebGLCubeRenderTarget&&xt!==void 0&&(at=at[xt]),at){const Et=K.texture,zt=Et.format,Vt=Et.type;if(!Xe.textureFormatReadable(zt))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!Xe.textureTypeReadable(Vt))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");if(xe>=0&&xe<=K.width-ke&&Pe>=0&&Pe<=K.height-we){Je.bindFramebuffer(Z.FRAMEBUFFER,at);const Rt=Z.createBuffer();Z.bindBuffer(Z.PIXEL_PACK_BUFFER,Rt),Z.bufferData(Z.PIXEL_PACK_BUFFER,it.byteLength,Z.STREAM_READ),Z.readPixels(xe,Pe,ke,we,Q.convert(zt),Q.convert(Vt),0);const Sn=D!==null?ut.get(D).__webglFramebuffer:null;Je.bindFramebuffer(Z.FRAMEBUFFER,Sn);const Mn=Z.fenceSync(Z.SYNC_GPU_COMMANDS_COMPLETE,0);return Z.flush(),await Vhe(Z,Mn,4),Z.bindBuffer(Z.PIXEL_PACK_BUFFER,Rt),Z.getBufferSubData(Z.PIXEL_PACK_BUFFER,0,it),Z.deleteBuffer(Rt),Z.deleteSync(Mn),it}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")}},this.copyFramebufferToTexture=function(K,xe=null,Pe=0){K.isTexture!==!0&&(X_("WebGLRenderer: copyFramebufferToTexture function signature has changed."),xe=arguments[0]||null,K=arguments[1]);const ke=Math.pow(2,-Pe),we=Math.floor(K.image.width*ke),it=Math.floor(K.image.height*ke),xt=xe!==null?xe.x:0,at=xe!==null?xe.y:0;ee.setTexture2D(K,0),Z.copyTexSubImage2D(Z.TEXTURE_2D,Pe,0,0,xt,at,we,it),Je.unbindTexture()},this.copyTextureToTexture=function(K,xe,Pe=null,ke=null,we=0){K.isTexture!==!0&&(X_("WebGLRenderer: copyTextureToTexture function signature has changed."),ke=arguments[0]||null,K=arguments[1],xe=arguments[2],we=arguments[3]||0,Pe=null);let it,xt,at,Et,zt,Vt;Pe!==null?(it=Pe.max.x-Pe.min.x,xt=Pe.max.y-Pe.min.y,at=Pe.min.x,Et=Pe.min.y):(it=K.image.width,xt=K.image.height,at=0,Et=0),ke!==null?(zt=ke.x,Vt=ke.y):(zt=0,Vt=0);const Rt=Q.convert(xe.format),Sn=Q.convert(xe.type);ee.setTexture2D(xe,0),Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,xe.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,xe.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,xe.unpackAlignment);const Mn=Z.getParameter(Z.UNPACK_ROW_LENGTH),yn=Z.getParameter(Z.UNPACK_IMAGE_HEIGHT),Zt=Z.getParameter(Z.UNPACK_SKIP_PIXELS),Ut=Z.getParameter(Z.UNPACK_SKIP_ROWS),vt=Z.getParameter(Z.UNPACK_SKIP_IMAGES),xn=K.isCompressedTexture?K.mipmaps[we]:K.image;Z.pixelStorei(Z.UNPACK_ROW_LENGTH,xn.width),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,xn.height),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,at),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,Et),K.isDataTexture?Z.texSubImage2D(Z.TEXTURE_2D,we,zt,Vt,it,xt,Rt,Sn,xn.data):K.isCompressedTexture?Z.compressedTexSubImage2D(Z.TEXTURE_2D,we,zt,Vt,xn.width,xn.height,Rt,xn.data):Z.texSubImage2D(Z.TEXTURE_2D,we,zt,Vt,it,xt,Rt,Sn,xn),Z.pixelStorei(Z.UNPACK_ROW_LENGTH,Mn),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,yn),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,Zt),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,Ut),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,vt),we===0&&xe.generateMipmaps&&Z.generateMipmap(Z.TEXTURE_2D),Je.unbindTexture()},this.copyTextureToTexture3D=function(K,xe,Pe=null,ke=null,we=0){K.isTexture!==!0&&(X_("WebGLRenderer: copyTextureToTexture3D function signature has changed."),Pe=arguments[0]||null,ke=arguments[1]||null,K=arguments[2],xe=arguments[3],we=arguments[4]||0);let it,xt,at,Et,zt,Vt,Rt,Sn,Mn;const yn=K.isCompressedTexture?K.mipmaps[we]:K.image;Pe!==null?(it=Pe.max.x-Pe.min.x,xt=Pe.max.y-Pe.min.y,at=Pe.max.z-Pe.min.z,Et=Pe.min.x,zt=Pe.min.y,Vt=Pe.min.z):(it=yn.width,xt=yn.height,at=yn.depth,Et=0,zt=0,Vt=0),ke!==null?(Rt=ke.x,Sn=ke.y,Mn=ke.z):(Rt=0,Sn=0,Mn=0);const Zt=Q.convert(xe.format),Ut=Q.convert(xe.type);let vt;if(xe.isData3DTexture)ee.setTexture3D(xe,0),vt=Z.TEXTURE_3D;else if(xe.isDataArrayTexture||xe.isCompressedArrayTexture)ee.setTexture2DArray(xe,0),vt=Z.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,xe.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,xe.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,xe.unpackAlignment);const xn=Z.getParameter(Z.UNPACK_ROW_LENGTH),tn=Z.getParameter(Z.UNPACK_IMAGE_HEIGHT),Pr=Z.getParameter(Z.UNPACK_SKIP_PIXELS),li=Z.getParameter(Z.UNPACK_SKIP_ROWS),kn=Z.getParameter(Z.UNPACK_SKIP_IMAGES);Z.pixelStorei(Z.UNPACK_ROW_LENGTH,yn.width),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,yn.height),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,Et),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,zt),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,Vt),K.isDataTexture||K.isData3DTexture?Z.texSubImage3D(vt,we,Rt,Sn,Mn,it,xt,at,Zt,Ut,yn.data):xe.isCompressedArrayTexture?Z.compressedTexSubImage3D(vt,we,Rt,Sn,Mn,it,xt,at,Zt,yn.data):Z.texSubImage3D(vt,we,Rt,Sn,Mn,it,xt,at,Zt,Ut,yn),Z.pixelStorei(Z.UNPACK_ROW_LENGTH,xn),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,tn),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,Pr),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,li),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,kn),we===0&&xe.generateMipmaps&&Z.generateMipmap(vt),Je.unbindTexture()},this.initRenderTarget=function(K){ut.get(K).__webglFramebuffer===void 0&&ee.setupRenderTarget(K)},this.initTexture=function(K){K.isCubeTexture?ee.setTextureCube(K,0):K.isData3DTexture?ee.setTexture3D(K,0):K.isDataArrayTexture||K.isCompressedArrayTexture?ee.setTexture2DArray(K,0):ee.setTexture2D(K,0),Je.unbindTexture()},this.resetState=function(){O=0,N=0,D=null,Je.reset(),Ae.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Ml}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const n=this.getContext();n.drawingBufferColorSpace=e===QS?"display-p3":"srgb",n.unpackColorSpace=In.workingColorSpace===ux?"display-p3":"srgb"}}class tM{constructor(e,n=25e-5){this.isFogExp2=!0,this.name="",this.color=new lt(e),this.density=n}clone(){return new tM(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class nM{constructor(e,n=1,r=1e3){this.isFog=!0,this.name="",this.color=new lt(e),this.near=n,this.far=r}clone(){return new nM(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class kR extends mn{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new as,this.environmentIntensity=1,this.environmentRotation=new as,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,n){return super.copy(e,n),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const n=super.toJSON(e);return this.fog!==null&&(n.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(n.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(n.object.backgroundIntensity=this.backgroundIntensity),n.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(n.object.environmentIntensity=this.environmentIntensity),n.object.environmentRotation=this.environmentRotation.toArray(),n}}class tp{constructor(e,n){this.isInterleavedBuffer=!0,this.array=e,this.stride=n,this.count=e!==void 0?e.length/n:0,this.usage=Iy,this.updateRanges=[],this.version=0,this.uuid=So()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,n,r){e*=this.stride,r*=n.stride;for(let i=0,s=this.stride;ie.far||n.push({distance:l,point:w0.clone(),uv:Ks.getInterpolation(w0,s_,M0,o_,CD,SA,PD,new Ge),face:null,object:this})}copy(e,n){return super.copy(e,n),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function a_(t,e,n,r,i,s){Pm.subVectors(t,n).addScalar(.5).multiply(r),i!==void 0?(S0.x=s*Pm.x-i*Pm.y,S0.y=i*Pm.x+s*Pm.y):S0.copy(Pm),t.copy(e),t.x+=S0.x,t.y+=S0.y,t.applyMatrix4(b6)}const l_=new X,RD=new X;class w6 extends mn{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const n=e.levels;for(let r=0,i=n.length;r0){let r,i;for(r=1,i=n.length;r0){l_.setFromMatrixPosition(this.matrixWorld);const i=e.ray.origin.distanceTo(l_);this.getObjectForDistance(i).raycast(e,n)}}update(e){const n=this.levels;if(n.length>1){l_.setFromMatrixPosition(e.matrixWorld),RD.setFromMatrixPosition(this.matrixWorld);const r=l_.distanceTo(RD)/e.zoom;n[0].object.visible=!0;let i,s;for(i=1,s=n.length;i=o)n[i-1].object.visible=!1,n[i].object.visible=!0;else break}for(this._currentLevel=i-1;i=i.length&&i.push({start:-1,count:-1,z:-1,index:-1});const o=i[this.index];s.push(o),this.index++,o.start=e.start,o.count=e.count,o.z=n,o.index=r}reset(){this.list.length=0,this.index=0}}const Ju=new Pt,AA=new Pt,dye=new Pt,fye=new lt(1,1,1),FD=new Pt,TA=new hx,d_=new os,kf=new Bi,T0=new X,zD=new X,hye=new X,CA=new uye,es=new yr,f_=[];function pye(t,e,n=0){const r=e.itemSize;if(t.isInterleavedBufferAttribute||t.array.constructor!==e.array.constructor){const i=t.count;for(let s=0;s65535?new Uint32Array(i):new Uint16Array(i);n.setIndex(new Jt(s,1))}this._geometryInitialized=!0}}_validateGeometry(e){const n=this.geometry;if(!!e.getIndex()!=!!n.getIndex())throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const r in n.attributes){if(!e.hasAttribute(r))throw new Error(`BatchedMesh: Added geometry missing "${r}". All geometries must have consistent attributes.`);const i=e.getAttribute(r),s=n.getAttribute(r);if(i.itemSize!==s.itemSize||i.normalized!==s.normalized)throw new Error("BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new os);const e=this.boundingBox,n=this._drawInfo;e.makeEmpty();for(let r=0,i=n.length;r=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error("BatchedMesh: Maximum item count reached.");const r={visible:!0,active:!0,geometryIndex:e};let i=null;this._availableInstanceIds.length>0?(i=this._availableInstanceIds.pop(),this._drawInfo[i]=r):(i=this._drawInfo.length,this._drawInfo.push(r));const s=this._matricesTexture,o=s.image.data;dye.toArray(o,i*16),s.needsUpdate=!0;const a=this._colorsTexture;return a&&(fye.toArray(a.image.data,i*4),a.needsUpdate=!0),i}addGeometry(e,n=-1,r=-1){if(this._initializeGeometry(e),this._validateGeometry(e),this._drawInfo.length>=this._maxInstanceCount)throw new Error("BatchedMesh: Maximum item count reached.");const i={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1};let s=null;const o=this._reservedRanges,a=this._drawRanges,l=this._bounds;this._geometryCount!==0&&(s=o[o.length-1]),n===-1?i.vertexCount=e.getAttribute("position").count:i.vertexCount=n,s===null?i.vertexStart=0:i.vertexStart=s.vertexStart+s.vertexCount;const c=e.getIndex(),d=c!==null;if(d&&(r===-1?i.indexCount=c.count:i.indexCount=r,s===null?i.indexStart=0:i.indexStart=s.indexStart+s.indexCount),i.indexStart!==-1&&i.indexStart+i.indexCount>this._maxIndexCount||i.vertexStart+i.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const f=this._geometryCount;return this._geometryCount++,o.push(i),a.push({start:d?i.indexStart:i.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new os,sphereInitialized:!1,sphere:new Bi}),this.setGeometryAt(f,e),f}setGeometryAt(e,n){if(e>=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(n);const r=this.geometry,i=r.getIndex()!==null,s=r.getIndex(),o=n.getIndex(),a=this._reservedRanges[e];if(i&&o.count>a.indexCount||n.attributes.position.count>a.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const l=a.vertexStart,c=a.vertexCount;for(const y in r.attributes){const x=n.getAttribute(y),S=r.getAttribute(y);pye(x,S,l);const w=x.itemSize;for(let _=x.count,E=c;_=n.length||n[e].active===!1?this:(n[e].active=!1,this._availableInstanceIds.push(e),this._visibilityChanged=!0,this)}getBoundingBoxAt(e,n){if(e>=this._geometryCount)return null;const r=this._bounds[e],i=r.box,s=this.geometry;if(r.boxInitialized===!1){i.makeEmpty();const o=s.index,a=s.attributes.position,l=this._drawRanges[e];for(let c=l.start,d=l.start+l.count;c=this._geometryCount)return null;const r=this._bounds[e],i=r.sphere,s=this.geometry;if(r.sphereInitialized===!1){i.makeEmpty(),this.getBoundingBoxAt(e,d_),d_.getCenter(i.center);const o=s.index,a=s.attributes.position,l=this._drawRanges[e];let c=0;for(let d=l.start,f=l.start+l.count;d=r.length||r[e].active===!1?this:(n.toArray(s,e*16),i.needsUpdate=!0,this)}getMatrixAt(e,n){const r=this._drawInfo,i=this._matricesTexture.image.data;return e>=r.length||r[e].active===!1?null:n.fromArray(i,e*16)}setColorAt(e,n){this._colorsTexture===null&&this._initColorsTexture();const r=this._colorsTexture,i=this._colorsTexture.image.data,s=this._drawInfo;return e>=s.length||s[e].active===!1?this:(n.toArray(i,e*4),r.needsUpdate=!0,this)}getColorAt(e,n){const r=this._colorsTexture.image.data,i=this._drawInfo;return e>=i.length||i[e].active===!1?null:n.fromArray(r,e*4)}setVisibleAt(e,n){const r=this._drawInfo;return e>=r.length||r[e].active===!1||r[e].visible===n?this:(r[e].visible=n,this._visibilityChanged=!0,this)}getVisibleAt(e){const n=this._drawInfo;return e>=n.length||n[e].active===!1?!1:n[e].visible}setGeometryIdAt(e,n){const r=this._drawInfo;return e>=r.length||r[e].active===!1||n<0||n>=this._geometryCount?null:(r[e].geometryIndex=n,this)}getGeometryIdAt(e){const n=this._drawInfo;return e>=n.length||n[e].active===!1?-1:n[e].geometryIndex}getGeometryRangeAt(e,n={}){if(e<0||e>=this._geometryCount)return null;const r=this._drawRanges[e];return n.start=r.start,n.count=r.count,n}raycast(e,n){const r=this._drawInfo,i=this._drawRanges,s=this.matrixWorld,o=this.geometry;es.material=this.material,es.geometry.index=o.index,es.geometry.attributes=o.attributes,es.geometry.boundingBox===null&&(es.geometry.boundingBox=new os),es.geometry.boundingSphere===null&&(es.geometry.boundingSphere=new Bi);for(let a=0,l=r.length;a({...n})),this._reservedRanges=e._reservedRanges.map(n=>({...n})),this._drawInfo=e._drawInfo.map(n=>({...n})),this._bounds=e._bounds.map(n=>({boxInitialized:n.boxInitialized,box:n.box.clone(),sphereInitialized:n.sphereInitialized,sphere:n.sphere.clone()})),this._maxInstanceCount=e._maxInstanceCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._geometryCount=e._geometryCount,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=e._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null),this}onBeforeRender(e,n,r,i,s){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const o=i.getIndex(),a=o===null?1:o.array.BYTES_PER_ELEMENT,l=this._drawInfo,c=this._multiDrawStarts,d=this._multiDrawCounts,f=this._drawRanges,m=this.perObjectFrustumCulled,y=this._indirectTexture,x=y.image.data;m&&(FD.multiplyMatrices(r.projectionMatrix,r.matrixWorldInverse).multiply(this.matrixWorld),TA.setFromProjectionMatrix(FD,e.coordinateSystem));let S=0;if(this.sortObjects){AA.copy(this.matrixWorld).invert(),T0.setFromMatrixPosition(r.matrixWorld).applyMatrix4(AA),zD.set(0,0,-1).transformDirection(r.matrixWorld).transformDirection(AA);for(let E=0,T=l.length;E0){const i=n[r[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;sr)return;PA.applyMatrix4(t.matrixWorld);const l=e.ray.origin.distanceTo(PA);if(!(le.far))return{distance:l,point:HD.clone().applyMatrix4(t.matrixWorld),index:i,face:null,faceIndex:null,barycoord:null,object:t}}const VD=new X,GD=new X;class eo extends zl{constructor(e,n){super(e,n),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const n=e.attributes.position,r=[];for(let i=0,s=n.count;i0){const i=n[r[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;si.far)return;s.push({distance:c,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,faceIndex:null,barycoord:null,object:o})}}class mye extends dr{constructor(e,n,r,i,s,o,a,l,c){super(e,n,r,i,s,o,a,l,c),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:Cr,this.magFilter=s!==void 0?s:Cr,this.generateMipmaps=!1;const d=this;function f(){d.needsUpdate=!0,e.requestVideoFrameCallback(f)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(f)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class gye extends dr{constructor(e,n){super({width:e,height:n}),this.isFramebufferTexture=!0,this.magFilter=ri,this.minFilter=ri,this.generateMipmaps=!1,this.needsUpdate=!0}}class oM extends dr{constructor(e,n,r,i,s,o,a,l,c,d,f,m){super(null,o,a,l,c,d,i,s,f,m),this.isCompressedTexture=!0,this.image={width:n,height:r},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class vye extends oM{constructor(e,n,r,i,s,o){super(e,n,r,s,o),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=_o,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class yye extends oM{constructor(e,n,r){super(void 0,e[0].width,e[0].height,n,r,Jc),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class xye extends dr{constructor(e,n,r,i,s,o,a,l,c){super(e,n,r,i,s,o,a,l,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Xa{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,n){const r=this.getUtoTmapping(e);return this.getPoint(r,n)}getPoints(e=5){const n=[];for(let r=0;r<=e;r++)n.push(this.getPoint(r/e));return n}getSpacedPoints(e=5){const n=[];for(let r=0;r<=e;r++)n.push(this.getPointAt(r/e));return n}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const n=[];let r,i=this.getPoint(0),s=0;n.push(0);for(let o=1;o<=e;o++)r=this.getPoint(o/e),s+=r.distanceTo(i),n.push(s),i=r;return this.cacheArcLengths=n,n}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,n){const r=this.getLengths();let i=0;const s=r.length;let o;n?o=n:o=e*r[s-1];let a=0,l=s-1,c;for(;a<=l;)if(i=Math.floor(a+(l-a)/2),c=r[i]-o,c<0)a=i+1;else if(c>0)l=i-1;else{l=i;break}if(i=l,r[i]===o)return i/(s-1);const d=r[i],m=r[i+1]-d,y=(o-d)/m;return(i+y)/(s-1)}getTangent(e,n){let i=e-1e-4,s=e+1e-4;i<0&&(i=0),s>1&&(s=1);const o=this.getPoint(i),a=this.getPoint(s),l=n||(o.isVector2?new Ge:new X);return l.copy(a).sub(o).normalize(),l}getTangentAt(e,n){const r=this.getUtoTmapping(e);return this.getTangent(r,n)}computeFrenetFrames(e,n){const r=new X,i=[],s=[],o=[],a=new X,l=new Pt;for(let y=0;y<=e;y++){const x=y/e;i[y]=this.getTangentAt(x,new X)}s[0]=new X,o[0]=new X;let c=Number.MAX_VALUE;const d=Math.abs(i[0].x),f=Math.abs(i[0].y),m=Math.abs(i[0].z);d<=c&&(c=d,r.set(1,0,0)),f<=c&&(c=f,r.set(0,1,0)),m<=c&&r.set(0,0,1),a.crossVectors(i[0],r).normalize(),s[0].crossVectors(i[0],a),o[0].crossVectors(i[0],s[0]);for(let y=1;y<=e;y++){if(s[y]=s[y-1].clone(),o[y]=o[y-1].clone(),a.crossVectors(i[y-1],i[y]),a.length()>Number.EPSILON){a.normalize();const x=Math.acos(Ar(i[y-1].dot(i[y]),-1,1));s[y].applyMatrix4(l.makeRotationAxis(a,x))}o[y].crossVectors(i[y],s[y])}if(n===!0){let y=Math.acos(Ar(s[0].dot(s[e]),-1,1));y/=e,i[0].dot(a.crossVectors(s[0],s[e]))>0&&(y=-y);for(let x=1;x<=e;x++)s[x].applyMatrix4(l.makeRotationAxis(i[x],y*x)),o[x].crossVectors(i[x],s[x])}return{tangents:i,normals:s,binormals:o}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class aM extends Xa{constructor(e=0,n=0,r=1,i=1,s=0,o=Math.PI*2,a=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=n,this.xRadius=r,this.yRadius=i,this.aStartAngle=s,this.aEndAngle=o,this.aClockwise=a,this.aRotation=l}getPoint(e,n=new Ge){const r=n,i=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const o=Math.abs(s)i;)s-=i;s0?0:(Math.floor(Math.abs(a)/s)+1)*s:l===0&&a===s-1&&(a=s-2,l=1);let c,d;this.closed||a>0?c=i[(a-1)%s]:(v_.subVectors(i[0],i[1]).add(i[0]),c=v_);const f=i[a%s],m=i[(a+1)%s];if(this.closed||a+2i.length-2?i.length-1:o+1],f=i[o>i.length-3?i.length-1:o+2];return r.set(XD(a,l.x,c.x,d.x,f.x),XD(a,l.y,c.y,d.y,f.y)),r}copy(e){super.copy(e),this.points=[];for(let n=0,r=e.points.length;n=r){const o=i[s]-r,a=this.curves[s],l=a.getLength(),c=l===0?0:1-o/l;return a.getPointAt(c,n)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let n=0;for(let r=0,i=this.curves.length;r1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n}copy(e){super.copy(e),this.curves=[];for(let n=0,r=e.curves.length;n0){const f=c.getPoint(0);f.equals(this.currentPoint)||this.lineTo(f.x,f.y)}this.curves.push(c);const d=c.getPoint(1);return this.currentPoint.copy(d),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class px extends Qt{constructor(e=[new Ge(0,-.5),new Ge(.5,0),new Ge(0,.5)],n=12,r=0,i=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:n,phiStart:r,phiLength:i},n=Math.floor(n),i=Ar(i,0,Math.PI*2);const s=[],o=[],a=[],l=[],c=[],d=1/n,f=new X,m=new Ge,y=new X,x=new X,S=new X;let w=0,_=0;for(let E=0;E<=e.length-1;E++)switch(E){case 0:w=e[E+1].x-e[E].x,_=e[E+1].y-e[E].y,y.x=_*1,y.y=-w,y.z=_*0,S.copy(y),y.normalize(),l.push(y.x,y.y,y.z);break;case e.length-1:l.push(S.x,S.y,S.z);break;default:w=e[E+1].x-e[E].x,_=e[E+1].y-e[E].y,y.x=_*1,y.y=-w,y.z=_*0,x.copy(y),y.x+=S.x,y.y+=S.y,y.z+=S.z,y.normalize(),l.push(y.x,y.y,y.z),S.copy(x)}for(let E=0;E<=n;E++){const T=r+E*d*i,C=Math.sin(T),O=Math.cos(T);for(let N=0;N<=e.length-1;N++){f.x=e[N].x*C,f.y=e[N].y,f.z=e[N].x*O,o.push(f.x,f.y,f.z),m.x=E/n,m.y=N/(e.length-1),a.push(m.x,m.y);const D=l[3*N+0]*C,F=l[3*N+1],G=l[3*N+0]*O;c.push(D,F,G)}}for(let E=0;E0&&T(!0),n>0&&T(!1)),this.setIndex(d),this.setAttribute("position",new Ot(f,3)),this.setAttribute("normal",new Ot(m,3)),this.setAttribute("uv",new Ot(y,2));function E(){const C=new X,O=new X;let N=0;const D=(n-e)/r;for(let F=0;F<=s;F++){const G=[],k=F/s,U=k*(n-e)+e;for(let H=0;H<=i;H++){const ne=H/i,te=ne*l+a,he=Math.sin(te),se=Math.cos(te);O.x=U*he,O.y=-k*r+w,O.z=U*se,f.push(O.x,O.y,O.z),C.set(he,D,se).normalize(),m.push(C.x,C.y,C.z),y.push(ne,1-k),G.push(x++)}S.push(G)}for(let F=0;F0&&(d.push(k,U,ne),N+=3),n>0&&(d.push(U,H,ne),N+=3)}c.addGroup(_,N,0),_+=N}function T(C){const O=x,N=new Ge,D=new X;let F=0;const G=C===!0?e:n,k=C===!0?1:-1;for(let H=1;H<=i;H++)f.push(0,w*k,0),m.push(0,k,0),y.push(.5,.5),x++;const U=x;for(let H=0;H<=i;H++){const te=H/i*l+a,he=Math.cos(te),se=Math.sin(te);D.x=G*se,D.y=w*k,D.z=G*he,f.push(D.x,D.y,D.z),m.push(0,k,0),N.x=he*.5+.5,N.y=se*.5*k+.5,y.push(N.x,N.y),x++}for(let H=0;H.9&&D<.1&&(T<.2&&(o[E+0]+=1),C<.2&&(o[E+2]+=1),O<.2&&(o[E+4]+=1))}}function m(E){s.push(E.x,E.y,E.z)}function y(E,T){const C=E*3;T.x=e[C+0],T.y=e[C+1],T.z=e[C+2]}function x(){const E=new X,T=new X,C=new X,O=new X,N=new Ge,D=new Ge,F=new Ge;for(let G=0,k=0;G80*n){a=c=t[0],l=d=t[1];for(let x=n;xc&&(c=f),m>d&&(d=m);y=Math.max(c-a,d-l),y=y!==0?32767/y:0}return Dy(s,o,n,a,l,y,0),o}};function R6(t,e,n,r,i){let s,o;if(i===Vye(t,e,n,r)>0)for(s=e;s=e;s-=r)o=qD(s,t[s],t[s+1],o);return o&&fM(o,o.next)&&(Uy(o),o=o.next),o}function Bh(t,e){if(!t)return t;e||(e=t);let n=t,r;do if(r=!1,!n.steiner&&(fM(n,n.next)||vr(n.prev,n,n.next)===0)){if(Uy(n),n=e=n.prev,n===n.next)break;r=!0}else n=n.next;while(r||n!==e);return e}function Dy(t,e,n,r,i,s,o){if(!t)return;!o&&s&&jye(t,r,i,s);let a=t,l,c;for(;t.prev!==t.next;){if(l=t.prev,c=t.next,s?Pye(t,r,i,s):Cye(t)){e.push(l.i/n|0),e.push(t.i/n|0),e.push(c.i/n|0),Uy(t),t=c.next,a=c.next;continue}if(t=c,t===a){o?o===1?(t=Rye(Bh(t),e,n),Dy(t,e,n,r,i,s,2)):o===2&&Nye(t,e,n,r,i,s):Dy(Bh(t),e,n,r,i,s,1);break}}}function Cye(t){const e=t.prev,n=t,r=t.next;if(vr(e,n,r)>=0)return!1;const i=e.x,s=n.x,o=r.x,a=e.y,l=n.y,c=r.y,d=is?i>o?i:o:s>o?s:o,y=a>l?a>c?a:c:l>c?l:c;let x=r.next;for(;x!==e;){if(x.x>=d&&x.x<=m&&x.y>=f&&x.y<=y&&Km(i,a,s,l,o,c,x.x,x.y)&&vr(x.prev,x,x.next)>=0)return!1;x=x.next}return!0}function Pye(t,e,n,r){const i=t.prev,s=t,o=t.next;if(vr(i,s,o)>=0)return!1;const a=i.x,l=s.x,c=o.x,d=i.y,f=s.y,m=o.y,y=al?a>c?a:c:l>c?l:c,w=d>f?d>m?d:m:f>m?f:m,_=JC(y,x,e,n,r),E=JC(S,w,e,n,r);let T=t.prevZ,C=t.nextZ;for(;T&&T.z>=_&&C&&C.z<=E;){if(T.x>=y&&T.x<=S&&T.y>=x&&T.y<=w&&T!==i&&T!==o&&Km(a,d,l,f,c,m,T.x,T.y)&&vr(T.prev,T,T.next)>=0||(T=T.prevZ,C.x>=y&&C.x<=S&&C.y>=x&&C.y<=w&&C!==i&&C!==o&&Km(a,d,l,f,c,m,C.x,C.y)&&vr(C.prev,C,C.next)>=0))return!1;C=C.nextZ}for(;T&&T.z>=_;){if(T.x>=y&&T.x<=S&&T.y>=x&&T.y<=w&&T!==i&&T!==o&&Km(a,d,l,f,c,m,T.x,T.y)&&vr(T.prev,T,T.next)>=0)return!1;T=T.prevZ}for(;C&&C.z<=E;){if(C.x>=y&&C.x<=S&&C.y>=x&&C.y<=w&&C!==i&&C!==o&&Km(a,d,l,f,c,m,C.x,C.y)&&vr(C.prev,C,C.next)>=0)return!1;C=C.nextZ}return!0}function Rye(t,e,n){let r=t;do{const i=r.prev,s=r.next.next;!fM(i,s)&&N6(i,r,r.next,s)&&jy(i,s)&&jy(s,i)&&(e.push(i.i/n|0),e.push(r.i/n|0),e.push(s.i/n|0),Uy(r),Uy(r.next),r=t=s),r=r.next}while(r!==t);return Bh(r)}function Nye(t,e,n,r,i,s){let o=t;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&zye(o,a)){let l=I6(o,a);o=Bh(o,o.next),l=Bh(l,l.next),Dy(o,e,n,r,i,s,0),Dy(l,e,n,r,i,s,0);return}a=a.next}o=o.next}while(o!==t)}function Iye(t,e,n,r){const i=[];let s,o,a,l,c;for(s=0,o=e.length;s=n.next.y&&n.next.y!==n.y){const m=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(m<=s&&m>r&&(r=m,i=n.x=n.x&&n.x>=l&&s!==n.x&&Km(oi.x||n.x===i.x&&Dye(i,n)))&&(i=n,d=f)),n=n.next;while(n!==a);return i}function Dye(t,e){return vr(t.prev,t,e.prev)<0&&vr(e.next,t,t.next)<0}function jye(t,e,n,r){let i=t;do i.z===0&&(i.z=JC(i.x,i.y,e,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,Uye(i)}function Uye(t){let e,n,r,i,s,o,a,l,c=1;do{for(n=t,t=null,s=null,o=0;n;){for(o++,r=n,a=0,e=0;e0||l>0&&r;)a!==0&&(l===0||!r||n.z<=r.z)?(i=n,n=n.nextZ,a--):(i=r,r=r.nextZ,l--),s?s.nextZ=i:t=i,i.prevZ=s,s=i;n=r}s.nextZ=null,c*=2}while(o>1);return t}function JC(t,e,n,r,i){return t=(t-n)*i|0,e=(e-r)*i|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function Fye(t){let e=t,n=t;do(e.x=(t-o)*(s-a)&&(t-o)*(r-a)>=(n-o)*(e-a)&&(n-o)*(s-a)>=(i-o)*(r-a)}function zye(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!Bye(t,e)&&(jy(t,e)&&jy(e,t)&&Hye(t,e)&&(vr(t.prev,t,e.prev)||vr(t,e.prev,e))||fM(t,e)&&vr(t.prev,t,t.next)>0&&vr(e.prev,e,e.next)>0)}function vr(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function fM(t,e){return t.x===e.x&&t.y===e.y}function N6(t,e,n,r){const i=w_(vr(t,e,n)),s=w_(vr(t,e,r)),o=w_(vr(n,r,t)),a=w_(vr(n,r,e));return!!(i!==s&&o!==a||i===0&&__(t,n,e)||s===0&&__(t,r,e)||o===0&&__(n,t,r)||a===0&&__(n,e,r))}function __(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function w_(t){return t>0?1:t<0?-1:0}function Bye(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&N6(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}function jy(t,e){return vr(t.prev,t,t.next)<0?vr(t,e,t.next)>=0&&vr(t,t.prev,e)>=0:vr(t,e,t.prev)<0||vr(t,t.next,e)<0}function Hye(t,e){let n=t,r=!1;const i=(t.x+e.x)/2,s=(t.y+e.y)/2;do n.y>s!=n.next.y>s&&n.next.y!==n.y&&i<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next;while(n!==t);return r}function I6(t,e){const n=new eP(t.i,t.x,t.y),r=new eP(e.i,e.x,e.y),i=t.next,s=e.prev;return t.next=e,e.prev=t,n.next=i,i.prev=n,r.next=n,n.prev=r,s.next=r,r.prev=s,r}function qD(t,e,n,r){const i=new eP(t,e,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function Uy(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function eP(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Vye(t,e,n,r){let i=0;for(let s=e,o=n-r;s2&&t[e-1].equals(t[0])&&t.pop()}function YD(t,e){for(let n=0;nNumber.EPSILON){const Ve=Math.sqrt(Ee),He=Math.sqrt(ee*ee+$*$),mt=Z.x-ut/Ve,rt=Z.y+bt/Ve,dt=We.x-$/He,de=We.y+ee/He,Ne=((dt-mt)*$-(de-rt)*ee)/(bt*$-ut*ee);je=mt+bt*Ne-ce.x,Xe=rt+ut*Ne-ce.y;const tt=je*je+Xe*Xe;if(tt<=2)return new Ge(je,Xe);Je=Math.sqrt(tt/2)}else{let Ve=!1;bt>Number.EPSILON?ee>Number.EPSILON&&(Ve=!0):bt<-Number.EPSILON?ee<-Number.EPSILON&&(Ve=!0):Math.sign(ut)===Math.sign($)&&(Ve=!0),Ve?(je=-ut,Xe=bt,Je=Math.sqrt(Ee)):(je=bt,Xe=ut,Je=Math.sqrt(Ee/2))}return new Ge(je/Je,Xe/Je)}const J=[];for(let ce=0,Z=te.length,We=Z-1,je=ce+1;ce=0;ce--){const Z=ce/w,We=y*Math.cos(Z*Math.PI/2),je=x*Math.sin(Z*Math.PI/2)+S;for(let Xe=0,Je=te.length;Xe=0;){const je=We;let Xe=We-1;Xe<0&&(Xe=ce.length-1);for(let Je=0,bt=d+w*2;Je0)&&y.push(T,C,N),(_!==r-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class D6 extends Gr{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new lt(16777215),this.specular=new lt(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new lt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=lu,this.normalScale=new Ge(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new as,this.combine=lx,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class j6 extends Gr{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new lt(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new lt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=lu,this.normalScale=new Ge(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class U6 extends Gr{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=lu,this.normalScale=new Ge(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class F6 extends Gr{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new lt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new lt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=lu,this.normalScale=new Ge(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new as,this.combine=lx,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class z6 extends Gr{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new lt(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=lu,this.normalScale=new Ge(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class B6 extends $r{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function lh(t,e,n){return!t||!n&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT=="number"?new e(t):Array.prototype.slice.call(t)}function H6(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function V6(t){function e(i,s){return t[i]-t[s]}const n=t.length,r=new Array(n);for(let i=0;i!==n;++i)r[i]=i;return r.sort(e),r}function tP(t,e,n){const r=t.length,i=new t.constructor(r);for(let s=0,o=0;o!==r;++s){const a=n[s]*e;for(let l=0;l!==e;++l)i[o++]=t[a+l]}return i}function GR(t,e,n,r){let i=1,s=t[0];for(;s!==void 0&&s[r]===void 0;)s=t[i++];if(s===void 0)return;let o=s[r];if(o!==void 0)if(Array.isArray(o))do o=s[r],o!==void 0&&(e.push(s.time),n.push.apply(n,o)),s=t[i++];while(s!==void 0);else if(o.toArray!==void 0)do o=s[r],o!==void 0&&(e.push(s.time),o.toArray(n,n.length)),s=t[i++];while(s!==void 0);else do o=s[r],o!==void 0&&(e.push(s.time),n.push(o)),s=t[i++];while(s!==void 0)}function Xye(t,e,n,r,i=30){const s=t.clone();s.name=e;const o=[];for(let l=0;l=r)){f.push(c.times[y]);for(let S=0;Ss.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[x]){const _=x*f+d,E=_+f-d;S=a.values.slice(_,E)}else{const _=a.createInterpolant(),E=d,T=f-d;_.evaluate(s),S=_.resultBuffer.slice(E,T)}l==="quaternion"&&new Kt().fromArray(S).normalize().conjugate().toArray(S);const w=c.times.length;for(let _=0;_=s)){const a=n[1];e=s)break t}o=r,r=0;break n}break e}for(;r>>1;en;)--o;if(++o,s!==0||o!==i){s>=o&&(o=Math.max(o,1),s=o-1);const a=this.getValueSize();this.times=r.slice(s,o),this.values=this.values.slice(s*a,o*a)}return this}validate(){let e=!0;const n=this.getValueSize();n-Math.floor(n)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const r=this.times,i=this.values,s=r.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let a=0;a!==s;a++){const l=r[a];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,l),e=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,l,o),e=!1;break}o=l}if(i!==void 0&&H6(i))for(let a=0,l=i.length;a!==l;++a){const c=i[a];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,c),e=!1;break}}return e}optimize(){const e=this.times.slice(),n=this.values.slice(),r=this.getValueSize(),i=this.getInterpolation()===$_,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*r,l=o*r,c=0;c!==r;++c)n[l+c]=n[a+c];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=n.slice(0,o*r)):(this.times=e,this.values=n),this}clone(){const e=this.times.slice(),n=this.values.slice(),r=this.constructor,i=new r(this.name,e,n);return i.createInterpolant=this.createInterpolant,i}}qa.prototype.TimeBufferType=Float32Array;qa.prototype.ValueBufferType=Float32Array;qa.prototype.DefaultInterpolation=Dg;class np extends qa{constructor(e,n,r){super(e,n,r)}}np.prototype.ValueTypeName="bool";np.prototype.ValueBufferType=Array;np.prototype.DefaultInterpolation=Lg;np.prototype.InterpolantFactoryMethodLinear=void 0;np.prototype.InterpolantFactoryMethodSmooth=void 0;class $R extends qa{}$R.prototype.ValueTypeName="color";class Hh extends qa{}Hh.prototype.ValueTypeName="number";class $6 extends av{constructor(e,n,r,i){super(e,n,r,i)}interpolate_(e,n,r,i){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=(r-n)/(i-n);let c=e*a;for(let d=c+a;c!==d;c+=4)Kt.slerpFlat(s,0,o,c-a,o,c,l);return s}}class Vh extends qa{InterpolantFactoryMethodLinear(e){return new $6(this.times,this.values,this.getValueSize(),e)}}Vh.prototype.ValueTypeName="quaternion";Vh.prototype.InterpolantFactoryMethodSmooth=void 0;class rp extends qa{constructor(e,n,r){super(e,n,r)}}rp.prototype.ValueTypeName="string";rp.prototype.ValueBufferType=Array;rp.prototype.DefaultInterpolation=Lg;rp.prototype.InterpolantFactoryMethodLinear=void 0;rp.prototype.InterpolantFactoryMethodSmooth=void 0;class Gh extends qa{}Gh.prototype.ValueTypeName="vector";class Fg{constructor(e="",n=-1,r=[],i=ZS){this.name=e,this.tracks=r,this.duration=n,this.blendMode=i,this.uuid=So(),this.duration<0&&this.resetDuration()}static parse(e){const n=[],r=e.tracks,i=1/(e.fps||1);for(let o=0,a=r.length;o!==a;++o)n.push(Zye(r[o]).scale(i));const s=new this(e.name,e.duration,n,e.blendMode);return s.uuid=e.uuid,s}static toJSON(e){const n=[],r=e.tracks,i={name:e.name,duration:e.duration,tracks:n,uuid:e.uuid,blendMode:e.blendMode};for(let s=0,o=r.length;s!==o;++s)n.push(qa.toJSON(r[s]));return i}static CreateFromMorphTargetSequence(e,n,r,i){const s=n.length,o=[];for(let a=0;a1){const f=d[1];let m=i[f];m||(i[f]=m=[]),m.push(c)}}const o=[];for(const a in i)o.push(this.CreateFromMorphTargetSequence(a,i[a],n,r));return o}static parseAnimation(e,n){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const r=function(f,m,y,x,S){if(y.length!==0){const w=[],_=[];GR(y,w,_,x),w.length!==0&&S.push(new f(m,w,_))}},i=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const c=e.hierarchy||[];for(let f=0;f{n&&n(s),this.manager.itemEnd(e)},0),s;if(Pc[e]!==void 0){Pc[e].push({onLoad:n,onProgress:r,onError:i});return}Pc[e]=[],Pc[e].push({onLoad:n,onProgress:r,onError:i});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,l=this.responseType;fetch(o).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const d=Pc[e],f=c.body.getReader(),m=c.headers.get("X-File-Size")||c.headers.get("Content-Length"),y=m?parseInt(m):0,x=y!==0;let S=0;const w=new ReadableStream({start(_){E();function E(){f.read().then(({done:T,value:C})=>{if(T)_.close();else{S+=C.byteLength;const O=new ProgressEvent("progress",{lengthComputable:x,loaded:S,total:y});for(let N=0,D=d.length;N{_.error(T)})}}});return new Response(w)}else throw new Qye(`fetch for "${c.url}" responded with ${c.status}: ${c.statusText}`,c)}).then(c=>{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(d=>new DOMParser().parseFromString(d,a));case"json":return c.json();default:if(a===void 0)return c.text();{const f=/charset="?([^;"\s]*)"?/i.exec(a),m=f&&f[1]?f[1].toLowerCase():void 0,y=new TextDecoder(m);return c.arrayBuffer().then(x=>y.decode(x))}}}).then(c=>{Hc.add(e,c);const d=Pc[e];delete Pc[e];for(let f=0,m=d.length;f{const d=Pc[e];if(d===void 0)throw this.manager.itemError(e),c;delete Pc[e];for(let f=0,m=d.length;f{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class Jye extends Rs{constructor(e){super(e)}load(e,n,r,i){const s=this,o=new Ga(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(a){try{n(s.parse(JSON.parse(a)))}catch(l){i?i(l):console.error(l),s.manager.itemError(e)}},r,i)}parse(e){const n=[];for(let r=0;r0:i.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const o=e.uniforms[s];switch(i.uniforms[s]={},o.type){case"t":i.uniforms[s].value=r(o.value);break;case"c":i.uniforms[s].value=new lt().setHex(o.value);break;case"v2":i.uniforms[s].value=new Ge().fromArray(o.value);break;case"v3":i.uniforms[s].value=new X().fromArray(o.value);break;case"v4":i.uniforms[s].value=new Ln().fromArray(o.value);break;case"m3":i.uniforms[s].value=new qt().fromArray(o.value);break;case"m4":i.uniforms[s].value=new Pt().fromArray(o.value);break;default:i.uniforms[s].value=o.value}}if(e.defines!==void 0&&(i.defines=e.defines),e.vertexShader!==void 0&&(i.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(i.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(i.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)i.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(i.lights=e.lights),e.clipping!==void 0&&(i.clipping=e.clipping),e.size!==void 0&&(i.size=e.size),e.sizeAttenuation!==void 0&&(i.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(i.map=r(e.map)),e.matcap!==void 0&&(i.matcap=r(e.matcap)),e.alphaMap!==void 0&&(i.alphaMap=r(e.alphaMap)),e.bumpMap!==void 0&&(i.bumpMap=r(e.bumpMap)),e.bumpScale!==void 0&&(i.bumpScale=e.bumpScale),e.normalMap!==void 0&&(i.normalMap=r(e.normalMap)),e.normalMapType!==void 0&&(i.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),i.normalScale=new Ge().fromArray(s)}return e.displacementMap!==void 0&&(i.displacementMap=r(e.displacementMap)),e.displacementScale!==void 0&&(i.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(i.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(i.roughnessMap=r(e.roughnessMap)),e.metalnessMap!==void 0&&(i.metalnessMap=r(e.metalnessMap)),e.emissiveMap!==void 0&&(i.emissiveMap=r(e.emissiveMap)),e.emissiveIntensity!==void 0&&(i.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(i.specularMap=r(e.specularMap)),e.specularIntensityMap!==void 0&&(i.specularIntensityMap=r(e.specularIntensityMap)),e.specularColorMap!==void 0&&(i.specularColorMap=r(e.specularColorMap)),e.envMap!==void 0&&(i.envMap=r(e.envMap)),e.envMapRotation!==void 0&&i.envMapRotation.fromArray(e.envMapRotation),e.envMapIntensity!==void 0&&(i.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(i.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(i.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(i.lightMap=r(e.lightMap)),e.lightMapIntensity!==void 0&&(i.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(i.aoMap=r(e.aoMap)),e.aoMapIntensity!==void 0&&(i.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(i.gradientMap=r(e.gradientMap)),e.clearcoatMap!==void 0&&(i.clearcoatMap=r(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(i.clearcoatRoughnessMap=r(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(i.clearcoatNormalMap=r(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(i.clearcoatNormalScale=new Ge().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(i.iridescenceMap=r(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(i.iridescenceThicknessMap=r(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(i.transmissionMap=r(e.transmissionMap)),e.thicknessMap!==void 0&&(i.thicknessMap=r(e.thicknessMap)),e.anisotropyMap!==void 0&&(i.anisotropyMap=r(e.anisotropyMap)),e.sheenColorMap!==void 0&&(i.sheenColorMap=r(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(i.sheenRoughnessMap=r(e.sheenRoughnessMap)),i}setTextures(e){return this.textures=e,this}createMaterialFromType(e){return _M.createMaterialFromType(e)}static createMaterialFromType(e){const n={ShadowMaterial:O6,SpriteMaterial:OR,RawShaderMaterial:L6,ShaderMaterial:Qo,PointsMaterial:sM,MeshPhysicalMaterial:na,MeshStandardMaterial:vx,MeshPhongMaterial:D6,MeshToonMaterial:j6,MeshNormalMaterial:U6,MeshLambertMaterial:F6,MeshDepthMaterial:NR,MeshDistanceMaterial:IR,MeshBasicMaterial:As,MeshMatcapMaterial:z6,LineDashedMaterial:B6,LineBasicMaterial:$r,Material:Gr};return new n[e]}}class Md{static decodeText(e){if(console.warn("THREE.LoaderUtils: decodeText() has been deprecated with r165 and will be removed with r175. Use TextDecoder instead."),typeof TextDecoder<"u")return new TextDecoder().decode(e);let n="";for(let r=0,i=e.length;r0){const l=new XR(n);s=new zg(l),s.setCrossOrigin(this.crossOrigin);for(let c=0,d=e.length;c0){i=new zg(this.manager),i.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const w=new os;w.min.fromArray(S.boxMin),w.max.fromArray(S.boxMax);const _=new Bi;return _.radius=S.sphereRadius,_.center.fromArray(S.sphereCenter),{boxInitialized:S.boxInitialized,box:w,sphereInitialized:S.sphereInitialized,sphere:_}}),o._maxInstanceCount=e.maxInstanceCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=c(e.matricesTexture.uuid),e.colorsTexture!==void 0&&(o._colorsTexture=c(e.colorsTexture.uuid));break;case"LOD":o=new w6;break;case"Line":o=new zl(a(e.geometry),l(e.material));break;case"LineLoop":o=new DR(a(e.geometry),l(e.material));break;case"LineSegments":o=new eo(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new jR(a(e.geometry),l(e.material));break;case"Sprite":o=new _6(l(e.material));break;case"Group":o=new Ts;break;case"Bone":o=new iM;break;default:o=new mn}if(o.uuid=e.uuid,e.name!==void 0&&(o.name=e.name),e.matrix!==void 0?(o.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(o.matrixAutoUpdate=e.matrixAutoUpdate),o.matrixAutoUpdate&&o.matrix.decompose(o.position,o.quaternion,o.scale)):(e.position!==void 0&&o.position.fromArray(e.position),e.rotation!==void 0&&o.rotation.fromArray(e.rotation),e.quaternion!==void 0&&o.quaternion.fromArray(e.quaternion),e.scale!==void 0&&o.scale.fromArray(e.scale)),e.up!==void 0&&o.up.fromArray(e.up),e.castShadow!==void 0&&(o.castShadow=e.castShadow),e.receiveShadow!==void 0&&(o.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.intensity!==void 0&&(o.shadow.intensity=e.shadow.intensity),e.shadow.bias!==void 0&&(o.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(o.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(o.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&o.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(o.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(o.visible=e.visible),e.frustumCulled!==void 0&&(o.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(o.renderOrder=e.renderOrder),e.userData!==void 0&&(o.userData=e.userData),e.layers!==void 0&&(o.layers.mask=e.layers),e.children!==void 0){const m=e.children;for(let y=0;y"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,n,r,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=Hc.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(c=>{n&&n(c),s.manager.itemEnd(e)}).catch(c=>{i&&i(c)});return}return setTimeout(function(){n&&n(o),s.manager.itemEnd(e)},0),o}const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader;const l=fetch(e,a).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(c){return Hc.add(e,c),n&&n(c),s.manager.itemEnd(e),c}).catch(function(c){i&&i(c),Hc.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});Hc.add(e,l),s.manager.itemStart(e)}}let S_;class QR{static getContext(){return S_===void 0&&(S_=new(window.AudioContext||window.webkitAudioContext)),S_}static setContext(e){S_=e}}class lxe extends Rs{constructor(e){super(e)}load(e,n,r,i){const s=this,o=new Ga(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const c=l.slice(0);QR.getContext().decodeAudioData(c,function(f){n(f)}).catch(a)}catch(c){a(c)}},r,i);function a(l){i?i(l):console.error(l),s.manager.itemError(e)}}}const ij=new Pt,sj=new Pt,Of=new Pt;class cxe{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Tr,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Tr,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const n=this._cache;if(n.focus!==e.focus||n.fov!==e.fov||n.aspect!==e.aspect*this.aspect||n.near!==e.near||n.far!==e.far||n.zoom!==e.zoom||n.eyeSep!==this.eyeSep){n.focus=e.focus,n.fov=e.fov,n.aspect=e.aspect*this.aspect,n.near=e.near,n.far=e.far,n.zoom=e.zoom,n.eyeSep=this.eyeSep,Of.copy(e.projectionMatrix);const i=n.eyeSep/2,s=i*n.near/n.focus,o=n.near*Math.tan(Eh*n.fov*.5)/n.zoom;let a,l;sj.elements[12]=-i,ij.elements[12]=i,a=-o*n.aspect+s,l=o*n.aspect+s,Of.elements[0]=2*n.near/(l-a),Of.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(Of),a=-o*n.aspect-s,l=o*n.aspect-s,Of.elements[0]=2*n.near/(l-a),Of.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(Of)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(sj),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(ij)}}class JR{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=oj(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const n=oj();e=(n-this.oldTime)/1e3,this.oldTime=n,this.elapsedTime+=e}return e}}function oj(){return performance.now()}const Lf=new X,aj=new Kt,uxe=new X,Df=new X;class dxe extends mn{constructor(){super(),this.type="AudioListener",this.context=QR.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new JR}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const n=this.context.listener,r=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Lf,aj,uxe),Df.set(0,0,-1).applyQuaternion(aj),n.positionX){const i=this.context.currentTime+this.timeDelta;n.positionX.linearRampToValueAtTime(Lf.x,i),n.positionY.linearRampToValueAtTime(Lf.y,i),n.positionZ.linearRampToValueAtTime(Lf.z,i),n.forwardX.linearRampToValueAtTime(Df.x,i),n.forwardY.linearRampToValueAtTime(Df.y,i),n.forwardZ.linearRampToValueAtTime(Df.z,i),n.upX.linearRampToValueAtTime(r.x,i),n.upY.linearRampToValueAtTime(r.y,i),n.upZ.linearRampToValueAtTime(r.z,i)}else n.setPosition(Lf.x,Lf.y,Lf.z),n.setOrientation(Df.x,Df.y,Df.z,r.x,r.y,r.z)}}let rG=class extends mn{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const n=this.context.createBufferSource();return n.buffer=this.buffer,n.loop=this.loop,n.loopStart=this.loopStart,n.loopEnd=this.loopEnd,n.onended=this.onEnded.bind(this),n.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=n,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(e=0){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+e),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,n=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,n=this.filters.length;e0&&this._mixBufferRegionAdditive(r,i,this._addIndex*n,1,n);for(let l=n,c=n+n;l!==c;++l)if(r[l]!==r[l+n]){a.setValue(r,i);break}}saveOriginalState(){const e=this.binding,n=this.buffer,r=this.valueSize,i=r*this._origIndex;e.getValue(n,i);for(let s=r,o=i;s!==o;++s)n[s]=n[i+s%r];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,n=e+this.valueSize;for(let r=e;r=.5)for(let o=0;o!==s;++o)e[n+o]=e[r+o]}_slerp(e,n,r,i){Kt.slerpFlat(e,n,e,n,e,r,i)}_slerpAdditive(e,n,r,i,s){const o=this._workIndex*s;Kt.multiplyQuaternionsFlat(e,o,e,n,e,r),Kt.slerpFlat(e,n,e,n,e,o,i)}_lerp(e,n,r,i,s){const o=1-i;for(let a=0;a!==s;++a){const l=n+a;e[l]=e[l]*o+e[r+a]*i}}_lerpAdditive(e,n,r,i,s){for(let o=0;o!==s;++o){const a=n+o;e[a]=e[a]+e[r+o]*i}}}const eN="\\[\\]\\.:\\/",mxe=new RegExp("["+eN+"]","g"),tN="[^"+eN+"]",gxe="[^"+eN.replace("\\.","")+"]",vxe=/((?:WC+[\/:])*)/.source.replace("WC",tN),yxe=/(WCOD+)?/.source.replace("WCOD",gxe),xxe=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",tN),bxe=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",tN),_xe=new RegExp("^"+vxe+yxe+xxe+bxe+"$"),wxe=["material","materials","bones","map"];class Sxe{constructor(e,n,r){const i=r||Nn.parseTrackName(n);this._targetGroup=e,this._bindings=e.subscribe_(n,i)}getValue(e,n){this.bind();const r=this._targetGroup.nCachedObjects_,i=this._bindings[r];i!==void 0&&i.getValue(e,n)}setValue(e,n){const r=this._bindings;for(let i=this._targetGroup.nCachedObjects_,s=r.length;i!==s;++i)r[i].setValue(e,n)}bind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,r=e.length;n!==r;++n)e[n].bind()}unbind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,r=e.length;n!==r;++n)e[n].unbind()}}class Nn{constructor(e,n,r){this.path=n,this.parsedPath=r||Nn.parseTrackName(n),this.node=Nn.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,n,r){return e&&e.isAnimationObjectGroup?new Nn.Composite(e,n,r):new Nn(e,n,r)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(mxe,"")}static parseTrackName(e){const n=_xe.exec(e);if(n===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const r={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},i=r.nodeName&&r.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const s=r.nodeName.substring(i+1);wxe.indexOf(s)!==-1&&(r.nodeName=r.nodeName.substring(0,i),r.objectName=s)}if(r.propertyName===null||r.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return r}static findNode(e,n){if(n===void 0||n===""||n==="."||n===-1||n===e.name||n===e.uuid)return e;if(e.skeleton){const r=e.skeleton.getBoneByName(n);if(r!==void 0)return r}if(e.children){const r=function(s){for(let o=0;o=s){const f=s++,m=e[f];n[m.uuid]=d,e[d]=m,n[c]=f,e[f]=l;for(let y=0,x=i;y!==x;++y){const S=r[y],w=S[f],_=S[d];S[d]=w,S[f]=_}}}this.nCachedObjects_=s}uncache(){const e=this._objects,n=this._indicesByUUID,r=this._bindings,i=r.length;let s=this.nCachedObjects_,o=e.length;for(let a=0,l=arguments.length;a!==l;++a){const c=arguments[a],d=c.uuid,f=n[d];if(f!==void 0)if(delete n[d],f0&&(n[y.uuid]=f),e[f]=y,e.pop();for(let x=0,S=i;x!==S;++x){const w=r[x];w[f]=w[m],w.pop()}}}this.nCachedObjects_=s}subscribe_(e,n){const r=this._bindingsIndicesByPath;let i=r[e];const s=this._bindings;if(i!==void 0)return s[i];const o=this._paths,a=this._parsedPaths,l=this._objects,c=l.length,d=this.nCachedObjects_,f=new Array(c);i=s.length,r[e]=i,o.push(e),a.push(n),s.push(f);for(let m=d,y=l.length;m!==y;++m){const x=l[m];f[m]=new Nn(x,e,n)}return f}unsubscribe_(e){const n=this._bindingsIndicesByPath,r=n[e];if(r!==void 0){const i=this._paths,s=this._parsedPaths,o=this._bindings,a=o.length-1,l=o[a],c=e[a];n[c]=r,o[r]=l,o.pop(),s[r]=s[a],s.pop(),i[r]=i[a],i.pop()}}}class sG{constructor(e,n,r=null,i=n.blendMode){this._mixer=e,this._clip=n,this._localRoot=r,this.blendMode=i;const s=n.tracks,o=s.length,a=new Array(o),l={endingStart:sh,endingEnd:sh};for(let c=0;c!==o;++c){const d=s[c].createInterpolant(null);a[c]=d,d.settings=l}this._interpolantSettings=l,this._interpolants=a,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=GV,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,n){return this.loop=e,this.repetitions=n,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,n,r){if(e.fadeOut(n),this.fadeIn(n),r){const i=this._clip.duration,s=e._clip.duration,o=s/i,a=i/s;e.warp(1,o,n),this.warp(a,1,n)}return this}crossFadeTo(e,n,r){return e.crossFadeFrom(this,n,r)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,n,r){const i=this._mixer,s=i.time,o=this.timeScale;let a=this._timeScaleInterpolant;a===null&&(a=i._lendControlInterpolant(),this._timeScaleInterpolant=a);const l=a.parameterPositions,c=a.sampleValues;return l[0]=s,l[1]=s+r,c[0]=e/o,c[1]=n/o,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,n,r,i){if(!this.enabled){this._updateWeight(e);return}const s=this._startTime;if(s!==null){const l=(e-s)*r;l<0||r===0?n=0:(this._startTime=null,n=r*l)}n*=this._updateTimeScale(e);const o=this._updateTime(n),a=this._updateWeight(e);if(a>0){const l=this._interpolants,c=this._propertyBindings;switch(this.blendMode){case _R:for(let d=0,f=l.length;d!==f;++d)l[d].evaluate(o),c[d].accumulateAdditive(a);break;case ZS:default:for(let d=0,f=l.length;d!==f;++d)l[d].evaluate(o),c[d].accumulate(i,a)}}}_updateWeight(e){let n=0;if(this.enabled){n=this.weight;const r=this._weightInterpolant;if(r!==null){const i=r.evaluate(e)[0];n*=i,e>r.parameterPositions[1]&&(this.stopFading(),i===0&&(this.enabled=!1))}}return this._effectiveWeight=n,n}_updateTimeScale(e){let n=0;if(!this.paused){n=this.timeScale;const r=this._timeScaleInterpolant;if(r!==null){const i=r.evaluate(e)[0];n*=i,e>r.parameterPositions[1]&&(this.stopWarping(),n===0?this.paused=!0:this.timeScale=n)}}return this._effectiveTimeScale=n,n}_updateTime(e){const n=this._clip.duration,r=this.loop;let i=this.time+e,s=this._loopCount;const o=r===WV;if(e===0)return s===-1?i:o&&(s&1)===1?n-i:i;if(r===VV){s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(i>=n)i=n;else if(i<0)i=0;else{this.time=i;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(s===-1&&(e>=0?(s=0,this._setEndings(!0,this.repetitions===0,o)):this._setEndings(this.repetitions===0,!0,o)),i>=n||i<0){const a=Math.floor(i/n);i-=n*a,s+=Math.abs(a);const l=this.repetitions-s;if(l<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=e>0?n:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(l===1){const c=e<0;this._setEndings(c,!c,o)}else this._setEndings(!1,!1,o);this._loopCount=s,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}else this.time=i;if(o&&(s&1)===1)return n-i}return i}_setEndings(e,n,r){const i=this._interpolantSettings;r?(i.endingStart=oh,i.endingEnd=oh):(e?i.endingStart=this.zeroSlopeAtStart?oh:sh:i.endingStart=Cy,n?i.endingEnd=this.zeroSlopeAtEnd?oh:sh:i.endingEnd=Cy)}_scheduleFading(e,n,r){const i=this._mixer,s=i.time;let o=this._weightInterpolant;o===null&&(o=i._lendControlInterpolant(),this._weightInterpolant=o);const a=o.parameterPositions,l=o.sampleValues;return a[0]=s,l[0]=n,a[1]=s+e,l[1]=r,this}}const Exe=new Float32Array(1);class Axe extends Vl{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,n){const r=e._localRoot||this._root,i=e._clip.tracks,s=i.length,o=e._propertyBindings,a=e._interpolants,l=r.uuid,c=this._bindingsByRootAndName;let d=c[l];d===void 0&&(d={},c[l]=d);for(let f=0;f!==s;++f){const m=i[f],y=m.name;let x=d[y];if(x!==void 0)++x.referenceCount,o[f]=x;else{if(x=o[f],x!==void 0){x._cacheIndex===null&&(++x.referenceCount,this._addInactiveBinding(x,l,y));continue}const S=n&&n._propertyBindings[f].binding.parsedPath;x=new iG(Nn.create(r,y,S),m.ValueTypeName,m.getValueSize()),++x.referenceCount,this._addInactiveBinding(x,l,y),o[f]=x}a[f].resultBuffer=x.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const r=(e._localRoot||this._root).uuid,i=e._clip.uuid,s=this._actionsByClip[i];this._bindAction(e,s&&s.knownActions[0]),this._addInactiveAction(e,i,r)}const n=e._propertyBindings;for(let r=0,i=n.length;r!==i;++r){const s=n[r];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const n=e._propertyBindings;for(let r=0,i=n.length;r!==i;++r){const s=n[r];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const n=e._cacheIndex;return n!==null&&n=0;--r)e[r].stop();return this}update(e){e*=this.timeScale;const n=this._actions,r=this._nActiveActions,i=this.time+=e,s=Math.sign(e),o=this._accuIndex^=1;for(let c=0;c!==r;++c)n[c]._update(i,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let c=0;c!==l;++c)a[c].apply(o);return this}setTime(e){this.time=0;for(let n=0;n=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,dj).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const fj=new X,M_=new X;class Ixe{constructor(e=new X,n=new X){this.start=e,this.end=n}set(e,n){return this.start.copy(e),this.end.copy(n),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,n){return this.delta(n).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,n){fj.subVectors(e,this.start),M_.subVectors(this.end,this.start);const r=M_.dot(M_);let s=M_.dot(fj)/r;return n&&(s=Ar(s,0,1)),s}closestPointToPoint(e,n,r){const i=this.closestPointToPointParameter(e,n);return this.delta(r).multiplyScalar(i).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const hj=new X;class kxe extends mn{constructor(e,n){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=n,this.type="SpotLightHelper";const r=new Qt,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let o=0,a=1,l=32;o1)for(let f=0;f.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{yj.set(e.z,0,-e.x).normalize();const n=Math.acos(e.y);this.quaternion.setFromAxisAngle(yj,n)}}setLength(e,n=e*.2,r=n*.2){this.line.scale.set(1,Math.max(1e-4,e-n),1),this.line.updateMatrix(),this.cone.scale.set(r,n,r),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class lG extends eo{constructor(e=1){const n=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],r=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new Qt;i.setAttribute("position",new Ot(n,3)),i.setAttribute("color",new Ot(r,3));const s=new $r({vertexColors:!0,toneMapped:!1});super(i,s),this.type="AxesHelper"}setColors(e,n,r){const i=new lt,s=this.geometry.attributes.color.array;return i.set(e),i.toArray(s,0),i.toArray(s,3),i.set(n),i.toArray(s,6),i.toArray(s,9),i.set(r),i.toArray(s,12),i.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class $xe{constructor(){this.type="ShapePath",this.color=new lt,this.subPaths=[],this.currentPath=null}moveTo(e,n){return this.currentPath=new Ly,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,n),this}lineTo(e,n){return this.currentPath.lineTo(e,n),this}quadraticCurveTo(e,n,r,i){return this.currentPath.quadraticCurveTo(e,n,r,i),this}bezierCurveTo(e,n,r,i,s,o){return this.currentPath.bezierCurveTo(e,n,r,i,s,o),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function n(_){const E=[];for(let T=0,C=_.length;TNumber.EPSILON){if(k<0&&(D=E[N],G=-G,F=E[O],k=-k),_.yF.y)continue;if(_.y===D.y){if(_.x===D.x)return!0}else{const U=k*(_.x-D.x)-G*(_.y-D.y);if(U===0)return!0;if(U<0)continue;C=!C}}else{if(_.y!==D.y)continue;if(F.x<=_.x&&_.x<=D.x||D.x<=_.x&&_.x<=F.x)return!0}}return C}const i=Nl.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const c=[];if(s.length===1)return a=s[0],l=new Th,l.curves=a.curves,c.push(l),c;let d=!i(s[0].getPoints());d=e?!d:d;const f=[],m=[];let y=[],x=0,S;m[x]=void 0,y[x]=[];for(let _=0,E=s.length;_1){let _=!1,E=0;for(let T=0,C=m.length;T0&&_===!1&&(y=f)}let w;for(let _=0,E=m.length;_=0&&(C[Se]=null,T[Se].disconnect(be))}for(let ce=0;ce=C.length){C.push(be),Se=Me;break}else if(C[Me]===null){C[Me]=be,Se=Me;break}if(Se===-1)break}const Xe=T[Se];Xe&&Xe.connect(be)}}const oe=new X,fe=new X;function B(le,ce,be){oe.setFromMatrixPosition(ce.matrixWorld),fe.setFromMatrixPosition(be.matrixWorld);const Se=oe.distanceTo(fe),Xe=ce.projectionMatrix.elements,Me=be.projectionMatrix.elements,We=Xe[14]/(Xe[10]-1),qe=Xe[14]/(Xe[10]+1),ue=(Xe[9]+1)/Xe[5],Z=(Xe[9]-1)/Xe[5],Ge=(Xe[8]-1)/Xe[0],De=(Me[8]+1)/Me[0],$e=We*Ge,et=We*De,bt=Se/(-Ge+De),ct=bt*-Ge;if(ce.matrixWorld.decompose(le.position,le.quaternion,le.scale),le.translateX(ct),le.translateZ(bt),le.matrixWorld.compose(le.position,le.quaternion,le.scale),le.matrixWorldInverse.copy(le.matrixWorld).invert(),Xe[10]===-1)le.projectionMatrix.copy(ce.projectionMatrix),le.projectionMatrixInverse.copy(ce.projectionMatrixInverse);else{const ee=We+bt,$=qe+bt,Ee=$e-ct,ze=et+(Se-ct),He=ue*qe/$*ee,Be=Z*qe/$*ee;le.projectionMatrix.makePerspective(Ee,ze,He,Be,ee,$),le.projectionMatrixInverse.copy(le.projectionMatrix).invert()}}function J(le,ce){ce===null?le.matrixWorld.copy(le.matrix):le.matrixWorld.multiplyMatrices(ce.matrixWorld,le.matrix),le.matrixWorldInverse.copy(le.matrixWorld).invert()}this.updateCamera=function(le){if(i===null)return;let ce=le.near,be=le.far;S.texture!==null&&(S.depthNear>0&&(ce=S.depthNear),S.depthFar>0&&(be=S.depthFar)),k.near=F.near=D.near=ce,k.far=F.far=D.far=be,(U!==k.near||H!==k.far)&&(i.updateRenderState({depthNear:k.near,depthFar:k.far}),U=k.near,H=k.far);const Se=le.parent,Xe=k.cameras;J(k,Se);for(let Me=0;Me0&&(w.alphaTest.value=_.alphaTest);const E=e.get(_),T=E.envMap,C=E.envMapRotation;T&&(w.envMap.value=T,If.copy(C),If.x*=-1,If.y*=-1,If.z*=-1,T.isCubeTexture&&T.isRenderTargetTexture===!1&&(If.y*=-1,If.z*=-1),w.envMapRotation.value.setFromMatrix4(nye.makeRotationFromEuler(If)),w.flipEnvMap.value=T.isCubeTexture&&T.isRenderTargetTexture===!1?-1:1,w.reflectivity.value=_.reflectivity,w.ior.value=_.ior,w.refractionRatio.value=_.refractionRatio),_.lightMap&&(w.lightMap.value=_.lightMap,w.lightMapIntensity.value=_.lightMapIntensity,n(_.lightMap,w.lightMapTransform)),_.aoMap&&(w.aoMap.value=_.aoMap,w.aoMapIntensity.value=_.aoMapIntensity,n(_.aoMap,w.aoMapTransform))}function o(w,_){w.diffuse.value.copy(_.color),w.opacity.value=_.opacity,_.map&&(w.map.value=_.map,n(_.map,w.mapTransform))}function a(w,_){w.dashSize.value=_.dashSize,w.totalSize.value=_.dashSize+_.gapSize,w.scale.value=_.scale}function l(w,_,E,T){w.diffuse.value.copy(_.color),w.opacity.value=_.opacity,w.size.value=_.size*E,w.scale.value=T*.5,_.map&&(w.map.value=_.map,n(_.map,w.uvTransform)),_.alphaMap&&(w.alphaMap.value=_.alphaMap,n(_.alphaMap,w.alphaMapTransform)),_.alphaTest>0&&(w.alphaTest.value=_.alphaTest)}function c(w,_){w.diffuse.value.copy(_.color),w.opacity.value=_.opacity,w.rotation.value=_.rotation,_.map&&(w.map.value=_.map,n(_.map,w.mapTransform)),_.alphaMap&&(w.alphaMap.value=_.alphaMap,n(_.alphaMap,w.alphaMapTransform)),_.alphaTest>0&&(w.alphaTest.value=_.alphaTest)}function d(w,_){w.specular.value.copy(_.specular),w.shininess.value=Math.max(_.shininess,1e-4)}function f(w,_){_.gradientMap&&(w.gradientMap.value=_.gradientMap)}function m(w,_){w.metalness.value=_.metalness,_.metalnessMap&&(w.metalnessMap.value=_.metalnessMap,n(_.metalnessMap,w.metalnessMapTransform)),w.roughness.value=_.roughness,_.roughnessMap&&(w.roughnessMap.value=_.roughnessMap,n(_.roughnessMap,w.roughnessMapTransform)),_.envMap&&(w.envMapIntensity.value=_.envMapIntensity)}function y(w,_,E){w.ior.value=_.ior,_.sheen>0&&(w.sheenColor.value.copy(_.sheenColor).multiplyScalar(_.sheen),w.sheenRoughness.value=_.sheenRoughness,_.sheenColorMap&&(w.sheenColorMap.value=_.sheenColorMap,n(_.sheenColorMap,w.sheenColorMapTransform)),_.sheenRoughnessMap&&(w.sheenRoughnessMap.value=_.sheenRoughnessMap,n(_.sheenRoughnessMap,w.sheenRoughnessMapTransform))),_.clearcoat>0&&(w.clearcoat.value=_.clearcoat,w.clearcoatRoughness.value=_.clearcoatRoughness,_.clearcoatMap&&(w.clearcoatMap.value=_.clearcoatMap,n(_.clearcoatMap,w.clearcoatMapTransform)),_.clearcoatRoughnessMap&&(w.clearcoatRoughnessMap.value=_.clearcoatRoughnessMap,n(_.clearcoatRoughnessMap,w.clearcoatRoughnessMapTransform)),_.clearcoatNormalMap&&(w.clearcoatNormalMap.value=_.clearcoatNormalMap,n(_.clearcoatNormalMap,w.clearcoatNormalMapTransform),w.clearcoatNormalScale.value.copy(_.clearcoatNormalScale),_.side===ss&&w.clearcoatNormalScale.value.negate())),_.dispersion>0&&(w.dispersion.value=_.dispersion),_.iridescence>0&&(w.iridescence.value=_.iridescence,w.iridescenceIOR.value=_.iridescenceIOR,w.iridescenceThicknessMinimum.value=_.iridescenceThicknessRange[0],w.iridescenceThicknessMaximum.value=_.iridescenceThicknessRange[1],_.iridescenceMap&&(w.iridescenceMap.value=_.iridescenceMap,n(_.iridescenceMap,w.iridescenceMapTransform)),_.iridescenceThicknessMap&&(w.iridescenceThicknessMap.value=_.iridescenceThicknessMap,n(_.iridescenceThicknessMap,w.iridescenceThicknessMapTransform))),_.transmission>0&&(w.transmission.value=_.transmission,w.transmissionSamplerMap.value=E.texture,w.transmissionSamplerSize.value.set(E.width,E.height),_.transmissionMap&&(w.transmissionMap.value=_.transmissionMap,n(_.transmissionMap,w.transmissionMapTransform)),w.thickness.value=_.thickness,_.thicknessMap&&(w.thicknessMap.value=_.thicknessMap,n(_.thicknessMap,w.thicknessMapTransform)),w.attenuationDistance.value=_.attenuationDistance,w.attenuationColor.value.copy(_.attenuationColor)),_.anisotropy>0&&(w.anisotropyVector.value.set(_.anisotropy*Math.cos(_.anisotropyRotation),_.anisotropy*Math.sin(_.anisotropyRotation)),_.anisotropyMap&&(w.anisotropyMap.value=_.anisotropyMap,n(_.anisotropyMap,w.anisotropyMapTransform))),w.specularIntensity.value=_.specularIntensity,w.specularColor.value.copy(_.specularColor),_.specularColorMap&&(w.specularColorMap.value=_.specularColorMap,n(_.specularColorMap,w.specularColorMapTransform)),_.specularIntensityMap&&(w.specularIntensityMap.value=_.specularIntensityMap,n(_.specularIntensityMap,w.specularIntensityMapTransform))}function x(w,_){_.matcap&&(w.matcap.value=_.matcap)}function S(w,_){const E=e.get(_).light;w.referencePosition.value.setFromMatrixPosition(E.matrixWorld),w.nearDistance.value=E.shadow.camera.near,w.farDistance.value=E.shadow.camera.far}return{refreshFogUniforms:r,refreshMaterialUniforms:i}}function iye(t,e,n,r){let i={},s={},o=[];const a=t.getParameter(t.MAX_UNIFORM_BUFFER_BINDINGS);function l(E,T){const C=T.program;r.uniformBlockBinding(E,C)}function c(E,T){let C=i[E.id];C===void 0&&(x(E),C=d(E),i[E.id]=C,E.addEventListener("dispose",w));const O=T.program;r.updateUBOMapping(E,O);const N=e.render.frame;s[E.id]!==N&&(m(E),s[E.id]=N)}function d(E){const T=f();E.__bindingPointIndex=T;const C=t.createBuffer(),O=E.__size,N=E.usage;return t.bindBuffer(t.UNIFORM_BUFFER,C),t.bufferData(t.UNIFORM_BUFFER,O,N),t.bindBuffer(t.UNIFORM_BUFFER,null),t.bindBufferBase(t.UNIFORM_BUFFER,T,C),C}function f(){for(let E=0;E0&&(C+=O-N),E.__size=C,E.__cache={},this}function S(E){const T={boundary:0,storage:0};return typeof E=="number"||typeof E=="boolean"?(T.boundary=4,T.storage=4):E.isVector2?(T.boundary=8,T.storage=8):E.isVector3||E.isColor?(T.boundary=16,T.storage=12):E.isVector4?(T.boundary=16,T.storage=16):E.isMatrix3?(T.boundary=48,T.storage=48):E.isMatrix4?(T.boundary=64,T.storage=64):E.isTexture?console.warn("THREE.WebGLRenderer: Texture samplers can not be part of an uniforms group."):console.warn("THREE.WebGLRenderer: Unsupported uniform value type.",E),T}function w(E){const T=E.target;T.removeEventListener("dispose",w);const C=o.indexOf(T.__bindingPointIndex);o.splice(C,1),t.deleteBuffer(i[T.id]),delete i[T.id],delete s[T.id]}function _(){for(const E in i)t.deleteBuffer(i[E]);o=[],i={},s={}}return{bind:l,update:c,dispose:_}}class x6{constructor(e={}){const{canvas:n=s6(),context:r=null,depth:i=!0,stencil:s=!1,alpha:o=!1,antialias:a=!1,premultipliedAlpha:l=!0,preserveDrawingBuffer:c=!1,powerPreference:d="default",failIfMajorPerformanceCaveat:f=!1}=e;this.isWebGLRenderer=!0;let m;if(r!==null){if(typeof WebGLRenderingContext<"u"&&r instanceof WebGLRenderingContext)throw new Error("THREE.WebGLRenderer: WebGL 1 is not supported since r163.");m=r.getContextAttributes().alpha}else m=o;const y=new Uint32Array(4),x=new Int32Array(4);let S=null,w=null;const _=[],E=[];this.domElement=n,this.debug={checkShaderErrors:!0,onShaderError:null},this.autoClear=!0,this.autoClearColor=!0,this.autoClearDepth=!0,this.autoClearStencil=!0,this.sortObjects=!0,this.clippingPlanes=[],this.localClippingEnabled=!1,this._outputColorSpace=Ui,this.toneMapping=Pl,this.toneMappingExposure=1;const T=this;let C=!1,O=0,N=0,D=null,F=-1,G=null;const k=new Ln,U=new Ln;let H=null;const ne=new lt(0);let te=0,he=n.width,oe=n.height,fe=1,B=null,J=null;const Y=new Ln(0,0,he,oe),V=new Ln(0,0,he,oe);let q=!1;const pe=new hx;let le=!1,ce=!1;const be=new Rt,Se=new Rt,Xe=new X,Me=new Ln,We={background:null,fog:null,environment:null,overrideMaterial:null,isScene:!0};let qe=!1;function ue(){return D===null?fe:1}let Z=r;function Ge(K,xe){return n.getContext(K,xe)}try{const K={alpha:!0,depth:i,stencil:s,antialias:a,premultipliedAlpha:l,preserveDrawingBuffer:c,powerPreference:d,failIfMajorPerformanceCaveat:f};if("setAttribute"in n&&n.setAttribute("data-engine",`three.js r${Td}`),n.addEventListener("webglcontextlost",Oe,!1),n.addEventListener("webglcontextrestored",Ye,!1),n.addEventListener("webglcontextcreationerror",ft,!1),Z===null){const xe="webgl2";if(Z=Ge(xe,K),Z===null)throw Ge(xe)?new Error("Error creating WebGL context with your selected attributes."):new Error("Error creating WebGL context.")}}catch(K){throw console.error("THREE.WebGLRenderer: "+K.message),K}let De,$e,et,bt,ct,ee,$,Ee,ze,He,Be,gt,rt,dt,Bt,Ke,re,Qe,wt,pt,de,Q,Ae,ie;function Ue(){De=new uve(Z),De.init(),Q=new v6(Z,De),$e=new ive(Z,De,e,Q),et=new G0e(Z),$e.reverseDepthBuffer&&et.buffers.depth.setReversed(!0),bt=new hve(Z),ct=new N0e,ee=new Y0e(Z,De,et,ct,$e,Q,bt),$=new ove(T),Ee=new cve(T),ze=new bpe(Z),Ae=new nve(Z,ze),He=new dve(Z,ze,bt,Ae),Be=new mve(Z,He,ze,bt),wt=new pve(Z,$e,ee),Ke=new sve(ct),gt=new R0e(T,$,Ee,De,$e,Ae,Ke),rt=new rye(T,ct),dt=new k0e,Bt=new F0e(De),Qe=new tve(T,$,Ee,et,Be,m,l),re=new H0e(T,Be,$e),ie=new iye(Z,bt,$e,et),pt=new rve(Z,De,bt),de=new fve(Z,De,bt),bt.programs=gt.programs,T.capabilities=$e,T.extensions=De,T.properties=ct,T.renderLists=dt,T.shadowMap=re,T.state=et,T.info=bt}Ue();const Te=new tye(T,Z);this.xr=Te,this.getContext=function(){return Z},this.getContextAttributes=function(){return Z.getContextAttributes()},this.forceContextLoss=function(){const K=De.get("WEBGL_lose_context");K&&K.loseContext()},this.forceContextRestore=function(){const K=De.get("WEBGL_lose_context");K&&K.restoreContext()},this.getPixelRatio=function(){return fe},this.setPixelRatio=function(K){K!==void 0&&(fe=K,this.setSize(he,oe,!1))},this.getSize=function(K){return K.set(he,oe)},this.setSize=function(K,xe,Pe=!0){if(Te.isPresenting){console.warn("THREE.WebGLRenderer: Can't change size while VR device is presenting.");return}he=K,oe=xe,n.width=Math.floor(K*fe),n.height=Math.floor(xe*fe),Pe===!0&&(n.style.width=K+"px",n.style.height=xe+"px"),this.setViewport(0,0,K,xe)},this.getDrawingBufferSize=function(K){return K.set(he*fe,oe*fe).floor()},this.setDrawingBufferSize=function(K,xe,Pe){he=K,oe=xe,fe=Pe,n.width=Math.floor(K*Pe),n.height=Math.floor(xe*Pe),this.setViewport(0,0,K,xe)},this.getCurrentViewport=function(K){return K.copy(k)},this.getViewport=function(K){return K.copy(Y)},this.setViewport=function(K,xe,Pe,Ie){K.isVector4?Y.set(K.x,K.y,K.z,K.w):Y.set(K,xe,Pe,Ie),et.viewport(k.copy(Y).multiplyScalar(fe).round())},this.getScissor=function(K){return K.copy(V)},this.setScissor=function(K,xe,Pe,Ie){K.isVector4?V.set(K.x,K.y,K.z,K.w):V.set(K,xe,Pe,Ie),et.scissor(U.copy(V).multiplyScalar(fe).round())},this.getScissorTest=function(){return q},this.setScissorTest=function(K){et.setScissorTest(q=K)},this.setOpaqueSort=function(K){B=K},this.setTransparentSort=function(K){J=K},this.getClearColor=function(K){return K.copy(Qe.getClearColor())},this.setClearColor=function(){Qe.setClearColor.apply(Qe,arguments)},this.getClearAlpha=function(){return Qe.getClearAlpha()},this.setClearAlpha=function(){Qe.setClearAlpha.apply(Qe,arguments)},this.clear=function(K=!0,xe=!0,Pe=!0){let Ie=0;if(K){let we=!1;if(D!==null){const it=D.texture.format;we=it===YS||it===KS||it===cx}if(we){const it=D.texture.type,xt=it===Ha||it===eu||it===Og||it===Fh||it===$S||it===XS,at=Qe.getClearColor(),At=Qe.getClearAlpha(),Ft=at.r,Vt=at.g,Nt=at.b;xt?(y[0]=Ft,y[1]=Vt,y[2]=Nt,y[3]=At,Z.clearBufferuiv(Z.COLOR,0,y)):(x[0]=Ft,x[1]=Vt,x[2]=Nt,x[3]=At,Z.clearBufferiv(Z.COLOR,0,x))}else Ie|=Z.COLOR_BUFFER_BIT}xe&&(Ie|=Z.DEPTH_BUFFER_BIT,Z.clearDepth(this.capabilities.reverseDepthBuffer?0:1)),Pe&&(Ie|=Z.STENCIL_BUFFER_BIT,this.state.buffers.stencil.setMask(4294967295)),Z.clear(Ie)},this.clearColor=function(){this.clear(!0,!1,!1)},this.clearDepth=function(){this.clear(!1,!0,!1)},this.clearStencil=function(){this.clear(!1,!1,!0)},this.dispose=function(){n.removeEventListener("webglcontextlost",Oe,!1),n.removeEventListener("webglcontextrestored",Ye,!1),n.removeEventListener("webglcontextcreationerror",ft,!1),dt.dispose(),Bt.dispose(),ct.dispose(),$.dispose(),Ee.dispose(),Be.dispose(),Ae.dispose(),ie.dispose(),gt.dispose(),Te.dispose(),Te.removeEventListener("sessionstart",Si),Te.removeEventListener("sessionend",ra),Mi.stop()};function Oe(K){K.preventDefault(),console.log("THREE.WebGLRenderer: Context Lost."),C=!0}function Ye(){console.log("THREE.WebGLRenderer: Context Restored."),C=!1;const K=bt.autoReset,xe=re.enabled,Pe=re.autoUpdate,Ie=re.needsUpdate,we=re.type;Ue(),bt.autoReset=K,re.enabled=xe,re.autoUpdate=Pe,re.needsUpdate=Ie,re.type=we}function ft(K){console.error("THREE.WebGLRenderer: A WebGL context could not be created. Reason: ",K.statusMessage)}function Yt(K){const xe=K.target;xe.removeEventListener("dispose",Yt),un(xe)}function un(K){Cn(K),ct.remove(K)}function Cn(K){const xe=ct.get(K).programs;xe!==void 0&&(xe.forEach(function(Pe){gt.releaseProgram(Pe)}),K.isShaderMaterial&>.releaseShaderCache(K))}this.renderBufferDirect=function(K,xe,Pe,Ie,we,it){xe===null&&(xe=We);const xt=we.isMesh&&we.matrixWorld.determinant()<0,at=To(K,xe,Pe,Ie,we);et.setMaterial(Ie,xt);let At=Pe.index,Ft=1;if(Ie.wireframe===!0){if(At=He.getWireframeAttribute(Pe),At===void 0)return;Ft=2}const Vt=Pe.drawRange,Nt=Pe.attributes.position;let Sn=Vt.start*Ft,Mn=(Vt.start+Vt.count)*Ft;it!==null&&(Sn=Math.max(Sn,it.start*Ft),Mn=Math.min(Mn,(it.start+it.count)*Ft)),At!==null?(Sn=Math.max(Sn,0),Mn=Math.min(Mn,At.count)):Nt!=null&&(Sn=Math.max(Sn,0),Mn=Math.min(Mn,Nt.count));const yn=Mn-Sn;if(yn<0||yn===1/0)return;Ae.setup(we,Ie,at,Pe,At);let Zt,jt=pt;if(At!==null&&(Zt=ze.get(At),jt=de,jt.setIndex(Zt)),we.isMesh)Ie.wireframe===!0?(et.setLineWidth(Ie.wireframeLinewidth*ue()),jt.setMode(Z.LINES)):jt.setMode(Z.TRIANGLES);else if(we.isLine){let vt=Ie.linewidth;vt===void 0&&(vt=1),et.setLineWidth(vt*ue()),we.isLineSegments?jt.setMode(Z.LINES):we.isLineLoop?jt.setMode(Z.LINE_LOOP):jt.setMode(Z.LINE_STRIP)}else we.isPoints?jt.setMode(Z.POINTS):we.isSprite&&jt.setMode(Z.TRIANGLES);if(we.isBatchedMesh)if(we._multiDrawInstances!==null)jt.renderMultiDrawInstances(we._multiDrawStarts,we._multiDrawCounts,we._multiDrawCount,we._multiDrawInstances);else if(De.get("WEBGL_multi_draw"))jt.renderMultiDraw(we._multiDrawStarts,we._multiDrawCounts,we._multiDrawCount);else{const vt=we._multiDrawStarts,xn=we._multiDrawCounts,tn=we._multiDrawCount,Pr=At?ze.get(At).bytesPerElement:1,li=ct.get(Ie).currentProgram.getUniforms();for(let kn=0;kn{function it(){if(Ie.forEach(function(xt){ct.get(xt).currentProgram.isReady()&&Ie.delete(xt)}),Ie.size===0){we(K);return}setTimeout(it,10)}De.get("KHR_parallel_shader_compile")!==null?it():setTimeout(it,10)})};let Hn=null;function hr(K){Hn&&Hn(K)}function Si(){Mi.stop()}function ra(){Mi.start()}const Mi=new f6;Mi.setAnimationLoop(hr),typeof self<"u"&&Mi.setContext(self),this.setAnimationLoop=function(K){Hn=K,Te.setAnimationLoop(K),K===null?Mi.stop():Mi.start()},Te.addEventListener("sessionstart",Si),Te.addEventListener("sessionend",ra),this.render=function(K,xe){if(xe!==void 0&&xe.isCamera!==!0){console.error("THREE.WebGLRenderer.render: camera is not an instance of THREE.Camera.");return}if(C===!0)return;if(K.matrixWorldAutoUpdate===!0&&K.updateMatrixWorld(),xe.parent===null&&xe.matrixWorldAutoUpdate===!0&&xe.updateMatrixWorld(),Te.enabled===!0&&Te.isPresenting===!0&&(Te.cameraAutoUpdate===!0&&Te.updateCamera(xe),xe=Te.getCamera()),K.isScene===!0&&K.onBeforeRender(T,K,xe,D),w=Bt.get(K,E.length),w.init(xe),E.push(w),Se.multiplyMatrices(xe.projectionMatrix,xe.matrixWorldInverse),pe.setFromProjectionMatrix(Se),ce=this.localClippingEnabled,le=Ke.init(this.clippingPlanes,ce),S=dt.get(K,_.length),S.init(),_.push(S),Te.enabled===!0&&Te.isPresenting===!0){const it=T.xr.getDepthSensingMesh();it!==null&&Ka(it,xe,-1/0,T.sortObjects)}Ka(K,xe,0,T.sortObjects),S.finish(),T.sortObjects===!0&&S.sort(B,J),qe=Te.enabled===!1||Te.isPresenting===!1||Te.hasDepthSensing()===!1,qe&&Qe.addToRenderList(S,K),this.info.render.frame++,le===!0&&Ke.beginShadows();const Pe=w.state.shadowsArray;re.render(Pe,K,xe),le===!0&&Ke.endShadows(),this.info.autoReset===!0&&this.info.reset();const Ie=S.opaque,we=S.transmissive;if(w.setupLights(),xe.isArrayCamera){const it=xe.cameras;if(we.length>0)for(let xt=0,at=it.length;xt0&&ia(Ie,we,K,xe),qe&&Qe.render(K),Ns(S,K,xe);D!==null&&(ee.updateMultisampleRenderTarget(D),ee.updateRenderTargetMipmap(D)),K.isScene===!0&&K.onAfterRender(T,K,xe),Ae.resetDefaultState(),F=-1,G=null,E.pop(),E.length>0?(w=E[E.length-1],le===!0&&Ke.setGlobalState(T.clippingPlanes,w.state.camera)):w=null,_.pop(),_.length>0?S=_[_.length-1]:S=null};function Ka(K,xe,Pe,Ie){if(K.visible===!1)return;if(K.layers.test(xe.layers)){if(K.isGroup)Pe=K.renderOrder;else if(K.isLOD)K.autoUpdate===!0&&K.update(xe);else if(K.isLight)w.pushLight(K),K.castShadow&&w.pushShadow(K);else if(K.isSprite){if(!K.frustumCulled||pe.intersectsSprite(K)){Ie&&Me.setFromMatrixPosition(K.matrixWorld).applyMatrix4(Se);const xt=Be.update(K),at=K.material;at.visible&&S.push(K,xt,at,Pe,Me.z,null)}}else if((K.isMesh||K.isLine||K.isPoints)&&(!K.frustumCulled||pe.intersectsObject(K))){const xt=Be.update(K),at=K.material;if(Ie&&(K.boundingSphere!==void 0?(K.boundingSphere===null&&K.computeBoundingSphere(),Me.copy(K.boundingSphere.center)):(xt.boundingSphere===null&&xt.computeBoundingSphere(),Me.copy(xt.boundingSphere.center)),Me.applyMatrix4(K.matrixWorld).applyMatrix4(Se)),Array.isArray(at)){const At=xt.groups;for(let Ft=0,Vt=At.length;Ft0&&Ei(we,xe,Pe),it.length>0&&Ei(it,xe,Pe),xt.length>0&&Ei(xt,xe,Pe),et.buffers.depth.setTest(!0),et.buffers.depth.setMask(!0),et.buffers.color.setMask(!0),et.setPolygonOffset(!1)}function ia(K,xe,Pe,Ie){if((Pe.isScene===!0?Pe.overrideMaterial:null)!==null)return;w.state.transmissionRenderTarget[Ie.id]===void 0&&(w.state.transmissionRenderTarget[Ie.id]=new Va(1,1,{generateMipmaps:!0,type:De.has("EXT_color_buffer_half_float")||De.has("EXT_color_buffer_float")?rv:Ha,minFilter:qo,samples:4,stencilBuffer:s,resolveDepthBuffer:!1,resolveStencilBuffer:!1,colorSpace:In.workingColorSpace}));const it=w.state.transmissionRenderTarget[Ie.id],xt=Ie.viewport||k;it.setSize(xt.z,xt.w);const at=T.getRenderTarget();T.setRenderTarget(it),T.getClearColor(ne),te=T.getClearAlpha(),te<1&&T.setClearColor(16777215,.5),T.clear(),qe&&Qe.render(Pe);const At=T.toneMapping;T.toneMapping=Pl;const Ft=Ie.viewport;if(Ie.viewport!==void 0&&(Ie.viewport=void 0),w.setupLightsView(Ie),le===!0&&Ke.setGlobalState(T.clippingPlanes,Ie),Ei(K,Pe,Ie),ee.updateMultisampleRenderTarget(it),ee.updateRenderTargetMipmap(it),De.has("WEBGL_multisampled_render_to_texture")===!1){let Vt=!1;for(let Nt=0,Sn=xe.length;Nt0),Nt=!!Pe.morphAttributes.position,Sn=!!Pe.morphAttributes.normal,Mn=!!Pe.morphAttributes.color;let yn=Pl;Ie.toneMapped&&(D===null||D.isXRRenderTarget===!0)&&(yn=T.toneMapping);const Zt=Pe.morphAttributes.position||Pe.morphAttributes.normal||Pe.morphAttributes.color,jt=Zt!==void 0?Zt.length:0,vt=ct.get(Ie),xn=w.state.lights;if(le===!0&&(ce===!0||K!==G)){const Xr=K===G&&Ie.id===F;Ke.setState(Ie,K,Xr)}let tn=!1;Ie.version===vt.__version?(vt.needsLights&&vt.lightsStateVersion!==xn.state.version||vt.outputColorSpace!==at||we.isBatchedMesh&&vt.batching===!1||!we.isBatchedMesh&&vt.batching===!0||we.isBatchedMesh&&vt.batchingColor===!0&&we.colorTexture===null||we.isBatchedMesh&&vt.batchingColor===!1&&we.colorTexture!==null||we.isInstancedMesh&&vt.instancing===!1||!we.isInstancedMesh&&vt.instancing===!0||we.isSkinnedMesh&&vt.skinning===!1||!we.isSkinnedMesh&&vt.skinning===!0||we.isInstancedMesh&&vt.instancingColor===!0&&we.instanceColor===null||we.isInstancedMesh&&vt.instancingColor===!1&&we.instanceColor!==null||we.isInstancedMesh&&vt.instancingMorph===!0&&we.morphTexture===null||we.isInstancedMesh&&vt.instancingMorph===!1&&we.morphTexture!==null||vt.envMap!==At||Ie.fog===!0&&vt.fog!==it||vt.numClippingPlanes!==void 0&&(vt.numClippingPlanes!==Ke.numPlanes||vt.numIntersection!==Ke.numIntersection)||vt.vertexAlphas!==Ft||vt.vertexTangents!==Vt||vt.morphTargets!==Nt||vt.morphNormals!==Sn||vt.morphColors!==Mn||vt.toneMapping!==yn||vt.morphTargetsCount!==jt)&&(tn=!0):(tn=!0,vt.__version=Ie.version);let Pr=vt.currentProgram;tn===!0&&(Pr=sa(Ie,xe,we));let li=!1,kn=!1,Is=!1;const Vn=Pr.getUniforms(),to=vt.uniforms;if(et.useProgram(Pr.program)&&(li=!0,kn=!0,Is=!0),Ie.id!==F&&(F=Ie.id,kn=!0),li||G!==K){$e.reverseDepthBuffer?(be.copy(K.projectionMatrix),Ghe(be),Whe(be),Vn.setValue(Z,"projectionMatrix",be)):Vn.setValue(Z,"projectionMatrix",K.projectionMatrix),Vn.setValue(Z,"viewMatrix",K.matrixWorldInverse);const Xr=Vn.map.cameraPosition;Xr!==void 0&&Xr.setValue(Z,Xe.setFromMatrixPosition(K.matrixWorld)),$e.logarithmicDepthBuffer&&Vn.setValue(Z,"logDepthBufFC",2/(Math.log(K.far+1)/Math.LN2)),(Ie.isMeshPhongMaterial||Ie.isMeshToonMaterial||Ie.isMeshLambertMaterial||Ie.isMeshBasicMaterial||Ie.isMeshStandardMaterial||Ie.isShaderMaterial)&&Vn.setValue(Z,"isOrthographic",K.isOrthographicCamera===!0),G!==K&&(G=K,kn=!0,Is=!0)}if(we.isSkinnedMesh){Vn.setOptional(Z,we,"bindMatrix"),Vn.setOptional(Z,we,"bindMatrixInverse");const Xr=we.skeleton;Xr&&(Xr.boneTexture===null&&Xr.computeBoneTexture(),Vn.setValue(Z,"boneTexture",Xr.boneTexture,ee))}we.isBatchedMesh&&(Vn.setOptional(Z,we,"batchingTexture"),Vn.setValue(Z,"batchingTexture",we._matricesTexture,ee),Vn.setOptional(Z,we,"batchingIdTexture"),Vn.setValue(Z,"batchingIdTexture",we._indirectTexture,ee),Vn.setOptional(Z,we,"batchingColorTexture"),we._colorsTexture!==null&&Vn.setValue(Z,"batchingColorTexture",we._colorsTexture,ee));const Ya=Pe.morphAttributes;if((Ya.position!==void 0||Ya.normal!==void 0||Ya.color!==void 0)&&wt.update(we,Pe,Pr),(kn||vt.receiveShadow!==we.receiveShadow)&&(vt.receiveShadow=we.receiveShadow,Vn.setValue(Z,"receiveShadow",we.receiveShadow)),Ie.isMeshGouraudMaterial&&Ie.envMap!==null&&(to.envMap.value=At,to.flipEnvMap.value=At.isCubeTexture&&At.isRenderTargetTexture===!1?-1:1),Ie.isMeshStandardMaterial&&Ie.envMap===null&&xe.environment!==null&&(to.envMapIntensity.value=xe.environmentIntensity),kn&&(Vn.setValue(Z,"toneMappingExposure",T.toneMappingExposure),vt.needsLights&&du(to,Is),it&&Ie.fog===!0&&rt.refreshFogUniforms(to,it),rt.refreshMaterialUniforms(to,Ie,fe,oe,w.state.transmissionRenderTarget[K.id]),q_.upload(Z,cu(vt),to,ee)),Ie.isShaderMaterial&&Ie.uniformsNeedUpdate===!0&&(q_.upload(Z,cu(vt),to,ee),Ie.uniformsNeedUpdate=!1),Ie.isSpriteMaterial&&Vn.setValue(Z,"center",we.center),Vn.setValue(Z,"modelViewMatrix",we.modelViewMatrix),Vn.setValue(Z,"normalMatrix",we.normalMatrix),Vn.setValue(Z,"modelMatrix",we.matrixWorld),Ie.isShaderMaterial||Ie.isRawShaderMaterial){const Xr=Ie.uniformsGroups;for(let ci=0,Ld=Xr.length;ci0&&ee.useMultisampledRTT(K)===!1?we=ct.get(K).__webglMultisampledFramebuffer:Array.isArray(Vt)?we=Vt[Pe]:we=Vt,k.copy(K.viewport),U.copy(K.scissor),H=K.scissorTest}else k.copy(Y).multiplyScalar(fe).floor(),U.copy(V).multiplyScalar(fe).floor(),H=q;if(et.bindFramebuffer(Z.FRAMEBUFFER,we)&&Ie&&et.drawBuffers(K,we),et.viewport(k),et.scissor(U),et.setScissorTest(H),it){const At=ct.get(K.texture);Z.framebufferTexture2D(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,Z.TEXTURE_CUBE_MAP_POSITIVE_X+xe,At.__webglTexture,Pe)}else if(xt){const At=ct.get(K.texture),Ft=xe||0;Z.framebufferTextureLayer(Z.FRAMEBUFFER,Z.COLOR_ATTACHMENT0,At.__webglTexture,Pe||0,Ft)}F=-1},this.readRenderTargetPixels=function(K,xe,Pe,Ie,we,it,xt){if(!(K&&K.isWebGLRenderTarget)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");return}let at=ct.get(K).__webglFramebuffer;if(K.isWebGLCubeRenderTarget&&xt!==void 0&&(at=at[xt]),at){et.bindFramebuffer(Z.FRAMEBUFFER,at);try{const At=K.texture,Ft=At.format,Vt=At.type;if(!$e.textureFormatReadable(Ft)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format.");return}if(!$e.textureTypeReadable(Vt)){console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.");return}xe>=0&&xe<=K.width-Ie&&Pe>=0&&Pe<=K.height-we&&Z.readPixels(xe,Pe,Ie,we,Q.convert(Ft),Q.convert(Vt),it)}finally{const At=D!==null?ct.get(D).__webglFramebuffer:null;et.bindFramebuffer(Z.FRAMEBUFFER,At)}}},this.readRenderTargetPixelsAsync=async function(K,xe,Pe,Ie,we,it,xt){if(!(K&&K.isWebGLRenderTarget))throw new Error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");let at=ct.get(K).__webglFramebuffer;if(K.isWebGLCubeRenderTarget&&xt!==void 0&&(at=at[xt]),at){const At=K.texture,Ft=At.format,Vt=At.type;if(!$e.textureFormatReadable(Ft))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in RGBA or implementation defined format.");if(!$e.textureTypeReadable(Vt))throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: renderTarget is not in UnsignedByteType or implementation defined type.");if(xe>=0&&xe<=K.width-Ie&&Pe>=0&&Pe<=K.height-we){et.bindFramebuffer(Z.FRAMEBUFFER,at);const Nt=Z.createBuffer();Z.bindBuffer(Z.PIXEL_PACK_BUFFER,Nt),Z.bufferData(Z.PIXEL_PACK_BUFFER,it.byteLength,Z.STREAM_READ),Z.readPixels(xe,Pe,Ie,we,Q.convert(Ft),Q.convert(Vt),0);const Sn=D!==null?ct.get(D).__webglFramebuffer:null;et.bindFramebuffer(Z.FRAMEBUFFER,Sn);const Mn=Z.fenceSync(Z.SYNC_GPU_COMMANDS_COMPLETE,0);return Z.flush(),await Vhe(Z,Mn,4),Z.bindBuffer(Z.PIXEL_PACK_BUFFER,Nt),Z.getBufferSubData(Z.PIXEL_PACK_BUFFER,0,it),Z.deleteBuffer(Nt),Z.deleteSync(Mn),it}else throw new Error("THREE.WebGLRenderer.readRenderTargetPixelsAsync: requested read bounds are out of range.")}},this.copyFramebufferToTexture=function(K,xe=null,Pe=0){K.isTexture!==!0&&(X_("WebGLRenderer: copyFramebufferToTexture function signature has changed."),xe=arguments[0]||null,K=arguments[1]);const Ie=Math.pow(2,-Pe),we=Math.floor(K.image.width*Ie),it=Math.floor(K.image.height*Ie),xt=xe!==null?xe.x:0,at=xe!==null?xe.y:0;ee.setTexture2D(K,0),Z.copyTexSubImage2D(Z.TEXTURE_2D,Pe,0,0,xt,at,we,it),et.unbindTexture()},this.copyTextureToTexture=function(K,xe,Pe=null,Ie=null,we=0){K.isTexture!==!0&&(X_("WebGLRenderer: copyTextureToTexture function signature has changed."),Ie=arguments[0]||null,K=arguments[1],xe=arguments[2],we=arguments[3]||0,Pe=null);let it,xt,at,At,Ft,Vt;Pe!==null?(it=Pe.max.x-Pe.min.x,xt=Pe.max.y-Pe.min.y,at=Pe.min.x,At=Pe.min.y):(it=K.image.width,xt=K.image.height,at=0,At=0),Ie!==null?(Ft=Ie.x,Vt=Ie.y):(Ft=0,Vt=0);const Nt=Q.convert(xe.format),Sn=Q.convert(xe.type);ee.setTexture2D(xe,0),Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,xe.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,xe.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,xe.unpackAlignment);const Mn=Z.getParameter(Z.UNPACK_ROW_LENGTH),yn=Z.getParameter(Z.UNPACK_IMAGE_HEIGHT),Zt=Z.getParameter(Z.UNPACK_SKIP_PIXELS),jt=Z.getParameter(Z.UNPACK_SKIP_ROWS),vt=Z.getParameter(Z.UNPACK_SKIP_IMAGES),xn=K.isCompressedTexture?K.mipmaps[we]:K.image;Z.pixelStorei(Z.UNPACK_ROW_LENGTH,xn.width),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,xn.height),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,at),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,At),K.isDataTexture?Z.texSubImage2D(Z.TEXTURE_2D,we,Ft,Vt,it,xt,Nt,Sn,xn.data):K.isCompressedTexture?Z.compressedTexSubImage2D(Z.TEXTURE_2D,we,Ft,Vt,xn.width,xn.height,Nt,xn.data):Z.texSubImage2D(Z.TEXTURE_2D,we,Ft,Vt,it,xt,Nt,Sn,xn),Z.pixelStorei(Z.UNPACK_ROW_LENGTH,Mn),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,yn),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,Zt),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,jt),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,vt),we===0&&xe.generateMipmaps&&Z.generateMipmap(Z.TEXTURE_2D),et.unbindTexture()},this.copyTextureToTexture3D=function(K,xe,Pe=null,Ie=null,we=0){K.isTexture!==!0&&(X_("WebGLRenderer: copyTextureToTexture3D function signature has changed."),Pe=arguments[0]||null,Ie=arguments[1]||null,K=arguments[2],xe=arguments[3],we=arguments[4]||0);let it,xt,at,At,Ft,Vt,Nt,Sn,Mn;const yn=K.isCompressedTexture?K.mipmaps[we]:K.image;Pe!==null?(it=Pe.max.x-Pe.min.x,xt=Pe.max.y-Pe.min.y,at=Pe.max.z-Pe.min.z,At=Pe.min.x,Ft=Pe.min.y,Vt=Pe.min.z):(it=yn.width,xt=yn.height,at=yn.depth,At=0,Ft=0,Vt=0),Ie!==null?(Nt=Ie.x,Sn=Ie.y,Mn=Ie.z):(Nt=0,Sn=0,Mn=0);const Zt=Q.convert(xe.format),jt=Q.convert(xe.type);let vt;if(xe.isData3DTexture)ee.setTexture3D(xe,0),vt=Z.TEXTURE_3D;else if(xe.isDataArrayTexture||xe.isCompressedArrayTexture)ee.setTexture2DArray(xe,0),vt=Z.TEXTURE_2D_ARRAY;else{console.warn("THREE.WebGLRenderer.copyTextureToTexture3D: only supports THREE.DataTexture3D and THREE.DataTexture2DArray.");return}Z.pixelStorei(Z.UNPACK_FLIP_Y_WEBGL,xe.flipY),Z.pixelStorei(Z.UNPACK_PREMULTIPLY_ALPHA_WEBGL,xe.premultiplyAlpha),Z.pixelStorei(Z.UNPACK_ALIGNMENT,xe.unpackAlignment);const xn=Z.getParameter(Z.UNPACK_ROW_LENGTH),tn=Z.getParameter(Z.UNPACK_IMAGE_HEIGHT),Pr=Z.getParameter(Z.UNPACK_SKIP_PIXELS),li=Z.getParameter(Z.UNPACK_SKIP_ROWS),kn=Z.getParameter(Z.UNPACK_SKIP_IMAGES);Z.pixelStorei(Z.UNPACK_ROW_LENGTH,yn.width),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,yn.height),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,At),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,Ft),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,Vt),K.isDataTexture||K.isData3DTexture?Z.texSubImage3D(vt,we,Nt,Sn,Mn,it,xt,at,Zt,jt,yn.data):xe.isCompressedArrayTexture?Z.compressedTexSubImage3D(vt,we,Nt,Sn,Mn,it,xt,at,Zt,yn.data):Z.texSubImage3D(vt,we,Nt,Sn,Mn,it,xt,at,Zt,jt,yn),Z.pixelStorei(Z.UNPACK_ROW_LENGTH,xn),Z.pixelStorei(Z.UNPACK_IMAGE_HEIGHT,tn),Z.pixelStorei(Z.UNPACK_SKIP_PIXELS,Pr),Z.pixelStorei(Z.UNPACK_SKIP_ROWS,li),Z.pixelStorei(Z.UNPACK_SKIP_IMAGES,kn),we===0&&xe.generateMipmaps&&Z.generateMipmap(vt),et.unbindTexture()},this.initRenderTarget=function(K){ct.get(K).__webglFramebuffer===void 0&&ee.setupRenderTarget(K)},this.initTexture=function(K){K.isCubeTexture?ee.setTextureCube(K,0):K.isData3DTexture?ee.setTexture3D(K,0):K.isDataArrayTexture||K.isCompressedArrayTexture?ee.setTexture2DArray(K,0):ee.setTexture2D(K,0),et.unbindTexture()},this.resetState=function(){O=0,N=0,D=null,et.reset(),Ae.reset()},typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}get coordinateSystem(){return Ml}get outputColorSpace(){return this._outputColorSpace}set outputColorSpace(e){this._outputColorSpace=e;const n=this.getContext();n.drawingBufferColorSpace=e===QS?"display-p3":"srgb",n.unpackColorSpace=In.workingColorSpace===ux?"display-p3":"srgb"}}class tM{constructor(e,n=25e-5){this.isFogExp2=!0,this.name="",this.color=new lt(e),this.density=n}clone(){return new tM(this.color,this.density)}toJSON(){return{type:"FogExp2",name:this.name,color:this.color.getHex(),density:this.density}}}class nM{constructor(e,n=1,r=1e3){this.isFog=!0,this.name="",this.color=new lt(e),this.near=n,this.far=r}clone(){return new nM(this.color,this.near,this.far)}toJSON(){return{type:"Fog",name:this.name,color:this.color.getHex(),near:this.near,far:this.far}}}class kR extends mn{constructor(){super(),this.isScene=!0,this.type="Scene",this.background=null,this.environment=null,this.fog=null,this.backgroundBlurriness=0,this.backgroundIntensity=1,this.backgroundRotation=new as,this.environmentIntensity=1,this.environmentRotation=new as,this.overrideMaterial=null,typeof __THREE_DEVTOOLS__<"u"&&__THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("observe",{detail:this}))}copy(e,n){return super.copy(e,n),e.background!==null&&(this.background=e.background.clone()),e.environment!==null&&(this.environment=e.environment.clone()),e.fog!==null&&(this.fog=e.fog.clone()),this.backgroundBlurriness=e.backgroundBlurriness,this.backgroundIntensity=e.backgroundIntensity,this.backgroundRotation.copy(e.backgroundRotation),this.environmentIntensity=e.environmentIntensity,this.environmentRotation.copy(e.environmentRotation),e.overrideMaterial!==null&&(this.overrideMaterial=e.overrideMaterial.clone()),this.matrixAutoUpdate=e.matrixAutoUpdate,this}toJSON(e){const n=super.toJSON(e);return this.fog!==null&&(n.object.fog=this.fog.toJSON()),this.backgroundBlurriness>0&&(n.object.backgroundBlurriness=this.backgroundBlurriness),this.backgroundIntensity!==1&&(n.object.backgroundIntensity=this.backgroundIntensity),n.object.backgroundRotation=this.backgroundRotation.toArray(),this.environmentIntensity!==1&&(n.object.environmentIntensity=this.environmentIntensity),n.object.environmentRotation=this.environmentRotation.toArray(),n}}class np{constructor(e,n){this.isInterleavedBuffer=!0,this.array=e,this.stride=n,this.count=e!==void 0?e.length/n:0,this.usage=Iy,this.updateRanges=[],this.version=0,this.uuid=So()}onUploadCallback(){}set needsUpdate(e){e===!0&&this.version++}setUsage(e){return this.usage=e,this}addUpdateRange(e,n){this.updateRanges.push({start:e,count:n})}clearUpdateRanges(){this.updateRanges.length=0}copy(e){return this.array=new e.array.constructor(e.array),this.count=e.count,this.stride=e.stride,this.usage=e.usage,this}copyAt(e,n,r){e*=this.stride,r*=n.stride;for(let i=0,s=this.stride;ie.far||n.push({distance:l,point:w0.clone(),uv:Ks.getInterpolation(w0,s_,M0,o_,CD,SA,PD,new Ve),face:null,object:this})}copy(e,n){return super.copy(e,n),e.center!==void 0&&this.center.copy(e.center),this.material=e.material,this}}function a_(t,e,n,r,i,s){Rm.subVectors(t,n).addScalar(.5).multiply(r),i!==void 0?(S0.x=s*Rm.x-i*Rm.y,S0.y=i*Rm.x+s*Rm.y):S0.copy(Rm),t.copy(e),t.x+=S0.x,t.y+=S0.y,t.applyMatrix4(b6)}const l_=new X,RD=new X;class w6 extends mn{constructor(){super(),this._currentLevel=0,this.type="LOD",Object.defineProperties(this,{levels:{enumerable:!0,value:[]},isLOD:{value:!0}}),this.autoUpdate=!0}copy(e){super.copy(e,!1);const n=e.levels;for(let r=0,i=n.length;r0){let r,i;for(r=1,i=n.length;r0){l_.setFromMatrixPosition(this.matrixWorld);const i=e.ray.origin.distanceTo(l_);this.getObjectForDistance(i).raycast(e,n)}}update(e){const n=this.levels;if(n.length>1){l_.setFromMatrixPosition(e.matrixWorld),RD.setFromMatrixPosition(this.matrixWorld);const r=l_.distanceTo(RD)/e.zoom;n[0].object.visible=!0;let i,s;for(i=1,s=n.length;i=o)n[i-1].object.visible=!1,n[i].object.visible=!0;else break}for(this._currentLevel=i-1;i=i.length&&i.push({start:-1,count:-1,z:-1,index:-1});const o=i[this.index];s.push(o),this.index++,o.start=e.start,o.count=e.count,o.z=n,o.index=r}reset(){this.list.length=0,this.index=0}}const Ju=new Rt,AA=new Rt,dye=new Rt,fye=new lt(1,1,1),FD=new Rt,TA=new hx,d_=new os,kf=new Bi,T0=new X,zD=new X,hye=new X,CA=new uye,es=new yr,f_=[];function pye(t,e,n=0){const r=e.itemSize;if(t.isInterleavedBufferAttribute||t.array.constructor!==e.array.constructor){const i=t.count;for(let s=0;s65535?new Uint32Array(i):new Uint16Array(i);n.setIndex(new Jt(s,1))}this._geometryInitialized=!0}}_validateGeometry(e){const n=this.geometry;if(!!e.getIndex()!=!!n.getIndex())throw new Error('BatchedMesh: All geometries must consistently have "index".');for(const r in n.attributes){if(!e.hasAttribute(r))throw new Error(`BatchedMesh: Added geometry missing "${r}". All geometries must have consistent attributes.`);const i=e.getAttribute(r),s=n.getAttribute(r);if(i.itemSize!==s.itemSize||i.normalized!==s.normalized)throw new Error("BatchedMesh: All attributes must have a consistent itemSize and normalized value.")}}setCustomSort(e){return this.customSort=e,this}computeBoundingBox(){this.boundingBox===null&&(this.boundingBox=new os);const e=this.boundingBox,n=this._drawInfo;e.makeEmpty();for(let r=0,i=n.length;r=this.maxInstanceCount&&this._availableInstanceIds.length===0)throw new Error("BatchedMesh: Maximum item count reached.");const r={visible:!0,active:!0,geometryIndex:e};let i=null;this._availableInstanceIds.length>0?(i=this._availableInstanceIds.pop(),this._drawInfo[i]=r):(i=this._drawInfo.length,this._drawInfo.push(r));const s=this._matricesTexture,o=s.image.data;dye.toArray(o,i*16),s.needsUpdate=!0;const a=this._colorsTexture;return a&&(fye.toArray(a.image.data,i*4),a.needsUpdate=!0),i}addGeometry(e,n=-1,r=-1){if(this._initializeGeometry(e),this._validateGeometry(e),this._drawInfo.length>=this._maxInstanceCount)throw new Error("BatchedMesh: Maximum item count reached.");const i={vertexStart:-1,vertexCount:-1,indexStart:-1,indexCount:-1};let s=null;const o=this._reservedRanges,a=this._drawRanges,l=this._bounds;this._geometryCount!==0&&(s=o[o.length-1]),n===-1?i.vertexCount=e.getAttribute("position").count:i.vertexCount=n,s===null?i.vertexStart=0:i.vertexStart=s.vertexStart+s.vertexCount;const c=e.getIndex(),d=c!==null;if(d&&(r===-1?i.indexCount=c.count:i.indexCount=r,s===null?i.indexStart=0:i.indexStart=s.indexStart+s.indexCount),i.indexStart!==-1&&i.indexStart+i.indexCount>this._maxIndexCount||i.vertexStart+i.vertexCount>this._maxVertexCount)throw new Error("BatchedMesh: Reserved space request exceeds the maximum buffer size.");const f=this._geometryCount;return this._geometryCount++,o.push(i),a.push({start:d?i.indexStart:i.vertexStart,count:-1}),l.push({boxInitialized:!1,box:new os,sphereInitialized:!1,sphere:new Bi}),this.setGeometryAt(f,e),f}setGeometryAt(e,n){if(e>=this._geometryCount)throw new Error("BatchedMesh: Maximum geometry count reached.");this._validateGeometry(n);const r=this.geometry,i=r.getIndex()!==null,s=r.getIndex(),o=n.getIndex(),a=this._reservedRanges[e];if(i&&o.count>a.indexCount||n.attributes.position.count>a.vertexCount)throw new Error("BatchedMesh: Reserved space not large enough for provided geometry.");const l=a.vertexStart,c=a.vertexCount;for(const y in r.attributes){const x=n.getAttribute(y),S=r.getAttribute(y);pye(x,S,l);const w=x.itemSize;for(let _=x.count,E=c;_=n.length||n[e].active===!1?this:(n[e].active=!1,this._availableInstanceIds.push(e),this._visibilityChanged=!0,this)}getBoundingBoxAt(e,n){if(e>=this._geometryCount)return null;const r=this._bounds[e],i=r.box,s=this.geometry;if(r.boxInitialized===!1){i.makeEmpty();const o=s.index,a=s.attributes.position,l=this._drawRanges[e];for(let c=l.start,d=l.start+l.count;c=this._geometryCount)return null;const r=this._bounds[e],i=r.sphere,s=this.geometry;if(r.sphereInitialized===!1){i.makeEmpty(),this.getBoundingBoxAt(e,d_),d_.getCenter(i.center);const o=s.index,a=s.attributes.position,l=this._drawRanges[e];let c=0;for(let d=l.start,f=l.start+l.count;d=r.length||r[e].active===!1?this:(n.toArray(s,e*16),i.needsUpdate=!0,this)}getMatrixAt(e,n){const r=this._drawInfo,i=this._matricesTexture.image.data;return e>=r.length||r[e].active===!1?null:n.fromArray(i,e*16)}setColorAt(e,n){this._colorsTexture===null&&this._initColorsTexture();const r=this._colorsTexture,i=this._colorsTexture.image.data,s=this._drawInfo;return e>=s.length||s[e].active===!1?this:(n.toArray(i,e*4),r.needsUpdate=!0,this)}getColorAt(e,n){const r=this._colorsTexture.image.data,i=this._drawInfo;return e>=i.length||i[e].active===!1?null:n.fromArray(r,e*4)}setVisibleAt(e,n){const r=this._drawInfo;return e>=r.length||r[e].active===!1||r[e].visible===n?this:(r[e].visible=n,this._visibilityChanged=!0,this)}getVisibleAt(e){const n=this._drawInfo;return e>=n.length||n[e].active===!1?!1:n[e].visible}setGeometryIdAt(e,n){const r=this._drawInfo;return e>=r.length||r[e].active===!1||n<0||n>=this._geometryCount?null:(r[e].geometryIndex=n,this)}getGeometryIdAt(e){const n=this._drawInfo;return e>=n.length||n[e].active===!1?-1:n[e].geometryIndex}getGeometryRangeAt(e,n={}){if(e<0||e>=this._geometryCount)return null;const r=this._drawRanges[e];return n.start=r.start,n.count=r.count,n}raycast(e,n){const r=this._drawInfo,i=this._drawRanges,s=this.matrixWorld,o=this.geometry;es.material=this.material,es.geometry.index=o.index,es.geometry.attributes=o.attributes,es.geometry.boundingBox===null&&(es.geometry.boundingBox=new os),es.geometry.boundingSphere===null&&(es.geometry.boundingSphere=new Bi);for(let a=0,l=r.length;a({...n})),this._reservedRanges=e._reservedRanges.map(n=>({...n})),this._drawInfo=e._drawInfo.map(n=>({...n})),this._bounds=e._bounds.map(n=>({boxInitialized:n.boxInitialized,box:n.box.clone(),sphereInitialized:n.sphereInitialized,sphere:n.sphere.clone()})),this._maxInstanceCount=e._maxInstanceCount,this._maxVertexCount=e._maxVertexCount,this._maxIndexCount=e._maxIndexCount,this._geometryInitialized=e._geometryInitialized,this._geometryCount=e._geometryCount,this._multiDrawCounts=e._multiDrawCounts.slice(),this._multiDrawStarts=e._multiDrawStarts.slice(),this._matricesTexture=e._matricesTexture.clone(),this._matricesTexture.image.data=this._matricesTexture.image.data.slice(),this._colorsTexture!==null&&(this._colorsTexture=e._colorsTexture.clone(),this._colorsTexture.image.data=this._colorsTexture.image.data.slice()),this}dispose(){return this.geometry.dispose(),this._matricesTexture.dispose(),this._matricesTexture=null,this._indirectTexture.dispose(),this._indirectTexture=null,this._colorsTexture!==null&&(this._colorsTexture.dispose(),this._colorsTexture=null),this}onBeforeRender(e,n,r,i,s){if(!this._visibilityChanged&&!this.perObjectFrustumCulled&&!this.sortObjects)return;const o=i.getIndex(),a=o===null?1:o.array.BYTES_PER_ELEMENT,l=this._drawInfo,c=this._multiDrawStarts,d=this._multiDrawCounts,f=this._drawRanges,m=this.perObjectFrustumCulled,y=this._indirectTexture,x=y.image.data;m&&(FD.multiplyMatrices(r.projectionMatrix,r.matrixWorldInverse).multiply(this.matrixWorld),TA.setFromProjectionMatrix(FD,e.coordinateSystem));let S=0;if(this.sortObjects){AA.copy(this.matrixWorld).invert(),T0.setFromMatrixPosition(r.matrixWorld).applyMatrix4(AA),zD.set(0,0,-1).transformDirection(r.matrixWorld).transformDirection(AA);for(let E=0,T=l.length;E0){const i=n[r[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;sr)return;PA.applyMatrix4(t.matrixWorld);const l=e.ray.origin.distanceTo(PA);if(!(le.far))return{distance:l,point:HD.clone().applyMatrix4(t.matrixWorld),index:i,face:null,faceIndex:null,barycoord:null,object:t}}const VD=new X,GD=new X;class eo extends zl{constructor(e,n){super(e,n),this.isLineSegments=!0,this.type="LineSegments"}computeLineDistances(){const e=this.geometry;if(e.index===null){const n=e.attributes.position,r=[];for(let i=0,s=n.count;i0){const i=n[r[0]];if(i!==void 0){this.morphTargetInfluences=[],this.morphTargetDictionary={};for(let s=0,o=i.length;si.far)return;s.push({distance:c,distanceToRay:Math.sqrt(a),point:l,index:e,face:null,faceIndex:null,barycoord:null,object:o})}}class mye extends dr{constructor(e,n,r,i,s,o,a,l,c){super(e,n,r,i,s,o,a,l,c),this.isVideoTexture=!0,this.minFilter=o!==void 0?o:Cr,this.magFilter=s!==void 0?s:Cr,this.generateMipmaps=!1;const d=this;function f(){d.needsUpdate=!0,e.requestVideoFrameCallback(f)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(f)}clone(){return new this.constructor(this.image).copy(this)}update(){const e=this.image;"requestVideoFrameCallback"in e===!1&&e.readyState>=e.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}}class gye extends dr{constructor(e,n){super({width:e,height:n}),this.isFramebufferTexture=!0,this.magFilter=ri,this.minFilter=ri,this.generateMipmaps=!1,this.needsUpdate=!0}}class oM extends dr{constructor(e,n,r,i,s,o,a,l,c,d,f,m){super(null,o,a,l,c,d,i,s,f,m),this.isCompressedTexture=!0,this.image={width:n,height:r},this.mipmaps=e,this.flipY=!1,this.generateMipmaps=!1}}class vye extends oM{constructor(e,n,r,i,s,o){super(e,n,r,s,o),this.isCompressedArrayTexture=!0,this.image.depth=i,this.wrapR=_o,this.layerUpdates=new Set}addLayerUpdate(e){this.layerUpdates.add(e)}clearLayerUpdates(){this.layerUpdates.clear()}}class yye extends oM{constructor(e,n,r){super(void 0,e[0].width,e[0].height,n,r,Jc),this.isCompressedCubeTexture=!0,this.isCubeTexture=!0,this.image=e}}class xye extends dr{constructor(e,n,r,i,s,o,a,l,c){super(e,n,r,i,s,o,a,l,c),this.isCanvasTexture=!0,this.needsUpdate=!0}}class Xa{constructor(){this.type="Curve",this.arcLengthDivisions=200}getPoint(){return console.warn("THREE.Curve: .getPoint() not implemented."),null}getPointAt(e,n){const r=this.getUtoTmapping(e);return this.getPoint(r,n)}getPoints(e=5){const n=[];for(let r=0;r<=e;r++)n.push(this.getPoint(r/e));return n}getSpacedPoints(e=5){const n=[];for(let r=0;r<=e;r++)n.push(this.getPointAt(r/e));return n}getLength(){const e=this.getLengths();return e[e.length-1]}getLengths(e=this.arcLengthDivisions){if(this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;const n=[];let r,i=this.getPoint(0),s=0;n.push(0);for(let o=1;o<=e;o++)r=this.getPoint(o/e),s+=r.distanceTo(i),n.push(s),i=r;return this.cacheArcLengths=n,n}updateArcLengths(){this.needsUpdate=!0,this.getLengths()}getUtoTmapping(e,n){const r=this.getLengths();let i=0;const s=r.length;let o;n?o=n:o=e*r[s-1];let a=0,l=s-1,c;for(;a<=l;)if(i=Math.floor(a+(l-a)/2),c=r[i]-o,c<0)a=i+1;else if(c>0)l=i-1;else{l=i;break}if(i=l,r[i]===o)return i/(s-1);const d=r[i],m=r[i+1]-d,y=(o-d)/m;return(i+y)/(s-1)}getTangent(e,n){let i=e-1e-4,s=e+1e-4;i<0&&(i=0),s>1&&(s=1);const o=this.getPoint(i),a=this.getPoint(s),l=n||(o.isVector2?new Ve:new X);return l.copy(a).sub(o).normalize(),l}getTangentAt(e,n){const r=this.getUtoTmapping(e);return this.getTangent(r,n)}computeFrenetFrames(e,n){const r=new X,i=[],s=[],o=[],a=new X,l=new Rt;for(let y=0;y<=e;y++){const x=y/e;i[y]=this.getTangentAt(x,new X)}s[0]=new X,o[0]=new X;let c=Number.MAX_VALUE;const d=Math.abs(i[0].x),f=Math.abs(i[0].y),m=Math.abs(i[0].z);d<=c&&(c=d,r.set(1,0,0)),f<=c&&(c=f,r.set(0,1,0)),m<=c&&r.set(0,0,1),a.crossVectors(i[0],r).normalize(),s[0].crossVectors(i[0],a),o[0].crossVectors(i[0],s[0]);for(let y=1;y<=e;y++){if(s[y]=s[y-1].clone(),o[y]=o[y-1].clone(),a.crossVectors(i[y-1],i[y]),a.length()>Number.EPSILON){a.normalize();const x=Math.acos(Ar(i[y-1].dot(i[y]),-1,1));s[y].applyMatrix4(l.makeRotationAxis(a,x))}o[y].crossVectors(i[y],s[y])}if(n===!0){let y=Math.acos(Ar(s[0].dot(s[e]),-1,1));y/=e,i[0].dot(a.crossVectors(s[0],s[e]))>0&&(y=-y);for(let x=1;x<=e;x++)s[x].applyMatrix4(l.makeRotationAxis(i[x],y*x)),o[x].crossVectors(i[x],s[x])}return{tangents:i,normals:s,binormals:o}}clone(){return new this.constructor().copy(this)}copy(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}toJSON(){const e={metadata:{version:4.6,type:"Curve",generator:"Curve.toJSON"}};return e.arcLengthDivisions=this.arcLengthDivisions,e.type=this.type,e}fromJSON(e){return this.arcLengthDivisions=e.arcLengthDivisions,this}}class aM extends Xa{constructor(e=0,n=0,r=1,i=1,s=0,o=Math.PI*2,a=!1,l=0){super(),this.isEllipseCurve=!0,this.type="EllipseCurve",this.aX=e,this.aY=n,this.xRadius=r,this.yRadius=i,this.aStartAngle=s,this.aEndAngle=o,this.aClockwise=a,this.aRotation=l}getPoint(e,n=new Ve){const r=n,i=Math.PI*2;let s=this.aEndAngle-this.aStartAngle;const o=Math.abs(s)i;)s-=i;s0?0:(Math.floor(Math.abs(a)/s)+1)*s:l===0&&a===s-1&&(a=s-2,l=1);let c,d;this.closed||a>0?c=i[(a-1)%s]:(v_.subVectors(i[0],i[1]).add(i[0]),c=v_);const f=i[a%s],m=i[(a+1)%s];if(this.closed||a+2i.length-2?i.length-1:o+1],f=i[o>i.length-3?i.length-1:o+2];return r.set(XD(a,l.x,c.x,d.x,f.x),XD(a,l.y,c.y,d.y,f.y)),r}copy(e){super.copy(e),this.points=[];for(let n=0,r=e.points.length;n=r){const o=i[s]-r,a=this.curves[s],l=a.getLength(),c=l===0?0:1-o/l;return a.getPointAt(c,n)}s++}return null}getLength(){const e=this.getCurveLengths();return e[e.length-1]}updateArcLengths(){this.needsUpdate=!0,this.cacheLengths=null,this.getCurveLengths()}getCurveLengths(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;const e=[];let n=0;for(let r=0,i=this.curves.length;r1&&!n[n.length-1].equals(n[0])&&n.push(n[0]),n}copy(e){super.copy(e),this.curves=[];for(let n=0,r=e.curves.length;n0){const f=c.getPoint(0);f.equals(this.currentPoint)||this.lineTo(f.x,f.y)}this.curves.push(c);const d=c.getPoint(1);return this.currentPoint.copy(d),this}copy(e){return super.copy(e),this.currentPoint.copy(e.currentPoint),this}toJSON(){const e=super.toJSON();return e.currentPoint=this.currentPoint.toArray(),e}fromJSON(e){return super.fromJSON(e),this.currentPoint.fromArray(e.currentPoint),this}}class px extends Qt{constructor(e=[new Ve(0,-.5),new Ve(.5,0),new Ve(0,.5)],n=12,r=0,i=Math.PI*2){super(),this.type="LatheGeometry",this.parameters={points:e,segments:n,phiStart:r,phiLength:i},n=Math.floor(n),i=Ar(i,0,Math.PI*2);const s=[],o=[],a=[],l=[],c=[],d=1/n,f=new X,m=new Ve,y=new X,x=new X,S=new X;let w=0,_=0;for(let E=0;E<=e.length-1;E++)switch(E){case 0:w=e[E+1].x-e[E].x,_=e[E+1].y-e[E].y,y.x=_*1,y.y=-w,y.z=_*0,S.copy(y),y.normalize(),l.push(y.x,y.y,y.z);break;case e.length-1:l.push(S.x,S.y,S.z);break;default:w=e[E+1].x-e[E].x,_=e[E+1].y-e[E].y,y.x=_*1,y.y=-w,y.z=_*0,x.copy(y),y.x+=S.x,y.y+=S.y,y.z+=S.z,y.normalize(),l.push(y.x,y.y,y.z),S.copy(x)}for(let E=0;E<=n;E++){const T=r+E*d*i,C=Math.sin(T),O=Math.cos(T);for(let N=0;N<=e.length-1;N++){f.x=e[N].x*C,f.y=e[N].y,f.z=e[N].x*O,o.push(f.x,f.y,f.z),m.x=E/n,m.y=N/(e.length-1),a.push(m.x,m.y);const D=l[3*N+0]*C,F=l[3*N+1],G=l[3*N+0]*O;c.push(D,F,G)}}for(let E=0;E0&&T(!0),n>0&&T(!1)),this.setIndex(d),this.setAttribute("position",new Lt(f,3)),this.setAttribute("normal",new Lt(m,3)),this.setAttribute("uv",new Lt(y,2));function E(){const C=new X,O=new X;let N=0;const D=(n-e)/r;for(let F=0;F<=s;F++){const G=[],k=F/s,U=k*(n-e)+e;for(let H=0;H<=i;H++){const ne=H/i,te=ne*l+a,he=Math.sin(te),oe=Math.cos(te);O.x=U*he,O.y=-k*r+w,O.z=U*oe,f.push(O.x,O.y,O.z),C.set(he,D,oe).normalize(),m.push(C.x,C.y,C.z),y.push(ne,1-k),G.push(x++)}S.push(G)}for(let F=0;F0&&(d.push(k,U,ne),N+=3),n>0&&(d.push(U,H,ne),N+=3)}c.addGroup(_,N,0),_+=N}function T(C){const O=x,N=new Ve,D=new X;let F=0;const G=C===!0?e:n,k=C===!0?1:-1;for(let H=1;H<=i;H++)f.push(0,w*k,0),m.push(0,k,0),y.push(.5,.5),x++;const U=x;for(let H=0;H<=i;H++){const te=H/i*l+a,he=Math.cos(te),oe=Math.sin(te);D.x=G*oe,D.y=w*k,D.z=G*he,f.push(D.x,D.y,D.z),m.push(0,k,0),N.x=he*.5+.5,N.y=oe*.5*k+.5,y.push(N.x,N.y),x++}for(let H=0;H.9&&D<.1&&(T<.2&&(o[E+0]+=1),C<.2&&(o[E+2]+=1),O<.2&&(o[E+4]+=1))}}function m(E){s.push(E.x,E.y,E.z)}function y(E,T){const C=E*3;T.x=e[C+0],T.y=e[C+1],T.z=e[C+2]}function x(){const E=new X,T=new X,C=new X,O=new X,N=new Ve,D=new Ve,F=new Ve;for(let G=0,k=0;G80*n){a=c=t[0],l=d=t[1];for(let x=n;xc&&(c=f),m>d&&(d=m);y=Math.max(c-a,d-l),y=y!==0?32767/y:0}return Dy(s,o,n,a,l,y,0),o}};function R6(t,e,n,r,i){let s,o;if(i===Vye(t,e,n,r)>0)for(s=e;s=e;s-=r)o=qD(s,t[s],t[s+1],o);return o&&fM(o,o.next)&&(Uy(o),o=o.next),o}function Hh(t,e){if(!t)return t;e||(e=t);let n=t,r;do if(r=!1,!n.steiner&&(fM(n,n.next)||vr(n.prev,n,n.next)===0)){if(Uy(n),n=e=n.prev,n===n.next)break;r=!0}else n=n.next;while(r||n!==e);return e}function Dy(t,e,n,r,i,s,o){if(!t)return;!o&&s&&jye(t,r,i,s);let a=t,l,c;for(;t.prev!==t.next;){if(l=t.prev,c=t.next,s?Pye(t,r,i,s):Cye(t)){e.push(l.i/n|0),e.push(t.i/n|0),e.push(c.i/n|0),Uy(t),t=c.next,a=c.next;continue}if(t=c,t===a){o?o===1?(t=Rye(Hh(t),e,n),Dy(t,e,n,r,i,s,2)):o===2&&Nye(t,e,n,r,i,s):Dy(Hh(t),e,n,r,i,s,1);break}}}function Cye(t){const e=t.prev,n=t,r=t.next;if(vr(e,n,r)>=0)return!1;const i=e.x,s=n.x,o=r.x,a=e.y,l=n.y,c=r.y,d=is?i>o?i:o:s>o?s:o,y=a>l?a>c?a:c:l>c?l:c;let x=r.next;for(;x!==e;){if(x.x>=d&&x.x<=m&&x.y>=f&&x.y<=y&&Km(i,a,s,l,o,c,x.x,x.y)&&vr(x.prev,x,x.next)>=0)return!1;x=x.next}return!0}function Pye(t,e,n,r){const i=t.prev,s=t,o=t.next;if(vr(i,s,o)>=0)return!1;const a=i.x,l=s.x,c=o.x,d=i.y,f=s.y,m=o.y,y=al?a>c?a:c:l>c?l:c,w=d>f?d>m?d:m:f>m?f:m,_=JC(y,x,e,n,r),E=JC(S,w,e,n,r);let T=t.prevZ,C=t.nextZ;for(;T&&T.z>=_&&C&&C.z<=E;){if(T.x>=y&&T.x<=S&&T.y>=x&&T.y<=w&&T!==i&&T!==o&&Km(a,d,l,f,c,m,T.x,T.y)&&vr(T.prev,T,T.next)>=0||(T=T.prevZ,C.x>=y&&C.x<=S&&C.y>=x&&C.y<=w&&C!==i&&C!==o&&Km(a,d,l,f,c,m,C.x,C.y)&&vr(C.prev,C,C.next)>=0))return!1;C=C.nextZ}for(;T&&T.z>=_;){if(T.x>=y&&T.x<=S&&T.y>=x&&T.y<=w&&T!==i&&T!==o&&Km(a,d,l,f,c,m,T.x,T.y)&&vr(T.prev,T,T.next)>=0)return!1;T=T.prevZ}for(;C&&C.z<=E;){if(C.x>=y&&C.x<=S&&C.y>=x&&C.y<=w&&C!==i&&C!==o&&Km(a,d,l,f,c,m,C.x,C.y)&&vr(C.prev,C,C.next)>=0)return!1;C=C.nextZ}return!0}function Rye(t,e,n){let r=t;do{const i=r.prev,s=r.next.next;!fM(i,s)&&N6(i,r,r.next,s)&&jy(i,s)&&jy(s,i)&&(e.push(i.i/n|0),e.push(r.i/n|0),e.push(s.i/n|0),Uy(r),Uy(r.next),r=t=s),r=r.next}while(r!==t);return Hh(r)}function Nye(t,e,n,r,i,s){let o=t;do{let a=o.next.next;for(;a!==o.prev;){if(o.i!==a.i&&zye(o,a)){let l=I6(o,a);o=Hh(o,o.next),l=Hh(l,l.next),Dy(o,e,n,r,i,s,0),Dy(l,e,n,r,i,s,0);return}a=a.next}o=o.next}while(o!==t)}function Iye(t,e,n,r){const i=[];let s,o,a,l,c;for(s=0,o=e.length;s=n.next.y&&n.next.y!==n.y){const m=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(m<=s&&m>r&&(r=m,i=n.x=n.x&&n.x>=l&&s!==n.x&&Km(oi.x||n.x===i.x&&Dye(i,n)))&&(i=n,d=f)),n=n.next;while(n!==a);return i}function Dye(t,e){return vr(t.prev,t,e.prev)<0&&vr(e.next,t,t.next)<0}function jye(t,e,n,r){let i=t;do i.z===0&&(i.z=JC(i.x,i.y,e,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,Uye(i)}function Uye(t){let e,n,r,i,s,o,a,l,c=1;do{for(n=t,t=null,s=null,o=0;n;){for(o++,r=n,a=0,e=0;e0||l>0&&r;)a!==0&&(l===0||!r||n.z<=r.z)?(i=n,n=n.nextZ,a--):(i=r,r=r.nextZ,l--),s?s.nextZ=i:t=i,i.prevZ=s,s=i;n=r}s.nextZ=null,c*=2}while(o>1);return t}function JC(t,e,n,r,i){return t=(t-n)*i|0,e=(e-r)*i|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t|e<<1}function Fye(t){let e=t,n=t;do(e.x=(t-o)*(s-a)&&(t-o)*(r-a)>=(n-o)*(e-a)&&(n-o)*(s-a)>=(i-o)*(r-a)}function zye(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!Bye(t,e)&&(jy(t,e)&&jy(e,t)&&Hye(t,e)&&(vr(t.prev,t,e.prev)||vr(t,e.prev,e))||fM(t,e)&&vr(t.prev,t,t.next)>0&&vr(e.prev,e,e.next)>0)}function vr(t,e,n){return(e.y-t.y)*(n.x-e.x)-(e.x-t.x)*(n.y-e.y)}function fM(t,e){return t.x===e.x&&t.y===e.y}function N6(t,e,n,r){const i=w_(vr(t,e,n)),s=w_(vr(t,e,r)),o=w_(vr(n,r,t)),a=w_(vr(n,r,e));return!!(i!==s&&o!==a||i===0&&__(t,n,e)||s===0&&__(t,r,e)||o===0&&__(n,t,r)||a===0&&__(n,e,r))}function __(t,e,n){return e.x<=Math.max(t.x,n.x)&&e.x>=Math.min(t.x,n.x)&&e.y<=Math.max(t.y,n.y)&&e.y>=Math.min(t.y,n.y)}function w_(t){return t>0?1:t<0?-1:0}function Bye(t,e){let n=t;do{if(n.i!==t.i&&n.next.i!==t.i&&n.i!==e.i&&n.next.i!==e.i&&N6(n,n.next,t,e))return!0;n=n.next}while(n!==t);return!1}function jy(t,e){return vr(t.prev,t,t.next)<0?vr(t,e,t.next)>=0&&vr(t,t.prev,e)>=0:vr(t,e,t.prev)<0||vr(t,t.next,e)<0}function Hye(t,e){let n=t,r=!1;const i=(t.x+e.x)/2,s=(t.y+e.y)/2;do n.y>s!=n.next.y>s&&n.next.y!==n.y&&i<(n.next.x-n.x)*(s-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next;while(n!==t);return r}function I6(t,e){const n=new eP(t.i,t.x,t.y),r=new eP(e.i,e.x,e.y),i=t.next,s=e.prev;return t.next=e,e.prev=t,n.next=i,i.prev=n,r.next=n,n.prev=r,s.next=r,r.prev=s,r}function qD(t,e,n,r){const i=new eP(t,e,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function Uy(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function eP(t,e,n){this.i=t,this.x=e,this.y=n,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Vye(t,e,n,r){let i=0;for(let s=e,o=n-r;s2&&t[e-1].equals(t[0])&&t.pop()}function YD(t,e){for(let n=0;nNumber.EPSILON){const He=Math.sqrt(Ee),Be=Math.sqrt(ee*ee+$*$),gt=Z.x-ct/He,rt=Z.y+bt/He,dt=Ge.x-$/Be,Bt=Ge.y+ee/Be,Ke=((dt-gt)*$-(Bt-rt)*ee)/(bt*$-ct*ee);De=gt+bt*Ke-ue.x,$e=rt+ct*Ke-ue.y;const re=De*De+$e*$e;if(re<=2)return new Ve(De,$e);et=Math.sqrt(re/2)}else{let He=!1;bt>Number.EPSILON?ee>Number.EPSILON&&(He=!0):bt<-Number.EPSILON?ee<-Number.EPSILON&&(He=!0):Math.sign(ct)===Math.sign($)&&(He=!0),He?(De=-ct,$e=bt,et=Math.sqrt(Ee)):(De=bt,$e=ct,et=Math.sqrt(Ee/2))}return new Ve(De/et,$e/et)}const J=[];for(let ue=0,Z=te.length,Ge=Z-1,De=ue+1;ue=0;ue--){const Z=ue/w,Ge=y*Math.cos(Z*Math.PI/2),De=x*Math.sin(Z*Math.PI/2)+S;for(let $e=0,et=te.length;$e=0;){const De=Ge;let $e=Ge-1;$e<0&&($e=ue.length-1);for(let et=0,bt=d+w*2;et0)&&y.push(T,C,N),(_!==r-1||l0!=e>0&&this.version++,this._anisotropy=e}get clearcoat(){return this._clearcoat}set clearcoat(e){this._clearcoat>0!=e>0&&this.version++,this._clearcoat=e}get iridescence(){return this._iridescence}set iridescence(e){this._iridescence>0!=e>0&&this.version++,this._iridescence=e}get dispersion(){return this._dispersion}set dispersion(e){this._dispersion>0!=e>0&&this.version++,this._dispersion=e}get sheen(){return this._sheen}set sheen(e){this._sheen>0!=e>0&&this.version++,this._sheen=e}get transmission(){return this._transmission}set transmission(e){this._transmission>0!=e>0&&this.version++,this._transmission=e}copy(e){return super.copy(e),this.defines={STANDARD:"",PHYSICAL:""},this.anisotropy=e.anisotropy,this.anisotropyRotation=e.anisotropyRotation,this.anisotropyMap=e.anisotropyMap,this.clearcoat=e.clearcoat,this.clearcoatMap=e.clearcoatMap,this.clearcoatRoughness=e.clearcoatRoughness,this.clearcoatRoughnessMap=e.clearcoatRoughnessMap,this.clearcoatNormalMap=e.clearcoatNormalMap,this.clearcoatNormalScale.copy(e.clearcoatNormalScale),this.dispersion=e.dispersion,this.ior=e.ior,this.iridescence=e.iridescence,this.iridescenceMap=e.iridescenceMap,this.iridescenceIOR=e.iridescenceIOR,this.iridescenceThicknessRange=[...e.iridescenceThicknessRange],this.iridescenceThicknessMap=e.iridescenceThicknessMap,this.sheen=e.sheen,this.sheenColor.copy(e.sheenColor),this.sheenColorMap=e.sheenColorMap,this.sheenRoughness=e.sheenRoughness,this.sheenRoughnessMap=e.sheenRoughnessMap,this.transmission=e.transmission,this.transmissionMap=e.transmissionMap,this.thickness=e.thickness,this.thicknessMap=e.thicknessMap,this.attenuationDistance=e.attenuationDistance,this.attenuationColor.copy(e.attenuationColor),this.specularIntensity=e.specularIntensity,this.specularIntensityMap=e.specularIntensityMap,this.specularColor.copy(e.specularColor),this.specularColorMap=e.specularColorMap,this}}class D6 extends Gr{constructor(e){super(),this.isMeshPhongMaterial=!0,this.type="MeshPhongMaterial",this.color=new lt(16777215),this.specular=new lt(1118481),this.shininess=30,this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new lt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=lu,this.normalScale=new Ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new as,this.combine=lx,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.specular.copy(e.specular),this.shininess=e.shininess,this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class j6 extends Gr{constructor(e){super(),this.isMeshToonMaterial=!0,this.defines={TOON:""},this.type="MeshToonMaterial",this.color=new lt(16777215),this.map=null,this.gradientMap=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new lt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=lu,this.normalScale=new Ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.gradientMap=e.gradientMap,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.fog=e.fog,this}}class U6 extends Gr{constructor(e){super(),this.isMeshNormalMaterial=!0,this.type="MeshNormalMaterial",this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=lu,this.normalScale=new Ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.wireframe=!1,this.wireframeLinewidth=1,this.flatShading=!1,this.setValues(e)}copy(e){return super.copy(e),this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.flatShading=e.flatShading,this}}class F6 extends Gr{constructor(e){super(),this.isMeshLambertMaterial=!0,this.type="MeshLambertMaterial",this.color=new lt(16777215),this.map=null,this.lightMap=null,this.lightMapIntensity=1,this.aoMap=null,this.aoMapIntensity=1,this.emissive=new lt(0),this.emissiveIntensity=1,this.emissiveMap=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=lu,this.normalScale=new Ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.specularMap=null,this.alphaMap=null,this.envMap=null,this.envMapRotation=new as,this.combine=lx,this.reflectivity=1,this.refractionRatio=.98,this.wireframe=!1,this.wireframeLinewidth=1,this.wireframeLinecap="round",this.wireframeLinejoin="round",this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.color.copy(e.color),this.map=e.map,this.lightMap=e.lightMap,this.lightMapIntensity=e.lightMapIntensity,this.aoMap=e.aoMap,this.aoMapIntensity=e.aoMapIntensity,this.emissive.copy(e.emissive),this.emissiveMap=e.emissiveMap,this.emissiveIntensity=e.emissiveIntensity,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.specularMap=e.specularMap,this.alphaMap=e.alphaMap,this.envMap=e.envMap,this.envMapRotation.copy(e.envMapRotation),this.combine=e.combine,this.reflectivity=e.reflectivity,this.refractionRatio=e.refractionRatio,this.wireframe=e.wireframe,this.wireframeLinewidth=e.wireframeLinewidth,this.wireframeLinecap=e.wireframeLinecap,this.wireframeLinejoin=e.wireframeLinejoin,this.flatShading=e.flatShading,this.fog=e.fog,this}}class z6 extends Gr{constructor(e){super(),this.isMeshMatcapMaterial=!0,this.defines={MATCAP:""},this.type="MeshMatcapMaterial",this.color=new lt(16777215),this.matcap=null,this.map=null,this.bumpMap=null,this.bumpScale=1,this.normalMap=null,this.normalMapType=lu,this.normalScale=new Ve(1,1),this.displacementMap=null,this.displacementScale=1,this.displacementBias=0,this.alphaMap=null,this.flatShading=!1,this.fog=!0,this.setValues(e)}copy(e){return super.copy(e),this.defines={MATCAP:""},this.color.copy(e.color),this.matcap=e.matcap,this.map=e.map,this.bumpMap=e.bumpMap,this.bumpScale=e.bumpScale,this.normalMap=e.normalMap,this.normalMapType=e.normalMapType,this.normalScale.copy(e.normalScale),this.displacementMap=e.displacementMap,this.displacementScale=e.displacementScale,this.displacementBias=e.displacementBias,this.alphaMap=e.alphaMap,this.flatShading=e.flatShading,this.fog=e.fog,this}}class B6 extends $r{constructor(e){super(),this.isLineDashedMaterial=!0,this.type="LineDashedMaterial",this.scale=1,this.dashSize=3,this.gapSize=1,this.setValues(e)}copy(e){return super.copy(e),this.scale=e.scale,this.dashSize=e.dashSize,this.gapSize=e.gapSize,this}}function ch(t,e,n){return!t||!n&&t.constructor===e?t:typeof e.BYTES_PER_ELEMENT=="number"?new e(t):Array.prototype.slice.call(t)}function H6(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function V6(t){function e(i,s){return t[i]-t[s]}const n=t.length,r=new Array(n);for(let i=0;i!==n;++i)r[i]=i;return r.sort(e),r}function tP(t,e,n){const r=t.length,i=new t.constructor(r);for(let s=0,o=0;o!==r;++s){const a=n[s]*e;for(let l=0;l!==e;++l)i[o++]=t[a+l]}return i}function GR(t,e,n,r){let i=1,s=t[0];for(;s!==void 0&&s[r]===void 0;)s=t[i++];if(s===void 0)return;let o=s[r];if(o!==void 0)if(Array.isArray(o))do o=s[r],o!==void 0&&(e.push(s.time),n.push.apply(n,o)),s=t[i++];while(s!==void 0);else if(o.toArray!==void 0)do o=s[r],o!==void 0&&(e.push(s.time),o.toArray(n,n.length)),s=t[i++];while(s!==void 0);else do o=s[r],o!==void 0&&(e.push(s.time),n.push(o)),s=t[i++];while(s!==void 0)}function Xye(t,e,n,r,i=30){const s=t.clone();s.name=e;const o=[];for(let l=0;l=r)){f.push(c.times[y]);for(let S=0;Ss.tracks[l].times[0]&&(a=s.tracks[l].times[0]);for(let l=0;l=a.times[x]){const _=x*f+d,E=_+f-d;S=a.values.slice(_,E)}else{const _=a.createInterpolant(),E=d,T=f-d;_.evaluate(s),S=_.resultBuffer.slice(E,T)}l==="quaternion"&&new Kt().fromArray(S).normalize().conjugate().toArray(S);const w=c.times.length;for(let _=0;_=s)){const a=n[1];e=s)break t}o=r,r=0;break n}break e}for(;r>>1;en;)--o;if(++o,s!==0||o!==i){s>=o&&(o=Math.max(o,1),s=o-1);const a=this.getValueSize();this.times=r.slice(s,o),this.values=this.values.slice(s*a,o*a)}return this}validate(){let e=!0;const n=this.getValueSize();n-Math.floor(n)!==0&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),e=!1);const r=this.times,i=this.values,s=r.length;s===0&&(console.error("THREE.KeyframeTrack: Track is empty.",this),e=!1);let o=null;for(let a=0;a!==s;a++){const l=r[a];if(typeof l=="number"&&isNaN(l)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,a,l),e=!1;break}if(o!==null&&o>l){console.error("THREE.KeyframeTrack: Out of order keys.",this,a,l,o),e=!1;break}o=l}if(i!==void 0&&H6(i))for(let a=0,l=i.length;a!==l;++a){const c=i[a];if(isNaN(c)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,a,c),e=!1;break}}return e}optimize(){const e=this.times.slice(),n=this.values.slice(),r=this.getValueSize(),i=this.getInterpolation()===$_,s=e.length-1;let o=1;for(let a=1;a0){e[o]=e[s];for(let a=s*r,l=o*r,c=0;c!==r;++c)n[l+c]=n[a+c];++o}return o!==e.length?(this.times=e.slice(0,o),this.values=n.slice(0,o*r)):(this.times=e,this.values=n),this}clone(){const e=this.times.slice(),n=this.values.slice(),r=this.constructor,i=new r(this.name,e,n);return i.createInterpolant=this.createInterpolant,i}}qa.prototype.TimeBufferType=Float32Array;qa.prototype.ValueBufferType=Float32Array;qa.prototype.DefaultInterpolation=Dg;class rp extends qa{constructor(e,n,r){super(e,n,r)}}rp.prototype.ValueTypeName="bool";rp.prototype.ValueBufferType=Array;rp.prototype.DefaultInterpolation=Lg;rp.prototype.InterpolantFactoryMethodLinear=void 0;rp.prototype.InterpolantFactoryMethodSmooth=void 0;class $R extends qa{}$R.prototype.ValueTypeName="color";class Vh extends qa{}Vh.prototype.ValueTypeName="number";class $6 extends av{constructor(e,n,r,i){super(e,n,r,i)}interpolate_(e,n,r,i){const s=this.resultBuffer,o=this.sampleValues,a=this.valueSize,l=(r-n)/(i-n);let c=e*a;for(let d=c+a;c!==d;c+=4)Kt.slerpFlat(s,0,o,c-a,o,c,l);return s}}class Gh extends qa{InterpolantFactoryMethodLinear(e){return new $6(this.times,this.values,this.getValueSize(),e)}}Gh.prototype.ValueTypeName="quaternion";Gh.prototype.InterpolantFactoryMethodSmooth=void 0;class ip extends qa{constructor(e,n,r){super(e,n,r)}}ip.prototype.ValueTypeName="string";ip.prototype.ValueBufferType=Array;ip.prototype.DefaultInterpolation=Lg;ip.prototype.InterpolantFactoryMethodLinear=void 0;ip.prototype.InterpolantFactoryMethodSmooth=void 0;class Wh extends qa{}Wh.prototype.ValueTypeName="vector";class Fg{constructor(e="",n=-1,r=[],i=ZS){this.name=e,this.tracks=r,this.duration=n,this.blendMode=i,this.uuid=So(),this.duration<0&&this.resetDuration()}static parse(e){const n=[],r=e.tracks,i=1/(e.fps||1);for(let o=0,a=r.length;o!==a;++o)n.push(Zye(r[o]).scale(i));const s=new this(e.name,e.duration,n,e.blendMode);return s.uuid=e.uuid,s}static toJSON(e){const n=[],r=e.tracks,i={name:e.name,duration:e.duration,tracks:n,uuid:e.uuid,blendMode:e.blendMode};for(let s=0,o=r.length;s!==o;++s)n.push(qa.toJSON(r[s]));return i}static CreateFromMorphTargetSequence(e,n,r,i){const s=n.length,o=[];for(let a=0;a1){const f=d[1];let m=i[f];m||(i[f]=m=[]),m.push(c)}}const o=[];for(const a in i)o.push(this.CreateFromMorphTargetSequence(a,i[a],n,r));return o}static parseAnimation(e,n){if(!e)return console.error("THREE.AnimationClip: No animation in JSONLoader data."),null;const r=function(f,m,y,x,S){if(y.length!==0){const w=[],_=[];GR(y,w,_,x),w.length!==0&&S.push(new f(m,w,_))}},i=[],s=e.name||"default",o=e.fps||30,a=e.blendMode;let l=e.length||-1;const c=e.hierarchy||[];for(let f=0;f{n&&n(s),this.manager.itemEnd(e)},0),s;if(Pc[e]!==void 0){Pc[e].push({onLoad:n,onProgress:r,onError:i});return}Pc[e]=[],Pc[e].push({onLoad:n,onProgress:r,onError:i});const o=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),a=this.mimeType,l=this.responseType;fetch(o).then(c=>{if(c.status===200||c.status===0){if(c.status===0&&console.warn("THREE.FileLoader: HTTP Status 0 received."),typeof ReadableStream>"u"||c.body===void 0||c.body.getReader===void 0)return c;const d=Pc[e],f=c.body.getReader(),m=c.headers.get("X-File-Size")||c.headers.get("Content-Length"),y=m?parseInt(m):0,x=y!==0;let S=0;const w=new ReadableStream({start(_){E();function E(){f.read().then(({done:T,value:C})=>{if(T)_.close();else{S+=C.byteLength;const O=new ProgressEvent("progress",{lengthComputable:x,loaded:S,total:y});for(let N=0,D=d.length;N{_.error(T)})}}});return new Response(w)}else throw new Qye(`fetch for "${c.url}" responded with ${c.status}: ${c.statusText}`,c)}).then(c=>{switch(l){case"arraybuffer":return c.arrayBuffer();case"blob":return c.blob();case"document":return c.text().then(d=>new DOMParser().parseFromString(d,a));case"json":return c.json();default:if(a===void 0)return c.text();{const f=/charset="?([^;"\s]*)"?/i.exec(a),m=f&&f[1]?f[1].toLowerCase():void 0,y=new TextDecoder(m);return c.arrayBuffer().then(x=>y.decode(x))}}}).then(c=>{Hc.add(e,c);const d=Pc[e];delete Pc[e];for(let f=0,m=d.length;f{const d=Pc[e];if(d===void 0)throw this.manager.itemError(e),c;delete Pc[e];for(let f=0,m=d.length;f{this.manager.itemEnd(e)}),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class Jye extends Rs{constructor(e){super(e)}load(e,n,r,i){const s=this,o=new Ga(this.manager);o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(a){try{n(s.parse(JSON.parse(a)))}catch(l){i?i(l):console.error(l),s.manager.itemError(e)}},r,i)}parse(e){const n=[];for(let r=0;r0:i.vertexColors=e.vertexColors),e.uniforms!==void 0)for(const s in e.uniforms){const o=e.uniforms[s];switch(i.uniforms[s]={},o.type){case"t":i.uniforms[s].value=r(o.value);break;case"c":i.uniforms[s].value=new lt().setHex(o.value);break;case"v2":i.uniforms[s].value=new Ve().fromArray(o.value);break;case"v3":i.uniforms[s].value=new X().fromArray(o.value);break;case"v4":i.uniforms[s].value=new Ln().fromArray(o.value);break;case"m3":i.uniforms[s].value=new qt().fromArray(o.value);break;case"m4":i.uniforms[s].value=new Rt().fromArray(o.value);break;default:i.uniforms[s].value=o.value}}if(e.defines!==void 0&&(i.defines=e.defines),e.vertexShader!==void 0&&(i.vertexShader=e.vertexShader),e.fragmentShader!==void 0&&(i.fragmentShader=e.fragmentShader),e.glslVersion!==void 0&&(i.glslVersion=e.glslVersion),e.extensions!==void 0)for(const s in e.extensions)i.extensions[s]=e.extensions[s];if(e.lights!==void 0&&(i.lights=e.lights),e.clipping!==void 0&&(i.clipping=e.clipping),e.size!==void 0&&(i.size=e.size),e.sizeAttenuation!==void 0&&(i.sizeAttenuation=e.sizeAttenuation),e.map!==void 0&&(i.map=r(e.map)),e.matcap!==void 0&&(i.matcap=r(e.matcap)),e.alphaMap!==void 0&&(i.alphaMap=r(e.alphaMap)),e.bumpMap!==void 0&&(i.bumpMap=r(e.bumpMap)),e.bumpScale!==void 0&&(i.bumpScale=e.bumpScale),e.normalMap!==void 0&&(i.normalMap=r(e.normalMap)),e.normalMapType!==void 0&&(i.normalMapType=e.normalMapType),e.normalScale!==void 0){let s=e.normalScale;Array.isArray(s)===!1&&(s=[s,s]),i.normalScale=new Ve().fromArray(s)}return e.displacementMap!==void 0&&(i.displacementMap=r(e.displacementMap)),e.displacementScale!==void 0&&(i.displacementScale=e.displacementScale),e.displacementBias!==void 0&&(i.displacementBias=e.displacementBias),e.roughnessMap!==void 0&&(i.roughnessMap=r(e.roughnessMap)),e.metalnessMap!==void 0&&(i.metalnessMap=r(e.metalnessMap)),e.emissiveMap!==void 0&&(i.emissiveMap=r(e.emissiveMap)),e.emissiveIntensity!==void 0&&(i.emissiveIntensity=e.emissiveIntensity),e.specularMap!==void 0&&(i.specularMap=r(e.specularMap)),e.specularIntensityMap!==void 0&&(i.specularIntensityMap=r(e.specularIntensityMap)),e.specularColorMap!==void 0&&(i.specularColorMap=r(e.specularColorMap)),e.envMap!==void 0&&(i.envMap=r(e.envMap)),e.envMapRotation!==void 0&&i.envMapRotation.fromArray(e.envMapRotation),e.envMapIntensity!==void 0&&(i.envMapIntensity=e.envMapIntensity),e.reflectivity!==void 0&&(i.reflectivity=e.reflectivity),e.refractionRatio!==void 0&&(i.refractionRatio=e.refractionRatio),e.lightMap!==void 0&&(i.lightMap=r(e.lightMap)),e.lightMapIntensity!==void 0&&(i.lightMapIntensity=e.lightMapIntensity),e.aoMap!==void 0&&(i.aoMap=r(e.aoMap)),e.aoMapIntensity!==void 0&&(i.aoMapIntensity=e.aoMapIntensity),e.gradientMap!==void 0&&(i.gradientMap=r(e.gradientMap)),e.clearcoatMap!==void 0&&(i.clearcoatMap=r(e.clearcoatMap)),e.clearcoatRoughnessMap!==void 0&&(i.clearcoatRoughnessMap=r(e.clearcoatRoughnessMap)),e.clearcoatNormalMap!==void 0&&(i.clearcoatNormalMap=r(e.clearcoatNormalMap)),e.clearcoatNormalScale!==void 0&&(i.clearcoatNormalScale=new Ve().fromArray(e.clearcoatNormalScale)),e.iridescenceMap!==void 0&&(i.iridescenceMap=r(e.iridescenceMap)),e.iridescenceThicknessMap!==void 0&&(i.iridescenceThicknessMap=r(e.iridescenceThicknessMap)),e.transmissionMap!==void 0&&(i.transmissionMap=r(e.transmissionMap)),e.thicknessMap!==void 0&&(i.thicknessMap=r(e.thicknessMap)),e.anisotropyMap!==void 0&&(i.anisotropyMap=r(e.anisotropyMap)),e.sheenColorMap!==void 0&&(i.sheenColorMap=r(e.sheenColorMap)),e.sheenRoughnessMap!==void 0&&(i.sheenRoughnessMap=r(e.sheenRoughnessMap)),i}setTextures(e){return this.textures=e,this}createMaterialFromType(e){return _M.createMaterialFromType(e)}static createMaterialFromType(e){const n={ShadowMaterial:O6,SpriteMaterial:OR,RawShaderMaterial:L6,ShaderMaterial:Qo,PointsMaterial:sM,MeshPhysicalMaterial:na,MeshStandardMaterial:vx,MeshPhongMaterial:D6,MeshToonMaterial:j6,MeshNormalMaterial:U6,MeshLambertMaterial:F6,MeshDepthMaterial:NR,MeshDistanceMaterial:IR,MeshBasicMaterial:As,MeshMatcapMaterial:z6,LineDashedMaterial:B6,LineBasicMaterial:$r,Material:Gr};return new n[e]}}class Md{static decodeText(e){if(console.warn("THREE.LoaderUtils: decodeText() has been deprecated with r165 and will be removed with r175. Use TextDecoder instead."),typeof TextDecoder<"u")return new TextDecoder().decode(e);let n="";for(let r=0,i=e.length;r0){const l=new XR(n);s=new zg(l),s.setCrossOrigin(this.crossOrigin);for(let c=0,d=e.length;c0){i=new zg(this.manager),i.setCrossOrigin(this.crossOrigin);for(let o=0,a=e.length;o{const w=new os;w.min.fromArray(S.boxMin),w.max.fromArray(S.boxMax);const _=new Bi;return _.radius=S.sphereRadius,_.center.fromArray(S.sphereCenter),{boxInitialized:S.boxInitialized,box:w,sphereInitialized:S.sphereInitialized,sphere:_}}),o._maxInstanceCount=e.maxInstanceCount,o._maxVertexCount=e.maxVertexCount,o._maxIndexCount=e.maxIndexCount,o._geometryInitialized=e.geometryInitialized,o._geometryCount=e.geometryCount,o._matricesTexture=c(e.matricesTexture.uuid),e.colorsTexture!==void 0&&(o._colorsTexture=c(e.colorsTexture.uuid));break;case"LOD":o=new w6;break;case"Line":o=new zl(a(e.geometry),l(e.material));break;case"LineLoop":o=new DR(a(e.geometry),l(e.material));break;case"LineSegments":o=new eo(a(e.geometry),l(e.material));break;case"PointCloud":case"Points":o=new jR(a(e.geometry),l(e.material));break;case"Sprite":o=new _6(l(e.material));break;case"Group":o=new Ts;break;case"Bone":o=new iM;break;default:o=new mn}if(o.uuid=e.uuid,e.name!==void 0&&(o.name=e.name),e.matrix!==void 0?(o.matrix.fromArray(e.matrix),e.matrixAutoUpdate!==void 0&&(o.matrixAutoUpdate=e.matrixAutoUpdate),o.matrixAutoUpdate&&o.matrix.decompose(o.position,o.quaternion,o.scale)):(e.position!==void 0&&o.position.fromArray(e.position),e.rotation!==void 0&&o.rotation.fromArray(e.rotation),e.quaternion!==void 0&&o.quaternion.fromArray(e.quaternion),e.scale!==void 0&&o.scale.fromArray(e.scale)),e.up!==void 0&&o.up.fromArray(e.up),e.castShadow!==void 0&&(o.castShadow=e.castShadow),e.receiveShadow!==void 0&&(o.receiveShadow=e.receiveShadow),e.shadow&&(e.shadow.intensity!==void 0&&(o.shadow.intensity=e.shadow.intensity),e.shadow.bias!==void 0&&(o.shadow.bias=e.shadow.bias),e.shadow.normalBias!==void 0&&(o.shadow.normalBias=e.shadow.normalBias),e.shadow.radius!==void 0&&(o.shadow.radius=e.shadow.radius),e.shadow.mapSize!==void 0&&o.shadow.mapSize.fromArray(e.shadow.mapSize),e.shadow.camera!==void 0&&(o.shadow.camera=this.parseObject(e.shadow.camera))),e.visible!==void 0&&(o.visible=e.visible),e.frustumCulled!==void 0&&(o.frustumCulled=e.frustumCulled),e.renderOrder!==void 0&&(o.renderOrder=e.renderOrder),e.userData!==void 0&&(o.userData=e.userData),e.layers!==void 0&&(o.layers.mask=e.layers),e.children!==void 0){const m=e.children;for(let y=0;y"u"&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported."),typeof fetch>"u"&&console.warn("THREE.ImageBitmapLoader: fetch() not supported."),this.options={premultiplyAlpha:"none"}}setOptions(e){return this.options=e,this}load(e,n,r,i){e===void 0&&(e=""),this.path!==void 0&&(e=this.path+e),e=this.manager.resolveURL(e);const s=this,o=Hc.get(e);if(o!==void 0){if(s.manager.itemStart(e),o.then){o.then(c=>{n&&n(c),s.manager.itemEnd(e)}).catch(c=>{i&&i(c)});return}return setTimeout(function(){n&&n(o),s.manager.itemEnd(e)},0),o}const a={};a.credentials=this.crossOrigin==="anonymous"?"same-origin":"include",a.headers=this.requestHeader;const l=fetch(e,a).then(function(c){return c.blob()}).then(function(c){return createImageBitmap(c,Object.assign(s.options,{colorSpaceConversion:"none"}))}).then(function(c){return Hc.add(e,c),n&&n(c),s.manager.itemEnd(e),c}).catch(function(c){i&&i(c),Hc.remove(e),s.manager.itemError(e),s.manager.itemEnd(e)});Hc.add(e,l),s.manager.itemStart(e)}}let S_;class QR{static getContext(){return S_===void 0&&(S_=new(window.AudioContext||window.webkitAudioContext)),S_}static setContext(e){S_=e}}class lxe extends Rs{constructor(e){super(e)}load(e,n,r,i){const s=this,o=new Ga(this.manager);o.setResponseType("arraybuffer"),o.setPath(this.path),o.setRequestHeader(this.requestHeader),o.setWithCredentials(this.withCredentials),o.load(e,function(l){try{const c=l.slice(0);QR.getContext().decodeAudioData(c,function(f){n(f)}).catch(a)}catch(c){a(c)}},r,i);function a(l){i?i(l):console.error(l),s.manager.itemError(e)}}}const ij=new Rt,sj=new Rt,Of=new Rt;class cxe{constructor(){this.type="StereoCamera",this.aspect=1,this.eyeSep=.064,this.cameraL=new Tr,this.cameraL.layers.enable(1),this.cameraL.matrixAutoUpdate=!1,this.cameraR=new Tr,this.cameraR.layers.enable(2),this.cameraR.matrixAutoUpdate=!1,this._cache={focus:null,fov:null,aspect:null,near:null,far:null,zoom:null,eyeSep:null}}update(e){const n=this._cache;if(n.focus!==e.focus||n.fov!==e.fov||n.aspect!==e.aspect*this.aspect||n.near!==e.near||n.far!==e.far||n.zoom!==e.zoom||n.eyeSep!==this.eyeSep){n.focus=e.focus,n.fov=e.fov,n.aspect=e.aspect*this.aspect,n.near=e.near,n.far=e.far,n.zoom=e.zoom,n.eyeSep=this.eyeSep,Of.copy(e.projectionMatrix);const i=n.eyeSep/2,s=i*n.near/n.focus,o=n.near*Math.tan(Ah*n.fov*.5)/n.zoom;let a,l;sj.elements[12]=-i,ij.elements[12]=i,a=-o*n.aspect+s,l=o*n.aspect+s,Of.elements[0]=2*n.near/(l-a),Of.elements[8]=(l+a)/(l-a),this.cameraL.projectionMatrix.copy(Of),a=-o*n.aspect-s,l=o*n.aspect-s,Of.elements[0]=2*n.near/(l-a),Of.elements[8]=(l+a)/(l-a),this.cameraR.projectionMatrix.copy(Of)}this.cameraL.matrixWorld.copy(e.matrixWorld).multiply(sj),this.cameraR.matrixWorld.copy(e.matrixWorld).multiply(ij)}}class JR{constructor(e=!0){this.autoStart=e,this.startTime=0,this.oldTime=0,this.elapsedTime=0,this.running=!1}start(){this.startTime=oj(),this.oldTime=this.startTime,this.elapsedTime=0,this.running=!0}stop(){this.getElapsedTime(),this.running=!1,this.autoStart=!1}getElapsedTime(){return this.getDelta(),this.elapsedTime}getDelta(){let e=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){const n=oj();e=(n-this.oldTime)/1e3,this.oldTime=n,this.elapsedTime+=e}return e}}function oj(){return performance.now()}const Lf=new X,aj=new Kt,uxe=new X,Df=new X;class dxe extends mn{constructor(){super(),this.type="AudioListener",this.context=QR.getContext(),this.gain=this.context.createGain(),this.gain.connect(this.context.destination),this.filter=null,this.timeDelta=0,this._clock=new JR}getInput(){return this.gain}removeFilter(){return this.filter!==null&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null),this}getFilter(){return this.filter}setFilter(e){return this.filter!==null?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination),this.filter=e,this.gain.connect(this.filter),this.filter.connect(this.context.destination),this}getMasterVolume(){return this.gain.gain.value}setMasterVolume(e){return this.gain.gain.setTargetAtTime(e,this.context.currentTime,.01),this}updateMatrixWorld(e){super.updateMatrixWorld(e);const n=this.context.listener,r=this.up;if(this.timeDelta=this._clock.getDelta(),this.matrixWorld.decompose(Lf,aj,uxe),Df.set(0,0,-1).applyQuaternion(aj),n.positionX){const i=this.context.currentTime+this.timeDelta;n.positionX.linearRampToValueAtTime(Lf.x,i),n.positionY.linearRampToValueAtTime(Lf.y,i),n.positionZ.linearRampToValueAtTime(Lf.z,i),n.forwardX.linearRampToValueAtTime(Df.x,i),n.forwardY.linearRampToValueAtTime(Df.y,i),n.forwardZ.linearRampToValueAtTime(Df.z,i),n.upX.linearRampToValueAtTime(r.x,i),n.upY.linearRampToValueAtTime(r.y,i),n.upZ.linearRampToValueAtTime(r.z,i)}else n.setPosition(Lf.x,Lf.y,Lf.z),n.setOrientation(Df.x,Df.y,Df.z,r.x,r.y,r.z)}}let rG=class extends mn{constructor(e){super(),this.type="Audio",this.listener=e,this.context=e.context,this.gain=this.context.createGain(),this.gain.connect(e.getInput()),this.autoplay=!1,this.buffer=null,this.detune=0,this.loop=!1,this.loopStart=0,this.loopEnd=0,this.offset=0,this.duration=void 0,this.playbackRate=1,this.isPlaying=!1,this.hasPlaybackControl=!0,this.source=null,this.sourceType="empty",this._startedAt=0,this._progress=0,this._connected=!1,this.filters=[]}getOutput(){return this.gain}setNodeSource(e){return this.hasPlaybackControl=!1,this.sourceType="audioNode",this.source=e,this.connect(),this}setMediaElementSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaNode",this.source=this.context.createMediaElementSource(e),this.connect(),this}setMediaStreamSource(e){return this.hasPlaybackControl=!1,this.sourceType="mediaStreamNode",this.source=this.context.createMediaStreamSource(e),this.connect(),this}setBuffer(e){return this.buffer=e,this.sourceType="buffer",this.autoplay&&this.play(),this}play(e=0){if(this.isPlaying===!0){console.warn("THREE.Audio: Audio is already playing.");return}if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}this._startedAt=this.context.currentTime+e;const n=this.context.createBufferSource();return n.buffer=this.buffer,n.loop=this.loop,n.loopStart=this.loopStart,n.loopEnd=this.loopEnd,n.onended=this.onEnded.bind(this),n.start(this._startedAt,this._progress+this.offset,this.duration),this.isPlaying=!0,this.source=n,this.setDetune(this.detune),this.setPlaybackRate(this.playbackRate),this.connect()}pause(){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this.isPlaying===!0&&(this._progress+=Math.max(this.context.currentTime-this._startedAt,0)*this.playbackRate,this.loop===!0&&(this._progress=this._progress%(this.duration||this.buffer.duration)),this.source.stop(),this.source.onended=null,this.isPlaying=!1),this}stop(e=0){if(this.hasPlaybackControl===!1){console.warn("THREE.Audio: this Audio has no playback control.");return}return this._progress=0,this.source!==null&&(this.source.stop(this.context.currentTime+e),this.source.onended=null),this.isPlaying=!1,this}connect(){if(this.filters.length>0){this.source.connect(this.filters[0]);for(let e=1,n=this.filters.length;e0){this.source.disconnect(this.filters[0]);for(let e=1,n=this.filters.length;e0&&this._mixBufferRegionAdditive(r,i,this._addIndex*n,1,n);for(let l=n,c=n+n;l!==c;++l)if(r[l]!==r[l+n]){a.setValue(r,i);break}}saveOriginalState(){const e=this.binding,n=this.buffer,r=this.valueSize,i=r*this._origIndex;e.getValue(n,i);for(let s=r,o=i;s!==o;++s)n[s]=n[i+s%r];this._setIdentity(),this.cumulativeWeight=0,this.cumulativeWeightAdditive=0}restoreOriginalState(){const e=this.valueSize*3;this.binding.setValue(this.buffer,e)}_setAdditiveIdentityNumeric(){const e=this._addIndex*this.valueSize,n=e+this.valueSize;for(let r=e;r=.5)for(let o=0;o!==s;++o)e[n+o]=e[r+o]}_slerp(e,n,r,i){Kt.slerpFlat(e,n,e,n,e,r,i)}_slerpAdditive(e,n,r,i,s){const o=this._workIndex*s;Kt.multiplyQuaternionsFlat(e,o,e,n,e,r),Kt.slerpFlat(e,n,e,n,e,o,i)}_lerp(e,n,r,i,s){const o=1-i;for(let a=0;a!==s;++a){const l=n+a;e[l]=e[l]*o+e[r+a]*i}}_lerpAdditive(e,n,r,i,s){for(let o=0;o!==s;++o){const a=n+o;e[a]=e[a]+e[r+o]*i}}}const eN="\\[\\]\\.:\\/",mxe=new RegExp("["+eN+"]","g"),tN="[^"+eN+"]",gxe="[^"+eN.replace("\\.","")+"]",vxe=/((?:WC+[\/:])*)/.source.replace("WC",tN),yxe=/(WCOD+)?/.source.replace("WCOD",gxe),xxe=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC",tN),bxe=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC",tN),_xe=new RegExp("^"+vxe+yxe+xxe+bxe+"$"),wxe=["material","materials","bones","map"];class Sxe{constructor(e,n,r){const i=r||Nn.parseTrackName(n);this._targetGroup=e,this._bindings=e.subscribe_(n,i)}getValue(e,n){this.bind();const r=this._targetGroup.nCachedObjects_,i=this._bindings[r];i!==void 0&&i.getValue(e,n)}setValue(e,n){const r=this._bindings;for(let i=this._targetGroup.nCachedObjects_,s=r.length;i!==s;++i)r[i].setValue(e,n)}bind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,r=e.length;n!==r;++n)e[n].bind()}unbind(){const e=this._bindings;for(let n=this._targetGroup.nCachedObjects_,r=e.length;n!==r;++n)e[n].unbind()}}class Nn{constructor(e,n,r){this.path=n,this.parsedPath=r||Nn.parseTrackName(n),this.node=Nn.findNode(e,this.parsedPath.nodeName),this.rootNode=e,this.getValue=this._getValue_unbound,this.setValue=this._setValue_unbound}static create(e,n,r){return e&&e.isAnimationObjectGroup?new Nn.Composite(e,n,r):new Nn(e,n,r)}static sanitizeNodeName(e){return e.replace(/\s/g,"_").replace(mxe,"")}static parseTrackName(e){const n=_xe.exec(e);if(n===null)throw new Error("PropertyBinding: Cannot parse trackName: "+e);const r={nodeName:n[2],objectName:n[3],objectIndex:n[4],propertyName:n[5],propertyIndex:n[6]},i=r.nodeName&&r.nodeName.lastIndexOf(".");if(i!==void 0&&i!==-1){const s=r.nodeName.substring(i+1);wxe.indexOf(s)!==-1&&(r.nodeName=r.nodeName.substring(0,i),r.objectName=s)}if(r.propertyName===null||r.propertyName.length===0)throw new Error("PropertyBinding: can not parse propertyName from trackName: "+e);return r}static findNode(e,n){if(n===void 0||n===""||n==="."||n===-1||n===e.name||n===e.uuid)return e;if(e.skeleton){const r=e.skeleton.getBoneByName(n);if(r!==void 0)return r}if(e.children){const r=function(s){for(let o=0;o=s){const f=s++,m=e[f];n[m.uuid]=d,e[d]=m,n[c]=f,e[f]=l;for(let y=0,x=i;y!==x;++y){const S=r[y],w=S[f],_=S[d];S[d]=w,S[f]=_}}}this.nCachedObjects_=s}uncache(){const e=this._objects,n=this._indicesByUUID,r=this._bindings,i=r.length;let s=this.nCachedObjects_,o=e.length;for(let a=0,l=arguments.length;a!==l;++a){const c=arguments[a],d=c.uuid,f=n[d];if(f!==void 0)if(delete n[d],f0&&(n[y.uuid]=f),e[f]=y,e.pop();for(let x=0,S=i;x!==S;++x){const w=r[x];w[f]=w[m],w.pop()}}}this.nCachedObjects_=s}subscribe_(e,n){const r=this._bindingsIndicesByPath;let i=r[e];const s=this._bindings;if(i!==void 0)return s[i];const o=this._paths,a=this._parsedPaths,l=this._objects,c=l.length,d=this.nCachedObjects_,f=new Array(c);i=s.length,r[e]=i,o.push(e),a.push(n),s.push(f);for(let m=d,y=l.length;m!==y;++m){const x=l[m];f[m]=new Nn(x,e,n)}return f}unsubscribe_(e){const n=this._bindingsIndicesByPath,r=n[e];if(r!==void 0){const i=this._paths,s=this._parsedPaths,o=this._bindings,a=o.length-1,l=o[a],c=e[a];n[c]=r,o[r]=l,o.pop(),s[r]=s[a],s.pop(),i[r]=i[a],i.pop()}}}class sG{constructor(e,n,r=null,i=n.blendMode){this._mixer=e,this._clip=n,this._localRoot=r,this.blendMode=i;const s=n.tracks,o=s.length,a=new Array(o),l={endingStart:oh,endingEnd:oh};for(let c=0;c!==o;++c){const d=s[c].createInterpolant(null);a[c]=d,d.settings=l}this._interpolantSettings=l,this._interpolants=a,this._propertyBindings=new Array(o),this._cacheIndex=null,this._byClipCacheIndex=null,this._timeScaleInterpolant=null,this._weightInterpolant=null,this.loop=GV,this._loopCount=-1,this._startTime=null,this.time=0,this.timeScale=1,this._effectiveTimeScale=1,this.weight=1,this._effectiveWeight=1,this.repetitions=1/0,this.paused=!1,this.enabled=!0,this.clampWhenFinished=!1,this.zeroSlopeAtStart=!0,this.zeroSlopeAtEnd=!0}play(){return this._mixer._activateAction(this),this}stop(){return this._mixer._deactivateAction(this),this.reset()}reset(){return this.paused=!1,this.enabled=!0,this.time=0,this._loopCount=-1,this._startTime=null,this.stopFading().stopWarping()}isRunning(){return this.enabled&&!this.paused&&this.timeScale!==0&&this._startTime===null&&this._mixer._isActiveAction(this)}isScheduled(){return this._mixer._isActiveAction(this)}startAt(e){return this._startTime=e,this}setLoop(e,n){return this.loop=e,this.repetitions=n,this}setEffectiveWeight(e){return this.weight=e,this._effectiveWeight=this.enabled?e:0,this.stopFading()}getEffectiveWeight(){return this._effectiveWeight}fadeIn(e){return this._scheduleFading(e,0,1)}fadeOut(e){return this._scheduleFading(e,1,0)}crossFadeFrom(e,n,r){if(e.fadeOut(n),this.fadeIn(n),r){const i=this._clip.duration,s=e._clip.duration,o=s/i,a=i/s;e.warp(1,o,n),this.warp(a,1,n)}return this}crossFadeTo(e,n,r){return e.crossFadeFrom(this,n,r)}stopFading(){const e=this._weightInterpolant;return e!==null&&(this._weightInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}setEffectiveTimeScale(e){return this.timeScale=e,this._effectiveTimeScale=this.paused?0:e,this.stopWarping()}getEffectiveTimeScale(){return this._effectiveTimeScale}setDuration(e){return this.timeScale=this._clip.duration/e,this.stopWarping()}syncWith(e){return this.time=e.time,this.timeScale=e.timeScale,this.stopWarping()}halt(e){return this.warp(this._effectiveTimeScale,0,e)}warp(e,n,r){const i=this._mixer,s=i.time,o=this.timeScale;let a=this._timeScaleInterpolant;a===null&&(a=i._lendControlInterpolant(),this._timeScaleInterpolant=a);const l=a.parameterPositions,c=a.sampleValues;return l[0]=s,l[1]=s+r,c[0]=e/o,c[1]=n/o,this}stopWarping(){const e=this._timeScaleInterpolant;return e!==null&&(this._timeScaleInterpolant=null,this._mixer._takeBackControlInterpolant(e)),this}getMixer(){return this._mixer}getClip(){return this._clip}getRoot(){return this._localRoot||this._mixer._root}_update(e,n,r,i){if(!this.enabled){this._updateWeight(e);return}const s=this._startTime;if(s!==null){const l=(e-s)*r;l<0||r===0?n=0:(this._startTime=null,n=r*l)}n*=this._updateTimeScale(e);const o=this._updateTime(n),a=this._updateWeight(e);if(a>0){const l=this._interpolants,c=this._propertyBindings;switch(this.blendMode){case _R:for(let d=0,f=l.length;d!==f;++d)l[d].evaluate(o),c[d].accumulateAdditive(a);break;case ZS:default:for(let d=0,f=l.length;d!==f;++d)l[d].evaluate(o),c[d].accumulate(i,a)}}}_updateWeight(e){let n=0;if(this.enabled){n=this.weight;const r=this._weightInterpolant;if(r!==null){const i=r.evaluate(e)[0];n*=i,e>r.parameterPositions[1]&&(this.stopFading(),i===0&&(this.enabled=!1))}}return this._effectiveWeight=n,n}_updateTimeScale(e){let n=0;if(!this.paused){n=this.timeScale;const r=this._timeScaleInterpolant;if(r!==null){const i=r.evaluate(e)[0];n*=i,e>r.parameterPositions[1]&&(this.stopWarping(),n===0?this.paused=!0:this.timeScale=n)}}return this._effectiveTimeScale=n,n}_updateTime(e){const n=this._clip.duration,r=this.loop;let i=this.time+e,s=this._loopCount;const o=r===WV;if(e===0)return s===-1?i:o&&(s&1)===1?n-i:i;if(r===VV){s===-1&&(this._loopCount=0,this._setEndings(!0,!0,!1));e:{if(i>=n)i=n;else if(i<0)i=0;else{this.time=i;break e}this.clampWhenFinished?this.paused=!0:this.enabled=!1,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e<0?-1:1})}}else{if(s===-1&&(e>=0?(s=0,this._setEndings(!0,this.repetitions===0,o)):this._setEndings(this.repetitions===0,!0,o)),i>=n||i<0){const a=Math.floor(i/n);i-=n*a,s+=Math.abs(a);const l=this.repetitions-s;if(l<=0)this.clampWhenFinished?this.paused=!0:this.enabled=!1,i=e>0?n:0,this.time=i,this._mixer.dispatchEvent({type:"finished",action:this,direction:e>0?1:-1});else{if(l===1){const c=e<0;this._setEndings(c,!c,o)}else this._setEndings(!1,!1,o);this._loopCount=s,this.time=i,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:a})}}else this.time=i;if(o&&(s&1)===1)return n-i}return i}_setEndings(e,n,r){const i=this._interpolantSettings;r?(i.endingStart=ah,i.endingEnd=ah):(e?i.endingStart=this.zeroSlopeAtStart?ah:oh:i.endingStart=Cy,n?i.endingEnd=this.zeroSlopeAtEnd?ah:oh:i.endingEnd=Cy)}_scheduleFading(e,n,r){const i=this._mixer,s=i.time;let o=this._weightInterpolant;o===null&&(o=i._lendControlInterpolant(),this._weightInterpolant=o);const a=o.parameterPositions,l=o.sampleValues;return a[0]=s,l[0]=n,a[1]=s+e,l[1]=r,this}}const Exe=new Float32Array(1);class Axe extends Vl{constructor(e){super(),this._root=e,this._initMemoryManager(),this._accuIndex=0,this.time=0,this.timeScale=1}_bindAction(e,n){const r=e._localRoot||this._root,i=e._clip.tracks,s=i.length,o=e._propertyBindings,a=e._interpolants,l=r.uuid,c=this._bindingsByRootAndName;let d=c[l];d===void 0&&(d={},c[l]=d);for(let f=0;f!==s;++f){const m=i[f],y=m.name;let x=d[y];if(x!==void 0)++x.referenceCount,o[f]=x;else{if(x=o[f],x!==void 0){x._cacheIndex===null&&(++x.referenceCount,this._addInactiveBinding(x,l,y));continue}const S=n&&n._propertyBindings[f].binding.parsedPath;x=new iG(Nn.create(r,y,S),m.ValueTypeName,m.getValueSize()),++x.referenceCount,this._addInactiveBinding(x,l,y),o[f]=x}a[f].resultBuffer=x.buffer}}_activateAction(e){if(!this._isActiveAction(e)){if(e._cacheIndex===null){const r=(e._localRoot||this._root).uuid,i=e._clip.uuid,s=this._actionsByClip[i];this._bindAction(e,s&&s.knownActions[0]),this._addInactiveAction(e,i,r)}const n=e._propertyBindings;for(let r=0,i=n.length;r!==i;++r){const s=n[r];s.useCount++===0&&(this._lendBinding(s),s.saveOriginalState())}this._lendAction(e)}}_deactivateAction(e){if(this._isActiveAction(e)){const n=e._propertyBindings;for(let r=0,i=n.length;r!==i;++r){const s=n[r];--s.useCount===0&&(s.restoreOriginalState(),this._takeBackBinding(s))}this._takeBackAction(e)}}_initMemoryManager(){this._actions=[],this._nActiveActions=0,this._actionsByClip={},this._bindings=[],this._nActiveBindings=0,this._bindingsByRootAndName={},this._controlInterpolants=[],this._nActiveControlInterpolants=0;const e=this;this.stats={actions:{get total(){return e._actions.length},get inUse(){return e._nActiveActions}},bindings:{get total(){return e._bindings.length},get inUse(){return e._nActiveBindings}},controlInterpolants:{get total(){return e._controlInterpolants.length},get inUse(){return e._nActiveControlInterpolants}}}}_isActiveAction(e){const n=e._cacheIndex;return n!==null&&n=0;--r)e[r].stop();return this}update(e){e*=this.timeScale;const n=this._actions,r=this._nActiveActions,i=this.time+=e,s=Math.sign(e),o=this._accuIndex^=1;for(let c=0;c!==r;++c)n[c]._update(i,e,s,o);const a=this._bindings,l=this._nActiveBindings;for(let c=0;c!==l;++c)a[c].apply(o);return this}setTime(e){this.time=0;for(let n=0;n=this.min.x&&e.x<=this.max.x&&e.y>=this.min.y&&e.y<=this.max.y}containsBox(e){return this.min.x<=e.min.x&&e.max.x<=this.max.x&&this.min.y<=e.min.y&&e.max.y<=this.max.y}getParameter(e,n){return n.set((e.x-this.min.x)/(this.max.x-this.min.x),(e.y-this.min.y)/(this.max.y-this.min.y))}intersectsBox(e){return e.max.x>=this.min.x&&e.min.x<=this.max.x&&e.max.y>=this.min.y&&e.min.y<=this.max.y}clampPoint(e,n){return n.copy(e).clamp(this.min,this.max)}distanceToPoint(e){return this.clampPoint(e,dj).distanceTo(e)}intersect(e){return this.min.max(e.min),this.max.min(e.max),this.isEmpty()&&this.makeEmpty(),this}union(e){return this.min.min(e.min),this.max.max(e.max),this}translate(e){return this.min.add(e),this.max.add(e),this}equals(e){return e.min.equals(this.min)&&e.max.equals(this.max)}}const fj=new X,M_=new X;class Ixe{constructor(e=new X,n=new X){this.start=e,this.end=n}set(e,n){return this.start.copy(e),this.end.copy(n),this}copy(e){return this.start.copy(e.start),this.end.copy(e.end),this}getCenter(e){return e.addVectors(this.start,this.end).multiplyScalar(.5)}delta(e){return e.subVectors(this.end,this.start)}distanceSq(){return this.start.distanceToSquared(this.end)}distance(){return this.start.distanceTo(this.end)}at(e,n){return this.delta(n).multiplyScalar(e).add(this.start)}closestPointToPointParameter(e,n){fj.subVectors(e,this.start),M_.subVectors(this.end,this.start);const r=M_.dot(M_);let s=M_.dot(fj)/r;return n&&(s=Ar(s,0,1)),s}closestPointToPoint(e,n,r){const i=this.closestPointToPointParameter(e,n);return this.delta(r).multiplyScalar(i).add(this.start)}applyMatrix4(e){return this.start.applyMatrix4(e),this.end.applyMatrix4(e),this}equals(e){return e.start.equals(this.start)&&e.end.equals(this.end)}clone(){return new this.constructor().copy(this)}}const hj=new X;class kxe extends mn{constructor(e,n){super(),this.light=e,this.matrixAutoUpdate=!1,this.color=n,this.type="SpotLightHelper";const r=new Qt,i=[0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,-1,0,1,0,0,0,0,1,1,0,0,0,0,-1,1];for(let o=0,a=1,l=32;o1)for(let f=0;f.99999)this.quaternion.set(0,0,0,1);else if(e.y<-.99999)this.quaternion.set(1,0,0,0);else{yj.set(e.z,0,-e.x).normalize();const n=Math.acos(e.y);this.quaternion.setFromAxisAngle(yj,n)}}setLength(e,n=e*.2,r=n*.2){this.line.scale.set(1,Math.max(1e-4,e-n),1),this.line.updateMatrix(),this.cone.scale.set(r,n,r),this.cone.position.y=e,this.cone.updateMatrix()}setColor(e){this.line.material.color.set(e),this.cone.material.color.set(e)}copy(e){return super.copy(e,!1),this.line.copy(e.line),this.cone.copy(e.cone),this}dispose(){this.line.geometry.dispose(),this.line.material.dispose(),this.cone.geometry.dispose(),this.cone.material.dispose()}}class lG extends eo{constructor(e=1){const n=[0,0,0,e,0,0,0,0,0,0,e,0,0,0,0,0,0,e],r=[1,0,0,1,.6,0,0,1,0,.6,1,0,0,0,1,0,.6,1],i=new Qt;i.setAttribute("position",new Lt(n,3)),i.setAttribute("color",new Lt(r,3));const s=new $r({vertexColors:!0,toneMapped:!1});super(i,s),this.type="AxesHelper"}setColors(e,n,r){const i=new lt,s=this.geometry.attributes.color.array;return i.set(e),i.toArray(s,0),i.toArray(s,3),i.set(n),i.toArray(s,6),i.toArray(s,9),i.set(r),i.toArray(s,12),i.toArray(s,15),this.geometry.attributes.color.needsUpdate=!0,this}dispose(){this.geometry.dispose(),this.material.dispose()}}class $xe{constructor(){this.type="ShapePath",this.color=new lt,this.subPaths=[],this.currentPath=null}moveTo(e,n){return this.currentPath=new Ly,this.subPaths.push(this.currentPath),this.currentPath.moveTo(e,n),this}lineTo(e,n){return this.currentPath.lineTo(e,n),this}quadraticCurveTo(e,n,r,i){return this.currentPath.quadraticCurveTo(e,n,r,i),this}bezierCurveTo(e,n,r,i,s,o){return this.currentPath.bezierCurveTo(e,n,r,i,s,o),this}splineThru(e){return this.currentPath.splineThru(e),this}toShapes(e){function n(_){const E=[];for(let T=0,C=_.length;TNumber.EPSILON){if(k<0&&(D=E[N],G=-G,F=E[O],k=-k),_.yF.y)continue;if(_.y===D.y){if(_.x===D.x)return!0}else{const U=k*(_.x-D.x)-G*(_.y-D.y);if(U===0)return!0;if(U<0)continue;C=!C}}else{if(_.y!==D.y)continue;if(F.x<=_.x&&_.x<=D.x||D.x<=_.x&&_.x<=F.x)return!0}}return C}const i=Nl.isClockWise,s=this.subPaths;if(s.length===0)return[];let o,a,l;const c=[];if(s.length===1)return a=s[0],l=new Ch,l.curves=a.curves,c.push(l),c;let d=!i(s[0].getPoints());d=e?!d:d;const f=[],m=[];let y=[],x=0,S;m[x]=void 0,y[x]=[];for(let _=0,E=s.length;_1){let _=!1,E=0;for(let T=0,C=m.length;T0&&_===!1&&(y=f)}let w;for(let _=0,E=m.length;_>>1,q=B[V];if(0>>1;Vi(le,Y))bei(Se,le)?(B[V]=Se,B[be]=Y,V=be):(B[V]=le,B[ae]=Y,V=ae);else if(bei(Se,Y))B[V]=Se,B[be]=Y,V=be;else break e}}return J}function i(B,J){var Y=B.sortIndex-J.sortIndex;return Y!==0?Y:B.id-J.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],c=[],d=1,f=null,m=3,y=!1,x=!1,S=!1,w=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(B){for(var J=n(c);J!==null;){if(J.callback===null)r(c);else if(J.startTime<=B)r(c),J.sortIndex=J.expirationTime,e(l,J);else break;J=n(c)}}function C(B){if(S=!1,T(B),!x)if(n(l)!==null)x=!0,se(O);else{var J=n(c);J!==null&&fe(C,J.startTime-B)}}function O(B,J){x=!1,S&&(S=!1,_(F),F=-1),y=!0;var Y=m;try{for(T(J),f=n(l);f!==null&&(!(f.expirationTime>J)||B&&!U());){var V=f.callback;if(typeof V=="function"){f.callback=null,m=f.priorityLevel;var q=V(f.expirationTime<=J);J=t.unstable_now(),typeof q=="function"?f.callback=q:f===n(l)&&r(l),T(J)}else r(l);f=n(l)}if(f!==null)var pe=!0;else{var ae=n(c);ae!==null&&fe(C,ae.startTime-J),pe=!1}return pe}finally{f=null,m=Y,y=!1}}var N=!1,D=null,F=-1,G=5,k=-1;function U(){return!(t.unstable_now()-kB||125V?(B.sortIndex=Y,e(c,B),n(l)===null&&B===n(c)&&(S?(_(F),F=-1):S=!0,fe(C,Y-V))):(B.sortIndex=q,e(l,B),x||y||(x=!0,se(O))),B},t.unstable_shouldYield=U,t.unstable_wrapCallback=function(B){var J=m;return function(){var Y=m;m=J;try{return B.apply(this,arguments)}finally{m=Y}}}})(BA)),BA}var Sj;function nbe(){return Sj||(Sj=1,zA.exports=tbe()),zA.exports}/** + */var wj;function tbe(){return wj||(wj=1,(function(t){function e(B,J){var Y=B.length;B.push(J);e:for(;0>>1,q=B[V];if(0>>1;Vi(ce,Y))bei(Se,ce)?(B[V]=Se,B[be]=Y,V=be):(B[V]=ce,B[le]=Y,V=le);else if(bei(Se,Y))B[V]=Se,B[be]=Y,V=be;else break e}}return J}function i(B,J){var Y=B.sortIndex-J.sortIndex;return Y!==0?Y:B.id-J.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],c=[],d=1,f=null,m=3,y=!1,x=!1,S=!1,w=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(B){for(var J=n(c);J!==null;){if(J.callback===null)r(c);else if(J.startTime<=B)r(c),J.sortIndex=J.expirationTime,e(l,J);else break;J=n(c)}}function C(B){if(S=!1,T(B),!x)if(n(l)!==null)x=!0,oe(O);else{var J=n(c);J!==null&&fe(C,J.startTime-B)}}function O(B,J){x=!1,S&&(S=!1,_(F),F=-1),y=!0;var Y=m;try{for(T(J),f=n(l);f!==null&&(!(f.expirationTime>J)||B&&!U());){var V=f.callback;if(typeof V=="function"){f.callback=null,m=f.priorityLevel;var q=V(f.expirationTime<=J);J=t.unstable_now(),typeof q=="function"?f.callback=q:f===n(l)&&r(l),T(J)}else r(l);f=n(l)}if(f!==null)var pe=!0;else{var le=n(c);le!==null&&fe(C,le.startTime-J),pe=!1}return pe}finally{f=null,m=Y,y=!1}}var N=!1,D=null,F=-1,G=5,k=-1;function U(){return!(t.unstable_now()-kB||125V?(B.sortIndex=Y,e(c,B),n(l)===null&&B===n(c)&&(S?(_(F),F=-1):S=!0,fe(C,Y-V))):(B.sortIndex=q,e(l,B),x||y||(x=!0,oe(O))),B},t.unstable_shouldYield=U,t.unstable_wrapCallback=function(B){var J=m;return function(){var Y=m;m=J;try{return B.apply(this,arguments)}finally{m=Y}}}})(BA)),BA}var Sj;function nbe(){return Sj||(Sj=1,zA.exports=tbe()),zA.exports}/** * @license React * react-reconciler.production.min.js * @@ -4448,17 +4448,17 @@ void main() { * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var HA,Mj;function rbe(){return Mj||(Mj=1,HA=function(e){var n={},r=Wh(),i=nbe(),s=Object.assign;function o(p){for(var v="https://reactjs.org/docs/error-decoder.html?invariant="+p,M=1;Mye||L[ie]!==z[ye]){var ze=` -`+L[ie].replace(" at new "," at ");return p.displayName&&ze.includes("")&&(ze=ze.replace("",p.displayName)),ze}while(1<=ie&&0<=ye);break}}}finally{zt=!1,Error.prepareStackTrace=M}return(p=p?p.displayName||p.name:"")?Et(p):""}var Rt=Object.prototype.hasOwnProperty,Sn=[],Mn=-1;function yn(p){return{current:p}}function Zt(p){0>Mn||(p.current=Sn[Mn],Sn[Mn]=null,Mn--)}function Ut(p,v){Mn++,Sn[Mn]=p.current,p.current=v}var vt={},xn=yn(vt),tn=yn(!1),Pr=vt;function li(p,v){var M=p.type.contextTypes;if(!M)return vt;var P=p.stateNode;if(P&&P.__reactInternalMemoizedUnmaskedChildContext===v)return P.__reactInternalMemoizedMaskedChildContext;var L={},z;for(z in M)L[z]=v[z];return P&&(p=p.stateNode,p.__reactInternalMemoizedUnmaskedChildContext=v,p.__reactInternalMemoizedMaskedChildContext=L),L}function kn(p){return p=p.childContextTypes,p!=null}function Is(){Zt(tn),Zt(xn)}function Vn(p,v,M){if(xn.current!==vt)throw Error(o(168));Ut(xn,v),Ut(tn,M)}function to(p,v,M){var P=p.stateNode;if(v=v.childContextTypes,typeof P.getChildContext!="function")return M;P=P.getChildContext();for(var L in P)if(!(L in v))throw Error(o(108,F(p)||"Unknown",L));return s({},M,P)}function Ya(p){return p=(p=p.stateNode)&&p.__reactInternalMemoizedMergedChildContext||vt,Pr=xn.current,Ut(xn,p),Ut(tn,tn.current),!0}function Xr(p,v,M){var P=p.stateNode;if(!P)throw Error(o(169));M?(p=to(p,v,Pr),P.__reactInternalMemoizedMergedChildContext=p,Zt(tn),Zt(xn),Ut(xn,p)):Zt(tn),Ut(tn,M)}var ci=Math.clz32?Math.clz32:wM,Ld=Math.log,Za=Math.LN2;function wM(p){return p>>>=0,p===0?32:31-(Ld(p)/Za|0)|0}var fu=64,Pn=4194304;function hu(p){switch(p&-p){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return p&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return p&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return p}}function Dd(p,v){var M=p.pendingLanes;if(M===0)return 0;var P=0,L=p.suspendedLanes,z=p.pingedLanes,ie=M&268435455;if(ie!==0){var ye=ie&~L;ye!==0?P=hu(ye):(z&=ie,z!==0&&(P=hu(z)))}else ie=M&~L,ie!==0?P=hu(ie):z!==0&&(P=hu(z));if(P===0)return 0;if(v!==0&&v!==P&&(v&L)===0&&(L=P&-P,z=v&-v,L>=z||L===16&&(z&4194240)!==0))return v;if((P&4)!==0&&(P|=M&16),v=p.entangledLanes,v!==0)for(p=p.entanglements,v&=P;0M;M++)v.push(p);return v}function Wl(p,v,M){p.pendingLanes|=v,v!==536870912&&(p.suspendedLanes=0,p.pingedLanes=0),p=p.eventTimes,v=31-ci(v),p[v]=M}function op(p,v){var M=p.pendingLanes&~v;p.pendingLanes=v,p.suspendedLanes=0,p.pingedLanes=0,p.expiredLanes&=v,p.mutableReadLanes&=v,p.entangledLanes&=v,v=p.entanglements;var P=p.eventTimes;for(p=p.expirationTimes;0>=ie,L-=ie,ca=1<<32-ci(v)+L|M<En?(br=sn,sn=null):br=sn.sibling;var bn=Ht(Ie,sn,Ue[En],yt);if(bn===null){sn===null&&(sn=br);break}p&&sn&&bn.alternate===null&&v(Ie,sn),_e=z(bn,_e,En),on===null?kt=bn:on.sibling=bn,on=bn,sn=br}if(En===Ue.length)return M(Ie,sn),Zn&&Ql(Ie,En),kt;if(sn===null){for(;EnEn?(br=sn,sn=null):br=sn.sibling;var Ea=Ht(Ie,sn,bn.value,yt);if(Ea===null){sn===null&&(sn=br);break}p&&sn&&Ea.alternate===null&&v(Ie,sn),_e=z(Ea,_e,En),on===null?kt=Ea:on.sibling=Ea,on=Ea,sn=br}if(bn.done)return M(Ie,sn),Zn&&Ql(Ie,En),kt;if(sn===null){for(;!bn.done;En++,bn=Ue.next())bn=rn(Ie,bn.value,yt),bn!==null&&(_e=z(bn,_e,En),on===null?kt=bn:on.sibling=bn,on=bn);return Zn&&Ql(Ie,En),kt}for(sn=P(Ie,sn);!bn.done;En++,bn=Ue.next())bn=ln(sn,Ie,En,bn.value,yt),bn!==null&&(p&&bn.alternate!==null&&sn.delete(bn.key===null?En:bn.key),_e=z(bn,_e,En),on===null?kt=bn:on.sibling=bn,on=bn);return p&&sn.forEach(function(Kv){return v(Ie,Kv)}),Zn&&Ql(Ie,En),kt}function ys(Ie,_e,Ue,yt){if(typeof Ue=="object"&&Ue!==null&&Ue.type===d&&Ue.key===null&&(Ue=Ue.props.children),typeof Ue=="object"&&Ue!==null){switch(Ue.$$typeof){case l:e:{for(var kt=Ue.key,on=_e;on!==null;){if(on.key===kt){if(kt=Ue.type,kt===d){if(on.tag===7){M(Ie,on.sibling),_e=L(on,Ue.props.children),_e.return=Ie,Ie=_e;break e}}else if(on.elementType===kt||typeof kt=="object"&&kt!==null&&kt.$$typeof===T&&_u(kt)===on.type){M(Ie,on.sibling),_e=L(on,Ue.props),_e.ref=bu(Ie,on,Ue),_e.return=Ie,Ie=_e;break e}M(Ie,on);break}else v(Ie,on);on=on.sibling}Ue.type===d?(_e=bc(Ue.props.children,Ie.mode,yt,Ue.key),_e.return=Ie,Ie=_e):(yt=$p(Ue.type,Ue.key,Ue.props,null,Ie.mode,yt),yt.ref=bu(Ie,_e,Ue),yt.return=Ie,Ie=yt)}return ie(Ie);case c:e:{for(on=Ue.key;_e!==null;){if(_e.key===on)if(_e.tag===4&&_e.stateNode.containerInfo===Ue.containerInfo&&_e.stateNode.implementation===Ue.implementation){M(Ie,_e.sibling),_e=L(_e,Ue.children||[]),_e.return=Ie,Ie=_e;break e}else{M(Ie,_e);break}else v(Ie,_e);_e=_e.sibling}_e=qp(Ue,Ie.mode,yt),_e.return=Ie,Ie=_e}return ie(Ie);case T:return on=Ue._init,ys(Ie,_e,on(Ue._payload),yt)}if(he(Ue))return _t(Ie,_e,Ue,yt);if(N(Ue))return Jr(Ie,_e,Ue,yt);nl(Ie,Ue)}return typeof Ue=="string"&&Ue!==""||typeof Ue=="number"?(Ue=""+Ue,_e!==null&&_e.tag===6?(M(Ie,_e.sibling),_e=L(_e,Ue),_e.return=Ie,Ie=_e):(M(Ie,_e),_e=Xp(Ue,Ie.mode,yt),_e.return=Ie,Ie=_e),ie(Ie)):M(Ie,_e)}return ys}var da=Tx(!0),Cx=Tx(!1),wu={},Xi=yn(wu),Jl=yn(wu),ec=yn(wu);function ro(p){if(p===wu)throw Error(o(174));return p}function _p(p,v){Ut(ec,v),Ut(Jl,p),Ut(Xi,wu),p=fe(v),Zt(Xi),Ut(Xi,p)}function Su(){Zt(Xi),Zt(Jl),Zt(ec)}function Px(p){var v=ro(ec.current),M=ro(Xi.current);v=B(M,p.type,v),M!==v&&(Ut(Jl,p),Ut(Xi,v))}function xv(p){Jl.current===p&&(Zt(Xi),Zt(Jl))}var tr=yn(0);function wp(p){for(var v=p;v!==null;){if(v.tag===13){var M=v.memoizedState;if(M!==null&&(M=M.dehydrated,M===null||Ka(M)||Ns(M)))return v}else if(v.tag===19&&v.memoizedProps.revealOrder!==void 0){if((v.flags&128)!==0)return v}else if(v.child!==null){v.child.return=v,v=v.child;continue}if(v===p)break;for(;v.sibling===null;){if(v.return===null||v.return===p)return null;v=v.return}v.sibling.return=v.return,v=v.sibling}return null}var ds=[];function tc(){for(var p=0;pM?M:4,p(!0);var P=fs.transition;fs.transition={};try{p(!1),v()}finally{dn=M,fs.transition=P}}function ic(){return so().memoizedState}function Nx(p,v,M){var P=co(p);M={lane:P,action:M,hasEagerState:!1,eagerState:null,next:null},Ix(p)?Mv(v,M):(Yd(p,v,M),M=Rn(),p=fi(p,P,M),p!==null&&Zd(p,v,P))}function EM(p,v,M){var P=co(p),L={lane:P,action:M,hasEagerState:!1,eagerState:null,next:null};if(Ix(p))Mv(v,L);else{Yd(p,v,L);var z=p.alternate;if(p.lanes===0&&(z===null||z.lanes===0)&&(z=v.lastRenderedReducer,z!==null))try{var ie=v.lastRenderedState,ye=z(ie,M);if(L.hasEagerState=!0,L.eagerState=ye,Ai(ye,ie))return}catch{}finally{}M=Rn(),p=fi(p,P,M),p!==null&&Zd(p,v,P)}}function Ix(p){var v=p.alternate;return p===nr||v!==null&&v===nr}function Mv(p,v){Ro=Sp=!0;var M=p.pending;M===null?v.next=v:(v.next=M.next,M.next=v),p.pending=v}function Yd(p,v,M){mr!==null&&(p.mode&1)!==0&&(an&2)===0?(p=v.interleaved,p===null?(M.next=M,Ls===null?Ls=[v]:Ls.push(v)):(M.next=p.next,p.next=M),v.interleaved=M):(p=v.pending,p===null?M.next=M:(M.next=p.next,p.next=M),v.pending=M)}function Zd(p,v,M){if((M&4194240)!==0){var P=v.lanes;P&=p.pendingLanes,M|=P,v.lanes=M,Co(p,M)}}var Cu={readContext:$i,useCallback:Ur,useContext:Ur,useEffect:Ur,useImperativeHandle:Ur,useInsertionEffect:Ur,useLayoutEffect:Ur,useMemo:Ur,useReducer:Ur,useRef:Ur,useState:Ur,useDebugValue:Ur,useDeferredValue:Ur,useTransition:Ur,useMutableSource:Ur,useSyncExternalStore:Ur,useId:Ur,unstable_isNewReconciler:!1},Ev={readContext:$i,useCallback:function(p,v){return io().memoizedState=[p,v===void 0?null:v],p},useContext:$i,useEffect:Tp,useImperativeHandle:function(p,v,M){return M=M!=null?M.concat([p]):null,il(4194308,4,Kd.bind(null,v,p),M)},useLayoutEffect:function(p,v){return il(4194308,4,p,v)},useInsertionEffect:function(p,v){return il(4,2,p,v)},useMemo:function(p,v){var M=io();return v=v===void 0?null:v,p=p(),M.memoizedState=[p,v],p},useReducer:function(p,v,M){var P=io();return v=M!==void 0?M(v):v,P.memoizedState=P.baseState=v,p={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:p,lastRenderedState:v},P.queue=p,p=p.dispatch=Nx.bind(null,nr,p),[P.memoizedState,p]},useRef:function(p){var v=io();return p={current:p},v.memoizedState=p},useState:Xd,useDebugValue:Pp,useDeferredValue:function(p){var v=Xd(p),M=v[0],P=v[1];return Tp(function(){var L=fs.transition;fs.transition={};try{P(p)}finally{fs.transition=L}},[p]),M},useTransition:function(){var p=Xd(!1),v=p[0];return p=Np.bind(null,p[1]),io().memoizedState=p,[v,p]},useMutableSource:function(){},useSyncExternalStore:function(p,v,M){var P=nr,L=io();if(Zn){if(M===void 0)throw Error(o(407));M=M()}else{if(M=v(),mr===null)throw Error(o(349));(nc&30)!==0||wv(P,v,M)}L.memoizedState=M;var z={value:M,getSnapshot:v};return L.queue=z,Tp(fa.bind(null,P,z,p),[p]),P.flags|=2048,qd(9,Sv.bind(null,P,z,M,v),void 0,null),M},useId:function(){var p=io(),v=mr.identifierPrefix;if(Zn){var M=ua,P=ca;M=(P&~(1<<32-ci(P)-1)).toString(32)+M,v=":"+v+"R"+M,M=rc++,0ye||L[se]!==z[ye]){var Fe=` +`+L[se].replace(" at new "," at ");return p.displayName&&Fe.includes("")&&(Fe=Fe.replace("",p.displayName)),Fe}while(1<=se&&0<=ye);break}}}finally{Ft=!1,Error.prepareStackTrace=M}return(p=p?p.displayName||p.name:"")?At(p):""}var Nt=Object.prototype.hasOwnProperty,Sn=[],Mn=-1;function yn(p){return{current:p}}function Zt(p){0>Mn||(p.current=Sn[Mn],Sn[Mn]=null,Mn--)}function jt(p,v){Mn++,Sn[Mn]=p.current,p.current=v}var vt={},xn=yn(vt),tn=yn(!1),Pr=vt;function li(p,v){var M=p.type.contextTypes;if(!M)return vt;var P=p.stateNode;if(P&&P.__reactInternalMemoizedUnmaskedChildContext===v)return P.__reactInternalMemoizedMaskedChildContext;var L={},z;for(z in M)L[z]=v[z];return P&&(p=p.stateNode,p.__reactInternalMemoizedUnmaskedChildContext=v,p.__reactInternalMemoizedMaskedChildContext=L),L}function kn(p){return p=p.childContextTypes,p!=null}function Is(){Zt(tn),Zt(xn)}function Vn(p,v,M){if(xn.current!==vt)throw Error(o(168));jt(xn,v),jt(tn,M)}function to(p,v,M){var P=p.stateNode;if(v=v.childContextTypes,typeof P.getChildContext!="function")return M;P=P.getChildContext();for(var L in P)if(!(L in v))throw Error(o(108,F(p)||"Unknown",L));return s({},M,P)}function Ya(p){return p=(p=p.stateNode)&&p.__reactInternalMemoizedMergedChildContext||vt,Pr=xn.current,jt(xn,p),jt(tn,tn.current),!0}function Xr(p,v,M){var P=p.stateNode;if(!P)throw Error(o(169));M?(p=to(p,v,Pr),P.__reactInternalMemoizedMergedChildContext=p,Zt(tn),Zt(xn),jt(xn,p)):Zt(tn),jt(tn,M)}var ci=Math.clz32?Math.clz32:wM,Ld=Math.log,Za=Math.LN2;function wM(p){return p>>>=0,p===0?32:31-(Ld(p)/Za|0)|0}var fu=64,Pn=4194304;function hu(p){switch(p&-p){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return p&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return p&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return p}}function Dd(p,v){var M=p.pendingLanes;if(M===0)return 0;var P=0,L=p.suspendedLanes,z=p.pingedLanes,se=M&268435455;if(se!==0){var ye=se&~L;ye!==0?P=hu(ye):(z&=se,z!==0&&(P=hu(z)))}else se=M&~L,se!==0?P=hu(se):z!==0&&(P=hu(z));if(P===0)return 0;if(v!==0&&v!==P&&(v&L)===0&&(L=P&-P,z=v&-v,L>=z||L===16&&(z&4194240)!==0))return v;if((P&4)!==0&&(P|=M&16),v=p.entangledLanes,v!==0)for(p=p.entanglements,v&=P;0M;M++)v.push(p);return v}function Wl(p,v,M){p.pendingLanes|=v,v!==536870912&&(p.suspendedLanes=0,p.pingedLanes=0),p=p.eventTimes,v=31-ci(v),p[v]=M}function ap(p,v){var M=p.pendingLanes&~v;p.pendingLanes=v,p.suspendedLanes=0,p.pingedLanes=0,p.expiredLanes&=v,p.mutableReadLanes&=v,p.entangledLanes&=v,v=p.entanglements;var P=p.eventTimes;for(p=p.expirationTimes;0>=se,L-=se,ca=1<<32-ci(v)+L|M<En?(br=sn,sn=null):br=sn.sibling;var bn=Ht(Ne,sn,je[En],yt);if(bn===null){sn===null&&(sn=br);break}p&&sn&&bn.alternate===null&&v(Ne,sn),_e=z(bn,_e,En),on===null?Ot=bn:on.sibling=bn,on=bn,sn=br}if(En===je.length)return M(Ne,sn),Zn&&Ql(Ne,En),Ot;if(sn===null){for(;EnEn?(br=sn,sn=null):br=sn.sibling;var Ea=Ht(Ne,sn,bn.value,yt);if(Ea===null){sn===null&&(sn=br);break}p&&sn&&Ea.alternate===null&&v(Ne,sn),_e=z(Ea,_e,En),on===null?Ot=Ea:on.sibling=Ea,on=Ea,sn=br}if(bn.done)return M(Ne,sn),Zn&&Ql(Ne,En),Ot;if(sn===null){for(;!bn.done;En++,bn=je.next())bn=rn(Ne,bn.value,yt),bn!==null&&(_e=z(bn,_e,En),on===null?Ot=bn:on.sibling=bn,on=bn);return Zn&&Ql(Ne,En),Ot}for(sn=P(Ne,sn);!bn.done;En++,bn=je.next())bn=ln(sn,Ne,En,bn.value,yt),bn!==null&&(p&&bn.alternate!==null&&sn.delete(bn.key===null?En:bn.key),_e=z(bn,_e,En),on===null?Ot=bn:on.sibling=bn,on=bn);return p&&sn.forEach(function(Kv){return v(Ne,Kv)}),Zn&&Ql(Ne,En),Ot}function ys(Ne,_e,je,yt){if(typeof je=="object"&&je!==null&&je.type===d&&je.key===null&&(je=je.props.children),typeof je=="object"&&je!==null){switch(je.$$typeof){case l:e:{for(var Ot=je.key,on=_e;on!==null;){if(on.key===Ot){if(Ot=je.type,Ot===d){if(on.tag===7){M(Ne,on.sibling),_e=L(on,je.props.children),_e.return=Ne,Ne=_e;break e}}else if(on.elementType===Ot||typeof Ot=="object"&&Ot!==null&&Ot.$$typeof===T&&_u(Ot)===on.type){M(Ne,on.sibling),_e=L(on,je.props),_e.ref=bu(Ne,on,je),_e.return=Ne,Ne=_e;break e}M(Ne,on);break}else v(Ne,on);on=on.sibling}je.type===d?(_e=bc(je.props.children,Ne.mode,yt,je.key),_e.return=Ne,Ne=_e):(yt=Xp(je.type,je.key,je.props,null,Ne.mode,yt),yt.ref=bu(Ne,_e,je),yt.return=Ne,Ne=yt)}return se(Ne);case c:e:{for(on=je.key;_e!==null;){if(_e.key===on)if(_e.tag===4&&_e.stateNode.containerInfo===je.containerInfo&&_e.stateNode.implementation===je.implementation){M(Ne,_e.sibling),_e=L(_e,je.children||[]),_e.return=Ne,Ne=_e;break e}else{M(Ne,_e);break}else v(Ne,_e);_e=_e.sibling}_e=Kp(je,Ne.mode,yt),_e.return=Ne,Ne=_e}return se(Ne);case T:return on=je._init,ys(Ne,_e,on(je._payload),yt)}if(he(je))return _t(Ne,_e,je,yt);if(N(je))return Jr(Ne,_e,je,yt);nl(Ne,je)}return typeof je=="string"&&je!==""||typeof je=="number"?(je=""+je,_e!==null&&_e.tag===6?(M(Ne,_e.sibling),_e=L(_e,je),_e.return=Ne,Ne=_e):(M(Ne,_e),_e=qp(je,Ne.mode,yt),_e.return=Ne,Ne=_e),se(Ne)):M(Ne,_e)}return ys}var da=Tx(!0),Cx=Tx(!1),wu={},Xi=yn(wu),Jl=yn(wu),ec=yn(wu);function ro(p){if(p===wu)throw Error(o(174));return p}function wp(p,v){jt(ec,v),jt(Jl,p),jt(Xi,wu),p=fe(v),Zt(Xi),jt(Xi,p)}function Su(){Zt(Xi),Zt(Jl),Zt(ec)}function Px(p){var v=ro(ec.current),M=ro(Xi.current);v=B(M,p.type,v),M!==v&&(jt(Jl,p),jt(Xi,v))}function xv(p){Jl.current===p&&(Zt(Xi),Zt(Jl))}var tr=yn(0);function Sp(p){for(var v=p;v!==null;){if(v.tag===13){var M=v.memoizedState;if(M!==null&&(M=M.dehydrated,M===null||Ka(M)||Ns(M)))return v}else if(v.tag===19&&v.memoizedProps.revealOrder!==void 0){if((v.flags&128)!==0)return v}else if(v.child!==null){v.child.return=v,v=v.child;continue}if(v===p)break;for(;v.sibling===null;){if(v.return===null||v.return===p)return null;v=v.return}v.sibling.return=v.return,v=v.sibling}return null}var ds=[];function tc(){for(var p=0;pM?M:4,p(!0);var P=fs.transition;fs.transition={};try{p(!1),v()}finally{dn=M,fs.transition=P}}function ic(){return so().memoizedState}function Nx(p,v,M){var P=co(p);M={lane:P,action:M,hasEagerState:!1,eagerState:null,next:null},Ix(p)?Mv(v,M):(Yd(p,v,M),M=Rn(),p=fi(p,P,M),p!==null&&Zd(p,v,P))}function EM(p,v,M){var P=co(p),L={lane:P,action:M,hasEagerState:!1,eagerState:null,next:null};if(Ix(p))Mv(v,L);else{Yd(p,v,L);var z=p.alternate;if(p.lanes===0&&(z===null||z.lanes===0)&&(z=v.lastRenderedReducer,z!==null))try{var se=v.lastRenderedState,ye=z(se,M);if(L.hasEagerState=!0,L.eagerState=ye,Ai(ye,se))return}catch{}finally{}M=Rn(),p=fi(p,P,M),p!==null&&Zd(p,v,P)}}function Ix(p){var v=p.alternate;return p===nr||v!==null&&v===nr}function Mv(p,v){Ro=Mp=!0;var M=p.pending;M===null?v.next=v:(v.next=M.next,M.next=v),p.pending=v}function Yd(p,v,M){mr!==null&&(p.mode&1)!==0&&(an&2)===0?(p=v.interleaved,p===null?(M.next=M,Ls===null?Ls=[v]:Ls.push(v)):(M.next=p.next,p.next=M),v.interleaved=M):(p=v.pending,p===null?M.next=M:(M.next=p.next,p.next=M),v.pending=M)}function Zd(p,v,M){if((M&4194240)!==0){var P=v.lanes;P&=p.pendingLanes,M|=P,v.lanes=M,Co(p,M)}}var Cu={readContext:$i,useCallback:Ur,useContext:Ur,useEffect:Ur,useImperativeHandle:Ur,useInsertionEffect:Ur,useLayoutEffect:Ur,useMemo:Ur,useReducer:Ur,useRef:Ur,useState:Ur,useDebugValue:Ur,useDeferredValue:Ur,useTransition:Ur,useMutableSource:Ur,useSyncExternalStore:Ur,useId:Ur,unstable_isNewReconciler:!1},Ev={readContext:$i,useCallback:function(p,v){return io().memoizedState=[p,v===void 0?null:v],p},useContext:$i,useEffect:Cp,useImperativeHandle:function(p,v,M){return M=M!=null?M.concat([p]):null,il(4194308,4,Kd.bind(null,v,p),M)},useLayoutEffect:function(p,v){return il(4194308,4,p,v)},useInsertionEffect:function(p,v){return il(4,2,p,v)},useMemo:function(p,v){var M=io();return v=v===void 0?null:v,p=p(),M.memoizedState=[p,v],p},useReducer:function(p,v,M){var P=io();return v=M!==void 0?M(v):v,P.memoizedState=P.baseState=v,p={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:p,lastRenderedState:v},P.queue=p,p=p.dispatch=Nx.bind(null,nr,p),[P.memoizedState,p]},useRef:function(p){var v=io();return p={current:p},v.memoizedState=p},useState:Xd,useDebugValue:Rp,useDeferredValue:function(p){var v=Xd(p),M=v[0],P=v[1];return Cp(function(){var L=fs.transition;fs.transition={};try{P(p)}finally{fs.transition=L}},[p]),M},useTransition:function(){var p=Xd(!1),v=p[0];return p=Ip.bind(null,p[1]),io().memoizedState=p,[v,p]},useMutableSource:function(){},useSyncExternalStore:function(p,v,M){var P=nr,L=io();if(Zn){if(M===void 0)throw Error(o(407));M=M()}else{if(M=v(),mr===null)throw Error(o(349));(nc&30)!==0||wv(P,v,M)}L.memoizedState=M;var z={value:M,getSnapshot:v};return L.queue=z,Cp(fa.bind(null,P,z,p),[p]),P.flags|=2048,qd(9,Sv.bind(null,P,z,M,v),void 0,null),M},useId:function(){var p=io(),v=mr.identifierPrefix;if(Zn){var M=ua,P=ca;M=(P&~(1<<32-ci(P)-1)).toString(32)+M,v=":"+v+"R"+M,M=rc++,0ll&&(v.flags|=128,P=!0,pa(L,!1),v.lanes=4194304)}else{if(!P)if(p=wp(z),p!==null){if(v.flags|=128,P=!0,p=p.updateQueue,p!==null&&(v.updateQueue=p,v.flags|=4),pa(L,!0),L.tail===null&&L.tailMode==="hidden"&&!z.alternate&&!Zn)return pr(v),null}else 2*Rr()-L.renderingStartTime>ll&&M!==1073741824&&(v.flags|=128,P=!0,pa(L,!1),v.lanes=4194304);L.isBackwards?(z.sibling=v.child,v.child=z):(p=L.last,p!==null?p.sibling=z:v.child=z,L.last=z)}return L.tail!==null?(v=L.tail,L.rendering=v,L.tail=v.sibling,L.renderingStartTime=Rr(),v.sibling=null,p=tr.current,Ut(tr,P?p&1|2:p&1),v):(pr(v),null);case 22:case 23:return ff(),P=v.memoizedState!==null,p!==null&&p.memoizedState!==null!==P&&(v.flags|=8192),P&&(v.mode&1)!==0?(di&1073741824)!==0&&(pr(v),Ke&&v.subtreeFlags&6&&(v.flags|=8192)):pr(v),null;case 24:return null;case 25:return null}throw Error(o(156,v.tag))}var Rv=a.ReactCurrentOwner,Fr=!1;function ar(p,v,M,P){v.child=p===null?Cx(v,null,M,P):da(v,p.child,M,P)}function $n(p,v,M,P,L){M=M.render;var z=v.ref;return mu(v,L),P=Mu(p,v,M,P,z,L),M=rl(),p!==null&&!Fr?(v.updateQueue=p.updateQueue,v.flags&=-2053,p.lanes&=~L,qi(p,v,L)):(Zn&&M&&mv(v),v.flags|=1,ar(p,v,P,L),v.child)}function Gn(p,v,M,P,L){if(p===null){var z=M.type;return typeof z=="function"&&!Wp(z)&&z.defaultProps===void 0&&M.compare===null&&M.defaultProps===void 0?(v.tag=15,v.type=z,ma(p,v,z,P,L)):(p=$p(M.type,null,P,v,v.mode,L),p.ref=v.ref,p.return=v,v.child=p)}if(z=p.child,(p.lanes&L)===0){var ie=z.memoizedProps;if(M=M.compare,M=M!==null?M:no,M(ie,P)&&p.ref===v.ref)return qi(p,v,L)}return v.flags|=1,p=Ma(z,P),p.ref=v.ref,p.return=v,v.child=p}function ma(p,v,M,P,L){if(p!==null&&no(p.memoizedProps,P)&&p.ref===v.ref)if(Fr=!1,(p.lanes&L)!==0)(p.flags&131072)!==0&&(Fr=!0);else return v.lanes=p.lanes,qi(p,v,L);return ga(p,v,M,P,L)}function Kr(p,v,M){var P=v.pendingProps,L=P.children,z=p!==null?p.memoizedState:null;if(P.mode==="hidden")if((v.mode&1)===0)v.memoizedState={baseLanes:0,cachePool:null},Ut(mc,di),di|=M;else if((M&1073741824)!==0)v.memoizedState={baseLanes:0,cachePool:null},P=z!==null?z.baseLanes:M,Ut(mc,di),di|=P;else return p=z!==null?z.baseLanes|M:M,v.lanes=v.childLanes=1073741824,v.memoizedState={baseLanes:p,cachePool:null},v.updateQueue=null,Ut(mc,di),di|=p,null;else z!==null?(P=z.baseLanes|M,v.memoizedState=null):P=M,Ut(mc,di),di|=P;return ar(p,v,L,M),v.child}function Pi(p,v){var M=v.ref;(p===null&&M!==null||p!==null&&p.ref!==M)&&(v.flags|=512,v.flags|=2097152)}function ga(p,v,M,P,L){var z=kn(M)?Pr:xn.current;return z=li(v,z),mu(v,L),M=Mu(p,v,M,P,z,L),P=rl(),p!==null&&!Fr?(v.updateQueue=p.updateQueue,v.flags&=-2053,p.lanes&=~L,qi(p,v,L)):(Zn&&P&&mv(v),v.flags|=1,ar(p,v,M,L),v.child)}function ac(p,v,M,P,L){if(kn(M)){var z=!0;Ya(v)}else z=!1;if(mu(v,L),v.stateNode===null)p!==null&&(p.alternate=null,v.alternate=null,v.flags|=2),Sx(v,M,P),pv(v,M,P,L),P=!0;else if(p===null){var ie=v.stateNode,ye=v.memoizedProps;ie.props=ye;var ze=ie.context,st=M.contextType;typeof st=="object"&&st!==null?st=$i(st):(st=kn(M)?Pr:xn.current,st=li(v,st));var Mt=M.getDerivedStateFromProps,rn=typeof Mt=="function"||typeof ie.getSnapshotBeforeUpdate=="function";rn||typeof ie.UNSAFE_componentWillReceiveProps!="function"&&typeof ie.componentWillReceiveProps!="function"||(ye!==P||ze!==st)&&Mx(v,ie,P,st),Ds=!1;var Ht=v.memoizedState;ie.state=Ht,mp(v,P,ie,L),ze=v.memoizedState,ye!==P||Ht!==ze||tn.current||Ds?(typeof Mt=="function"&&(fv(v,M,Mt,P),ze=v.memoizedState),(ye=Ds||hv(v,M,ye,P,Ht,ze,st))?(rn||typeof ie.UNSAFE_componentWillMount!="function"&&typeof ie.componentWillMount!="function"||(typeof ie.componentWillMount=="function"&&ie.componentWillMount(),typeof ie.UNSAFE_componentWillMount=="function"&&ie.UNSAFE_componentWillMount()),typeof ie.componentDidMount=="function"&&(v.flags|=4194308)):(typeof ie.componentDidMount=="function"&&(v.flags|=4194308),v.memoizedProps=P,v.memoizedState=ze),ie.props=P,ie.state=ze,ie.context=st,P=ye):(typeof ie.componentDidMount=="function"&&(v.flags|=4194308),P=!1)}else{ie=v.stateNode,dv(p,v),ye=v.memoizedProps,st=v.type===v.elementType?ye:Wi(v.type,ye),ie.props=st,rn=v.pendingProps,Ht=ie.context,ze=M.contextType,typeof ze=="object"&&ze!==null?ze=$i(ze):(ze=kn(M)?Pr:xn.current,ze=li(v,ze));var ln=M.getDerivedStateFromProps;(Mt=typeof ln=="function"||typeof ie.getSnapshotBeforeUpdate=="function")||typeof ie.UNSAFE_componentWillReceiveProps!="function"&&typeof ie.componentWillReceiveProps!="function"||(ye!==rn||Ht!==ze)&&Mx(v,ie,P,ze),Ds=!1,Ht=v.memoizedState,ie.state=Ht,mp(v,P,ie,L);var _t=v.memoizedState;ye!==rn||Ht!==_t||tn.current||Ds?(typeof ln=="function"&&(fv(v,M,ln,P),_t=v.memoizedState),(st=Ds||hv(v,M,st,P,Ht,_t,ze)||!1)?(Mt||typeof ie.UNSAFE_componentWillUpdate!="function"&&typeof ie.componentWillUpdate!="function"||(typeof ie.componentWillUpdate=="function"&&ie.componentWillUpdate(P,_t,ze),typeof ie.UNSAFE_componentWillUpdate=="function"&&ie.UNSAFE_componentWillUpdate(P,_t,ze)),typeof ie.componentDidUpdate=="function"&&(v.flags|=4),typeof ie.getSnapshotBeforeUpdate=="function"&&(v.flags|=1024)):(typeof ie.componentDidUpdate!="function"||ye===p.memoizedProps&&Ht===p.memoizedState||(v.flags|=4),typeof ie.getSnapshotBeforeUpdate!="function"||ye===p.memoizedProps&&Ht===p.memoizedState||(v.flags|=1024),v.memoizedProps=P,v.memoizedState=_t),ie.props=P,ie.state=_t,ie.context=ze,P=st):(typeof ie.componentDidUpdate!="function"||ye===p.memoizedProps&&Ht===p.memoizedState||(v.flags|=4),typeof ie.getSnapshotBeforeUpdate!="function"||ye===p.memoizedProps&&Ht===p.memoizedState||(v.flags|=1024),P=!1)}return ui(p,v,M,P,z,L)}function ui(p,v,M,P,L,z){Pi(p,v);var ie=(v.flags&128)!==0;if(!P&&!ie)return L&&Xr(v,M,!1),qi(p,v,z);P=v.stateNode,Rv.current=v;var ye=ie&&typeof M.getDerivedStateFromError!="function"?null:P.render();return v.flags|=1,p!==null&&ie?(v.child=da(v,p.child,null,z),v.child=da(v,null,ye,z)):ar(p,v,ye,z),v.memoizedState=P.state,L&&Xr(v,M,!0),v.child}function Qd(p){var v=p.stateNode;v.pendingContext?Vn(p,v.pendingContext,v.pendingContext!==v.context):v.context&&Vn(p,v.context,!1),_p(p,v.containerInfo)}function Nv(p,v,M,P,L){return xu(),bp(L),v.flags|=256,ar(p,v,M,P),v.child}var Jd={dehydrated:null,treeContext:null,retryLane:0};function lc(p){return{baseLanes:p,cachePool:null}}function Iv(p,v,M){var P=v.pendingProps,L=tr.current,z=!1,ie=(v.flags&128)!==0,ye;if((ye=ie)||(ye=p!==null&&p.memoizedState===null?!1:(L&2)!==0),ye?(z=!0,v.flags&=-129):(p===null||p.memoizedState!==null)&&(L|=1),Ut(tr,L&1),p===null)return tl(v),p=v.memoizedState,p!==null&&(p=p.dehydrated,p!==null)?((v.mode&1)===0?v.lanes=1:Ns(p)?v.lanes=8:v.lanes=1073741824,null):(L=P.children,p=P.fallback,z?(P=v.mode,z=v.child,L={mode:"hidden",children:L},(P&1)===0&&z!==null?(z.childLanes=0,z.pendingProps=L):z=mf(L,P,0,null),p=bc(p,P,M,null),z.return=v,p.return=v,z.sibling=p,v.child=z,v.child.memoizedState=lc(M),v.memoizedState=Jd,p):oo(v,L));if(L=p.memoizedState,L!==null){if(ye=L.dehydrated,ye!==null){if(ie)return v.flags&256?(v.flags&=-257,tf(p,v,M,Error(o(422)))):v.memoizedState!==null?(v.child=p.child,v.flags|=128,null):(z=P.fallback,L=v.mode,P=mf({mode:"visible",children:P.children},L,0,null),z=bc(z,L,M,null),z.flags|=2,P.return=v,z.return=v,P.sibling=z,v.child=P,(v.mode&1)!==0&&da(v,p.child,null,M),v.child.memoizedState=lc(M),v.memoizedState=Jd,z);if((v.mode&1)===0)v=tf(p,v,M,null);else if(Ns(ye))v=tf(p,v,M,Error(o(419)));else if(P=(M&p.childLanes)!==0,Fr||P){if(P=mr,P!==null){switch(M&-M){case 4:z=2;break;case 16:z=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:z=32;break;case 536870912:z=268435456;break;default:z=0}P=(z&(P.suspendedLanes|M))!==0?0:z,P!==0&&P!==L.retryLane&&(L.retryLane=P,fi(p,P,-1))}Vp(),v=tf(p,v,M,Error(o(421)))}else Ka(ye)?(v.flags|=128,v.child=p.child,v=Ux.bind(null,p),ia(ye,v),v=null):(M=L.treeContext,Z&&(qr=cu(ye),Ci=v,Zn=!0,Us=null,yu=!1,M!==null&&(js[us++]=ca,js[us++]=ua,js[us++]=Zl,ca=M.id,ua=M.overflow,Zl=v)),v=oo(v,v.pendingProps.children),v.flags|=4096);return v}return z?(P=jp(p,v,P.children,P.fallback,M),z=v.child,L=p.child.memoizedState,z.memoizedState=L===null?lc(M):{baseLanes:L.baseLanes|M,cachePool:null},z.childLanes=p.childLanes&~M,v.memoizedState=Jd,P):(M=ef(p,v,P.children,M),v.memoizedState=null,M)}return z?(P=jp(p,v,P.children,P.fallback,M),z=v.child,L=p.child.memoizedState,z.memoizedState=L===null?lc(M):{baseLanes:L.baseLanes|M,cachePool:null},z.childLanes=p.childLanes&~M,v.memoizedState=Jd,P):(M=ef(p,v,P.children,M),v.memoizedState=null,M)}function oo(p,v){return v=mf({mode:"visible",children:v},p.mode,0,null),v.return=p,p.child=v}function ef(p,v,M,P){var L=p.child;return p=L.sibling,M=Ma(L,{mode:"visible",children:M}),(v.mode&1)===0&&(M.lanes=P),M.return=v,M.sibling=null,p!==null&&(P=v.deletions,P===null?(v.deletions=[p],v.flags|=16):P.push(p)),v.child=M}function jp(p,v,M,P,L){var z=v.mode;p=p.child;var ie=p.sibling,ye={mode:"hidden",children:M};return(z&1)===0&&v.child!==p?(M=v.child,M.childLanes=0,M.pendingProps=ye,v.deletions=null):(M=Ma(p,ye),M.subtreeFlags=p.subtreeFlags&14680064),ie!==null?P=Ma(ie,P):(P=bc(P,z,L,null),P.flags|=2),P.return=v,M.return=v,M.sibling=P,v.child=M,P}function tf(p,v,M,P){return P!==null&&bp(P),da(v,p.child,null,M),p=oo(v,v.pendingProps.children),p.flags|=2,v.memoizedState=null,p}function Ox(p,v,M){p.lanes|=v;var P=p.alternate;P!==null&&(P.lanes|=v),Yl(p.return,v,M)}function Io(p,v,M,P,L){var z=p.memoizedState;z===null?p.memoizedState={isBackwards:v,rendering:null,renderingStartTime:0,last:P,tail:M,tailMode:L}:(z.isBackwards=v,z.rendering=null,z.renderingStartTime=0,z.last=P,z.tail=M,z.tailMode=L)}function cc(p,v,M){var P=v.pendingProps,L=P.revealOrder,z=P.tail;if(ar(p,v,P.children,M),P=tr.current,(P&2)!==0)P=P&1|2,v.flags|=128;else{if(p!==null&&(p.flags&128)!==0)e:for(p=v.child;p!==null;){if(p.tag===13)p.memoizedState!==null&&Ox(p,M,v);else if(p.tag===19)Ox(p,M,v);else if(p.child!==null){p.child.return=p,p=p.child;continue}if(p===v)break e;for(;p.sibling===null;){if(p.return===null||p.return===v)break e;p=p.return}p.sibling.return=p.return,p=p.sibling}P&=1}if(Ut(tr,P),(v.mode&1)===0)v.memoizedState=null;else switch(L){case"forwards":for(M=v.child,L=null;M!==null;)p=M.alternate,p!==null&&wp(p)===null&&(L=M),M=M.sibling;M=L,M===null?(L=v.child,v.child=null):(L=M.sibling,M.sibling=null),Io(v,!1,L,M,z);break;case"backwards":for(M=null,L=v.child,v.child=null;L!==null;){if(p=L.alternate,p!==null&&wp(p)===null){v.child=L;break}p=L.sibling,L.sibling=M,M=L,L=p}Io(v,!0,M,null,z);break;case"together":Io(v,!1,null,null,void 0);break;default:v.memoizedState=null}return v.child}function qi(p,v,M){if(p!==null&&(v.dependencies=p.dependencies),ko|=v.lanes,(M&v.childLanes)===0)return null;if(p!==null&&v.child!==p.child)throw Error(o(153));if(v.child!==null){for(p=v.child,M=Ma(p,p.pendingProps),v.child=M,M.return=v;p.sibling!==null;)p=p.sibling,M=M.sibling=Ma(p,p.pendingProps),M.return=v;M.sibling=null}return v.child}function Up(p,v,M){switch(v.tag){case 3:Qd(v),xu();break;case 5:Px(v);break;case 1:kn(v.type)&&Ya(v);break;case 4:_p(v,v.stateNode.containerInfo);break;case 10:Kl(v,v.type._context,v.memoizedProps.value);break;case 13:var P=v.memoizedState;if(P!==null)return P.dehydrated!==null?(Ut(tr,tr.current&1),v.flags|=128,null):(M&v.child.childLanes)!==0?Iv(p,v,M):(Ut(tr,tr.current&1),p=qi(p,v,M),p!==null?p.sibling:null);Ut(tr,tr.current&1);break;case 19:if(P=(M&v.childLanes)!==0,(p.flags&128)!==0){if(P)return cc(p,v,M);v.flags|=128}var L=v.memoizedState;if(L!==null&&(L.rendering=null,L.tail=null,L.lastEffect=null),Ut(tr,tr.current),P)break;return null;case 22:case 23:return v.lanes=0,Kr(p,v,M)}return qi(p,v,M)}function Fp(p,v){switch(gv(v),v.tag){case 1:return kn(v.type)&&Is(),p=v.flags,p&65536?(v.flags=p&-65537|128,v):null;case 3:return Su(),Zt(tn),Zt(xn),tc(),p=v.flags,(p&65536)!==0&&(p&128)===0?(v.flags=p&-65537|128,v):null;case 5:return xv(v),null;case 13:if(Zt(tr),p=v.memoizedState,p!==null&&p.dehydrated!==null){if(v.alternate===null)throw Error(o(340));xu()}return p=v.flags,p&65536?(v.flags=p&-65537|128,v):null;case 19:return Zt(tr),null;case 4:return Su(),null;case 10:return Bd(v.type._context),null;case 22:case 23:return ff(),null;case 24:return null;default:return null}}var Ri=!1,zr=!1,uc=typeof WeakSet=="function"?WeakSet:Set,ft=null;function Fs(p,v){var M=p.ref;if(M!==null)if(typeof M=="function")try{M(null)}catch(P){Ii(p,v,P)}else M.current=null}function va(p,v,M){try{M()}catch(P){Ii(p,v,P)}}var kv=!1;function Ov(p,v){for(J(p.containerInfo),ft=v;ft!==null;)if(p=ft,v=p.child,(p.subtreeFlags&1028)!==0&&v!==null)v.return=p,ft=v;else for(;ft!==null;){p=ft;try{var M=p.alternate;if((p.flags&1024)!==0)switch(p.tag){case 0:case 11:case 15:break;case 1:if(M!==null){var P=M.memoizedProps,L=M.memoizedState,z=p.stateNode,ie=z.getSnapshotBeforeUpdate(p.elementType===p.type?P:Wi(p.type,P),L);z.__reactInternalSnapshotBeforeUpdate=ie}break;case 3:Ke&&Ye(p.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(ye){Ii(p,p.return,ye)}if(v=p.sibling,v!==null){v.return=p.return,ft=v;break}ft=p.return}return M=kv,kv=!1,M}function ya(p,v,M){var P=v.updateQueue;if(P=P!==null?P.lastEffect:null,P!==null){var L=P=P.next;do{if((L.tag&p)===p){var z=L.destroy;L.destroy=void 0,z!==void 0&&va(v,M,z)}L=L.next}while(L!==P)}}function Yr(p,v){if(v=v.updateQueue,v=v!==null?v.lastEffect:null,v!==null){var M=v=v.next;do{if((M.tag&p)===p){var P=M.create;M.destroy=P()}M=M.next}while(M!==v)}}function Ni(p){var v=p.ref;if(v!==null){var M=p.stateNode;switch(p.tag){case 5:p=se(M);break;default:p=M}typeof v=="function"?v(p):v.current=p}}function qn(p,v,M){if(Po&&typeof Po.onCommitFiberUnmount=="function")try{Po.onCommitFiberUnmount(jd,v)}catch{}switch(v.tag){case 0:case 11:case 14:case 15:if(p=v.updateQueue,p!==null&&(p=p.lastEffect,p!==null)){var P=p=p.next;do{var L=P,z=L.destroy;L=L.tag,z!==void 0&&((L&2)!==0||(L&4)!==0)&&va(v,M,z),P=P.next}while(P!==p)}break;case 1:if(Fs(v,M),p=v.stateNode,typeof p.componentWillUnmount=="function")try{p.props=v.memoizedProps,p.state=v.memoizedState,p.componentWillUnmount()}catch(ie){Ii(v,M,ie)}break;case 5:Fs(v,M);break;case 4:Ke?jv(p,v,M):ce&&ce&&(v=v.stateNode.containerInfo,M=Yt(v),en(v,M))}}function zs(p,v,M){for(var P=v;;)if(qn(p,P,M),P.child===null||Ke&&P.tag===4){if(P===v)break;for(;P.sibling===null;){if(P.return===null||P.return===v)return;P=P.return}P.sibling.return=P.return,P=P.sibling}else P.child.return=P,P=P.child}function Lv(p){var v=p.alternate;v!==null&&(p.alternate=null,Lv(v)),p.child=null,p.deletions=null,p.sibling=null,p.tag===5&&(v=p.stateNode,v!==null&&Je(v)),p.stateNode=null,p.return=null,p.dependencies=null,p.memoizedProps=null,p.memoizedState=null,p.pendingProps=null,p.stateNode=null,p.updateQueue=null}function Dv(p){return p.tag===5||p.tag===3||p.tag===4}function zp(p){e:for(;;){for(;p.sibling===null;){if(p.return===null||Dv(p.return))return null;p=p.return}for(p.sibling.return=p.return,p=p.sibling;p.tag!==5&&p.tag!==6&&p.tag!==18;){if(p.flags&2||p.child===null||p.tag===4)continue e;p.child.return=p,p=p.child}if(!(p.flags&2))return p.stateNode}}function Bp(p){if(Ke){e:{for(var v=p.return;v!==null;){if(Dv(v))break e;v=v.return}throw Error(o(160))}var M=v;switch(M.tag){case 5:v=M.stateNode,M.flags&32&&(Ae(v),M.flags&=-33),M=zp(p),Ru(p,M,v);break;case 3:case 4:v=M.stateNode.containerInfo,M=zp(p),Hp(p,M,v);break;default:throw Error(o(161))}}}function Hp(p,v,M){var P=p.tag;if(P===5||P===6)p=p.stateNode,v?ct(M,p,v):de(M,p);else if(P!==4&&(p=p.child,p!==null))for(Hp(p,v,M),p=p.sibling;p!==null;)Hp(p,v,M),p=p.sibling}function Ru(p,v,M){var P=p.tag;if(P===5||P===6)p=p.stateNode,v?Lt(M,p,v):dt(M,p);else if(P!==4&&(p=p.child,p!==null))for(Ru(p,v,M),p=p.sibling;p!==null;)Ru(p,v,M),p=p.sibling}function jv(p,v,M){for(var P=v,L=!1,z,ie;;){if(!L){L=P.return;e:for(;;){if(L===null)throw Error(o(160));switch(z=L.stateNode,L.tag){case 5:ie=!1;break e;case 3:z=z.containerInfo,ie=!0;break e;case 4:z=z.containerInfo,ie=!0;break e}L=L.return}L=!0}if(P.tag===5||P.tag===6)zs(p,P,M),ie?Q(z,P.stateNode):ue(z,P.stateNode);else if(P.tag===18)ie?ke(z,P.stateNode):Pe(z,P.stateNode);else if(P.tag===4){if(P.child!==null){z=P.stateNode.containerInfo,ie=!0,P.child.return=P,P=P.child;continue}}else if(qn(p,P,M),P.child!==null){P.child.return=P,P=P.child;continue}if(P===v)break;for(;P.sibling===null;){if(P.return===null||P.return===v)return;P=P.return,P.tag===4&&(L=!1)}P.sibling.return=P.return,P=P.sibling}}function ol(p,v){if(Ke){switch(v.tag){case 0:case 11:case 14:case 15:ya(3,v,v.return),Yr(3,v),ya(5,v,v.return);return;case 1:return;case 5:var M=v.stateNode;if(M!=null){var P=v.memoizedProps;p=p!==null?p.memoizedProps:P;var L=v.type,z=v.updateQueue;v.updateQueue=null,z!==null&&jt(M,z,L,p,P,v)}return;case 6:if(v.stateNode===null)throw Error(o(162));M=v.memoizedProps,Ne(v.stateNode,p!==null?p.memoizedProps:M,M);return;case 3:Z&&p!==null&&p.memoizedState.isDehydrated&&K(v.stateNode.containerInfo);return;case 12:return;case 13:Nu(v);return;case 19:Nu(v);return;case 17:return}throw Error(o(163))}switch(v.tag){case 0:case 11:case 14:case 15:ya(3,v,v.return),Yr(3,v),ya(5,v,v.return);return;case 12:return;case 13:Nu(v);return;case 19:Nu(v);return;case 3:Z&&p!==null&&p.memoizedState.isDehydrated&&K(v.stateNode.containerInfo);break;case 22:case 23:return}e:if(ce){switch(v.tag){case 1:case 5:case 6:break e;case 3:case 4:v=v.stateNode,en(v.containerInfo,v.pendingChildren);break e}throw Error(o(163))}}function Nu(p){var v=p.updateQueue;if(v!==null){p.updateQueue=null;var M=p.stateNode;M===null&&(M=p.stateNode=new uc),v.forEach(function(P){var L=Fx.bind(null,p,P);M.has(P)||(M.add(P),P.then(L,L))})}}function TM(p,v){for(ft=v;ft!==null;){v=ft;var M=v.deletions;if(M!==null)for(var P=0;P";case fc:return":has("+(al(p)||"")+")";case hc:return'[role="'+p.value+'"]';case Iu:return'"'+p.value+'"';case xa:return'[data-testname="'+p.value+'"]';default:throw Error(o(365))}}function ps(p,v){var M=[];p=[p,0];for(var P=0;PL&&(L=ie),P&=~z}if(P=L,P=Rr()-P,P=(120>P?120:480>P?480:1080>P?1080:1920>P?1920:3e3>P?3e3:4320>P?4320:1960*zv(P/1960))-P,10p?16:p,Oo===null)var P=!1;else{if(p=Oo,Oo=null,yc=0,(an&6)!==0)throw Error(o(331));var L=an;for(an|=4,ft=p.current;ft!==null;){var z=ft,ie=z.child;if((ft.flags&16)!==0){var ye=z.deletions;if(ye!==null){for(var ze=0;zeRr()-cf?Sa(p,0):gc|=M),Ki(p,v)}function Xv(p,v){v===0&&((p.mode&1)===0?v=1:(v=Pn,Pn<<=1,(Pn&130023424)===0&&(Pn=4194304)));var M=Rn();p=cl(p,v),p!==null&&(Wl(p,v,M),Ki(p,M))}function Ux(p){var v=p.memoizedState,M=0;v!==null&&(M=v.retryLane),Xv(p,M)}function Fx(p,v){var M=0;switch(p.tag){case 13:var P=p.stateNode,L=p.memoizedState;L!==null&&(M=L.retryLane);break;case 19:P=p.stateNode;break;default:throw Error(o(314))}P!==null&&P.delete(v),Xv(p,M)}var qv;qv=function(p,v,M){if(p!==null)if(p.memoizedProps!==v.pendingProps||tn.current)Fr=!0;else{if((p.lanes&M)===0&&(v.flags&128)===0)return Fr=!1,Up(p,v,M);Fr=(p.flags&131072)!==0}else Fr=!1,Zn&&(v.flags&1048576)!==0&&Ex(v,yp,v.index);switch(v.lanes=0,v.tag){case 2:var P=v.type;p!==null&&(p.alternate=null,v.alternate=null,v.flags|=2),p=v.pendingProps;var L=li(v,xn.current);mu(v,M),L=Mu(null,v,P,p,L,M);var z=rl();return v.flags|=1,typeof L=="object"&&L!==null&&typeof L.render=="function"&&L.$$typeof===void 0?(v.tag=1,v.memoizedState=null,v.updateQueue=null,kn(P)?(z=!0,Ya(v)):z=!1,v.memoizedState=L.state!==null&&L.state!==void 0?L.state:null,gu(v),L.updater=gp,v.stateNode=L,L._reactInternals=v,pv(v,P,p,M),v=ui(null,v,P,!0,z,M)):(v.tag=0,Zn&&z&&mv(v),ar(null,v,L,M),v=v.child),v;case 16:P=v.elementType;e:{switch(p!==null&&(p.alternate=null,v.alternate=null,v.flags|=2),p=v.pendingProps,L=P._init,P=L(P._payload),v.type=P,L=v.tag=CM(P),p=Wi(P,p),L){case 0:v=ga(null,v,P,p,M);break e;case 1:v=ac(null,v,P,p,M);break e;case 11:v=$n(null,v,P,p,M);break e;case 14:v=Gn(null,v,P,Wi(P.type,p),M);break e}throw Error(o(306,P,""))}return v;case 0:return P=v.type,L=v.pendingProps,L=v.elementType===P?L:Wi(P,L),ga(p,v,P,L,M);case 1:return P=v.type,L=v.pendingProps,L=v.elementType===P?L:Wi(P,L),ac(p,v,P,L,M);case 3:e:{if(Qd(v),p===null)throw Error(o(387));P=v.pendingProps,z=v.memoizedState,L=z.element,dv(p,v),mp(v,P,null,M);var ie=v.memoizedState;if(P=ie.element,Z&&z.isDehydrated)if(z={element:P,isDehydrated:!1,cache:ie.cache,transitions:ie.transitions},v.updateQueue.baseState=z,v.memoizedState=z,v.flags&256){L=Error(o(423)),v=Nv(p,v,P,M,L);break e}else if(P!==L){L=Error(o(424)),v=Nv(p,v,P,M,L);break e}else for(Z&&(qr=sa(v.stateNode.containerInfo),Ci=v,Zn=!0,Us=null,yu=!1),M=Cx(v,null,P,M),v.child=M;M;)M.flags=M.flags&-3|4096,M=M.sibling;else{if(xu(),P===L){v=qi(p,v,M);break e}ar(p,v,P,M)}v=v.child}return v;case 5:return Px(v),p===null&&tl(v),P=v.type,L=v.pendingProps,z=p!==null?p.memoizedProps:null,ie=L.children,le(P,L)?ie=null:z!==null&&le(P,z)&&(v.flags|=32),Pi(p,v),ar(p,v,ie,M),v.child;case 6:return p===null&&tl(v),null;case 13:return Iv(p,v,M);case 4:return _p(v,v.stateNode.containerInfo),P=v.pendingProps,p===null?v.child=da(v,null,P,M):ar(p,v,P,M),v.child;case 11:return P=v.type,L=v.pendingProps,L=v.elementType===P?L:Wi(P,L),$n(p,v,P,L,M);case 7:return ar(p,v,v.pendingProps,M),v.child;case 8:return ar(p,v,v.pendingProps.children,M),v.child;case 12:return ar(p,v,v.pendingProps.children,M),v.child;case 10:e:{if(P=v.type._context,L=v.pendingProps,z=v.memoizedProps,ie=L.value,Kl(v,P,ie),z!==null)if(Ai(z.value,ie)){if(z.children===L.children&&!tn.current){v=qi(p,v,M);break e}}else for(z=v.child,z!==null&&(z.return=v);z!==null;){var ye=z.dependencies;if(ye!==null){ie=z.child;for(var ze=ye.firstContext;ze!==null;){if(ze.context===P){if(z.tag===1){ze=la(-1,M&-M),ze.tag=2;var st=z.updateQueue;if(st!==null){st=st.shared;var Mt=st.pending;Mt===null?ze.next=ze:(ze.next=Mt.next,Mt.next=ze),st.pending=ze}}z.lanes|=M,ze=z.alternate,ze!==null&&(ze.lanes|=M),Yl(z.return,M,v),ye.lanes|=M;break}ze=ze.next}}else if(z.tag===10)ie=z.type===v.type?null:z.child;else if(z.tag===18){if(ie=z.return,ie===null)throw Error(o(341));ie.lanes|=M,ye=ie.alternate,ye!==null&&(ye.lanes|=M),Yl(ie,M,v),ie=z.sibling}else ie=z.child;if(ie!==null)ie.return=z;else for(ie=z;ie!==null;){if(ie===v){ie=null;break}if(z=ie.sibling,z!==null){z.return=ie.return,ie=z;break}ie=ie.return}z=ie}ar(p,v,L.children,M),v=v.child}return v;case 9:return L=v.type,P=v.pendingProps.children,mu(v,M),L=$i(L),P=P(L),v.flags|=1,ar(p,v,P,M),v.child;case 14:return P=v.type,L=Wi(P,v.pendingProps),L=Wi(P.type,L),Gn(p,v,P,L,M);case 15:return ma(p,v,v.type,v.pendingProps,M);case 17:return P=v.type,L=v.pendingProps,L=v.elementType===P?L:Wi(P,L),p!==null&&(p.alternate=null,v.alternate=null,v.flags|=2),v.tag=1,kn(P)?(p=!0,Ya(v)):p=!1,mu(v,M),Sx(v,P,L),pv(v,P,L,M),ui(null,v,P,!0,p,M);case 19:return cc(p,v,M);case 22:return Kr(p,v,M)}throw Error(o(156,v.tag))};function Gp(p,v){return $l(p,v)}function zx(p,v,M,P){this.tag=p,this.key=M,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=v,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=P,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function vs(p,v,M,P){return new zx(p,v,M,P)}function Wp(p){return p=p.prototype,!(!p||!p.isReactComponent)}function CM(p){if(typeof p=="function")return Wp(p)?1:0;if(p!=null){if(p=p.$$typeof,p===S)return 11;if(p===E)return 14}return 2}function Ma(p,v){var M=p.alternate;return M===null?(M=vs(p.tag,v,p.key,p.mode),M.elementType=p.elementType,M.type=p.type,M.stateNode=p.stateNode,M.alternate=p,p.alternate=M):(M.pendingProps=v,M.type=p.type,M.flags=0,M.subtreeFlags=0,M.deletions=null),M.flags=p.flags&14680064,M.childLanes=p.childLanes,M.lanes=p.lanes,M.child=p.child,M.memoizedProps=p.memoizedProps,M.memoizedState=p.memoizedState,M.updateQueue=p.updateQueue,v=p.dependencies,M.dependencies=v===null?null:{lanes:v.lanes,firstContext:v.firstContext},M.sibling=p.sibling,M.index=p.index,M.ref=p.ref,M}function $p(p,v,M,P,L,z){var ie=2;if(P=p,typeof p=="function")Wp(p)&&(ie=1);else if(typeof p=="string")ie=5;else e:switch(p){case d:return bc(M.children,L,z,v);case f:ie=8,L|=8;break;case m:return p=vs(12,M,v,L|2),p.elementType=m,p.lanes=z,p;case w:return p=vs(13,M,v,L),p.elementType=w,p.lanes=z,p;case _:return p=vs(19,M,v,L),p.elementType=_,p.lanes=z,p;case C:return mf(M,L,z,v);default:if(typeof p=="object"&&p!==null)switch(p.$$typeof){case y:ie=10;break e;case x:ie=9;break e;case S:ie=11;break e;case E:ie=14;break e;case T:ie=16,P=null;break e}throw Error(o(130,p==null?p:typeof p,""))}return v=vs(ie,M,v,L),v.elementType=p,v.type=P,v.lanes=z,v}function bc(p,v,M,P){return p=vs(7,p,P,v),p.lanes=M,p}function mf(p,v,M,P){return p=vs(22,p,P,v),p.elementType=C,p.lanes=M,p.stateNode={},p}function Xp(p,v,M){return p=vs(6,p,null,v),p.lanes=M,p}function qp(p,v,M){return v=vs(4,p.children!==null?p.children:[],p.key,v),v.lanes=M,v.stateNode={containerInfo:p.containerInfo,pendingChildren:null,implementation:p.implementation},v}function Kp(p,v,M,P,L){this.tag=v,this.containerInfo=p,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Me,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=sp(0),this.expirationTimes=sp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=sp(0),this.identifierPrefix=P,this.onRecoverableError=L,Z&&(this.mutableSourceEagerHydrationData=null)}function Bx(p,v,M,P,L,z,ie,ye,ze){return p=new Kp(p,v,M,ye,ze),v===1?(v=1,z===!0&&(v|=8)):v=0,z=vs(3,null,null,v),p.current=z,z.stateNode=p,z.memoizedState={element:P,isDehydrated:M,cache:null,transitions:null},gu(z),p}function Hx(p){if(!p)return vt;p=p._reactInternals;e:{if(G(p)!==p||p.tag!==1)throw Error(o(170));var v=p;do{switch(v.tag){case 3:v=v.stateNode.context;break e;case 1:if(kn(v.type)){v=v.stateNode.__reactInternalMemoizedMergedChildContext;break e}}v=v.return}while(v!==null);throw Error(o(171))}if(p.tag===1){var M=p.type;if(kn(M))return to(p,M,v)}return v}function Vx(p){var v=p._reactInternals;if(v===void 0)throw typeof p.render=="function"?Error(o(188)):(p=Object.keys(p).join(","),Error(o(268,p)));return p=H(v),p===null?null:p.stateNode}function Bs(p,v){if(p=p.memoizedState,p!==null&&p.dehydrated!==null){var M=p.retryLane;p.retryLane=M!==0&&M=st&&z>=rn&&L<=Mt&&ie<=Ht){p.splice(v,1);break}else if(P!==st||M.width!==ze.width||Htie){if(!(z!==rn||M.height!==ze.height||MtL)){st>P&&(ze.width+=st-P,ze.x=P),Mtz&&(ze.height+=rn-z,ze.y=z),HtM&&(M=ie)),iell&&(v.flags|=128,P=!0,pa(L,!1),v.lanes=4194304)}else{if(!P)if(p=Sp(z),p!==null){if(v.flags|=128,P=!0,p=p.updateQueue,p!==null&&(v.updateQueue=p,v.flags|=4),pa(L,!0),L.tail===null&&L.tailMode==="hidden"&&!z.alternate&&!Zn)return pr(v),null}else 2*Rr()-L.renderingStartTime>ll&&M!==1073741824&&(v.flags|=128,P=!0,pa(L,!1),v.lanes=4194304);L.isBackwards?(z.sibling=v.child,v.child=z):(p=L.last,p!==null?p.sibling=z:v.child=z,L.last=z)}return L.tail!==null?(v=L.tail,L.rendering=v,L.tail=v.sibling,L.renderingStartTime=Rr(),v.sibling=null,p=tr.current,jt(tr,P?p&1|2:p&1),v):(pr(v),null);case 22:case 23:return ff(),P=v.memoizedState!==null,p!==null&&p.memoizedState!==null!==P&&(v.flags|=8192),P&&(v.mode&1)!==0?(di&1073741824)!==0&&(pr(v),qe&&v.subtreeFlags&6&&(v.flags|=8192)):pr(v),null;case 24:return null;case 25:return null}throw Error(o(156,v.tag))}var Rv=a.ReactCurrentOwner,Fr=!1;function ar(p,v,M,P){v.child=p===null?Cx(v,null,M,P):da(v,p.child,M,P)}function $n(p,v,M,P,L){M=M.render;var z=v.ref;return mu(v,L),P=Mu(p,v,M,P,z,L),M=rl(),p!==null&&!Fr?(v.updateQueue=p.updateQueue,v.flags&=-2053,p.lanes&=~L,qi(p,v,L)):(Zn&&M&&mv(v),v.flags|=1,ar(p,v,P,L),v.child)}function Gn(p,v,M,P,L){if(p===null){var z=M.type;return typeof z=="function"&&!$p(z)&&z.defaultProps===void 0&&M.compare===null&&M.defaultProps===void 0?(v.tag=15,v.type=z,ma(p,v,z,P,L)):(p=Xp(M.type,null,P,v,v.mode,L),p.ref=v.ref,p.return=v,v.child=p)}if(z=p.child,(p.lanes&L)===0){var se=z.memoizedProps;if(M=M.compare,M=M!==null?M:no,M(se,P)&&p.ref===v.ref)return qi(p,v,L)}return v.flags|=1,p=Ma(z,P),p.ref=v.ref,p.return=v,v.child=p}function ma(p,v,M,P,L){if(p!==null&&no(p.memoizedProps,P)&&p.ref===v.ref)if(Fr=!1,(p.lanes&L)!==0)(p.flags&131072)!==0&&(Fr=!0);else return v.lanes=p.lanes,qi(p,v,L);return ga(p,v,M,P,L)}function Kr(p,v,M){var P=v.pendingProps,L=P.children,z=p!==null?p.memoizedState:null;if(P.mode==="hidden")if((v.mode&1)===0)v.memoizedState={baseLanes:0,cachePool:null},jt(mc,di),di|=M;else if((M&1073741824)!==0)v.memoizedState={baseLanes:0,cachePool:null},P=z!==null?z.baseLanes:M,jt(mc,di),di|=P;else return p=z!==null?z.baseLanes|M:M,v.lanes=v.childLanes=1073741824,v.memoizedState={baseLanes:p,cachePool:null},v.updateQueue=null,jt(mc,di),di|=p,null;else z!==null?(P=z.baseLanes|M,v.memoizedState=null):P=M,jt(mc,di),di|=P;return ar(p,v,L,M),v.child}function Pi(p,v){var M=v.ref;(p===null&&M!==null||p!==null&&p.ref!==M)&&(v.flags|=512,v.flags|=2097152)}function ga(p,v,M,P,L){var z=kn(M)?Pr:xn.current;return z=li(v,z),mu(v,L),M=Mu(p,v,M,P,z,L),P=rl(),p!==null&&!Fr?(v.updateQueue=p.updateQueue,v.flags&=-2053,p.lanes&=~L,qi(p,v,L)):(Zn&&P&&mv(v),v.flags|=1,ar(p,v,M,L),v.child)}function ac(p,v,M,P,L){if(kn(M)){var z=!0;Ya(v)}else z=!1;if(mu(v,L),v.stateNode===null)p!==null&&(p.alternate=null,v.alternate=null,v.flags|=2),Sx(v,M,P),pv(v,M,P,L),P=!0;else if(p===null){var se=v.stateNode,ye=v.memoizedProps;se.props=ye;var Fe=se.context,st=M.contextType;typeof st=="object"&&st!==null?st=$i(st):(st=kn(M)?Pr:xn.current,st=li(v,st));var Et=M.getDerivedStateFromProps,rn=typeof Et=="function"||typeof se.getSnapshotBeforeUpdate=="function";rn||typeof se.UNSAFE_componentWillReceiveProps!="function"&&typeof se.componentWillReceiveProps!="function"||(ye!==P||Fe!==st)&&Mx(v,se,P,st),Ds=!1;var Ht=v.memoizedState;se.state=Ht,gp(v,P,se,L),Fe=v.memoizedState,ye!==P||Ht!==Fe||tn.current||Ds?(typeof Et=="function"&&(fv(v,M,Et,P),Fe=v.memoizedState),(ye=Ds||hv(v,M,ye,P,Ht,Fe,st))?(rn||typeof se.UNSAFE_componentWillMount!="function"&&typeof se.componentWillMount!="function"||(typeof se.componentWillMount=="function"&&se.componentWillMount(),typeof se.UNSAFE_componentWillMount=="function"&&se.UNSAFE_componentWillMount()),typeof se.componentDidMount=="function"&&(v.flags|=4194308)):(typeof se.componentDidMount=="function"&&(v.flags|=4194308),v.memoizedProps=P,v.memoizedState=Fe),se.props=P,se.state=Fe,se.context=st,P=ye):(typeof se.componentDidMount=="function"&&(v.flags|=4194308),P=!1)}else{se=v.stateNode,dv(p,v),ye=v.memoizedProps,st=v.type===v.elementType?ye:Wi(v.type,ye),se.props=st,rn=v.pendingProps,Ht=se.context,Fe=M.contextType,typeof Fe=="object"&&Fe!==null?Fe=$i(Fe):(Fe=kn(M)?Pr:xn.current,Fe=li(v,Fe));var ln=M.getDerivedStateFromProps;(Et=typeof ln=="function"||typeof se.getSnapshotBeforeUpdate=="function")||typeof se.UNSAFE_componentWillReceiveProps!="function"&&typeof se.componentWillReceiveProps!="function"||(ye!==rn||Ht!==Fe)&&Mx(v,se,P,Fe),Ds=!1,Ht=v.memoizedState,se.state=Ht,gp(v,P,se,L);var _t=v.memoizedState;ye!==rn||Ht!==_t||tn.current||Ds?(typeof ln=="function"&&(fv(v,M,ln,P),_t=v.memoizedState),(st=Ds||hv(v,M,st,P,Ht,_t,Fe)||!1)?(Et||typeof se.UNSAFE_componentWillUpdate!="function"&&typeof se.componentWillUpdate!="function"||(typeof se.componentWillUpdate=="function"&&se.componentWillUpdate(P,_t,Fe),typeof se.UNSAFE_componentWillUpdate=="function"&&se.UNSAFE_componentWillUpdate(P,_t,Fe)),typeof se.componentDidUpdate=="function"&&(v.flags|=4),typeof se.getSnapshotBeforeUpdate=="function"&&(v.flags|=1024)):(typeof se.componentDidUpdate!="function"||ye===p.memoizedProps&&Ht===p.memoizedState||(v.flags|=4),typeof se.getSnapshotBeforeUpdate!="function"||ye===p.memoizedProps&&Ht===p.memoizedState||(v.flags|=1024),v.memoizedProps=P,v.memoizedState=_t),se.props=P,se.state=_t,se.context=Fe,P=st):(typeof se.componentDidUpdate!="function"||ye===p.memoizedProps&&Ht===p.memoizedState||(v.flags|=4),typeof se.getSnapshotBeforeUpdate!="function"||ye===p.memoizedProps&&Ht===p.memoizedState||(v.flags|=1024),P=!1)}return ui(p,v,M,P,z,L)}function ui(p,v,M,P,L,z){Pi(p,v);var se=(v.flags&128)!==0;if(!P&&!se)return L&&Xr(v,M,!1),qi(p,v,z);P=v.stateNode,Rv.current=v;var ye=se&&typeof M.getDerivedStateFromError!="function"?null:P.render();return v.flags|=1,p!==null&&se?(v.child=da(v,p.child,null,z),v.child=da(v,null,ye,z)):ar(p,v,ye,z),v.memoizedState=P.state,L&&Xr(v,M,!0),v.child}function Qd(p){var v=p.stateNode;v.pendingContext?Vn(p,v.pendingContext,v.pendingContext!==v.context):v.context&&Vn(p,v.context,!1),wp(p,v.containerInfo)}function Nv(p,v,M,P,L){return xu(),_p(L),v.flags|=256,ar(p,v,M,P),v.child}var Jd={dehydrated:null,treeContext:null,retryLane:0};function lc(p){return{baseLanes:p,cachePool:null}}function Iv(p,v,M){var P=v.pendingProps,L=tr.current,z=!1,se=(v.flags&128)!==0,ye;if((ye=se)||(ye=p!==null&&p.memoizedState===null?!1:(L&2)!==0),ye?(z=!0,v.flags&=-129):(p===null||p.memoizedState!==null)&&(L|=1),jt(tr,L&1),p===null)return tl(v),p=v.memoizedState,p!==null&&(p=p.dehydrated,p!==null)?((v.mode&1)===0?v.lanes=1:Ns(p)?v.lanes=8:v.lanes=1073741824,null):(L=P.children,p=P.fallback,z?(P=v.mode,z=v.child,L={mode:"hidden",children:L},(P&1)===0&&z!==null?(z.childLanes=0,z.pendingProps=L):z=mf(L,P,0,null),p=bc(p,P,M,null),z.return=v,p.return=v,z.sibling=p,v.child=z,v.child.memoizedState=lc(M),v.memoizedState=Jd,p):oo(v,L));if(L=p.memoizedState,L!==null){if(ye=L.dehydrated,ye!==null){if(se)return v.flags&256?(v.flags&=-257,tf(p,v,M,Error(o(422)))):v.memoizedState!==null?(v.child=p.child,v.flags|=128,null):(z=P.fallback,L=v.mode,P=mf({mode:"visible",children:P.children},L,0,null),z=bc(z,L,M,null),z.flags|=2,P.return=v,z.return=v,P.sibling=z,v.child=P,(v.mode&1)!==0&&da(v,p.child,null,M),v.child.memoizedState=lc(M),v.memoizedState=Jd,z);if((v.mode&1)===0)v=tf(p,v,M,null);else if(Ns(ye))v=tf(p,v,M,Error(o(419)));else if(P=(M&p.childLanes)!==0,Fr||P){if(P=mr,P!==null){switch(M&-M){case 4:z=2;break;case 16:z=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:z=32;break;case 536870912:z=268435456;break;default:z=0}P=(z&(P.suspendedLanes|M))!==0?0:z,P!==0&&P!==L.retryLane&&(L.retryLane=P,fi(p,P,-1))}Gp(),v=tf(p,v,M,Error(o(421)))}else Ka(ye)?(v.flags|=128,v.child=p.child,v=Ux.bind(null,p),ia(ye,v),v=null):(M=L.treeContext,Z&&(qr=cu(ye),Ci=v,Zn=!0,Us=null,yu=!1,M!==null&&(js[us++]=ca,js[us++]=ua,js[us++]=Zl,ca=M.id,ua=M.overflow,Zl=v)),v=oo(v,v.pendingProps.children),v.flags|=4096);return v}return z?(P=Up(p,v,P.children,P.fallback,M),z=v.child,L=p.child.memoizedState,z.memoizedState=L===null?lc(M):{baseLanes:L.baseLanes|M,cachePool:null},z.childLanes=p.childLanes&~M,v.memoizedState=Jd,P):(M=ef(p,v,P.children,M),v.memoizedState=null,M)}return z?(P=Up(p,v,P.children,P.fallback,M),z=v.child,L=p.child.memoizedState,z.memoizedState=L===null?lc(M):{baseLanes:L.baseLanes|M,cachePool:null},z.childLanes=p.childLanes&~M,v.memoizedState=Jd,P):(M=ef(p,v,P.children,M),v.memoizedState=null,M)}function oo(p,v){return v=mf({mode:"visible",children:v},p.mode,0,null),v.return=p,p.child=v}function ef(p,v,M,P){var L=p.child;return p=L.sibling,M=Ma(L,{mode:"visible",children:M}),(v.mode&1)===0&&(M.lanes=P),M.return=v,M.sibling=null,p!==null&&(P=v.deletions,P===null?(v.deletions=[p],v.flags|=16):P.push(p)),v.child=M}function Up(p,v,M,P,L){var z=v.mode;p=p.child;var se=p.sibling,ye={mode:"hidden",children:M};return(z&1)===0&&v.child!==p?(M=v.child,M.childLanes=0,M.pendingProps=ye,v.deletions=null):(M=Ma(p,ye),M.subtreeFlags=p.subtreeFlags&14680064),se!==null?P=Ma(se,P):(P=bc(P,z,L,null),P.flags|=2),P.return=v,M.return=v,M.sibling=P,v.child=M,P}function tf(p,v,M,P){return P!==null&&_p(P),da(v,p.child,null,M),p=oo(v,v.pendingProps.children),p.flags|=2,v.memoizedState=null,p}function Ox(p,v,M){p.lanes|=v;var P=p.alternate;P!==null&&(P.lanes|=v),Yl(p.return,v,M)}function Io(p,v,M,P,L){var z=p.memoizedState;z===null?p.memoizedState={isBackwards:v,rendering:null,renderingStartTime:0,last:P,tail:M,tailMode:L}:(z.isBackwards=v,z.rendering=null,z.renderingStartTime=0,z.last=P,z.tail=M,z.tailMode=L)}function cc(p,v,M){var P=v.pendingProps,L=P.revealOrder,z=P.tail;if(ar(p,v,P.children,M),P=tr.current,(P&2)!==0)P=P&1|2,v.flags|=128;else{if(p!==null&&(p.flags&128)!==0)e:for(p=v.child;p!==null;){if(p.tag===13)p.memoizedState!==null&&Ox(p,M,v);else if(p.tag===19)Ox(p,M,v);else if(p.child!==null){p.child.return=p,p=p.child;continue}if(p===v)break e;for(;p.sibling===null;){if(p.return===null||p.return===v)break e;p=p.return}p.sibling.return=p.return,p=p.sibling}P&=1}if(jt(tr,P),(v.mode&1)===0)v.memoizedState=null;else switch(L){case"forwards":for(M=v.child,L=null;M!==null;)p=M.alternate,p!==null&&Sp(p)===null&&(L=M),M=M.sibling;M=L,M===null?(L=v.child,v.child=null):(L=M.sibling,M.sibling=null),Io(v,!1,L,M,z);break;case"backwards":for(M=null,L=v.child,v.child=null;L!==null;){if(p=L.alternate,p!==null&&Sp(p)===null){v.child=L;break}p=L.sibling,L.sibling=M,M=L,L=p}Io(v,!0,M,null,z);break;case"together":Io(v,!1,null,null,void 0);break;default:v.memoizedState=null}return v.child}function qi(p,v,M){if(p!==null&&(v.dependencies=p.dependencies),ko|=v.lanes,(M&v.childLanes)===0)return null;if(p!==null&&v.child!==p.child)throw Error(o(153));if(v.child!==null){for(p=v.child,M=Ma(p,p.pendingProps),v.child=M,M.return=v;p.sibling!==null;)p=p.sibling,M=M.sibling=Ma(p,p.pendingProps),M.return=v;M.sibling=null}return v.child}function Fp(p,v,M){switch(v.tag){case 3:Qd(v),xu();break;case 5:Px(v);break;case 1:kn(v.type)&&Ya(v);break;case 4:wp(v,v.stateNode.containerInfo);break;case 10:Kl(v,v.type._context,v.memoizedProps.value);break;case 13:var P=v.memoizedState;if(P!==null)return P.dehydrated!==null?(jt(tr,tr.current&1),v.flags|=128,null):(M&v.child.childLanes)!==0?Iv(p,v,M):(jt(tr,tr.current&1),p=qi(p,v,M),p!==null?p.sibling:null);jt(tr,tr.current&1);break;case 19:if(P=(M&v.childLanes)!==0,(p.flags&128)!==0){if(P)return cc(p,v,M);v.flags|=128}var L=v.memoizedState;if(L!==null&&(L.rendering=null,L.tail=null,L.lastEffect=null),jt(tr,tr.current),P)break;return null;case 22:case 23:return v.lanes=0,Kr(p,v,M)}return qi(p,v,M)}function zp(p,v){switch(gv(v),v.tag){case 1:return kn(v.type)&&Is(),p=v.flags,p&65536?(v.flags=p&-65537|128,v):null;case 3:return Su(),Zt(tn),Zt(xn),tc(),p=v.flags,(p&65536)!==0&&(p&128)===0?(v.flags=p&-65537|128,v):null;case 5:return xv(v),null;case 13:if(Zt(tr),p=v.memoizedState,p!==null&&p.dehydrated!==null){if(v.alternate===null)throw Error(o(340));xu()}return p=v.flags,p&65536?(v.flags=p&-65537|128,v):null;case 19:return Zt(tr),null;case 4:return Su(),null;case 10:return Bd(v.type._context),null;case 22:case 23:return ff(),null;case 24:return null;default:return null}}var Ri=!1,zr=!1,uc=typeof WeakSet=="function"?WeakSet:Set,ut=null;function Fs(p,v){var M=p.ref;if(M!==null)if(typeof M=="function")try{M(null)}catch(P){Ii(p,v,P)}else M.current=null}function va(p,v,M){try{M()}catch(P){Ii(p,v,P)}}var kv=!1;function Ov(p,v){for(J(p.containerInfo),ut=v;ut!==null;)if(p=ut,v=p.child,(p.subtreeFlags&1028)!==0&&v!==null)v.return=p,ut=v;else for(;ut!==null;){p=ut;try{var M=p.alternate;if((p.flags&1024)!==0)switch(p.tag){case 0:case 11:case 15:break;case 1:if(M!==null){var P=M.memoizedProps,L=M.memoizedState,z=p.stateNode,se=z.getSnapshotBeforeUpdate(p.elementType===p.type?P:Wi(p.type,P),L);z.__reactInternalSnapshotBeforeUpdate=se}break;case 3:qe&&Ye(p.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(ye){Ii(p,p.return,ye)}if(v=p.sibling,v!==null){v.return=p.return,ut=v;break}ut=p.return}return M=kv,kv=!1,M}function ya(p,v,M){var P=v.updateQueue;if(P=P!==null?P.lastEffect:null,P!==null){var L=P=P.next;do{if((L.tag&p)===p){var z=L.destroy;L.destroy=void 0,z!==void 0&&va(v,M,z)}L=L.next}while(L!==P)}}function Yr(p,v){if(v=v.updateQueue,v=v!==null?v.lastEffect:null,v!==null){var M=v=v.next;do{if((M.tag&p)===p){var P=M.create;M.destroy=P()}M=M.next}while(M!==v)}}function Ni(p){var v=p.ref;if(v!==null){var M=p.stateNode;switch(p.tag){case 5:p=oe(M);break;default:p=M}typeof v=="function"?v(p):v.current=p}}function qn(p,v,M){if(Po&&typeof Po.onCommitFiberUnmount=="function")try{Po.onCommitFiberUnmount(jd,v)}catch{}switch(v.tag){case 0:case 11:case 14:case 15:if(p=v.updateQueue,p!==null&&(p=p.lastEffect,p!==null)){var P=p=p.next;do{var L=P,z=L.destroy;L=L.tag,z!==void 0&&((L&2)!==0||(L&4)!==0)&&va(v,M,z),P=P.next}while(P!==p)}break;case 1:if(Fs(v,M),p=v.stateNode,typeof p.componentWillUnmount=="function")try{p.props=v.memoizedProps,p.state=v.memoizedState,p.componentWillUnmount()}catch(se){Ii(v,M,se)}break;case 5:Fs(v,M);break;case 4:qe?jv(p,v,M):ue&&ue&&(v=v.stateNode.containerInfo,M=Yt(v),en(v,M))}}function zs(p,v,M){for(var P=v;;)if(qn(p,P,M),P.child===null||qe&&P.tag===4){if(P===v)break;for(;P.sibling===null;){if(P.return===null||P.return===v)return;P=P.return}P.sibling.return=P.return,P=P.sibling}else P.child.return=P,P=P.child}function Lv(p){var v=p.alternate;v!==null&&(p.alternate=null,Lv(v)),p.child=null,p.deletions=null,p.sibling=null,p.tag===5&&(v=p.stateNode,v!==null&&et(v)),p.stateNode=null,p.return=null,p.dependencies=null,p.memoizedProps=null,p.memoizedState=null,p.pendingProps=null,p.stateNode=null,p.updateQueue=null}function Dv(p){return p.tag===5||p.tag===3||p.tag===4}function Bp(p){e:for(;;){for(;p.sibling===null;){if(p.return===null||Dv(p.return))return null;p=p.return}for(p.sibling.return=p.return,p=p.sibling;p.tag!==5&&p.tag!==6&&p.tag!==18;){if(p.flags&2||p.child===null||p.tag===4)continue e;p.child.return=p,p=p.child}if(!(p.flags&2))return p.stateNode}}function Hp(p){if(qe){e:{for(var v=p.return;v!==null;){if(Dv(v))break e;v=v.return}throw Error(o(160))}var M=v;switch(M.tag){case 5:v=M.stateNode,M.flags&32&&(Ae(v),M.flags&=-33),M=Bp(p),Ru(p,M,v);break;case 3:case 4:v=M.stateNode.containerInfo,M=Bp(p),Vp(p,M,v);break;default:throw Error(o(161))}}}function Vp(p,v,M){var P=p.tag;if(P===5||P===6)p=p.stateNode,v?pt(M,p,v):Bt(M,p);else if(P!==4&&(p=p.child,p!==null))for(Vp(p,v,M),p=p.sibling;p!==null;)Vp(p,v,M),p=p.sibling}function Ru(p,v,M){var P=p.tag;if(P===5||P===6)p=p.stateNode,v?wt(M,p,v):dt(M,p);else if(P!==4&&(p=p.child,p!==null))for(Ru(p,v,M),p=p.sibling;p!==null;)Ru(p,v,M),p=p.sibling}function jv(p,v,M){for(var P=v,L=!1,z,se;;){if(!L){L=P.return;e:for(;;){if(L===null)throw Error(o(160));switch(z=L.stateNode,L.tag){case 5:se=!1;break e;case 3:z=z.containerInfo,se=!0;break e;case 4:z=z.containerInfo,se=!0;break e}L=L.return}L=!0}if(P.tag===5||P.tag===6)zs(p,P,M),se?Q(z,P.stateNode):de(z,P.stateNode);else if(P.tag===18)se?Ie(z,P.stateNode):Pe(z,P.stateNode);else if(P.tag===4){if(P.child!==null){z=P.stateNode.containerInfo,se=!0,P.child.return=P,P=P.child;continue}}else if(qn(p,P,M),P.child!==null){P.child.return=P,P=P.child;continue}if(P===v)break;for(;P.sibling===null;){if(P.return===null||P.return===v)return;P=P.return,P.tag===4&&(L=!1)}P.sibling.return=P.return,P=P.sibling}}function ol(p,v){if(qe){switch(v.tag){case 0:case 11:case 14:case 15:ya(3,v,v.return),Yr(3,v),ya(5,v,v.return);return;case 1:return;case 5:var M=v.stateNode;if(M!=null){var P=v.memoizedProps;p=p!==null?p.memoizedProps:P;var L=v.type,z=v.updateQueue;v.updateQueue=null,z!==null&&Qe(M,z,L,p,P,v)}return;case 6:if(v.stateNode===null)throw Error(o(162));M=v.memoizedProps,Ke(v.stateNode,p!==null?p.memoizedProps:M,M);return;case 3:Z&&p!==null&&p.memoizedState.isDehydrated&&K(v.stateNode.containerInfo);return;case 12:return;case 13:Nu(v);return;case 19:Nu(v);return;case 17:return}throw Error(o(163))}switch(v.tag){case 0:case 11:case 14:case 15:ya(3,v,v.return),Yr(3,v),ya(5,v,v.return);return;case 12:return;case 13:Nu(v);return;case 19:Nu(v);return;case 3:Z&&p!==null&&p.memoizedState.isDehydrated&&K(v.stateNode.containerInfo);break;case 22:case 23:return}e:if(ue){switch(v.tag){case 1:case 5:case 6:break e;case 3:case 4:v=v.stateNode,en(v.containerInfo,v.pendingChildren);break e}throw Error(o(163))}}function Nu(p){var v=p.updateQueue;if(v!==null){p.updateQueue=null;var M=p.stateNode;M===null&&(M=p.stateNode=new uc),v.forEach(function(P){var L=Fx.bind(null,p,P);M.has(P)||(M.add(P),P.then(L,L))})}}function TM(p,v){for(ut=v;ut!==null;){v=ut;var M=v.deletions;if(M!==null)for(var P=0;P";case fc:return":has("+(al(p)||"")+")";case hc:return'[role="'+p.value+'"]';case Iu:return'"'+p.value+'"';case xa:return'[data-testname="'+p.value+'"]';default:throw Error(o(365))}}function ps(p,v){var M=[];p=[p,0];for(var P=0;PL&&(L=se),P&=~z}if(P=L,P=Rr()-P,P=(120>P?120:480>P?480:1080>P?1080:1920>P?1920:3e3>P?3e3:4320>P?4320:1960*zv(P/1960))-P,10p?16:p,Oo===null)var P=!1;else{if(p=Oo,Oo=null,yc=0,(an&6)!==0)throw Error(o(331));var L=an;for(an|=4,ut=p.current;ut!==null;){var z=ut,se=z.child;if((ut.flags&16)!==0){var ye=z.deletions;if(ye!==null){for(var Fe=0;FeRr()-cf?Sa(p,0):gc|=M),Ki(p,v)}function Xv(p,v){v===0&&((p.mode&1)===0?v=1:(v=Pn,Pn<<=1,(Pn&130023424)===0&&(Pn=4194304)));var M=Rn();p=cl(p,v),p!==null&&(Wl(p,v,M),Ki(p,M))}function Ux(p){var v=p.memoizedState,M=0;v!==null&&(M=v.retryLane),Xv(p,M)}function Fx(p,v){var M=0;switch(p.tag){case 13:var P=p.stateNode,L=p.memoizedState;L!==null&&(M=L.retryLane);break;case 19:P=p.stateNode;break;default:throw Error(o(314))}P!==null&&P.delete(v),Xv(p,M)}var qv;qv=function(p,v,M){if(p!==null)if(p.memoizedProps!==v.pendingProps||tn.current)Fr=!0;else{if((p.lanes&M)===0&&(v.flags&128)===0)return Fr=!1,Fp(p,v,M);Fr=(p.flags&131072)!==0}else Fr=!1,Zn&&(v.flags&1048576)!==0&&Ex(v,xp,v.index);switch(v.lanes=0,v.tag){case 2:var P=v.type;p!==null&&(p.alternate=null,v.alternate=null,v.flags|=2),p=v.pendingProps;var L=li(v,xn.current);mu(v,M),L=Mu(null,v,P,p,L,M);var z=rl();return v.flags|=1,typeof L=="object"&&L!==null&&typeof L.render=="function"&&L.$$typeof===void 0?(v.tag=1,v.memoizedState=null,v.updateQueue=null,kn(P)?(z=!0,Ya(v)):z=!1,v.memoizedState=L.state!==null&&L.state!==void 0?L.state:null,gu(v),L.updater=vp,v.stateNode=L,L._reactInternals=v,pv(v,P,p,M),v=ui(null,v,P,!0,z,M)):(v.tag=0,Zn&&z&&mv(v),ar(null,v,L,M),v=v.child),v;case 16:P=v.elementType;e:{switch(p!==null&&(p.alternate=null,v.alternate=null,v.flags|=2),p=v.pendingProps,L=P._init,P=L(P._payload),v.type=P,L=v.tag=CM(P),p=Wi(P,p),L){case 0:v=ga(null,v,P,p,M);break e;case 1:v=ac(null,v,P,p,M);break e;case 11:v=$n(null,v,P,p,M);break e;case 14:v=Gn(null,v,P,Wi(P.type,p),M);break e}throw Error(o(306,P,""))}return v;case 0:return P=v.type,L=v.pendingProps,L=v.elementType===P?L:Wi(P,L),ga(p,v,P,L,M);case 1:return P=v.type,L=v.pendingProps,L=v.elementType===P?L:Wi(P,L),ac(p,v,P,L,M);case 3:e:{if(Qd(v),p===null)throw Error(o(387));P=v.pendingProps,z=v.memoizedState,L=z.element,dv(p,v),gp(v,P,null,M);var se=v.memoizedState;if(P=se.element,Z&&z.isDehydrated)if(z={element:P,isDehydrated:!1,cache:se.cache,transitions:se.transitions},v.updateQueue.baseState=z,v.memoizedState=z,v.flags&256){L=Error(o(423)),v=Nv(p,v,P,M,L);break e}else if(P!==L){L=Error(o(424)),v=Nv(p,v,P,M,L);break e}else for(Z&&(qr=sa(v.stateNode.containerInfo),Ci=v,Zn=!0,Us=null,yu=!1),M=Cx(v,null,P,M),v.child=M;M;)M.flags=M.flags&-3|4096,M=M.sibling;else{if(xu(),P===L){v=qi(p,v,M);break e}ar(p,v,P,M)}v=v.child}return v;case 5:return Px(v),p===null&&tl(v),P=v.type,L=v.pendingProps,z=p!==null?p.memoizedProps:null,se=L.children,ce(P,L)?se=null:z!==null&&ce(P,z)&&(v.flags|=32),Pi(p,v),ar(p,v,se,M),v.child;case 6:return p===null&&tl(v),null;case 13:return Iv(p,v,M);case 4:return wp(v,v.stateNode.containerInfo),P=v.pendingProps,p===null?v.child=da(v,null,P,M):ar(p,v,P,M),v.child;case 11:return P=v.type,L=v.pendingProps,L=v.elementType===P?L:Wi(P,L),$n(p,v,P,L,M);case 7:return ar(p,v,v.pendingProps,M),v.child;case 8:return ar(p,v,v.pendingProps.children,M),v.child;case 12:return ar(p,v,v.pendingProps.children,M),v.child;case 10:e:{if(P=v.type._context,L=v.pendingProps,z=v.memoizedProps,se=L.value,Kl(v,P,se),z!==null)if(Ai(z.value,se)){if(z.children===L.children&&!tn.current){v=qi(p,v,M);break e}}else for(z=v.child,z!==null&&(z.return=v);z!==null;){var ye=z.dependencies;if(ye!==null){se=z.child;for(var Fe=ye.firstContext;Fe!==null;){if(Fe.context===P){if(z.tag===1){Fe=la(-1,M&-M),Fe.tag=2;var st=z.updateQueue;if(st!==null){st=st.shared;var Et=st.pending;Et===null?Fe.next=Fe:(Fe.next=Et.next,Et.next=Fe),st.pending=Fe}}z.lanes|=M,Fe=z.alternate,Fe!==null&&(Fe.lanes|=M),Yl(z.return,M,v),ye.lanes|=M;break}Fe=Fe.next}}else if(z.tag===10)se=z.type===v.type?null:z.child;else if(z.tag===18){if(se=z.return,se===null)throw Error(o(341));se.lanes|=M,ye=se.alternate,ye!==null&&(ye.lanes|=M),Yl(se,M,v),se=z.sibling}else se=z.child;if(se!==null)se.return=z;else for(se=z;se!==null;){if(se===v){se=null;break}if(z=se.sibling,z!==null){z.return=se.return,se=z;break}se=se.return}z=se}ar(p,v,L.children,M),v=v.child}return v;case 9:return L=v.type,P=v.pendingProps.children,mu(v,M),L=$i(L),P=P(L),v.flags|=1,ar(p,v,P,M),v.child;case 14:return P=v.type,L=Wi(P,v.pendingProps),L=Wi(P.type,L),Gn(p,v,P,L,M);case 15:return ma(p,v,v.type,v.pendingProps,M);case 17:return P=v.type,L=v.pendingProps,L=v.elementType===P?L:Wi(P,L),p!==null&&(p.alternate=null,v.alternate=null,v.flags|=2),v.tag=1,kn(P)?(p=!0,Ya(v)):p=!1,mu(v,M),Sx(v,P,L),pv(v,P,L,M),ui(null,v,P,!0,p,M);case 19:return cc(p,v,M);case 22:return Kr(p,v,M)}throw Error(o(156,v.tag))};function Wp(p,v){return $l(p,v)}function zx(p,v,M,P){this.tag=p,this.key=M,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=v,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=P,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function vs(p,v,M,P){return new zx(p,v,M,P)}function $p(p){return p=p.prototype,!(!p||!p.isReactComponent)}function CM(p){if(typeof p=="function")return $p(p)?1:0;if(p!=null){if(p=p.$$typeof,p===S)return 11;if(p===E)return 14}return 2}function Ma(p,v){var M=p.alternate;return M===null?(M=vs(p.tag,v,p.key,p.mode),M.elementType=p.elementType,M.type=p.type,M.stateNode=p.stateNode,M.alternate=p,p.alternate=M):(M.pendingProps=v,M.type=p.type,M.flags=0,M.subtreeFlags=0,M.deletions=null),M.flags=p.flags&14680064,M.childLanes=p.childLanes,M.lanes=p.lanes,M.child=p.child,M.memoizedProps=p.memoizedProps,M.memoizedState=p.memoizedState,M.updateQueue=p.updateQueue,v=p.dependencies,M.dependencies=v===null?null:{lanes:v.lanes,firstContext:v.firstContext},M.sibling=p.sibling,M.index=p.index,M.ref=p.ref,M}function Xp(p,v,M,P,L,z){var se=2;if(P=p,typeof p=="function")$p(p)&&(se=1);else if(typeof p=="string")se=5;else e:switch(p){case d:return bc(M.children,L,z,v);case f:se=8,L|=8;break;case m:return p=vs(12,M,v,L|2),p.elementType=m,p.lanes=z,p;case w:return p=vs(13,M,v,L),p.elementType=w,p.lanes=z,p;case _:return p=vs(19,M,v,L),p.elementType=_,p.lanes=z,p;case C:return mf(M,L,z,v);default:if(typeof p=="object"&&p!==null)switch(p.$$typeof){case y:se=10;break e;case x:se=9;break e;case S:se=11;break e;case E:se=14;break e;case T:se=16,P=null;break e}throw Error(o(130,p==null?p:typeof p,""))}return v=vs(se,M,v,L),v.elementType=p,v.type=P,v.lanes=z,v}function bc(p,v,M,P){return p=vs(7,p,P,v),p.lanes=M,p}function mf(p,v,M,P){return p=vs(22,p,P,v),p.elementType=C,p.lanes=M,p.stateNode={},p}function qp(p,v,M){return p=vs(6,p,null,v),p.lanes=M,p}function Kp(p,v,M){return v=vs(4,p.children!==null?p.children:[],p.key,v),v.lanes=M,v.stateNode={containerInfo:p.containerInfo,pendingChildren:null,implementation:p.implementation},v}function Yp(p,v,M,P,L){this.tag=v,this.containerInfo=p,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Me,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=op(0),this.expirationTimes=op(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=op(0),this.identifierPrefix=P,this.onRecoverableError=L,Z&&(this.mutableSourceEagerHydrationData=null)}function Bx(p,v,M,P,L,z,se,ye,Fe){return p=new Yp(p,v,M,ye,Fe),v===1?(v=1,z===!0&&(v|=8)):v=0,z=vs(3,null,null,v),p.current=z,z.stateNode=p,z.memoizedState={element:P,isDehydrated:M,cache:null,transitions:null},gu(z),p}function Hx(p){if(!p)return vt;p=p._reactInternals;e:{if(G(p)!==p||p.tag!==1)throw Error(o(170));var v=p;do{switch(v.tag){case 3:v=v.stateNode.context;break e;case 1:if(kn(v.type)){v=v.stateNode.__reactInternalMemoizedMergedChildContext;break e}}v=v.return}while(v!==null);throw Error(o(171))}if(p.tag===1){var M=p.type;if(kn(M))return to(p,M,v)}return v}function Vx(p){var v=p._reactInternals;if(v===void 0)throw typeof p.render=="function"?Error(o(188)):(p=Object.keys(p).join(","),Error(o(268,p)));return p=H(v),p===null?null:p.stateNode}function Bs(p,v){if(p=p.memoizedState,p!==null&&p.dehydrated!==null){var M=p.retryLane;p.retryLane=M!==0&&M=st&&z>=rn&&L<=Et&&se<=Ht){p.splice(v,1);break}else if(P!==st||M.width!==Fe.width||Htse){if(!(z!==rn||M.height!==Fe.height||EtL)){st>P&&(Fe.width+=st-P,Fe.x=P),Etz&&(Fe.height+=rn-z,Fe.y=z),HtM&&(M=se)),se ")+` No matching component was found for: - `)+p.join(" > ")}return null},n.getPublicRootInstance=function(p){if(p=p.current,!p.child)return null;switch(p.child.tag){case 5:return se(p.child.stateNode);default:return p.child.stateNode}},n.injectIntoDevTools=function(p){if(p={bundleType:p.bundleType,version:p.version,rendererPackageName:p.rendererPackageName,rendererConfig:p.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:a.ReactCurrentDispatcher,findHostInstanceByFiber:Yp,findFiberByHostInstance:p.findFiberByHostInstance||Gx,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")p=!1;else{var v=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(v.isDisabled||!v.supportsFiber)p=!0;else{try{jd=v.inject(p),Po=v}catch{}p=!!v.checkDCE}}return p},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(p,v,M,P){if(!ee)throw Error(o(363));p=ba(p,v);var L=rt(p,M,P).disconnect;return{disconnect:function(){L()}}},n.registerMutableSourceForHydration=function(p,v){var M=v._getVersion;M=M(v._source),p.mutableSourceEagerHydrationData==null?p.mutableSourceEagerHydrationData=[v,M]:p.mutableSourceEagerHydrationData.push(v,M)},n.runWithPriority=function(p,v){var M=dn;try{return dn=p,v()}finally{dn=M}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(p,v,M,P){var L=v.current,z=Rn(),ie=co(L);return M=Hx(M),v.context===null?v.context=M:v.pendingContext=M,v=la(z,ie),v.payload={element:p},P=P===void 0?null:P,P!==null&&(v.callback=P),Ja(L,v),p=fi(L,ie,z),p!==null&&hp(p,L,ie),ie},n}),HA}var Ej;function ibe(){return Ej||(Ej=1,FA.exports=rbe()),FA.exports}var sbe=ibe();const obe=V1(sbe);var VA={exports:{}},GA={};/** + `)+p.join(" > ")}return null},n.getPublicRootInstance=function(p){if(p=p.current,!p.child)return null;switch(p.child.tag){case 5:return oe(p.child.stateNode);default:return p.child.stateNode}},n.injectIntoDevTools=function(p){if(p={bundleType:p.bundleType,version:p.version,rendererPackageName:p.rendererPackageName,rendererConfig:p.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:a.ReactCurrentDispatcher,findHostInstanceByFiber:Zp,findFiberByHostInstance:p.findFiberByHostInstance||Gx,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.0.0-fc46dba67-20220329"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")p=!1;else{var v=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(v.isDisabled||!v.supportsFiber)p=!0;else{try{jd=v.inject(p),Po=v}catch{}p=!!v.checkDCE}}return p},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(p,v,M,P){if(!ee)throw Error(o(363));p=ba(p,v);var L=rt(p,M,P).disconnect;return{disconnect:function(){L()}}},n.registerMutableSourceForHydration=function(p,v){var M=v._getVersion;M=M(v._source),p.mutableSourceEagerHydrationData==null?p.mutableSourceEagerHydrationData=[v,M]:p.mutableSourceEagerHydrationData.push(v,M)},n.runWithPriority=function(p,v){var M=dn;try{return dn=p,v()}finally{dn=M}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(p,v,M,P){var L=v.current,z=Rn(),se=co(L);return M=Hx(M),v.context===null?v.context=M:v.pendingContext=M,v=la(z,se),v.payload={element:p},P=P===void 0?null:P,P!==null&&(v.callback=P),Ja(L,v),p=fi(L,se,z),p!==null&&pp(p,L,se),se},n}),HA}var Ej;function ibe(){return Ej||(Ej=1,FA.exports=rbe()),FA.exports}var sbe=ibe();const obe=V1(sbe);var VA={exports:{}},GA={};/** * @license React * scheduler.production.min.js * @@ -4466,14 +4466,14 @@ No matching component was found for: * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Aj;function abe(){return Aj||(Aj=1,(function(t){function e(B,J){var Y=B.length;B.push(J);e:for(;0>>1,q=B[V];if(0>>1;Vi(le,Y))bei(Se,le)?(B[V]=Se,B[be]=Y,V=be):(B[V]=le,B[ae]=Y,V=ae);else if(bei(Se,Y))B[V]=Se,B[be]=Y,V=be;else break e}}return J}function i(B,J){var Y=B.sortIndex-J.sortIndex;return Y!==0?Y:B.id-J.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],c=[],d=1,f=null,m=3,y=!1,x=!1,S=!1,w=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(B){for(var J=n(c);J!==null;){if(J.callback===null)r(c);else if(J.startTime<=B)r(c),J.sortIndex=J.expirationTime,e(l,J);else break;J=n(c)}}function C(B){if(S=!1,T(B),!x)if(n(l)!==null)x=!0,se(O);else{var J=n(c);J!==null&&fe(C,J.startTime-B)}}function O(B,J){x=!1,S&&(S=!1,_(F),F=-1),y=!0;var Y=m;try{for(T(J),f=n(l);f!==null&&(!(f.expirationTime>J)||B&&!U());){var V=f.callback;if(typeof V=="function"){f.callback=null,m=f.priorityLevel;var q=V(f.expirationTime<=J);J=t.unstable_now(),typeof q=="function"?f.callback=q:f===n(l)&&r(l),T(J)}else r(l);f=n(l)}if(f!==null)var pe=!0;else{var ae=n(c);ae!==null&&fe(C,ae.startTime-J),pe=!1}return pe}finally{f=null,m=Y,y=!1}}var N=!1,D=null,F=-1,G=5,k=-1;function U(){return!(t.unstable_now()-kB||125V?(B.sortIndex=Y,e(c,B),n(l)===null&&B===n(c)&&(S?(_(F),F=-1):S=!0,fe(C,Y-V))):(B.sortIndex=q,e(l,B),x||y||(x=!0,se(O))),B},t.unstable_shouldYield=U,t.unstable_wrapCallback=function(B){var J=m;return function(){var Y=m;m=J;try{return B.apply(this,arguments)}finally{m=Y}}}})(GA)),GA}var Tj;function lbe(){return Tj||(Tj=1,VA.exports=abe()),VA.exports}var Cj=lbe();const iN={},cbe=t=>void Object.assign(iN,t);function ube(t,e){function n(d,{args:f=[],attach:m,...y},x){let S=`${d[0].toUpperCase()}${d.slice(1)}`,w;if(d==="primitive"){if(y.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const _=y.object;w=Fm(_,{type:d,root:x,attach:m,primitive:!0})}else{const _=iN[S];if(!_)throw new Error(`R3F: ${S} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(f))throw new Error("R3F: The args prop must be an array!");w=Fm(new _(...f),{type:d,root:x,attach:m,memoizedProps:{args:f}})}return w.__r3f.attach===void 0&&(w.isBufferGeometry?w.__r3f.attach="geometry":w.isMaterial&&(w.__r3f.attach="material")),S!=="inject"&&XA(w,y),w}function r(d,f){let m=!1;if(f){var y,x;(y=f.__r3f)!=null&&y.attach?$A(d,f,f.__r3f.attach):f.isObject3D&&d.isObject3D&&(d.add(f),m=!0),m||(x=d.__r3f)==null||x.objects.push(f),f.__r3f||Fm(f,{}),f.__r3f.parent=d,oP(f),zm(f)}}function i(d,f,m){let y=!1;if(f){var x,S;if((x=f.__r3f)!=null&&x.attach)$A(d,f,f.__r3f.attach);else if(f.isObject3D&&d.isObject3D){f.parent=d,f.dispatchEvent({type:"added"}),d.dispatchEvent({type:"childadded",child:f});const w=d.children.filter(E=>E!==f),_=w.indexOf(m);d.children=[...w.slice(0,_),f,...w.slice(_)],y=!0}y||(S=d.__r3f)==null||S.objects.push(f),f.__r3f||Fm(f,{}),f.__r3f.parent=d,oP(f),zm(f)}}function s(d,f,m=!1){d&&[...d].forEach(y=>o(f,y,m))}function o(d,f,m){if(f){var y,x,S;if(f.__r3f&&(f.__r3f.parent=null),(y=d.__r3f)!=null&&y.objects&&(d.__r3f.objects=d.__r3f.objects.filter(C=>C!==f)),(x=f.__r3f)!=null&&x.attach)kj(d,f,f.__r3f.attach);else if(f.isObject3D&&d.isObject3D){var w;d.remove(f),(w=f.__r3f)!=null&&w.root&&vbe(K_(f),f)}const E=(S=f.__r3f)==null?void 0:S.primitive,T=!E&&(m===void 0?f.dispose!==null:m);if(!E){var _;s((_=f.__r3f)==null?void 0:_.objects,f,T),s(f.children,f,T)}if(delete f.__r3f,T&&f.dispose&&f.type!=="Scene"){const C=()=>{try{f.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?Cj.unstable_scheduleCallback(Cj.unstable_IdlePriority,C):C()}zm(d)}}function a(d,f,m,y){var x;const S=(x=d.__r3f)==null?void 0:x.parent;if(!S)return;const w=n(f,m,d.__r3f.root);if(d.children){for(const _ of d.children)_.__r3f&&r(w,_);d.children=d.children.filter(_=>!_.__r3f)}d.__r3f.objects.forEach(_=>r(w,_)),d.__r3f.objects=[],d.__r3f.autoRemovedBeforeAppend||o(S,d),w.parent&&(w.__r3f.autoRemovedBeforeAppend=!0),r(S,w),w.raycast&&w.__r3f.eventCount&&K_(w).getState().internal.interaction.push(w),[y,y.alternate].forEach(_=>{_!==null&&(_.stateNode=w,_.ref&&(typeof _.ref=="function"?_.ref(w):_.ref.current=w))})}const l=()=>{};return{reconciler:obe({createInstance:n,removeChild:o,appendChild:r,appendInitialChild:r,insertBefore:i,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(d,f)=>{if(!f)return;const m=d.getState().scene;m.__r3f&&(m.__r3f.root=d,r(m,f))},removeChildFromContainer:(d,f)=>{f&&o(d.getState().scene,f)},insertInContainerBefore:(d,f,m)=>{if(!f||!m)return;const y=d.getState().scene;y.__r3f&&i(y,f,m)},getRootHostContext:()=>null,getChildHostContext:d=>d,finalizeInitialChildren(d){var f;return!!((f=d==null?void 0:d.__r3f)!=null?f:{}).handlers},prepareUpdate(d,f,m,y){var x;if(((x=d==null?void 0:d.__r3f)!=null?x:{}).primitive&&y.object&&y.object!==d)return[!0];{const{args:w=[],children:_,...E}=y,{args:T=[],children:C,...O}=m;if(!Array.isArray(w))throw new Error("R3F: the args prop must be an array!");if(w.some((D,F)=>D!==T[F]))return[!0];const N=mG(d,E,O,!0);return N.changes.length?[!1,N]:null}},commitUpdate(d,[f,m],y,x,S,w){f?a(d,y,S,w):XA(d,m)},commitMount(d,f,m,y){var x;const S=(x=d.__r3f)!=null?x:{};d.raycast&&S.handlers&&S.eventCount&&K_(d).getState().internal.interaction.push(d)},getPublicInstance:d=>d,prepareForCommit:()=>null,preparePortalMount:d=>Fm(d.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(d){var f;const{attach:m,parent:y}=(f=d.__r3f)!=null?f:{};m&&y&&kj(y,d,m),d.isObject3D&&(d.visible=!1),zm(d)},unhideInstance(d,f){var m;const{attach:y,parent:x}=(m=d.__r3f)!=null?m:{};y&&x&&$A(x,d,y),(d.isObject3D&&f.visible==null||f.visible)&&(d.visible=!0),zm(d)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():Ym.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&ir.fun(performance.now)?performance.now:ir.fun(Date.now)?Date.now:()=>0,scheduleTimeout:ir.fun(setTimeout)?setTimeout:void 0,cancelTimeout:ir.fun(clearTimeout)?clearTimeout:void 0}),applyProps:XA}}var Pj,Rj;const WA=t=>"colorSpace"in t||"outputColorSpace"in t,cG=()=>{var t;return(t=iN.ColorManagement)!=null?t:null},uG=t=>t&&t.isOrthographicCamera,dbe=t=>t&&t.hasOwnProperty("current"),yx=typeof window<"u"&&((Pj=window.document)!=null&&Pj.createElement||((Rj=window.navigator)==null?void 0:Rj.product)==="ReactNative")?R.useLayoutEffect:R.useEffect;function dG(t){const e=R.useRef(t);return yx(()=>void(e.current=t),[t]),e}function fbe({set:t}){return yx(()=>(t(new Promise(()=>null)),()=>t(!1)),[t]),null}class fG extends R.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}fG.getDerivedStateFromError=()=>({error:!0});const hG="__default",Nj=new Map,hbe=t=>t&&!!t.memoized&&!!t.changes;function pG(t){var e;const n=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(t)?Math.min(Math.max(t[0],n),t[1]):t}const R0=t=>{var e;return(e=t.__r3f)==null?void 0:e.root.getState()};function K_(t){let e=t.__r3f.root;for(;e.getState().previousRoot;)e=e.getState().previousRoot;return e}const ir={obj:t=>t===Object(t)&&!ir.arr(t)&&typeof t!="function",fun:t=>typeof t=="function",str:t=>typeof t=="string",num:t=>typeof t=="number",boo:t=>typeof t=="boolean",und:t=>t===void 0,arr:t=>Array.isArray(t),equ(t,e,{arrays:n="shallow",objects:r="reference",strict:i=!0}={}){if(typeof t!=typeof e||!!t!=!!e)return!1;if(ir.str(t)||ir.num(t)||ir.boo(t))return t===e;const s=ir.obj(t);if(s&&r==="reference")return t===e;const o=ir.arr(t);if(o&&n==="reference")return t===e;if((o||s)&&t===e)return!0;let a;for(a in t)if(!(a in e))return!1;if(s&&n==="shallow"&&r==="shallow"){for(a in i?e:t)if(!ir.equ(t[a],e[a],{strict:i,objects:"reference"}))return!1}else for(a in i?e:t)if(t[a]!==e[a])return!1;if(ir.und(a)){if(o&&t.length===0&&e.length===0||s&&Object.keys(t).length===0&&Object.keys(e).length===0)return!0;if(t!==e)return!1}return!0}};function pbe(t){t.dispose&&t.type!=="Scene"&&t.dispose();for(const e in t)e.dispose==null||e.dispose(),delete t[e]}function Fm(t,e){const n=t;return n.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},t}function sP(t,e){let n=t;if(e.includes("-")){const r=e.split("-"),i=r.pop();return n=r.reduce((s,o)=>s[o],t),{target:n,key:i}}else return{target:n,key:e}}const Ij=/-\d+$/;function $A(t,e,n){if(ir.str(n)){if(Ij.test(n)){const s=n.replace(Ij,""),{target:o,key:a}=sP(t,s);Array.isArray(o[a])||(o[a]=[])}const{target:r,key:i}=sP(t,n);e.__r3f.previousAttach=r[i],r[i]=e}else e.__r3f.previousAttach=n(t,e)}function kj(t,e,n){var r,i;if(ir.str(n)){const{target:s,key:o}=sP(t,n),a=e.__r3f.previousAttach;a===void 0?delete s[o]:s[o]=a}else(r=e.__r3f)==null||r.previousAttach==null||r.previousAttach(t,e);(i=e.__r3f)==null||delete i.previousAttach}function mG(t,{children:e,key:n,ref:r,...i},{children:s,key:o,ref:a,...l}={},c=!1){const d=t.__r3f,f=Object.entries(i),m=[];if(c){const x=Object.keys(l);for(let S=0;S{var w;if((w=t.__r3f)!=null&&w.primitive&&x==="object"||ir.equ(S,l[x]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(x))return m.push([x,S,!0,[]]);let _=[];x.includes("-")&&(_=x.split("-")),m.push([x,S,!1,_]);for(const E in i){const T=i[E];E.startsWith(`${x}-`)&&m.push([E,T,!1,E.split("-")])}});const y={...i};return d!=null&&d.memoizedProps&&d!=null&&d.memoizedProps.args&&(y.args=d.memoizedProps.args),d!=null&&d.memoizedProps&&d!=null&&d.memoizedProps.attach&&(y.attach=d.memoizedProps.attach),{memoized:y,changes:m}}function XA(t,e){var n;const r=t.__r3f,i=r==null?void 0:r.root,s=i==null||i.getState==null?void 0:i.getState(),{memoized:o,changes:a}=hbe(e)?e:mG(t,e),l=r==null?void 0:r.eventCount;t.__r3f&&(t.__r3f.memoizedProps=o);for(let m=0;mT[C],t),!(E&&E.set))){const[T,...C]=w.reverse();_=C.reverse().reduce((O,N)=>O[N],t),y=T}if(x===hG+"remove")if(_.constructor){let T=Nj.get(_.constructor);T||(T=new _.constructor,Nj.set(_.constructor,T)),x=T[y]}else x=0;if(S&&r)x?r.handlers[y]=x:delete r.handlers[y],r.eventCount=Object.keys(r.handlers).length;else if(E&&E.set&&(E.copy||E instanceof Ah)){if(Array.isArray(x))E.fromArray?E.fromArray(x):E.set(...x);else if(E.copy&&x&&x.constructor&&E.constructor===x.constructor)E.copy(x);else if(x!==void 0){var c;const T=(c=E)==null?void 0:c.isColor;!T&&E.setScalar?E.setScalar(x):E instanceof Ah&&x instanceof Ah?E.mask=x.mask:E.set(x),!cG()&&s&&!s.linear&&T&&E.convertSRGBToLinear()}}else{var d;if(_[y]=x,(d=_[y])!=null&&d.isTexture&&_[y].format===is&&_[y].type===Ha&&s){const T=_[y];WA(T)&&WA(s.gl)?T.colorSpace=s.gl.outputColorSpace:T.encoding=s.gl.outputEncoding}}zm(t)}if(r&&r.parent&&t.raycast&&l!==r.eventCount){const m=K_(t).getState().internal,y=m.interaction.indexOf(t);y>-1&&m.interaction.splice(y,1),r.eventCount&&m.interaction.push(t)}return!(a.length===1&&a[0][0]==="onUpdate")&&a.length&&(n=t.__r3f)!=null&&n.parent&&oP(t),t}function zm(t){var e,n;const r=(e=t.__r3f)==null||(n=e.root)==null||n.getState==null?void 0:n.getState();r&&r.internal.frames===0&&r.invalidate()}function oP(t){t.onUpdate==null||t.onUpdate(t)}function mbe(t,e){t.manual||(uG(t)?(t.left=e.width/-2,t.right=e.width/2,t.top=e.height/2,t.bottom=e.height/-2):t.aspect=e.width/e.height,t.updateProjectionMatrix(),t.updateMatrixWorld())}function R_(t){return(t.eventObject||t.object).uuid+"/"+t.index+t.instanceId}function gbe(){var t;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return Ym.DefaultEventPriority;switch((t=e.event)==null?void 0:t.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Ym.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Ym.ContinuousEventPriority;default:return Ym.DefaultEventPriority}}function gG(t,e,n,r){const i=n.get(e);i&&(n.delete(e),n.size===0&&(t.delete(r),i.target.releasePointerCapture(r)))}function vbe(t,e){const{internal:n}=t.getState();n.interaction=n.interaction.filter(r=>r!==e),n.initialHits=n.initialHits.filter(r=>r!==e),n.hovered.forEach((r,i)=>{(r.eventObject===e||r.object===e)&&n.hovered.delete(i)}),n.capturedMap.forEach((r,i)=>{gG(n.capturedMap,e,r,i)})}function ybe(t){function e(l){const{internal:c}=t.getState(),d=l.offsetX-c.initialClick[0],f=l.offsetY-c.initialClick[1];return Math.round(Math.sqrt(d*d+f*f))}function n(l){return l.filter(c=>["Move","Over","Enter","Out","Leave"].some(d=>{var f;return(f=c.__r3f)==null?void 0:f.handlers["onPointer"+d]}))}function r(l,c){const d=t.getState(),f=new Set,m=[],y=c?c(d.internal.interaction):d.internal.interaction;for(let _=0;_{const T=R0(_.object),C=R0(E.object);return!T||!C?_.distance-E.distance:C.events.priority-T.events.priority||_.distance-E.distance}).filter(_=>{const E=R_(_);return f.has(E)?!1:(f.add(E),!0)});d.events.filter&&(S=d.events.filter(S,d));for(const _ of S){let E=_.object;for(;E;){var w;(w=E.__r3f)!=null&&w.eventCount&&m.push({..._,eventObject:E}),E=E.parent}}if("pointerId"in l&&d.internal.capturedMap.has(l.pointerId))for(let _ of d.internal.capturedMap.get(l.pointerId).values())f.has(R_(_.intersection))||m.push(_.intersection);return m}function i(l,c,d,f){const m=t.getState();if(l.length){const y={stopped:!1};for(const x of l){const S=R0(x.object)||m,{raycaster:w,pointer:_,camera:E,internal:T}=S,C=new X(_.x,_.y,0).unproject(E),O=k=>{var U,H;return(U=(H=T.capturedMap.get(k))==null?void 0:H.has(x.eventObject))!=null?U:!1},N=k=>{const U={intersection:x,target:c.target};T.capturedMap.has(k)?T.capturedMap.get(k).set(x.eventObject,U):T.capturedMap.set(k,new Map([[x.eventObject,U]])),c.target.setPointerCapture(k)},D=k=>{const U=T.capturedMap.get(k);U&&gG(T.capturedMap,x.eventObject,U,k)};let F={};for(let k in c){let U=c[k];typeof U!="function"&&(F[k]=U)}let G={...x,...F,pointer:_,intersections:l,stopped:y.stopped,delta:d,unprojectedPoint:C,ray:w.ray,camera:E,stopPropagation(){const k="pointerId"in c&&T.capturedMap.get(c.pointerId);if((!k||k.has(x.eventObject))&&(G.stopped=y.stopped=!0,T.hovered.size&&Array.from(T.hovered.values()).find(U=>U.eventObject===x.eventObject))){const U=l.slice(0,l.indexOf(x));s([...U,x])}},target:{hasPointerCapture:O,setPointerCapture:N,releasePointerCapture:D},currentTarget:{hasPointerCapture:O,setPointerCapture:N,releasePointerCapture:D},nativeEvent:c};if(f(G),y.stopped===!0)break}}return l}function s(l){const{internal:c}=t.getState();for(const d of c.hovered.values())if(!l.length||!l.find(f=>f.object===d.object&&f.index===d.index&&f.instanceId===d.instanceId)){const m=d.eventObject.__r3f,y=m==null?void 0:m.handlers;if(c.hovered.delete(R_(d)),m!=null&&m.eventCount){const x={...d,intersections:l};y.onPointerOut==null||y.onPointerOut(x),y.onPointerLeave==null||y.onPointerLeave(x)}}}function o(l,c){for(let d=0;ds([]);case"onLostPointerCapture":return c=>{const{internal:d}=t.getState();"pointerId"in c&&d.capturedMap.has(c.pointerId)&&requestAnimationFrame(()=>{d.capturedMap.has(c.pointerId)&&(d.capturedMap.delete(c.pointerId),s([]))})}}return function(d){const{onPointerMissed:f,internal:m}=t.getState();m.lastEvent.current=d;const y=l==="onPointerMove",x=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",w=r(d,y?n:void 0),_=x?e(d):0;l==="onPointerDown"&&(m.initialClick=[d.offsetX,d.offsetY],m.initialHits=w.map(T=>T.eventObject)),x&&!w.length&&_<=2&&(o(d,m.interaction),f&&f(d)),y&&s(w);function E(T){const C=T.eventObject,O=C.__r3f,N=O==null?void 0:O.handlers;if(O!=null&&O.eventCount)if(y){if(N.onPointerOver||N.onPointerEnter||N.onPointerOut||N.onPointerLeave){const D=R_(T),F=m.hovered.get(D);F?F.stopped&&T.stopPropagation():(m.hovered.set(D,T),N.onPointerOver==null||N.onPointerOver(T),N.onPointerEnter==null||N.onPointerEnter(T))}N.onPointerMove==null||N.onPointerMove(T)}else{const D=N[l];D?(!x||m.initialHits.includes(C))&&(o(d,m.interaction.filter(F=>!m.initialHits.includes(F))),D(T)):x&&m.initialHits.includes(C)&&o(d,m.interaction.filter(F=>!m.initialHits.includes(F)))}}i(w,d,_,E)}}return{handlePointer:a}}const vG=t=>!!(t!=null&&t.render),yG=R.createContext(null),xbe=(t,e)=>{const n=ebe((a,l)=>{const c=new X,d=new X,f=new X;function m(_=l().camera,E=d,T=l().size){const{width:C,height:O,top:N,left:D}=T,F=C/O;E.isVector3?f.copy(E):f.set(...E);const G=_.getWorldPosition(c).distanceTo(f);if(uG(_))return{width:C/_.zoom,height:O/_.zoom,top:N,left:D,factor:1,distance:G,aspect:F};{const k=_.fov*Math.PI/180,U=2*Math.tan(k/2)*G,H=U*(C/O);return{width:H,height:U,top:N,left:D,factor:C/H,distance:G,aspect:F}}}let y;const x=_=>a(E=>({performance:{...E.performance,current:_}})),S=new Ge;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(_=1)=>t(l(),_),advance:(_,E)=>e(_,E,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new JR,pointer:S,mouse:S,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const _=l();y&&clearTimeout(y),_.performance.current!==_.performance.min&&x(_.performance.min),y=setTimeout(()=>x(l().performance.max),_.performance.debounce)}},size:{width:0,height:0,top:0,left:0,updateStyle:!1},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:m},setEvents:_=>a(E=>({...E,events:{...E.events,..._}})),setSize:(_,E,T,C,O)=>{const N=l().camera,D={width:_,height:E,top:C||0,left:O||0,updateStyle:T};a(F=>({size:D,viewport:{...F.viewport,...m(N,d,D)}}))},setDpr:_=>a(E=>{const T=pG(_);return{viewport:{...E.viewport,dpr:T,initialDpr:E.viewport.initialDpr||T}}}),setFrameloop:(_="always")=>{const E=l().clock;E.stop(),E.elapsedTime=0,_!=="never"&&(E.start(),E.elapsedTime=0),a(()=>({frameloop:_}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:R.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(_,E,T)=>{const C=l().internal;return C.priority=C.priority+(E>0?1:0),C.subscribers.push({ref:_,priority:E,store:T}),C.subscribers=C.subscribers.sort((O,N)=>O.priority-N.priority),()=>{const O=l().internal;O!=null&&O.subscribers&&(O.priority=O.priority-(E>0?1:0),O.subscribers=O.subscribers.filter(N=>N.ref!==_))}}}}}),r=n.getState();let i=r.size,s=r.viewport.dpr,o=r.camera;return n.subscribe(()=>{const{camera:a,size:l,viewport:c,gl:d,set:f}=n.getState();if(l.width!==i.width||l.height!==i.height||c.dpr!==s){var m;i=l,s=c.dpr,mbe(a,l),d.setPixelRatio(c.dpr);const y=(m=l.updateStyle)!=null?m:typeof HTMLCanvasElement<"u"&&d.domElement instanceof HTMLCanvasElement;d.setSize(l.width,l.height,y)}a!==o&&(o=a,f(y=>({viewport:{...y.viewport,...y.viewport.getCurrentViewport(a)}})))}),n.subscribe(a=>t(a)),n};let N_,bbe=new Set,_be=new Set,wbe=new Set;function qA(t,e){if(t.size)for(const{callback:n}of t.values())n(e)}function N0(t,e){switch(t){case"before":return qA(bbe,e);case"after":return qA(_be,e);case"tail":return qA(wbe,e)}}let KA,YA;function ZA(t,e,n){let r=e.clock.getDelta();for(e.frameloop==="never"&&typeof t=="number"&&(r=t-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=t),KA=e.internal.subscribers,N_=0;N_0)&&!((d=s.gl.xr)!=null&&d.isPresenting)&&(r+=ZA(c,s))}if(n=!1,N0("after",c),r===0)return N0("tail",c),e=!1,cancelAnimationFrame(i)}function a(c,d=1){var f;if(!c)return t.forEach(m=>a(m.store.getState(),d));(f=c.gl.xr)!=null&&f.isPresenting||!c.internal.active||c.frameloop==="never"||(d>1?c.internal.frames=Math.min(60,c.internal.frames+d):n?c.internal.frames=2:c.internal.frames=1,e||(e=!0,requestAnimationFrame(o)))}function l(c,d=!0,f,m){if(d&&N0("before",c),f)ZA(c,f,m);else for(const y of t.values())ZA(c,y.store.getState());d&&N0("after",c)}return{loop:o,invalidate:a,advance:l}}function xG(){const t=R.useContext(yG);if(!t)throw new Error("R3F: Hooks can only be used within the Canvas component!");return t}function nd(t=n=>n,e){return xG()(t,e)}function bG(t,e=0){const n=xG(),r=n.getState().internal.subscribe,i=dG(t);return yx(()=>r(i,e,n),[e,r,n]),null}const Bg=new Map,{invalidate:Oj,advance:Lj}=Sbe(Bg),{reconciler:U1,applyProps:Nm}=ube(Bg,gbe),Im={objects:"shallow",strict:!1},Mbe=(t,e)=>{const n=typeof t=="function"?t(e):t;return vG(n)?n:new x6({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...t})};function Ebe(t,e){const n=typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement;if(e){const{width:r,height:i,top:s,left:o,updateStyle:a=n}=e;return{width:r,height:i,top:s,left:o,updateStyle:a}}else if(typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement&&t.parentElement){const{width:r,height:i,top:s,left:o}=t.parentElement.getBoundingClientRect();return{width:r,height:i,top:s,left:o,updateStyle:n}}else if(typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas)return{width:t.width,height:t.height,top:0,left:0,updateStyle:n};return{width:0,height:0,top:0,left:0}}function Abe(t){const e=Bg.get(t),n=e==null?void 0:e.fiber,r=e==null?void 0:e.store;e&&console.warn("R3F.createRoot should only be called once!");const i=typeof reportError=="function"?reportError:console.error,s=r||xbe(Oj,Lj),o=n||U1.createContainer(s,Ym.ConcurrentRoot,null,!1,null,"",i,null);e||Bg.set(t,{fiber:o,store:s});let a,l=!1,c;return{configure(d={}){let{gl:f,size:m,scene:y,events:x,onCreated:S,shadows:w=!1,linear:_=!1,flat:E=!1,legacy:T=!1,orthographic:C=!1,frameloop:O="always",dpr:N=[1,2],performance:D,raycaster:F,camera:G,onPointerMissed:k}=d,U=s.getState(),H=U.gl;U.gl||U.set({gl:H=Mbe(f,t)});let ne=U.raycaster;ne||U.set({raycaster:ne=new oG});const{params:te,...he}=F||{};if(ir.equ(he,ne,Im)||Nm(ne,{...he}),ir.equ(te,ne.params,Im)||Nm(ne,{params:{...ne.params,...te}}),!U.camera||U.camera===c&&!ir.equ(c,G,Im)){c=G;const Y=G instanceof dx,V=Y?G:C?new Xc(0,0,0,0,.1,1e3):new Tr(75,0,.1,1e3);Y||(V.position.z=5,G&&(Nm(V,G),("aspect"in G||"left"in G||"right"in G||"bottom"in G||"top"in G)&&(V.manual=!0,V.updateProjectionMatrix())),!U.camera&&!(G!=null&&G.rotation)&&V.lookAt(0,0,0)),U.set({camera:V}),ne.camera=V}if(!U.scene){let Y;y!=null&&y.isScene?Y=y:(Y=new kR,y&&Nm(Y,y)),U.set({scene:Fm(Y)})}if(!U.xr){var se;const Y=(pe,ae)=>{const le=s.getState();le.frameloop!=="never"&&Lj(pe,!0,le,ae)},V=()=>{const pe=s.getState();pe.gl.xr.enabled=pe.gl.xr.isPresenting,pe.gl.xr.setAnimationLoop(pe.gl.xr.isPresenting?Y:null),pe.gl.xr.isPresenting||Oj(pe)},q={connect(){const pe=s.getState().gl;pe.xr.addEventListener("sessionstart",V),pe.xr.addEventListener("sessionend",V)},disconnect(){const pe=s.getState().gl;pe.xr.removeEventListener("sessionstart",V),pe.xr.removeEventListener("sessionend",V)}};typeof((se=H.xr)==null?void 0:se.addEventListener)=="function"&&q.connect(),U.set({xr:q})}if(H.shadowMap){const Y=H.shadowMap.enabled,V=H.shadowMap.type;if(H.shadowMap.enabled=!!w,ir.boo(w))H.shadowMap.type=K0;else if(ir.str(w)){var fe;const q={basic:mV,percentage:HS,soft:K0,variance:Oa};H.shadowMap.type=(fe=q[w])!=null?fe:K0}else ir.obj(w)&&Object.assign(H.shadowMap,w);(Y!==H.shadowMap.enabled||V!==H.shadowMap.type)&&(H.shadowMap.needsUpdate=!0)}const B=cG();B&&("enabled"in B?B.enabled=!T:"legacyMode"in B&&(B.legacyMode=T)),l||Nm(H,{outputEncoding:_?3e3:3001,toneMapping:E?Pl:dR}),U.legacy!==T&&U.set(()=>({legacy:T})),U.linear!==_&&U.set(()=>({linear:_})),U.flat!==E&&U.set(()=>({flat:E})),f&&!ir.fun(f)&&!vG(f)&&!ir.equ(f,H,Im)&&Nm(H,f),x&&!U.events.handlers&&U.set({events:x(s)});const J=Ebe(t,m);return ir.equ(J,U.size,Im)||U.setSize(J.width,J.height,J.updateStyle,J.top,J.left),N&&U.viewport.dpr!==pG(N)&&U.setDpr(N),U.frameloop!==O&&U.setFrameloop(O),U.onPointerMissed||U.set({onPointerMissed:k}),D&&!ir.equ(D,U.performance,Im)&&U.set(Y=>({performance:{...Y.performance,...D}})),a=S,l=!0,this},render(d){return l||this.configure(),U1.updateContainer(g.jsx(Tbe,{store:s,children:d,onCreated:a,rootElement:t}),o,null,()=>{}),s},unmount(){_G(t)}}}function Tbe({store:t,children:e,onCreated:n,rootElement:r}){return yx(()=>{const i=t.getState();i.set(s=>({internal:{...s.internal,active:!0}})),n&&n(i),t.getState().events.connected||i.events.connect==null||i.events.connect(r)},[]),g.jsx(yG.Provider,{value:t,children:e})}function _G(t,e){const n=Bg.get(t),r=n==null?void 0:n.fiber;if(r){const i=n==null?void 0:n.store.getState();i&&(i.internal.active=!1),U1.updateContainer(null,r,null,()=>{i&&setTimeout(()=>{try{var s,o,a,l;i.events.disconnect==null||i.events.disconnect(),(s=i.gl)==null||(o=s.renderLists)==null||o.dispose==null||o.dispose(),(a=i.gl)==null||a.forceContextLoss==null||a.forceContextLoss(),(l=i.gl)!=null&&l.xr&&i.xr.disconnect(),pbe(i),Bg.delete(t)}catch{}},500)})}}U1.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:R.version});const QA={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]};function Cbe(t){const{handlePointer:e}=ybe(t);return{priority:1,enabled:!0,compute(n,r,i){r.pointer.set(n.offsetX/r.size.width*2-1,-(n.offsetY/r.size.height)*2+1),r.raycaster.setFromCamera(r.pointer,r.camera)},connected:void 0,handlers:Object.keys(QA).reduce((n,r)=>({...n,[r]:e(r)}),{}),update:()=>{var n;const{events:r,internal:i}=t.getState();(n=i.lastEvent)!=null&&n.current&&r.handlers&&r.handlers.onPointerMove(i.lastEvent.current)},connect:n=>{var r;const{set:i,events:s}=t.getState();s.disconnect==null||s.disconnect(),i(o=>({events:{...o.events,connected:n}})),Object.entries((r=s.handlers)!=null?r:[]).forEach(([o,a])=>{const[l,c]=QA[o];n.addEventListener(l,a,{passive:c})})},disconnect:()=>{const{set:n,events:r}=t.getState();if(r.connected){var i;Object.entries((i=r.handlers)!=null?i:[]).forEach(([s,o])=>{if(r&&r.connected instanceof HTMLElement){const[a]=QA[s];r.connected.removeEventListener(a,o)}}),n(s=>({events:{...s.events,connected:void 0}}))}}}}function Dj(t,e){let n;return(...r)=>{window.clearTimeout(n),n=window.setTimeout(()=>t(...r),e)}}function Pbe({debounce:t,scroll:e,polyfill:n,offsetSize:r}={debounce:0,scroll:!1,offsetSize:!1}){const i=n||(typeof window>"u"?class{}:window.ResizeObserver);if(!i)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");const[s,o]=R.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),a=R.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:s,orientationHandler:null}),l=t?typeof t=="number"?t:t.scroll:null,c=t?typeof t=="number"?t:t.resize:null,d=R.useRef(!1);R.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[f,m,y]=R.useMemo(()=>{const _=()=>{if(!a.current.element)return;const{left:E,top:T,width:C,height:O,bottom:N,right:D,x:F,y:G}=a.current.element.getBoundingClientRect(),k={left:E,top:T,width:C,height:O,bottom:N,right:D,x:F,y:G};a.current.element instanceof HTMLElement&&r&&(k.height=a.current.element.offsetHeight,k.width=a.current.element.offsetWidth),Object.freeze(k),d.current&&!kbe(a.current.lastBounds,k)&&o(a.current.lastBounds=k)};return[_,c?Dj(_,c):_,l?Dj(_,l):_]},[o,r,l,c]);function x(){a.current.scrollContainers&&(a.current.scrollContainers.forEach(_=>_.removeEventListener("scroll",y,!0)),a.current.scrollContainers=null),a.current.resizeObserver&&(a.current.resizeObserver.disconnect(),a.current.resizeObserver=null),a.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",a.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",a.current.orientationHandler))}function S(){a.current.element&&(a.current.resizeObserver=new i(y),a.current.resizeObserver.observe(a.current.element),e&&a.current.scrollContainers&&a.current.scrollContainers.forEach(_=>_.addEventListener("scroll",y,{capture:!0,passive:!0})),a.current.orientationHandler=()=>{y()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",a.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",a.current.orientationHandler))}const w=_=>{!_||_===a.current.element||(x(),a.current.element=_,a.current.scrollContainers=wG(_),S())};return Nbe(y,!!e),Rbe(m),R.useEffect(()=>{x(),S()},[e,y,m]),R.useEffect(()=>x,[]),[w,s,f]}function Rbe(t){R.useEffect(()=>{const e=t;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[t])}function Nbe(t,e){R.useEffect(()=>{if(e){const n=t;return window.addEventListener("scroll",n,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",n,!0)}},[t,e])}function wG(t){const e=[];if(!t||t===document.body)return e;const{overflow:n,overflowX:r,overflowY:i}=window.getComputedStyle(t);return[n,r,i].some(s=>s==="auto"||s==="scroll")&&e.push(t),[...e,...wG(t.parentElement)]}const Ibe=["x","y","top","bottom","left","right","width","height"],kbe=(t,e)=>Ibe.every(n=>t[n]===e[n]);var Obe=Object.defineProperty,Lbe=Object.defineProperties,Dbe=Object.getOwnPropertyDescriptors,jj=Object.getOwnPropertySymbols,jbe=Object.prototype.hasOwnProperty,Ube=Object.prototype.propertyIsEnumerable,Uj=(t,e,n)=>e in t?Obe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Fj=(t,e)=>{for(var n in e||(e={}))jbe.call(e,n)&&Uj(t,n,e[n]);if(jj)for(var n of jj(e))Ube.call(e,n)&&Uj(t,n,e[n]);return t},Fbe=(t,e)=>Lbe(t,Dbe(e)),zj,Bj;typeof window<"u"&&((zj=window.document)!=null&&zj.createElement||((Bj=window.navigator)==null?void 0:Bj.product)==="ReactNative")?R.useLayoutEffect:R.useEffect;function SG(t,e,n){if(!t)return;if(n(t)===!0)return t;let r=t.child;for(;r;){const i=SG(r,e,n);if(i)return i;r=r.sibling}}function MG(t){try{return Object.defineProperties(t,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return t}}const Hj=console.error;console.error=function(){const t=[...arguments].join("");if(t!=null&&t.startsWith("Warning:")&&t.includes("useContext")){console.error=Hj;return}return Hj.apply(this,arguments)};const sN=MG(R.createContext(null));class EG extends R.Component{render(){return R.createElement(sN.Provider,{value:this._reactInternals},this.props.children)}}function zbe(){const t=R.useContext(sN);if(t===null)throw new Error("its-fine: useFiber must be called within a !");const e=R.useId();return R.useMemo(()=>{for(const r of[t,t==null?void 0:t.alternate]){if(!r)continue;const i=SG(r,!1,s=>{let o=s.memoizedState;for(;o;){if(o.memoizedState===e)return!0;o=o.next}});if(i)return i}},[t,e])}function Bbe(){const t=zbe(),[e]=R.useState(()=>new Map);e.clear();let n=t;for(;n;){if(n.type&&typeof n.type=="object"){const i=n.type._context===void 0&&n.type.Provider===n.type?n.type:n.type._context;i&&i!==sN&&!e.has(i)&&e.set(i,R.useContext(MG(i)))}n=n.return}return e}function Hbe(){const t=Bbe();return R.useMemo(()=>Array.from(t.keys()).reduce((e,n)=>r=>R.createElement(e,null,R.createElement(n.Provider,Fbe(Fj({},r),{value:t.get(n)}))),e=>R.createElement(EG,Fj({},e))),[t])}const Vbe=R.forwardRef(function({children:e,fallback:n,resize:r,style:i,gl:s,events:o=Cbe,eventSource:a,eventPrefix:l,shadows:c,linear:d,flat:f,legacy:m,orthographic:y,frameloop:x,dpr:S,performance:w,raycaster:_,camera:E,scene:T,onPointerMissed:C,onCreated:O,...N},D){R.useMemo(()=>cbe(Kxe),[]);const F=Hbe(),[G,k]=Pbe({scroll:!0,debounce:{scroll:50,resize:0},...r}),U=R.useRef(null),H=R.useRef(null);R.useImperativeHandle(D,()=>U.current);const ne=dG(C),[te,he]=R.useState(!1),[se,fe]=R.useState(!1);if(te)throw te;if(se)throw se;const B=R.useRef(null);yx(()=>{const Y=U.current;k.width>0&&k.height>0&&Y&&(B.current||(B.current=Abe(Y)),B.current.configure({gl:s,events:o,shadows:c,linear:d,flat:f,legacy:m,orthographic:y,frameloop:x,dpr:S,performance:w,raycaster:_,camera:E,scene:T,size:k,onPointerMissed:(...V)=>ne.current==null?void 0:ne.current(...V),onCreated:V=>{V.events.connect==null||V.events.connect(a?dbe(a)?a.current:a:H.current),l&&V.setEvents({compute:(q,pe)=>{const ae=q[l+"X"],le=q[l+"Y"];pe.pointer.set(ae/pe.size.width*2-1,-(le/pe.size.height)*2+1),pe.raycaster.setFromCamera(pe.pointer,pe.camera)}}),O==null||O(V)}}),B.current.render(g.jsx(F,{children:g.jsx(fG,{set:fe,children:g.jsx(R.Suspense,{fallback:g.jsx(fbe,{set:he}),children:e??null})})})))}),R.useEffect(()=>{const Y=U.current;if(Y)return()=>_G(Y)},[]);const J=a?"none":"auto";return g.jsx("div",{ref:H,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:J,...i},...N,children:g.jsx("div",{ref:G,style:{width:"100%",height:"100%"},children:g.jsx("canvas",{ref:U,style:{display:"block"},children:n})})})}),Gbe=R.forwardRef(function(e,n){return g.jsx(EG,{children:g.jsx(Vbe,{...e,ref:n})})});function aP(){return aP=Object.assign?Object.assign.bind():function(t){for(var e=1;ee in t?Wbe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Xbe=(t,e,n)=>($be(t,e+"",n),n);class qbe{constructor(){Xbe(this,"_listeners")}addEventListener(e,n){this._listeners===void 0&&(this._listeners={});const r=this._listeners;r[e]===void 0&&(r[e]=[]),r[e].indexOf(n)===-1&&r[e].push(n)}hasEventListener(e,n){if(this._listeners===void 0)return!1;const r=this._listeners;return r[e]!==void 0&&r[e].indexOf(n)!==-1}removeEventListener(e,n){if(this._listeners===void 0)return;const i=this._listeners[e];if(i!==void 0){const s=i.indexOf(n);s!==-1&&i.splice(s,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const r=this._listeners[e.type];if(r!==void 0){e.target=this;const i=r.slice(0);for(let s=0,o=i.length;se in t?Kbe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Xt=(t,e,n)=>(Ybe(t,typeof e!="symbol"?e+"":e,n),n);const I_=new Jh,Vj=new kc,Zbe=Math.cos(70*(Math.PI/180)),Gj=(t,e)=>(t%e+e)%e;let Qbe=class extends qbe{constructor(e,n){super(),Xt(this,"object"),Xt(this,"domElement"),Xt(this,"enabled",!0),Xt(this,"target",new X),Xt(this,"minDistance",0),Xt(this,"maxDistance",1/0),Xt(this,"minZoom",0),Xt(this,"maxZoom",1/0),Xt(this,"minPolarAngle",0),Xt(this,"maxPolarAngle",Math.PI),Xt(this,"minAzimuthAngle",-1/0),Xt(this,"maxAzimuthAngle",1/0),Xt(this,"enableDamping",!1),Xt(this,"dampingFactor",.05),Xt(this,"enableZoom",!0),Xt(this,"zoomSpeed",1),Xt(this,"enableRotate",!0),Xt(this,"rotateSpeed",1),Xt(this,"enablePan",!0),Xt(this,"panSpeed",1),Xt(this,"screenSpacePanning",!0),Xt(this,"keyPanSpeed",7),Xt(this,"zoomToCursor",!1),Xt(this,"autoRotate",!1),Xt(this,"autoRotateSpeed",2),Xt(this,"reverseOrbit",!1),Xt(this,"reverseHorizontalOrbit",!1),Xt(this,"reverseVerticalOrbit",!1),Xt(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),Xt(this,"mouseButtons",{LEFT:Xf.ROTATE,MIDDLE:Xf.DOLLY,RIGHT:Xf.PAN}),Xt(this,"touches",{ONE:qf.ROTATE,TWO:qf.DOLLY_PAN}),Xt(this,"target0"),Xt(this,"position0"),Xt(this,"zoom0"),Xt(this,"_domElementKeyEvents",null),Xt(this,"getPolarAngle"),Xt(this,"getAzimuthalAngle"),Xt(this,"setPolarAngle"),Xt(this,"setAzimuthalAngle"),Xt(this,"getDistance"),Xt(this,"getZoomScale"),Xt(this,"listenToKeyEvents"),Xt(this,"stopListenToKeyEvents"),Xt(this,"saveState"),Xt(this,"reset"),Xt(this,"update"),Xt(this,"connect"),Xt(this,"dispose"),Xt(this,"dollyIn"),Xt(this,"dollyOut"),Xt(this,"getScale"),Xt(this,"setScale"),this.object=e,this.domElement=n,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>d.phi,this.getAzimuthalAngle=()=>d.theta,this.setPolarAngle=Q=>{let Ae=Gj(Q,2*Math.PI),re=d.phi;re<0&&(re+=2*Math.PI),Ae<0&&(Ae+=2*Math.PI);let Fe=Math.abs(Ae-re);2*Math.PI-Fe{let Ae=Gj(Q,2*Math.PI),re=d.theta;re<0&&(re+=2*Math.PI),Ae<0&&(Ae+=2*Math.PI);let Fe=Math.abs(Ae-re);2*Math.PI-Fer.object.position.distanceTo(r.target),this.listenToKeyEvents=Q=>{Q.addEventListener("keydown",dt),this._domElementKeyEvents=Q},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",dt),this._domElementKeyEvents=null},this.saveState=()=>{r.target0.copy(r.target),r.position0.copy(r.object.position),r.zoom0=r.object.zoom},this.reset=()=>{r.target.copy(r.target0),r.object.position.copy(r.position0),r.object.zoom=r.zoom0,r.object.updateProjectionMatrix(),r.dispatchEvent(i),r.update(),l=a.NONE},this.update=(()=>{const Q=new X,Ae=new X(0,1,0),re=new Kt().setFromUnitVectors(e.up,Ae),Fe=re.clone().invert(),Te=new X,Le=new Kt,Ye=2*Math.PI;return function(){const Yt=r.object.position;re.setFromUnitVectors(e.up,Ae),Fe.copy(re).invert(),Q.copy(Yt).sub(r.target),Q.applyQuaternion(re),d.setFromVector3(Q),r.autoRotate&&l===a.NONE&&te(H()),r.enableDamping?(d.theta+=f.theta*r.dampingFactor,d.phi+=f.phi*r.dampingFactor):(d.theta+=f.theta,d.phi+=f.phi);let un=r.minAzimuthAngle,Cn=r.maxAzimuthAngle;isFinite(un)&&isFinite(Cn)&&(un<-Math.PI?un+=Ye:un>Math.PI&&(un-=Ye),Cn<-Math.PI?Cn+=Ye:Cn>Math.PI&&(Cn-=Ye),un<=Cn?d.theta=Math.max(un,Math.min(Cn,d.theta)):d.theta=d.theta>(un+Cn)/2?Math.max(un,d.theta):Math.min(Cn,d.theta)),d.phi=Math.max(r.minPolarAngle,Math.min(r.maxPolarAngle,d.phi)),d.makeSafe(),r.enableDamping===!0?r.target.addScaledVector(y,r.dampingFactor):r.target.add(y),r.zoomToCursor&&G||r.object.isOrthographicCamera?d.radius=pe(d.radius):d.radius=pe(d.radius*m),Q.setFromSpherical(d),Q.applyQuaternion(Fe),Yt.copy(r.target).add(Q),r.object.matrixAutoUpdate||r.object.updateMatrix(),r.object.lookAt(r.target),r.enableDamping===!0?(f.theta*=1-r.dampingFactor,f.phi*=1-r.dampingFactor,y.multiplyScalar(1-r.dampingFactor)):(f.set(0,0,0),y.set(0,0,0));let en=!1;if(r.zoomToCursor&&G){let Hn=null;if(r.object instanceof Tr&&r.object.isPerspectiveCamera){const hr=Q.length();Hn=pe(hr*m);const Si=hr-Hn;r.object.position.addScaledVector(D,Si),r.object.updateMatrixWorld()}else if(r.object.isOrthographicCamera){const hr=new X(F.x,F.y,0);hr.unproject(r.object),r.object.zoom=Math.max(r.minZoom,Math.min(r.maxZoom,r.object.zoom/m)),r.object.updateProjectionMatrix(),en=!0;const Si=new X(F.x,F.y,0);Si.unproject(r.object),r.object.position.sub(Si).add(hr),r.object.updateMatrixWorld(),Hn=Q.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),r.zoomToCursor=!1;Hn!==null&&(r.screenSpacePanning?r.target.set(0,0,-1).transformDirection(r.object.matrix).multiplyScalar(Hn).add(r.object.position):(I_.origin.copy(r.object.position),I_.direction.set(0,0,-1).transformDirection(r.object.matrix),Math.abs(r.object.up.dot(I_.direction))c||8*(1-Le.dot(r.object.quaternion))>c?(r.dispatchEvent(i),Te.copy(r.object.position),Le.copy(r.object.quaternion),en=!1,!0):!1}})(),this.connect=Q=>{r.domElement=Q,r.domElement.style.touchAction="none",r.domElement.addEventListener("contextmenu",tt),r.domElement.addEventListener("pointerdown",Ee),r.domElement.addEventListener("pointercancel",Ve),r.domElement.addEventListener("wheel",rt)},this.dispose=()=>{var Q,Ae,re,Fe,Te,Le;r.domElement&&(r.domElement.style.touchAction="auto"),(Q=r.domElement)==null||Q.removeEventListener("contextmenu",tt),(Ae=r.domElement)==null||Ae.removeEventListener("pointerdown",Ee),(re=r.domElement)==null||re.removeEventListener("pointercancel",Ve),(Fe=r.domElement)==null||Fe.removeEventListener("wheel",rt),(Te=r.domElement)==null||Te.ownerDocument.removeEventListener("pointermove",Be),(Le=r.domElement)==null||Le.ownerDocument.removeEventListener("pointerup",Ve),r._domElementKeyEvents!==null&&r._domElementKeyEvents.removeEventListener("keydown",dt)};const r=this,i={type:"change"},s={type:"start"},o={type:"end"},a={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let l=a.NONE;const c=1e-6,d=new iP,f=new iP;let m=1;const y=new X,x=new Ge,S=new Ge,w=new Ge,_=new Ge,E=new Ge,T=new Ge,C=new Ge,O=new Ge,N=new Ge,D=new X,F=new Ge;let G=!1;const k=[],U={};function H(){return 2*Math.PI/60/60*r.autoRotateSpeed}function ne(){return Math.pow(.95,r.zoomSpeed)}function te(Q){r.reverseOrbit||r.reverseHorizontalOrbit?f.theta+=Q:f.theta-=Q}function he(Q){r.reverseOrbit||r.reverseVerticalOrbit?f.phi+=Q:f.phi-=Q}const se=(()=>{const Q=new X;return function(re,Fe){Q.setFromMatrixColumn(Fe,0),Q.multiplyScalar(-re),y.add(Q)}})(),fe=(()=>{const Q=new X;return function(re,Fe){r.screenSpacePanning===!0?Q.setFromMatrixColumn(Fe,1):(Q.setFromMatrixColumn(Fe,0),Q.crossVectors(r.object.up,Q)),Q.multiplyScalar(re),y.add(Q)}})(),B=(()=>{const Q=new X;return function(re,Fe){const Te=r.domElement;if(Te&&r.object instanceof Tr&&r.object.isPerspectiveCamera){const Le=r.object.position;Q.copy(Le).sub(r.target);let Ye=Q.length();Ye*=Math.tan(r.object.fov/2*Math.PI/180),se(2*re*Ye/Te.clientHeight,r.object.matrix),fe(2*Fe*Ye/Te.clientHeight,r.object.matrix)}else Te&&r.object instanceof Xc&&r.object.isOrthographicCamera?(se(re*(r.object.right-r.object.left)/r.object.zoom/Te.clientWidth,r.object.matrix),fe(Fe*(r.object.top-r.object.bottom)/r.object.zoom/Te.clientHeight,r.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),r.enablePan=!1)}})();function J(Q){r.object instanceof Tr&&r.object.isPerspectiveCamera||r.object instanceof Xc&&r.object.isOrthographicCamera?m=Q:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),r.enableZoom=!1)}function Y(Q){J(m/Q)}function V(Q){J(m*Q)}function q(Q){if(!r.zoomToCursor||!r.domElement)return;G=!0;const Ae=r.domElement.getBoundingClientRect(),re=Q.clientX-Ae.left,Fe=Q.clientY-Ae.top,Te=Ae.width,Le=Ae.height;F.x=re/Te*2-1,F.y=-(Fe/Le)*2+1,D.set(F.x,F.y,1).unproject(r.object).sub(r.object.position).normalize()}function pe(Q){return Math.max(r.minDistance,Math.min(r.maxDistance,Q))}function ae(Q){x.set(Q.clientX,Q.clientY)}function le(Q){q(Q),C.set(Q.clientX,Q.clientY)}function be(Q){_.set(Q.clientX,Q.clientY)}function Se(Q){S.set(Q.clientX,Q.clientY),w.subVectors(S,x).multiplyScalar(r.rotateSpeed);const Ae=r.domElement;Ae&&(te(2*Math.PI*w.x/Ae.clientHeight),he(2*Math.PI*w.y/Ae.clientHeight)),x.copy(S),r.update()}function qe(Q){O.set(Q.clientX,Q.clientY),N.subVectors(O,C),N.y>0?Y(ne()):N.y<0&&V(ne()),C.copy(O),r.update()}function Me(Q){E.set(Q.clientX,Q.clientY),T.subVectors(E,_).multiplyScalar(r.panSpeed),B(T.x,T.y),_.copy(E),r.update()}function $e(Q){q(Q),Q.deltaY<0?V(ne()):Q.deltaY>0&&Y(ne()),r.update()}function Ke(Q){let Ae=!1;switch(Q.code){case r.keys.UP:B(0,r.keyPanSpeed),Ae=!0;break;case r.keys.BOTTOM:B(0,-r.keyPanSpeed),Ae=!0;break;case r.keys.LEFT:B(r.keyPanSpeed,0),Ae=!0;break;case r.keys.RIGHT:B(-r.keyPanSpeed,0),Ae=!0;break}Ae&&(Q.preventDefault(),r.update())}function ce(){if(k.length==1)x.set(k[0].pageX,k[0].pageY);else{const Q=.5*(k[0].pageX+k[1].pageX),Ae=.5*(k[0].pageY+k[1].pageY);x.set(Q,Ae)}}function Z(){if(k.length==1)_.set(k[0].pageX,k[0].pageY);else{const Q=.5*(k[0].pageX+k[1].pageX),Ae=.5*(k[0].pageY+k[1].pageY);_.set(Q,Ae)}}function We(){const Q=k[0].pageX-k[1].pageX,Ae=k[0].pageY-k[1].pageY,re=Math.sqrt(Q*Q+Ae*Ae);C.set(0,re)}function je(){r.enableZoom&&We(),r.enablePan&&Z()}function Xe(){r.enableZoom&&We(),r.enableRotate&&ce()}function Je(Q){if(k.length==1)S.set(Q.pageX,Q.pageY);else{const re=ue(Q),Fe=.5*(Q.pageX+re.x),Te=.5*(Q.pageY+re.y);S.set(Fe,Te)}w.subVectors(S,x).multiplyScalar(r.rotateSpeed);const Ae=r.domElement;Ae&&(te(2*Math.PI*w.x/Ae.clientHeight),he(2*Math.PI*w.y/Ae.clientHeight)),x.copy(S)}function bt(Q){if(k.length==1)E.set(Q.pageX,Q.pageY);else{const Ae=ue(Q),re=.5*(Q.pageX+Ae.x),Fe=.5*(Q.pageY+Ae.y);E.set(re,Fe)}T.subVectors(E,_).multiplyScalar(r.panSpeed),B(T.x,T.y),_.copy(E)}function ut(Q){const Ae=ue(Q),re=Q.pageX-Ae.x,Fe=Q.pageY-Ae.y,Te=Math.sqrt(re*re+Fe*Fe);O.set(0,Te),N.set(0,Math.pow(O.y/C.y,r.zoomSpeed)),Y(N.y),C.copy(O)}function ee(Q){r.enableZoom&&ut(Q),r.enablePan&&bt(Q)}function $(Q){r.enableZoom&&ut(Q),r.enableRotate&&Je(Q)}function Ee(Q){var Ae,re;r.enabled!==!1&&(k.length===0&&((Ae=r.domElement)==null||Ae.ownerDocument.addEventListener("pointermove",Be),(re=r.domElement)==null||re.ownerDocument.addEventListener("pointerup",Ve)),jt(Q),Q.pointerType==="touch"?de(Q):He(Q))}function Be(Q){r.enabled!==!1&&(Q.pointerType==="touch"?Ne(Q):mt(Q))}function Ve(Q){var Ae,re,Fe;Lt(Q),k.length===0&&((Ae=r.domElement)==null||Ae.releasePointerCapture(Q.pointerId),(re=r.domElement)==null||re.ownerDocument.removeEventListener("pointermove",Be),(Fe=r.domElement)==null||Fe.ownerDocument.removeEventListener("pointerup",Ve)),r.dispatchEvent(o),l=a.NONE}function He(Q){let Ae;switch(Q.button){case 0:Ae=r.mouseButtons.LEFT;break;case 1:Ae=r.mouseButtons.MIDDLE;break;case 2:Ae=r.mouseButtons.RIGHT;break;default:Ae=-1}switch(Ae){case Xf.DOLLY:if(r.enableZoom===!1)return;le(Q),l=a.DOLLY;break;case Xf.ROTATE:if(Q.ctrlKey||Q.metaKey||Q.shiftKey){if(r.enablePan===!1)return;be(Q),l=a.PAN}else{if(r.enableRotate===!1)return;ae(Q),l=a.ROTATE}break;case Xf.PAN:if(Q.ctrlKey||Q.metaKey||Q.shiftKey){if(r.enableRotate===!1)return;ae(Q),l=a.ROTATE}else{if(r.enablePan===!1)return;be(Q),l=a.PAN}break;default:l=a.NONE}l!==a.NONE&&r.dispatchEvent(s)}function mt(Q){if(r.enabled!==!1)switch(l){case a.ROTATE:if(r.enableRotate===!1)return;Se(Q);break;case a.DOLLY:if(r.enableZoom===!1)return;qe(Q);break;case a.PAN:if(r.enablePan===!1)return;Me(Q);break}}function rt(Q){r.enabled===!1||r.enableZoom===!1||l!==a.NONE&&l!==a.ROTATE||(Q.preventDefault(),r.dispatchEvent(s),$e(Q),r.dispatchEvent(o))}function dt(Q){r.enabled===!1||r.enablePan===!1||Ke(Q)}function de(Q){switch(ct(Q),k.length){case 1:switch(r.touches.ONE){case qf.ROTATE:if(r.enableRotate===!1)return;ce(),l=a.TOUCH_ROTATE;break;case qf.PAN:if(r.enablePan===!1)return;Z(),l=a.TOUCH_PAN;break;default:l=a.NONE}break;case 2:switch(r.touches.TWO){case qf.DOLLY_PAN:if(r.enableZoom===!1&&r.enablePan===!1)return;je(),l=a.TOUCH_DOLLY_PAN;break;case qf.DOLLY_ROTATE:if(r.enableZoom===!1&&r.enableRotate===!1)return;Xe(),l=a.TOUCH_DOLLY_ROTATE;break;default:l=a.NONE}break;default:l=a.NONE}l!==a.NONE&&r.dispatchEvent(s)}function Ne(Q){switch(ct(Q),l){case a.TOUCH_ROTATE:if(r.enableRotate===!1)return;Je(Q),r.update();break;case a.TOUCH_PAN:if(r.enablePan===!1)return;bt(Q),r.update();break;case a.TOUCH_DOLLY_PAN:if(r.enableZoom===!1&&r.enablePan===!1)return;ee(Q),r.update();break;case a.TOUCH_DOLLY_ROTATE:if(r.enableZoom===!1&&r.enableRotate===!1)return;$(Q),r.update();break;default:l=a.NONE}}function tt(Q){r.enabled!==!1&&Q.preventDefault()}function jt(Q){k.push(Q)}function Lt(Q){delete U[Q.pointerId];for(let Ae=0;Ae{V(Q),r.update()},this.dollyOut=(Q=ne())=>{Y(Q),r.update()},this.getScale=()=>m,this.setScale=Q=>{J(Q),r.update()},this.getZoomScale=()=>ne(),n!==void 0&&this.connect(n),this.update()}};const Jbe=R.forwardRef(({makeDefault:t,camera:e,regress:n,domElement:r,enableDamping:i=!0,keyEvents:s=!1,onChange:o,onStart:a,onEnd:l,...c},d)=>{const f=nd(N=>N.invalidate),m=nd(N=>N.camera),y=nd(N=>N.gl),x=nd(N=>N.events),S=nd(N=>N.setEvents),w=nd(N=>N.set),_=nd(N=>N.get),E=nd(N=>N.performance),T=e||m,C=r||x.connected||y.domElement,O=R.useMemo(()=>new Qbe(T),[T]);return bG(()=>{O.enabled&&O.update()},-1),R.useEffect(()=>(s&&O.connect(s===!0?C:s),O.connect(C),()=>void O.dispose()),[s,C,n,O,f]),R.useEffect(()=>{const N=G=>{f(),n&&E.regress(),o&&o(G)},D=G=>{a&&a(G)},F=G=>{l&&l(G)};return O.addEventListener("change",N),O.addEventListener("start",D),O.addEventListener("end",F),()=>{O.removeEventListener("start",D),O.removeEventListener("end",F),O.removeEventListener("change",N)}},[o,a,l,O,f,S]),R.useEffect(()=>{if(t){const N=_().controls;return w({controls:O}),()=>w({controls:N})}},[t,O]),R.createElement("primitive",aP({ref:d,object:O,enableDamping:i},c))});function Wj(t,e){if(e===$V)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),t;if(e===O1||e===wR){let n=t.getIndex();if(n===null){const o=[],a=t.getAttribute("position");if(a!==void 0){for(let l=0;l=2.0 are supported."));return}const c=new k_e(s,{path:n||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let d=0;d=0&&a[f]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+f+'".')}}c.setExtensions(o),c.setPlugins(a),c.parse(r,i)}parseAsync(e,n){const r=this;return new Promise(function(i,s){r.parse(e,n,i,s)})}}function t_e(){let t={};return{get:function(e){return t[e]},add:function(e,n){t[e]=n},remove:function(e){delete t[e]},removeAll:function(){t={}}}}const vn={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class n_e{constructor(e){this.parser=e,this.name=vn.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,n=this.parser.json.nodes||[];for(let r=0,i=n.length;r=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return n.loadTextureImage(e,s.source,o)}}class g_e{constructor(e){this.parser=e,this.name=vn.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const n=this.name,r=this.parser,i=r.json,s=i.textures[e];if(!s.extensions||!s.extensions[n])return null;const o=s.extensions[n],a=i.images[o.source];let l=r.textureLoader;if(a.uri){const c=r.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return r.loadTextureImage(e,o.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const n=new Image;n.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",n.onload=n.onerror=function(){e(n.height===1)}})),this.isSupported}}class v_e{constructor(e){this.parser=e,this.name=vn.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const n=this.name,r=this.parser,i=r.json,s=i.textures[e];if(!s.extensions||!s.extensions[n])return null;const o=s.extensions[n],a=i.images[o.source];let l=r.textureLoader;if(a.uri){const c=r.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return r.loadTextureImage(e,o.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const n=new Image;n.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",n.onload=n.onerror=function(){e(n.height===1)}})),this.isSupported}}class y_e{constructor(e){this.name=vn.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const n=this.parser.json,r=n.bufferViews[e];if(r.extensions&&r.extensions[this.name]){const i=r.extensions[this.name],s=this.parser.getDependency("buffer",i.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(n.extensionsRequired&&n.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return s.then(function(a){const l=i.byteOffset||0,c=i.byteLength||0,d=i.count,f=i.byteStride,m=new Uint8Array(a,l,c);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(d,f,m,i.mode,i.filter).then(function(y){return y.buffer}):o.ready.then(function(){const y=new ArrayBuffer(d*f);return o.decodeGltfBuffer(new Uint8Array(y),d,f,m,i.mode,i.filter),y})})}else return null}}class x_e{constructor(e){this.name=vn.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const n=this.parser.json,r=n.nodes[e];if(!r.extensions||!r.extensions[this.name]||r.mesh===void 0)return null;const i=n.meshes[r.mesh];for(const c of i.primitives)if(c.mode!==Ho.TRIANGLES&&c.mode!==Ho.TRIANGLE_STRIP&&c.mode!==Ho.TRIANGLE_FAN&&c.mode!==void 0)return null;const o=r.extensions[this.name].attributes,a=[],l={};for(const c in o)a.push(this.parser.getDependency("accessor",o[c]).then(d=>(l[c]=d,l[c])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(c=>{const d=c.pop(),f=d.isGroup?d.children:[d],m=c[0].count,y=[];for(const x of f){const S=new Pt,w=new X,_=new Kt,E=new X(1,1,1),T=new LR(x.geometry,x.material,m);for(let C=0;C0||t.search(/^data\:image\/jpeg/)===0?"image/jpeg":t.search(/\.webp($|\?)/i)>0||t.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const I_e=new Pt;class k_e{constructor(e={},n={}){this.json=e,this.extensions={},this.plugins={},this.options=n,this.cache=new t_e,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let r=!1,i=-1,s=!1,o=-1;if(typeof navigator<"u"){const a=navigator.userAgent;r=/^((?!chrome|android).)*safari/i.test(a)===!0;const l=a.match(/Version\/(\d+)/);i=r&&l?parseInt(l[1],10):-1,s=a.indexOf("Firefox")>-1,o=s?a.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>"u"||r&&i<17||s&&o<98?this.textureLoader=new q6(this.options.manager):this.textureLoader=new nG(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Ga(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,n){const r=this,i=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([r.getDependencies("scene"),r.getDependencies("animation"),r.getDependencies("camera")])}).then(function(o){const a={scene:o[0][i.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:i.asset,parser:r,userData:{}};return Ff(s,a,i),Nc(a,i),Promise.all(r._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){for(const l of a.scenes)l.updateMatrixWorld();e(a)})}).catch(n)}_markDefs(){const e=this.json.nodes||[],n=this.json.skins||[],r=this.json.meshes||[];for(let i=0,s=n.length;i{const l=this.associations.get(o);l!=null&&this.associations.set(a,l);for(const[c,d]of o.children.entries())s(d,a.children[c])};return s(r,i),i.name+="_instance_"+e.uses[n]++,i}_invokeOne(e){const n=Object.values(this.plugins);n.push(this);for(let r=0;r=2&&w.setY(G,N[D*l+1]),l>=3&&w.setZ(G,N[D*l+2]),l>=4&&w.setW(G,N[D*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}w.normalized=x}return w})}loadTexture(e){const n=this.json,r=this.options,s=n.textures[e].source,o=n.images[s];let a=this.textureLoader;if(o.uri){const l=r.manager.getHandler(o.uri);l!==null&&(a=l)}return this.loadTextureImage(e,s,a)}loadTextureImage(e,n,r){const i=this,s=this.json,o=s.textures[e],a=s.images[n],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const c=this.loadImageSource(n,r).then(function(d){d.flipY=!1,d.name=o.name||a.name||"",d.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(d.name=a.uri);const m=(s.samplers||{})[o.sampler]||{};return d.magFilter=Xj[m.magFilter]||Cr,d.minFilter=Xj[m.minFilter]||qo,d.wrapS=qj[m.wrapS]||Pd,d.wrapT=qj[m.wrapT]||Pd,i.associations.set(d,{textures:e}),d}).catch(function(){return null});return this.textureCache[l]=c,c}loadImageSource(e,n){const r=this,i=this.json,s=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(f=>f.clone());const o=i.images[e],a=self.URL||self.webkitURL;let l=o.uri||"",c=!1;if(o.bufferView!==void 0)l=r.getDependency("bufferView",o.bufferView).then(function(f){c=!0;const m=new Blob([f],{type:o.mimeType});return l=a.createObjectURL(m),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const d=Promise.resolve(l).then(function(f){return new Promise(function(m,y){let x=m;n.isImageBitmapLoader===!0&&(x=function(S){const w=new dr(S);w.needsUpdate=!0,m(w)}),n.load(Md.resolveURL(f,s.path),x,void 0,y)})}).then(function(f){return c===!0&&a.revokeObjectURL(l),Nc(f,o),f.userData.mimeType=o.mimeType||N_e(o.uri),f}).catch(function(f){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),f});return this.sourceCache[e]=d,d}assignTexture(e,n,r,i){const s=this;return this.getDependency("texture",r.index).then(function(o){if(!o)return null;if(r.texCoord!==void 0&&r.texCoord>0&&(o=o.clone(),o.channel=r.texCoord),s.extensions[vn.KHR_TEXTURE_TRANSFORM]){const a=r.extensions!==void 0?r.extensions[vn.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=s.associations.get(o);o=s.extensions[vn.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),s.associations.set(o,l)}}return i!==void 0&&(o.colorSpace=i),e[n]=o,o})}assignFinalMaterial(e){const n=e.geometry;let r=e.material;const i=n.attributes.tangent===void 0,s=n.attributes.color!==void 0,o=n.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+r.uuid;let l=this.cache.get(a);l||(l=new sM,Gr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,l.sizeAttenuation=!1,this.cache.add(a,l)),r=l}else if(e.isLine){const a="LineBasicMaterial:"+r.uuid;let l=this.cache.get(a);l||(l=new $r,Gr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,this.cache.add(a,l)),r=l}if(i||s||o){let a="ClonedMaterial:"+r.uuid+":";i&&(a+="derivative-tangents:"),s&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=r.clone(),s&&(l.vertexColors=!0),o&&(l.flatShading=!0),i&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(r))),r=l}e.material=r}getMaterialType(){return vx}loadMaterial(e){const n=this,r=this.json,i=this.extensions,s=r.materials[e];let o;const a={},l=s.extensions||{},c=[];if(l[vn.KHR_MATERIALS_UNLIT]){const f=i[vn.KHR_MATERIALS_UNLIT];o=f.getMaterialType(),c.push(f.extendParams(a,s,n))}else{const f=s.pbrMetallicRoughness||{};if(a.color=new lt(1,1,1),a.opacity=1,Array.isArray(f.baseColorFactor)){const m=f.baseColorFactor;a.color.setRGB(m[0],m[1],m[2],xi),a.opacity=m[3]}f.baseColorTexture!==void 0&&c.push(n.assignTexture(a,"map",f.baseColorTexture,Ui)),a.metalness=f.metallicFactor!==void 0?f.metallicFactor:1,a.roughness=f.roughnessFactor!==void 0?f.roughnessFactor:1,f.metallicRoughnessTexture!==void 0&&(c.push(n.assignTexture(a,"metalnessMap",f.metallicRoughnessTexture)),c.push(n.assignTexture(a,"roughnessMap",f.metallicRoughnessTexture))),o=this._invokeOne(function(m){return m.getMaterialType&&m.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(m){return m.extendMaterialParams&&m.extendMaterialParams(e,a)})))}s.doubleSided===!0&&(a.side=xo);const d=s.alphaMode||eT.OPAQUE;if(d===eT.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,d===eT.MASK&&(a.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&o!==As&&(c.push(n.assignTexture(a,"normalMap",s.normalTexture)),a.normalScale=new Ge(1,1),s.normalTexture.scale!==void 0)){const f=s.normalTexture.scale;a.normalScale.set(f,f)}if(s.occlusionTexture!==void 0&&o!==As&&(c.push(n.assignTexture(a,"aoMap",s.occlusionTexture)),s.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&o!==As){const f=s.emissiveFactor;a.emissive=new lt().setRGB(f[0],f[1],f[2],xi)}return s.emissiveTexture!==void 0&&o!==As&&c.push(n.assignTexture(a,"emissiveMap",s.emissiveTexture,Ui)),Promise.all(c).then(function(){const f=new o(a);return s.name&&(f.name=s.name),Nc(f,s),n.associations.set(f,{materials:e}),s.extensions&&Ff(i,f,s),f})}createUniqueName(e){const n=Nn.sanitizeNodeName(e||"");return n in this.nodeNamesUsed?n+"_"+ ++this.nodeNamesUsed[n]:(this.nodeNamesUsed[n]=0,n)}loadGeometries(e){const n=this,r=this.extensions,i=this.primitiveCache;function s(a){return r[vn.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,n).then(function(l){return Kj(l,a,n)})}const o=[];for(let a=0,l=e.length;a0&&P_e(_,s),_.name=n.createUniqueName(s.name||"mesh_"+e),Nc(_,s),w.extensions&&Ff(i,_,w),n.assignFinalMaterial(_),f.push(_)}for(let y=0,x=f.length;y1?d=new Ts:c.length===1?d=c[0]:d=new mn,d!==c[0])for(let f=0,m=c.length;f{const f=new Map;for(const[m,y]of i.associations)(m instanceof Gr||m instanceof dr)&&f.set(m,y);return d.traverse(m=>{const y=i.associations.get(m);y!=null&&f.set(m,y)}),f};return i.associations=c(s),s})}_createAnimationTracks(e,n,r,i,s){const o=[],a=e.name?e.name:e.uuid,l=[];rd[s.path]===rd.weights?e.traverse(function(m){m.morphTargetInfluences&&l.push(m.name?m.name:m.uuid)}):l.push(a);let c;switch(rd[s.path]){case rd.weights:c=Hh;break;case rd.rotation:c=Vh;break;case rd.position:case rd.scale:c=Gh;break;default:switch(r.itemSize){case 1:c=Hh;break;case 2:case 3:default:c=Gh;break}break}const d=i.interpolation!==void 0?A_e[i.interpolation]:Dg,f=this._getArrayFromAccessor(r);for(let m=0,y=l.length;m>>1,q=B[V];if(0>>1;Vi(ce,Y))bei(Se,ce)?(B[V]=Se,B[be]=Y,V=be):(B[V]=ce,B[le]=Y,V=le);else if(bei(Se,Y))B[V]=Se,B[be]=Y,V=be;else break e}}return J}function i(B,J){var Y=B.sortIndex-J.sortIndex;return Y!==0?Y:B.id-J.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;t.unstable_now=function(){return s.now()}}else{var o=Date,a=o.now();t.unstable_now=function(){return o.now()-a}}var l=[],c=[],d=1,f=null,m=3,y=!1,x=!1,S=!1,w=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(B){for(var J=n(c);J!==null;){if(J.callback===null)r(c);else if(J.startTime<=B)r(c),J.sortIndex=J.expirationTime,e(l,J);else break;J=n(c)}}function C(B){if(S=!1,T(B),!x)if(n(l)!==null)x=!0,oe(O);else{var J=n(c);J!==null&&fe(C,J.startTime-B)}}function O(B,J){x=!1,S&&(S=!1,_(F),F=-1),y=!0;var Y=m;try{for(T(J),f=n(l);f!==null&&(!(f.expirationTime>J)||B&&!U());){var V=f.callback;if(typeof V=="function"){f.callback=null,m=f.priorityLevel;var q=V(f.expirationTime<=J);J=t.unstable_now(),typeof q=="function"?f.callback=q:f===n(l)&&r(l),T(J)}else r(l);f=n(l)}if(f!==null)var pe=!0;else{var le=n(c);le!==null&&fe(C,le.startTime-J),pe=!1}return pe}finally{f=null,m=Y,y=!1}}var N=!1,D=null,F=-1,G=5,k=-1;function U(){return!(t.unstable_now()-kB||125V?(B.sortIndex=Y,e(c,B),n(l)===null&&B===n(c)&&(S?(_(F),F=-1):S=!0,fe(C,Y-V))):(B.sortIndex=q,e(l,B),x||y||(x=!0,oe(O))),B},t.unstable_shouldYield=U,t.unstable_wrapCallback=function(B){var J=m;return function(){var Y=m;m=J;try{return B.apply(this,arguments)}finally{m=Y}}}})(GA)),GA}var Tj;function lbe(){return Tj||(Tj=1,VA.exports=abe()),VA.exports}var Cj=lbe();const iN={},cbe=t=>void Object.assign(iN,t);function ube(t,e){function n(d,{args:f=[],attach:m,...y},x){let S=`${d[0].toUpperCase()}${d.slice(1)}`,w;if(d==="primitive"){if(y.object===void 0)throw new Error("R3F: Primitives without 'object' are invalid!");const _=y.object;w=zm(_,{type:d,root:x,attach:m,primitive:!0})}else{const _=iN[S];if(!_)throw new Error(`R3F: ${S} is not part of the THREE namespace! Did you forget to extend? See: https://docs.pmnd.rs/react-three-fiber/api/objects#using-3rd-party-objects-declaratively`);if(!Array.isArray(f))throw new Error("R3F: The args prop must be an array!");w=zm(new _(...f),{type:d,root:x,attach:m,memoizedProps:{args:f}})}return w.__r3f.attach===void 0&&(w.isBufferGeometry?w.__r3f.attach="geometry":w.isMaterial&&(w.__r3f.attach="material")),S!=="inject"&&XA(w,y),w}function r(d,f){let m=!1;if(f){var y,x;(y=f.__r3f)!=null&&y.attach?$A(d,f,f.__r3f.attach):f.isObject3D&&d.isObject3D&&(d.add(f),m=!0),m||(x=d.__r3f)==null||x.objects.push(f),f.__r3f||zm(f,{}),f.__r3f.parent=d,oP(f),Bm(f)}}function i(d,f,m){let y=!1;if(f){var x,S;if((x=f.__r3f)!=null&&x.attach)$A(d,f,f.__r3f.attach);else if(f.isObject3D&&d.isObject3D){f.parent=d,f.dispatchEvent({type:"added"}),d.dispatchEvent({type:"childadded",child:f});const w=d.children.filter(E=>E!==f),_=w.indexOf(m);d.children=[...w.slice(0,_),f,...w.slice(_)],y=!0}y||(S=d.__r3f)==null||S.objects.push(f),f.__r3f||zm(f,{}),f.__r3f.parent=d,oP(f),Bm(f)}}function s(d,f,m=!1){d&&[...d].forEach(y=>o(f,y,m))}function o(d,f,m){if(f){var y,x,S;if(f.__r3f&&(f.__r3f.parent=null),(y=d.__r3f)!=null&&y.objects&&(d.__r3f.objects=d.__r3f.objects.filter(C=>C!==f)),(x=f.__r3f)!=null&&x.attach)kj(d,f,f.__r3f.attach);else if(f.isObject3D&&d.isObject3D){var w;d.remove(f),(w=f.__r3f)!=null&&w.root&&vbe(K_(f),f)}const E=(S=f.__r3f)==null?void 0:S.primitive,T=!E&&(m===void 0?f.dispose!==null:m);if(!E){var _;s((_=f.__r3f)==null?void 0:_.objects,f,T),s(f.children,f,T)}if(delete f.__r3f,T&&f.dispose&&f.type!=="Scene"){const C=()=>{try{f.dispose()}catch{}};typeof IS_REACT_ACT_ENVIRONMENT>"u"?Cj.unstable_scheduleCallback(Cj.unstable_IdlePriority,C):C()}Bm(d)}}function a(d,f,m,y){var x;const S=(x=d.__r3f)==null?void 0:x.parent;if(!S)return;const w=n(f,m,d.__r3f.root);if(d.children){for(const _ of d.children)_.__r3f&&r(w,_);d.children=d.children.filter(_=>!_.__r3f)}d.__r3f.objects.forEach(_=>r(w,_)),d.__r3f.objects=[],d.__r3f.autoRemovedBeforeAppend||o(S,d),w.parent&&(w.__r3f.autoRemovedBeforeAppend=!0),r(S,w),w.raycast&&w.__r3f.eventCount&&K_(w).getState().internal.interaction.push(w),[y,y.alternate].forEach(_=>{_!==null&&(_.stateNode=w,_.ref&&(typeof _.ref=="function"?_.ref(w):_.ref.current=w))})}const l=()=>{};return{reconciler:obe({createInstance:n,removeChild:o,appendChild:r,appendInitialChild:r,insertBefore:i,supportsMutation:!0,isPrimaryRenderer:!1,supportsPersistence:!1,supportsHydration:!1,noTimeout:-1,appendChildToContainer:(d,f)=>{if(!f)return;const m=d.getState().scene;m.__r3f&&(m.__r3f.root=d,r(m,f))},removeChildFromContainer:(d,f)=>{f&&o(d.getState().scene,f)},insertInContainerBefore:(d,f,m)=>{if(!f||!m)return;const y=d.getState().scene;y.__r3f&&i(y,f,m)},getRootHostContext:()=>null,getChildHostContext:d=>d,finalizeInitialChildren(d){var f;return!!((f=d==null?void 0:d.__r3f)!=null?f:{}).handlers},prepareUpdate(d,f,m,y){var x;if(((x=d==null?void 0:d.__r3f)!=null?x:{}).primitive&&y.object&&y.object!==d)return[!0];{const{args:w=[],children:_,...E}=y,{args:T=[],children:C,...O}=m;if(!Array.isArray(w))throw new Error("R3F: the args prop must be an array!");if(w.some((D,F)=>D!==T[F]))return[!0];const N=mG(d,E,O,!0);return N.changes.length?[!1,N]:null}},commitUpdate(d,[f,m],y,x,S,w){f?a(d,y,S,w):XA(d,m)},commitMount(d,f,m,y){var x;const S=(x=d.__r3f)!=null?x:{};d.raycast&&S.handlers&&S.eventCount&&K_(d).getState().internal.interaction.push(d)},getPublicInstance:d=>d,prepareForCommit:()=>null,preparePortalMount:d=>zm(d.getState().scene),resetAfterCommit:()=>{},shouldSetTextContent:()=>!1,clearContainer:()=>!1,hideInstance(d){var f;const{attach:m,parent:y}=(f=d.__r3f)!=null?f:{};m&&y&&kj(y,d,m),d.isObject3D&&(d.visible=!1),Bm(d)},unhideInstance(d,f){var m;const{attach:y,parent:x}=(m=d.__r3f)!=null?m:{};y&&x&&$A(x,d,y),(d.isObject3D&&f.visible==null||f.visible)&&(d.visible=!0),Bm(d)},createTextInstance:l,hideTextInstance:l,unhideTextInstance:l,getCurrentEventPriority:()=>e?e():Ym.DefaultEventPriority,beforeActiveInstanceBlur:()=>{},afterActiveInstanceBlur:()=>{},detachDeletedInstance:()=>{},now:typeof performance<"u"&&ir.fun(performance.now)?performance.now:ir.fun(Date.now)?Date.now:()=>0,scheduleTimeout:ir.fun(setTimeout)?setTimeout:void 0,cancelTimeout:ir.fun(clearTimeout)?clearTimeout:void 0}),applyProps:XA}}var Pj,Rj;const WA=t=>"colorSpace"in t||"outputColorSpace"in t,cG=()=>{var t;return(t=iN.ColorManagement)!=null?t:null},uG=t=>t&&t.isOrthographicCamera,dbe=t=>t&&t.hasOwnProperty("current"),yx=typeof window<"u"&&((Pj=window.document)!=null&&Pj.createElement||((Rj=window.navigator)==null?void 0:Rj.product)==="ReactNative")?R.useLayoutEffect:R.useEffect;function dG(t){const e=R.useRef(t);return yx(()=>void(e.current=t),[t]),e}function fbe({set:t}){return yx(()=>(t(new Promise(()=>null)),()=>t(!1)),[t]),null}class fG extends R.Component{constructor(...e){super(...e),this.state={error:!1}}componentDidCatch(e){this.props.set(e)}render(){return this.state.error?null:this.props.children}}fG.getDerivedStateFromError=()=>({error:!0});const hG="__default",Nj=new Map,hbe=t=>t&&!!t.memoized&&!!t.changes;function pG(t){var e;const n=typeof window<"u"?(e=window.devicePixelRatio)!=null?e:2:1;return Array.isArray(t)?Math.min(Math.max(t[0],n),t[1]):t}const R0=t=>{var e;return(e=t.__r3f)==null?void 0:e.root.getState()};function K_(t){let e=t.__r3f.root;for(;e.getState().previousRoot;)e=e.getState().previousRoot;return e}const ir={obj:t=>t===Object(t)&&!ir.arr(t)&&typeof t!="function",fun:t=>typeof t=="function",str:t=>typeof t=="string",num:t=>typeof t=="number",boo:t=>typeof t=="boolean",und:t=>t===void 0,arr:t=>Array.isArray(t),equ(t,e,{arrays:n="shallow",objects:r="reference",strict:i=!0}={}){if(typeof t!=typeof e||!!t!=!!e)return!1;if(ir.str(t)||ir.num(t)||ir.boo(t))return t===e;const s=ir.obj(t);if(s&&r==="reference")return t===e;const o=ir.arr(t);if(o&&n==="reference")return t===e;if((o||s)&&t===e)return!0;let a;for(a in t)if(!(a in e))return!1;if(s&&n==="shallow"&&r==="shallow"){for(a in i?e:t)if(!ir.equ(t[a],e[a],{strict:i,objects:"reference"}))return!1}else for(a in i?e:t)if(t[a]!==e[a])return!1;if(ir.und(a)){if(o&&t.length===0&&e.length===0||s&&Object.keys(t).length===0&&Object.keys(e).length===0)return!0;if(t!==e)return!1}return!0}};function pbe(t){t.dispose&&t.type!=="Scene"&&t.dispose();for(const e in t)e.dispose==null||e.dispose(),delete t[e]}function zm(t,e){const n=t;return n.__r3f={type:"",root:null,previousAttach:null,memoizedProps:{},eventCount:0,handlers:{},objects:[],parent:null,...e},t}function sP(t,e){let n=t;if(e.includes("-")){const r=e.split("-"),i=r.pop();return n=r.reduce((s,o)=>s[o],t),{target:n,key:i}}else return{target:n,key:e}}const Ij=/-\d+$/;function $A(t,e,n){if(ir.str(n)){if(Ij.test(n)){const s=n.replace(Ij,""),{target:o,key:a}=sP(t,s);Array.isArray(o[a])||(o[a]=[])}const{target:r,key:i}=sP(t,n);e.__r3f.previousAttach=r[i],r[i]=e}else e.__r3f.previousAttach=n(t,e)}function kj(t,e,n){var r,i;if(ir.str(n)){const{target:s,key:o}=sP(t,n),a=e.__r3f.previousAttach;a===void 0?delete s[o]:s[o]=a}else(r=e.__r3f)==null||r.previousAttach==null||r.previousAttach(t,e);(i=e.__r3f)==null||delete i.previousAttach}function mG(t,{children:e,key:n,ref:r,...i},{children:s,key:o,ref:a,...l}={},c=!1){const d=t.__r3f,f=Object.entries(i),m=[];if(c){const x=Object.keys(l);for(let S=0;S{var w;if((w=t.__r3f)!=null&&w.primitive&&x==="object"||ir.equ(S,l[x]))return;if(/^on(Pointer|Click|DoubleClick|ContextMenu|Wheel)/.test(x))return m.push([x,S,!0,[]]);let _=[];x.includes("-")&&(_=x.split("-")),m.push([x,S,!1,_]);for(const E in i){const T=i[E];E.startsWith(`${x}-`)&&m.push([E,T,!1,E.split("-")])}});const y={...i};return d!=null&&d.memoizedProps&&d!=null&&d.memoizedProps.args&&(y.args=d.memoizedProps.args),d!=null&&d.memoizedProps&&d!=null&&d.memoizedProps.attach&&(y.attach=d.memoizedProps.attach),{memoized:y,changes:m}}function XA(t,e){var n;const r=t.__r3f,i=r==null?void 0:r.root,s=i==null||i.getState==null?void 0:i.getState(),{memoized:o,changes:a}=hbe(e)?e:mG(t,e),l=r==null?void 0:r.eventCount;t.__r3f&&(t.__r3f.memoizedProps=o);for(let m=0;mT[C],t),!(E&&E.set))){const[T,...C]=w.reverse();_=C.reverse().reduce((O,N)=>O[N],t),y=T}if(x===hG+"remove")if(_.constructor){let T=Nj.get(_.constructor);T||(T=new _.constructor,Nj.set(_.constructor,T)),x=T[y]}else x=0;if(S&&r)x?r.handlers[y]=x:delete r.handlers[y],r.eventCount=Object.keys(r.handlers).length;else if(E&&E.set&&(E.copy||E instanceof Th)){if(Array.isArray(x))E.fromArray?E.fromArray(x):E.set(...x);else if(E.copy&&x&&x.constructor&&E.constructor===x.constructor)E.copy(x);else if(x!==void 0){var c;const T=(c=E)==null?void 0:c.isColor;!T&&E.setScalar?E.setScalar(x):E instanceof Th&&x instanceof Th?E.mask=x.mask:E.set(x),!cG()&&s&&!s.linear&&T&&E.convertSRGBToLinear()}}else{var d;if(_[y]=x,(d=_[y])!=null&&d.isTexture&&_[y].format===is&&_[y].type===Ha&&s){const T=_[y];WA(T)&&WA(s.gl)?T.colorSpace=s.gl.outputColorSpace:T.encoding=s.gl.outputEncoding}}Bm(t)}if(r&&r.parent&&t.raycast&&l!==r.eventCount){const m=K_(t).getState().internal,y=m.interaction.indexOf(t);y>-1&&m.interaction.splice(y,1),r.eventCount&&m.interaction.push(t)}return!(a.length===1&&a[0][0]==="onUpdate")&&a.length&&(n=t.__r3f)!=null&&n.parent&&oP(t),t}function Bm(t){var e,n;const r=(e=t.__r3f)==null||(n=e.root)==null||n.getState==null?void 0:n.getState();r&&r.internal.frames===0&&r.invalidate()}function oP(t){t.onUpdate==null||t.onUpdate(t)}function mbe(t,e){t.manual||(uG(t)?(t.left=e.width/-2,t.right=e.width/2,t.top=e.height/2,t.bottom=e.height/-2):t.aspect=e.width/e.height,t.updateProjectionMatrix(),t.updateMatrixWorld())}function R_(t){return(t.eventObject||t.object).uuid+"/"+t.index+t.instanceId}function gbe(){var t;const e=typeof self<"u"&&self||typeof window<"u"&&window;if(!e)return Ym.DefaultEventPriority;switch((t=e.event)==null?void 0:t.type){case"click":case"contextmenu":case"dblclick":case"pointercancel":case"pointerdown":case"pointerup":return Ym.DiscreteEventPriority;case"pointermove":case"pointerout":case"pointerover":case"pointerenter":case"pointerleave":case"wheel":return Ym.ContinuousEventPriority;default:return Ym.DefaultEventPriority}}function gG(t,e,n,r){const i=n.get(e);i&&(n.delete(e),n.size===0&&(t.delete(r),i.target.releasePointerCapture(r)))}function vbe(t,e){const{internal:n}=t.getState();n.interaction=n.interaction.filter(r=>r!==e),n.initialHits=n.initialHits.filter(r=>r!==e),n.hovered.forEach((r,i)=>{(r.eventObject===e||r.object===e)&&n.hovered.delete(i)}),n.capturedMap.forEach((r,i)=>{gG(n.capturedMap,e,r,i)})}function ybe(t){function e(l){const{internal:c}=t.getState(),d=l.offsetX-c.initialClick[0],f=l.offsetY-c.initialClick[1];return Math.round(Math.sqrt(d*d+f*f))}function n(l){return l.filter(c=>["Move","Over","Enter","Out","Leave"].some(d=>{var f;return(f=c.__r3f)==null?void 0:f.handlers["onPointer"+d]}))}function r(l,c){const d=t.getState(),f=new Set,m=[],y=c?c(d.internal.interaction):d.internal.interaction;for(let _=0;_{const T=R0(_.object),C=R0(E.object);return!T||!C?_.distance-E.distance:C.events.priority-T.events.priority||_.distance-E.distance}).filter(_=>{const E=R_(_);return f.has(E)?!1:(f.add(E),!0)});d.events.filter&&(S=d.events.filter(S,d));for(const _ of S){let E=_.object;for(;E;){var w;(w=E.__r3f)!=null&&w.eventCount&&m.push({..._,eventObject:E}),E=E.parent}}if("pointerId"in l&&d.internal.capturedMap.has(l.pointerId))for(let _ of d.internal.capturedMap.get(l.pointerId).values())f.has(R_(_.intersection))||m.push(_.intersection);return m}function i(l,c,d,f){const m=t.getState();if(l.length){const y={stopped:!1};for(const x of l){const S=R0(x.object)||m,{raycaster:w,pointer:_,camera:E,internal:T}=S,C=new X(_.x,_.y,0).unproject(E),O=k=>{var U,H;return(U=(H=T.capturedMap.get(k))==null?void 0:H.has(x.eventObject))!=null?U:!1},N=k=>{const U={intersection:x,target:c.target};T.capturedMap.has(k)?T.capturedMap.get(k).set(x.eventObject,U):T.capturedMap.set(k,new Map([[x.eventObject,U]])),c.target.setPointerCapture(k)},D=k=>{const U=T.capturedMap.get(k);U&&gG(T.capturedMap,x.eventObject,U,k)};let F={};for(let k in c){let U=c[k];typeof U!="function"&&(F[k]=U)}let G={...x,...F,pointer:_,intersections:l,stopped:y.stopped,delta:d,unprojectedPoint:C,ray:w.ray,camera:E,stopPropagation(){const k="pointerId"in c&&T.capturedMap.get(c.pointerId);if((!k||k.has(x.eventObject))&&(G.stopped=y.stopped=!0,T.hovered.size&&Array.from(T.hovered.values()).find(U=>U.eventObject===x.eventObject))){const U=l.slice(0,l.indexOf(x));s([...U,x])}},target:{hasPointerCapture:O,setPointerCapture:N,releasePointerCapture:D},currentTarget:{hasPointerCapture:O,setPointerCapture:N,releasePointerCapture:D},nativeEvent:c};if(f(G),y.stopped===!0)break}}return l}function s(l){const{internal:c}=t.getState();for(const d of c.hovered.values())if(!l.length||!l.find(f=>f.object===d.object&&f.index===d.index&&f.instanceId===d.instanceId)){const m=d.eventObject.__r3f,y=m==null?void 0:m.handlers;if(c.hovered.delete(R_(d)),m!=null&&m.eventCount){const x={...d,intersections:l};y.onPointerOut==null||y.onPointerOut(x),y.onPointerLeave==null||y.onPointerLeave(x)}}}function o(l,c){for(let d=0;ds([]);case"onLostPointerCapture":return c=>{const{internal:d}=t.getState();"pointerId"in c&&d.capturedMap.has(c.pointerId)&&requestAnimationFrame(()=>{d.capturedMap.has(c.pointerId)&&(d.capturedMap.delete(c.pointerId),s([]))})}}return function(d){const{onPointerMissed:f,internal:m}=t.getState();m.lastEvent.current=d;const y=l==="onPointerMove",x=l==="onClick"||l==="onContextMenu"||l==="onDoubleClick",w=r(d,y?n:void 0),_=x?e(d):0;l==="onPointerDown"&&(m.initialClick=[d.offsetX,d.offsetY],m.initialHits=w.map(T=>T.eventObject)),x&&!w.length&&_<=2&&(o(d,m.interaction),f&&f(d)),y&&s(w);function E(T){const C=T.eventObject,O=C.__r3f,N=O==null?void 0:O.handlers;if(O!=null&&O.eventCount)if(y){if(N.onPointerOver||N.onPointerEnter||N.onPointerOut||N.onPointerLeave){const D=R_(T),F=m.hovered.get(D);F?F.stopped&&T.stopPropagation():(m.hovered.set(D,T),N.onPointerOver==null||N.onPointerOver(T),N.onPointerEnter==null||N.onPointerEnter(T))}N.onPointerMove==null||N.onPointerMove(T)}else{const D=N[l];D?(!x||m.initialHits.includes(C))&&(o(d,m.interaction.filter(F=>!m.initialHits.includes(F))),D(T)):x&&m.initialHits.includes(C)&&o(d,m.interaction.filter(F=>!m.initialHits.includes(F)))}}i(w,d,_,E)}}return{handlePointer:a}}const vG=t=>!!(t!=null&&t.render),yG=R.createContext(null),xbe=(t,e)=>{const n=ebe((a,l)=>{const c=new X,d=new X,f=new X;function m(_=l().camera,E=d,T=l().size){const{width:C,height:O,top:N,left:D}=T,F=C/O;E.isVector3?f.copy(E):f.set(...E);const G=_.getWorldPosition(c).distanceTo(f);if(uG(_))return{width:C/_.zoom,height:O/_.zoom,top:N,left:D,factor:1,distance:G,aspect:F};{const k=_.fov*Math.PI/180,U=2*Math.tan(k/2)*G,H=U*(C/O);return{width:H,height:U,top:N,left:D,factor:C/H,distance:G,aspect:F}}}let y;const x=_=>a(E=>({performance:{...E.performance,current:_}})),S=new Ve;return{set:a,get:l,gl:null,camera:null,raycaster:null,events:{priority:1,enabled:!0,connected:!1},xr:null,scene:null,invalidate:(_=1)=>t(l(),_),advance:(_,E)=>e(_,E,l()),legacy:!1,linear:!1,flat:!1,controls:null,clock:new JR,pointer:S,mouse:S,frameloop:"always",onPointerMissed:void 0,performance:{current:1,min:.5,max:1,debounce:200,regress:()=>{const _=l();y&&clearTimeout(y),_.performance.current!==_.performance.min&&x(_.performance.min),y=setTimeout(()=>x(l().performance.max),_.performance.debounce)}},size:{width:0,height:0,top:0,left:0,updateStyle:!1},viewport:{initialDpr:0,dpr:0,width:0,height:0,top:0,left:0,aspect:0,distance:0,factor:0,getCurrentViewport:m},setEvents:_=>a(E=>({...E,events:{...E.events,..._}})),setSize:(_,E,T,C,O)=>{const N=l().camera,D={width:_,height:E,top:C||0,left:O||0,updateStyle:T};a(F=>({size:D,viewport:{...F.viewport,...m(N,d,D)}}))},setDpr:_=>a(E=>{const T=pG(_);return{viewport:{...E.viewport,dpr:T,initialDpr:E.viewport.initialDpr||T}}}),setFrameloop:(_="always")=>{const E=l().clock;E.stop(),E.elapsedTime=0,_!=="never"&&(E.start(),E.elapsedTime=0),a(()=>({frameloop:_}))},previousRoot:void 0,internal:{active:!1,priority:0,frames:0,lastEvent:R.createRef(),interaction:[],hovered:new Map,subscribers:[],initialClick:[0,0],initialHits:[],capturedMap:new Map,subscribe:(_,E,T)=>{const C=l().internal;return C.priority=C.priority+(E>0?1:0),C.subscribers.push({ref:_,priority:E,store:T}),C.subscribers=C.subscribers.sort((O,N)=>O.priority-N.priority),()=>{const O=l().internal;O!=null&&O.subscribers&&(O.priority=O.priority-(E>0?1:0),O.subscribers=O.subscribers.filter(N=>N.ref!==_))}}}}}),r=n.getState();let i=r.size,s=r.viewport.dpr,o=r.camera;return n.subscribe(()=>{const{camera:a,size:l,viewport:c,gl:d,set:f}=n.getState();if(l.width!==i.width||l.height!==i.height||c.dpr!==s){var m;i=l,s=c.dpr,mbe(a,l),d.setPixelRatio(c.dpr);const y=(m=l.updateStyle)!=null?m:typeof HTMLCanvasElement<"u"&&d.domElement instanceof HTMLCanvasElement;d.setSize(l.width,l.height,y)}a!==o&&(o=a,f(y=>({viewport:{...y.viewport,...y.viewport.getCurrentViewport(a)}})))}),n.subscribe(a=>t(a)),n};let N_,bbe=new Set,_be=new Set,wbe=new Set;function qA(t,e){if(t.size)for(const{callback:n}of t.values())n(e)}function N0(t,e){switch(t){case"before":return qA(bbe,e);case"after":return qA(_be,e);case"tail":return qA(wbe,e)}}let KA,YA;function ZA(t,e,n){let r=e.clock.getDelta();for(e.frameloop==="never"&&typeof t=="number"&&(r=t-e.clock.elapsedTime,e.clock.oldTime=e.clock.elapsedTime,e.clock.elapsedTime=t),KA=e.internal.subscribers,N_=0;N_0)&&!((d=s.gl.xr)!=null&&d.isPresenting)&&(r+=ZA(c,s))}if(n=!1,N0("after",c),r===0)return N0("tail",c),e=!1,cancelAnimationFrame(i)}function a(c,d=1){var f;if(!c)return t.forEach(m=>a(m.store.getState(),d));(f=c.gl.xr)!=null&&f.isPresenting||!c.internal.active||c.frameloop==="never"||(d>1?c.internal.frames=Math.min(60,c.internal.frames+d):n?c.internal.frames=2:c.internal.frames=1,e||(e=!0,requestAnimationFrame(o)))}function l(c,d=!0,f,m){if(d&&N0("before",c),f)ZA(c,f,m);else for(const y of t.values())ZA(c,y.store.getState());d&&N0("after",c)}return{loop:o,invalidate:a,advance:l}}function xG(){const t=R.useContext(yG);if(!t)throw new Error("R3F: Hooks can only be used within the Canvas component!");return t}function nd(t=n=>n,e){return xG()(t,e)}function bG(t,e=0){const n=xG(),r=n.getState().internal.subscribe,i=dG(t);return yx(()=>r(i,e,n),[e,r,n]),null}const Bg=new Map,{invalidate:Oj,advance:Lj}=Sbe(Bg),{reconciler:U1,applyProps:Im}=ube(Bg,gbe),km={objects:"shallow",strict:!1},Mbe=(t,e)=>{const n=typeof t=="function"?t(e):t;return vG(n)?n:new x6({powerPreference:"high-performance",canvas:e,antialias:!0,alpha:!0,...t})};function Ebe(t,e){const n=typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement;if(e){const{width:r,height:i,top:s,left:o,updateStyle:a=n}=e;return{width:r,height:i,top:s,left:o,updateStyle:a}}else if(typeof HTMLCanvasElement<"u"&&t instanceof HTMLCanvasElement&&t.parentElement){const{width:r,height:i,top:s,left:o}=t.parentElement.getBoundingClientRect();return{width:r,height:i,top:s,left:o,updateStyle:n}}else if(typeof OffscreenCanvas<"u"&&t instanceof OffscreenCanvas)return{width:t.width,height:t.height,top:0,left:0,updateStyle:n};return{width:0,height:0,top:0,left:0}}function Abe(t){const e=Bg.get(t),n=e==null?void 0:e.fiber,r=e==null?void 0:e.store;e&&console.warn("R3F.createRoot should only be called once!");const i=typeof reportError=="function"?reportError:console.error,s=r||xbe(Oj,Lj),o=n||U1.createContainer(s,Ym.ConcurrentRoot,null,!1,null,"",i,null);e||Bg.set(t,{fiber:o,store:s});let a,l=!1,c;return{configure(d={}){let{gl:f,size:m,scene:y,events:x,onCreated:S,shadows:w=!1,linear:_=!1,flat:E=!1,legacy:T=!1,orthographic:C=!1,frameloop:O="always",dpr:N=[1,2],performance:D,raycaster:F,camera:G,onPointerMissed:k}=d,U=s.getState(),H=U.gl;U.gl||U.set({gl:H=Mbe(f,t)});let ne=U.raycaster;ne||U.set({raycaster:ne=new oG});const{params:te,...he}=F||{};if(ir.equ(he,ne,km)||Im(ne,{...he}),ir.equ(te,ne.params,km)||Im(ne,{params:{...ne.params,...te}}),!U.camera||U.camera===c&&!ir.equ(c,G,km)){c=G;const Y=G instanceof dx,V=Y?G:C?new Xc(0,0,0,0,.1,1e3):new Tr(75,0,.1,1e3);Y||(V.position.z=5,G&&(Im(V,G),("aspect"in G||"left"in G||"right"in G||"bottom"in G||"top"in G)&&(V.manual=!0,V.updateProjectionMatrix())),!U.camera&&!(G!=null&&G.rotation)&&V.lookAt(0,0,0)),U.set({camera:V}),ne.camera=V}if(!U.scene){let Y;y!=null&&y.isScene?Y=y:(Y=new kR,y&&Im(Y,y)),U.set({scene:zm(Y)})}if(!U.xr){var oe;const Y=(pe,le)=>{const ce=s.getState();ce.frameloop!=="never"&&Lj(pe,!0,ce,le)},V=()=>{const pe=s.getState();pe.gl.xr.enabled=pe.gl.xr.isPresenting,pe.gl.xr.setAnimationLoop(pe.gl.xr.isPresenting?Y:null),pe.gl.xr.isPresenting||Oj(pe)},q={connect(){const pe=s.getState().gl;pe.xr.addEventListener("sessionstart",V),pe.xr.addEventListener("sessionend",V)},disconnect(){const pe=s.getState().gl;pe.xr.removeEventListener("sessionstart",V),pe.xr.removeEventListener("sessionend",V)}};typeof((oe=H.xr)==null?void 0:oe.addEventListener)=="function"&&q.connect(),U.set({xr:q})}if(H.shadowMap){const Y=H.shadowMap.enabled,V=H.shadowMap.type;if(H.shadowMap.enabled=!!w,ir.boo(w))H.shadowMap.type=K0;else if(ir.str(w)){var fe;const q={basic:mV,percentage:HS,soft:K0,variance:Oa};H.shadowMap.type=(fe=q[w])!=null?fe:K0}else ir.obj(w)&&Object.assign(H.shadowMap,w);(Y!==H.shadowMap.enabled||V!==H.shadowMap.type)&&(H.shadowMap.needsUpdate=!0)}const B=cG();B&&("enabled"in B?B.enabled=!T:"legacyMode"in B&&(B.legacyMode=T)),l||Im(H,{outputEncoding:_?3e3:3001,toneMapping:E?Pl:dR}),U.legacy!==T&&U.set(()=>({legacy:T})),U.linear!==_&&U.set(()=>({linear:_})),U.flat!==E&&U.set(()=>({flat:E})),f&&!ir.fun(f)&&!vG(f)&&!ir.equ(f,H,km)&&Im(H,f),x&&!U.events.handlers&&U.set({events:x(s)});const J=Ebe(t,m);return ir.equ(J,U.size,km)||U.setSize(J.width,J.height,J.updateStyle,J.top,J.left),N&&U.viewport.dpr!==pG(N)&&U.setDpr(N),U.frameloop!==O&&U.setFrameloop(O),U.onPointerMissed||U.set({onPointerMissed:k}),D&&!ir.equ(D,U.performance,km)&&U.set(Y=>({performance:{...Y.performance,...D}})),a=S,l=!0,this},render(d){return l||this.configure(),U1.updateContainer(g.jsx(Tbe,{store:s,children:d,onCreated:a,rootElement:t}),o,null,()=>{}),s},unmount(){_G(t)}}}function Tbe({store:t,children:e,onCreated:n,rootElement:r}){return yx(()=>{const i=t.getState();i.set(s=>({internal:{...s.internal,active:!0}})),n&&n(i),t.getState().events.connected||i.events.connect==null||i.events.connect(r)},[]),g.jsx(yG.Provider,{value:t,children:e})}function _G(t,e){const n=Bg.get(t),r=n==null?void 0:n.fiber;if(r){const i=n==null?void 0:n.store.getState();i&&(i.internal.active=!1),U1.updateContainer(null,r,null,()=>{i&&setTimeout(()=>{try{var s,o,a,l;i.events.disconnect==null||i.events.disconnect(),(s=i.gl)==null||(o=s.renderLists)==null||o.dispose==null||o.dispose(),(a=i.gl)==null||a.forceContextLoss==null||a.forceContextLoss(),(l=i.gl)!=null&&l.xr&&i.xr.disconnect(),pbe(i),Bg.delete(t)}catch{}},500)})}}U1.injectIntoDevTools({bundleType:0,rendererPackageName:"@react-three/fiber",version:R.version});const QA={onClick:["click",!1],onContextMenu:["contextmenu",!1],onDoubleClick:["dblclick",!1],onWheel:["wheel",!0],onPointerDown:["pointerdown",!0],onPointerUp:["pointerup",!0],onPointerLeave:["pointerleave",!0],onPointerMove:["pointermove",!0],onPointerCancel:["pointercancel",!0],onLostPointerCapture:["lostpointercapture",!0]};function Cbe(t){const{handlePointer:e}=ybe(t);return{priority:1,enabled:!0,compute(n,r,i){r.pointer.set(n.offsetX/r.size.width*2-1,-(n.offsetY/r.size.height)*2+1),r.raycaster.setFromCamera(r.pointer,r.camera)},connected:void 0,handlers:Object.keys(QA).reduce((n,r)=>({...n,[r]:e(r)}),{}),update:()=>{var n;const{events:r,internal:i}=t.getState();(n=i.lastEvent)!=null&&n.current&&r.handlers&&r.handlers.onPointerMove(i.lastEvent.current)},connect:n=>{var r;const{set:i,events:s}=t.getState();s.disconnect==null||s.disconnect(),i(o=>({events:{...o.events,connected:n}})),Object.entries((r=s.handlers)!=null?r:[]).forEach(([o,a])=>{const[l,c]=QA[o];n.addEventListener(l,a,{passive:c})})},disconnect:()=>{const{set:n,events:r}=t.getState();if(r.connected){var i;Object.entries((i=r.handlers)!=null?i:[]).forEach(([s,o])=>{if(r&&r.connected instanceof HTMLElement){const[a]=QA[s];r.connected.removeEventListener(a,o)}}),n(s=>({events:{...s.events,connected:void 0}}))}}}}function Dj(t,e){let n;return(...r)=>{window.clearTimeout(n),n=window.setTimeout(()=>t(...r),e)}}function Pbe({debounce:t,scroll:e,polyfill:n,offsetSize:r}={debounce:0,scroll:!1,offsetSize:!1}){const i=n||(typeof window>"u"?class{}:window.ResizeObserver);if(!i)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");const[s,o]=R.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),a=R.useRef({element:null,scrollContainers:null,resizeObserver:null,lastBounds:s,orientationHandler:null}),l=t?typeof t=="number"?t:t.scroll:null,c=t?typeof t=="number"?t:t.resize:null,d=R.useRef(!1);R.useEffect(()=>(d.current=!0,()=>void(d.current=!1)));const[f,m,y]=R.useMemo(()=>{const _=()=>{if(!a.current.element)return;const{left:E,top:T,width:C,height:O,bottom:N,right:D,x:F,y:G}=a.current.element.getBoundingClientRect(),k={left:E,top:T,width:C,height:O,bottom:N,right:D,x:F,y:G};a.current.element instanceof HTMLElement&&r&&(k.height=a.current.element.offsetHeight,k.width=a.current.element.offsetWidth),Object.freeze(k),d.current&&!kbe(a.current.lastBounds,k)&&o(a.current.lastBounds=k)};return[_,c?Dj(_,c):_,l?Dj(_,l):_]},[o,r,l,c]);function x(){a.current.scrollContainers&&(a.current.scrollContainers.forEach(_=>_.removeEventListener("scroll",y,!0)),a.current.scrollContainers=null),a.current.resizeObserver&&(a.current.resizeObserver.disconnect(),a.current.resizeObserver=null),a.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",a.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",a.current.orientationHandler))}function S(){a.current.element&&(a.current.resizeObserver=new i(y),a.current.resizeObserver.observe(a.current.element),e&&a.current.scrollContainers&&a.current.scrollContainers.forEach(_=>_.addEventListener("scroll",y,{capture:!0,passive:!0})),a.current.orientationHandler=()=>{y()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",a.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",a.current.orientationHandler))}const w=_=>{!_||_===a.current.element||(x(),a.current.element=_,a.current.scrollContainers=wG(_),S())};return Nbe(y,!!e),Rbe(m),R.useEffect(()=>{x(),S()},[e,y,m]),R.useEffect(()=>x,[]),[w,s,f]}function Rbe(t){R.useEffect(()=>{const e=t;return window.addEventListener("resize",e),()=>void window.removeEventListener("resize",e)},[t])}function Nbe(t,e){R.useEffect(()=>{if(e){const n=t;return window.addEventListener("scroll",n,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",n,!0)}},[t,e])}function wG(t){const e=[];if(!t||t===document.body)return e;const{overflow:n,overflowX:r,overflowY:i}=window.getComputedStyle(t);return[n,r,i].some(s=>s==="auto"||s==="scroll")&&e.push(t),[...e,...wG(t.parentElement)]}const Ibe=["x","y","top","bottom","left","right","width","height"],kbe=(t,e)=>Ibe.every(n=>t[n]===e[n]);var Obe=Object.defineProperty,Lbe=Object.defineProperties,Dbe=Object.getOwnPropertyDescriptors,jj=Object.getOwnPropertySymbols,jbe=Object.prototype.hasOwnProperty,Ube=Object.prototype.propertyIsEnumerable,Uj=(t,e,n)=>e in t?Obe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Fj=(t,e)=>{for(var n in e||(e={}))jbe.call(e,n)&&Uj(t,n,e[n]);if(jj)for(var n of jj(e))Ube.call(e,n)&&Uj(t,n,e[n]);return t},Fbe=(t,e)=>Lbe(t,Dbe(e)),zj,Bj;typeof window<"u"&&((zj=window.document)!=null&&zj.createElement||((Bj=window.navigator)==null?void 0:Bj.product)==="ReactNative")?R.useLayoutEffect:R.useEffect;function SG(t,e,n){if(!t)return;if(n(t)===!0)return t;let r=t.child;for(;r;){const i=SG(r,e,n);if(i)return i;r=r.sibling}}function MG(t){try{return Object.defineProperties(t,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch{return t}}const Hj=console.error;console.error=function(){const t=[...arguments].join("");if(t!=null&&t.startsWith("Warning:")&&t.includes("useContext")){console.error=Hj;return}return Hj.apply(this,arguments)};const sN=MG(R.createContext(null));class EG extends R.Component{render(){return R.createElement(sN.Provider,{value:this._reactInternals},this.props.children)}}function zbe(){const t=R.useContext(sN);if(t===null)throw new Error("its-fine: useFiber must be called within a !");const e=R.useId();return R.useMemo(()=>{for(const r of[t,t==null?void 0:t.alternate]){if(!r)continue;const i=SG(r,!1,s=>{let o=s.memoizedState;for(;o;){if(o.memoizedState===e)return!0;o=o.next}});if(i)return i}},[t,e])}function Bbe(){const t=zbe(),[e]=R.useState(()=>new Map);e.clear();let n=t;for(;n;){if(n.type&&typeof n.type=="object"){const i=n.type._context===void 0&&n.type.Provider===n.type?n.type:n.type._context;i&&i!==sN&&!e.has(i)&&e.set(i,R.useContext(MG(i)))}n=n.return}return e}function Hbe(){const t=Bbe();return R.useMemo(()=>Array.from(t.keys()).reduce((e,n)=>r=>R.createElement(e,null,R.createElement(n.Provider,Fbe(Fj({},r),{value:t.get(n)}))),e=>R.createElement(EG,Fj({},e))),[t])}const Vbe=R.forwardRef(function({children:e,fallback:n,resize:r,style:i,gl:s,events:o=Cbe,eventSource:a,eventPrefix:l,shadows:c,linear:d,flat:f,legacy:m,orthographic:y,frameloop:x,dpr:S,performance:w,raycaster:_,camera:E,scene:T,onPointerMissed:C,onCreated:O,...N},D){R.useMemo(()=>cbe(Kxe),[]);const F=Hbe(),[G,k]=Pbe({scroll:!0,debounce:{scroll:50,resize:0},...r}),U=R.useRef(null),H=R.useRef(null);R.useImperativeHandle(D,()=>U.current);const ne=dG(C),[te,he]=R.useState(!1),[oe,fe]=R.useState(!1);if(te)throw te;if(oe)throw oe;const B=R.useRef(null);yx(()=>{const Y=U.current;k.width>0&&k.height>0&&Y&&(B.current||(B.current=Abe(Y)),B.current.configure({gl:s,events:o,shadows:c,linear:d,flat:f,legacy:m,orthographic:y,frameloop:x,dpr:S,performance:w,raycaster:_,camera:E,scene:T,size:k,onPointerMissed:(...V)=>ne.current==null?void 0:ne.current(...V),onCreated:V=>{V.events.connect==null||V.events.connect(a?dbe(a)?a.current:a:H.current),l&&V.setEvents({compute:(q,pe)=>{const le=q[l+"X"],ce=q[l+"Y"];pe.pointer.set(le/pe.size.width*2-1,-(ce/pe.size.height)*2+1),pe.raycaster.setFromCamera(pe.pointer,pe.camera)}}),O==null||O(V)}}),B.current.render(g.jsx(F,{children:g.jsx(fG,{set:fe,children:g.jsx(R.Suspense,{fallback:g.jsx(fbe,{set:he}),children:e??null})})})))}),R.useEffect(()=>{const Y=U.current;if(Y)return()=>_G(Y)},[]);const J=a?"none":"auto";return g.jsx("div",{ref:H,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden",pointerEvents:J,...i},...N,children:g.jsx("div",{ref:G,style:{width:"100%",height:"100%"},children:g.jsx("canvas",{ref:U,style:{display:"block"},children:n})})})}),Gbe=R.forwardRef(function(e,n){return g.jsx(EG,{children:g.jsx(Vbe,{...e,ref:n})})});function aP(){return aP=Object.assign?Object.assign.bind():function(t){for(var e=1;ee in t?Wbe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Xbe=(t,e,n)=>($be(t,e+"",n),n);class qbe{constructor(){Xbe(this,"_listeners")}addEventListener(e,n){this._listeners===void 0&&(this._listeners={});const r=this._listeners;r[e]===void 0&&(r[e]=[]),r[e].indexOf(n)===-1&&r[e].push(n)}hasEventListener(e,n){if(this._listeners===void 0)return!1;const r=this._listeners;return r[e]!==void 0&&r[e].indexOf(n)!==-1}removeEventListener(e,n){if(this._listeners===void 0)return;const i=this._listeners[e];if(i!==void 0){const s=i.indexOf(n);s!==-1&&i.splice(s,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const r=this._listeners[e.type];if(r!==void 0){e.target=this;const i=r.slice(0);for(let s=0,o=i.length;se in t?Kbe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Xt=(t,e,n)=>(Ybe(t,typeof e!="symbol"?e+"":e,n),n);const I_=new ep,Vj=new kc,Zbe=Math.cos(70*(Math.PI/180)),Gj=(t,e)=>(t%e+e)%e;let Qbe=class extends qbe{constructor(e,n){super(),Xt(this,"object"),Xt(this,"domElement"),Xt(this,"enabled",!0),Xt(this,"target",new X),Xt(this,"minDistance",0),Xt(this,"maxDistance",1/0),Xt(this,"minZoom",0),Xt(this,"maxZoom",1/0),Xt(this,"minPolarAngle",0),Xt(this,"maxPolarAngle",Math.PI),Xt(this,"minAzimuthAngle",-1/0),Xt(this,"maxAzimuthAngle",1/0),Xt(this,"enableDamping",!1),Xt(this,"dampingFactor",.05),Xt(this,"enableZoom",!0),Xt(this,"zoomSpeed",1),Xt(this,"enableRotate",!0),Xt(this,"rotateSpeed",1),Xt(this,"enablePan",!0),Xt(this,"panSpeed",1),Xt(this,"screenSpacePanning",!0),Xt(this,"keyPanSpeed",7),Xt(this,"zoomToCursor",!1),Xt(this,"autoRotate",!1),Xt(this,"autoRotateSpeed",2),Xt(this,"reverseOrbit",!1),Xt(this,"reverseHorizontalOrbit",!1),Xt(this,"reverseVerticalOrbit",!1),Xt(this,"keys",{LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",BOTTOM:"ArrowDown"}),Xt(this,"mouseButtons",{LEFT:Xf.ROTATE,MIDDLE:Xf.DOLLY,RIGHT:Xf.PAN}),Xt(this,"touches",{ONE:qf.ROTATE,TWO:qf.DOLLY_PAN}),Xt(this,"target0"),Xt(this,"position0"),Xt(this,"zoom0"),Xt(this,"_domElementKeyEvents",null),Xt(this,"getPolarAngle"),Xt(this,"getAzimuthalAngle"),Xt(this,"setPolarAngle"),Xt(this,"setAzimuthalAngle"),Xt(this,"getDistance"),Xt(this,"getZoomScale"),Xt(this,"listenToKeyEvents"),Xt(this,"stopListenToKeyEvents"),Xt(this,"saveState"),Xt(this,"reset"),Xt(this,"update"),Xt(this,"connect"),Xt(this,"dispose"),Xt(this,"dollyIn"),Xt(this,"dollyOut"),Xt(this,"getScale"),Xt(this,"setScale"),this.object=e,this.domElement=n,this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this.getPolarAngle=()=>d.phi,this.getAzimuthalAngle=()=>d.theta,this.setPolarAngle=Q=>{let Ae=Gj(Q,2*Math.PI),ie=d.phi;ie<0&&(ie+=2*Math.PI),Ae<0&&(Ae+=2*Math.PI);let Ue=Math.abs(Ae-ie);2*Math.PI-Ue{let Ae=Gj(Q,2*Math.PI),ie=d.theta;ie<0&&(ie+=2*Math.PI),Ae<0&&(Ae+=2*Math.PI);let Ue=Math.abs(Ae-ie);2*Math.PI-Uer.object.position.distanceTo(r.target),this.listenToKeyEvents=Q=>{Q.addEventListener("keydown",dt),this._domElementKeyEvents=Q},this.stopListenToKeyEvents=()=>{this._domElementKeyEvents.removeEventListener("keydown",dt),this._domElementKeyEvents=null},this.saveState=()=>{r.target0.copy(r.target),r.position0.copy(r.object.position),r.zoom0=r.object.zoom},this.reset=()=>{r.target.copy(r.target0),r.object.position.copy(r.position0),r.object.zoom=r.zoom0,r.object.updateProjectionMatrix(),r.dispatchEvent(i),r.update(),l=a.NONE},this.update=(()=>{const Q=new X,Ae=new X(0,1,0),ie=new Kt().setFromUnitVectors(e.up,Ae),Ue=ie.clone().invert(),Te=new X,Oe=new Kt,Ye=2*Math.PI;return function(){const Yt=r.object.position;ie.setFromUnitVectors(e.up,Ae),Ue.copy(ie).invert(),Q.copy(Yt).sub(r.target),Q.applyQuaternion(ie),d.setFromVector3(Q),r.autoRotate&&l===a.NONE&&te(H()),r.enableDamping?(d.theta+=f.theta*r.dampingFactor,d.phi+=f.phi*r.dampingFactor):(d.theta+=f.theta,d.phi+=f.phi);let un=r.minAzimuthAngle,Cn=r.maxAzimuthAngle;isFinite(un)&&isFinite(Cn)&&(un<-Math.PI?un+=Ye:un>Math.PI&&(un-=Ye),Cn<-Math.PI?Cn+=Ye:Cn>Math.PI&&(Cn-=Ye),un<=Cn?d.theta=Math.max(un,Math.min(Cn,d.theta)):d.theta=d.theta>(un+Cn)/2?Math.max(un,d.theta):Math.min(Cn,d.theta)),d.phi=Math.max(r.minPolarAngle,Math.min(r.maxPolarAngle,d.phi)),d.makeSafe(),r.enableDamping===!0?r.target.addScaledVector(y,r.dampingFactor):r.target.add(y),r.zoomToCursor&&G||r.object.isOrthographicCamera?d.radius=pe(d.radius):d.radius=pe(d.radius*m),Q.setFromSpherical(d),Q.applyQuaternion(Ue),Yt.copy(r.target).add(Q),r.object.matrixAutoUpdate||r.object.updateMatrix(),r.object.lookAt(r.target),r.enableDamping===!0?(f.theta*=1-r.dampingFactor,f.phi*=1-r.dampingFactor,y.multiplyScalar(1-r.dampingFactor)):(f.set(0,0,0),y.set(0,0,0));let en=!1;if(r.zoomToCursor&&G){let Hn=null;if(r.object instanceof Tr&&r.object.isPerspectiveCamera){const hr=Q.length();Hn=pe(hr*m);const Si=hr-Hn;r.object.position.addScaledVector(D,Si),r.object.updateMatrixWorld()}else if(r.object.isOrthographicCamera){const hr=new X(F.x,F.y,0);hr.unproject(r.object),r.object.zoom=Math.max(r.minZoom,Math.min(r.maxZoom,r.object.zoom/m)),r.object.updateProjectionMatrix(),en=!0;const Si=new X(F.x,F.y,0);Si.unproject(r.object),r.object.position.sub(Si).add(hr),r.object.updateMatrixWorld(),Hn=Q.length()}else console.warn("WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled."),r.zoomToCursor=!1;Hn!==null&&(r.screenSpacePanning?r.target.set(0,0,-1).transformDirection(r.object.matrix).multiplyScalar(Hn).add(r.object.position):(I_.origin.copy(r.object.position),I_.direction.set(0,0,-1).transformDirection(r.object.matrix),Math.abs(r.object.up.dot(I_.direction))c||8*(1-Oe.dot(r.object.quaternion))>c?(r.dispatchEvent(i),Te.copy(r.object.position),Oe.copy(r.object.quaternion),en=!1,!0):!1}})(),this.connect=Q=>{r.domElement=Q,r.domElement.style.touchAction="none",r.domElement.addEventListener("contextmenu",re),r.domElement.addEventListener("pointerdown",Ee),r.domElement.addEventListener("pointercancel",He),r.domElement.addEventListener("wheel",rt)},this.dispose=()=>{var Q,Ae,ie,Ue,Te,Oe;r.domElement&&(r.domElement.style.touchAction="auto"),(Q=r.domElement)==null||Q.removeEventListener("contextmenu",re),(Ae=r.domElement)==null||Ae.removeEventListener("pointerdown",Ee),(ie=r.domElement)==null||ie.removeEventListener("pointercancel",He),(Ue=r.domElement)==null||Ue.removeEventListener("wheel",rt),(Te=r.domElement)==null||Te.ownerDocument.removeEventListener("pointermove",ze),(Oe=r.domElement)==null||Oe.ownerDocument.removeEventListener("pointerup",He),r._domElementKeyEvents!==null&&r._domElementKeyEvents.removeEventListener("keydown",dt)};const r=this,i={type:"change"},s={type:"start"},o={type:"end"},a={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6};let l=a.NONE;const c=1e-6,d=new iP,f=new iP;let m=1;const y=new X,x=new Ve,S=new Ve,w=new Ve,_=new Ve,E=new Ve,T=new Ve,C=new Ve,O=new Ve,N=new Ve,D=new X,F=new Ve;let G=!1;const k=[],U={};function H(){return 2*Math.PI/60/60*r.autoRotateSpeed}function ne(){return Math.pow(.95,r.zoomSpeed)}function te(Q){r.reverseOrbit||r.reverseHorizontalOrbit?f.theta+=Q:f.theta-=Q}function he(Q){r.reverseOrbit||r.reverseVerticalOrbit?f.phi+=Q:f.phi-=Q}const oe=(()=>{const Q=new X;return function(ie,Ue){Q.setFromMatrixColumn(Ue,0),Q.multiplyScalar(-ie),y.add(Q)}})(),fe=(()=>{const Q=new X;return function(ie,Ue){r.screenSpacePanning===!0?Q.setFromMatrixColumn(Ue,1):(Q.setFromMatrixColumn(Ue,0),Q.crossVectors(r.object.up,Q)),Q.multiplyScalar(ie),y.add(Q)}})(),B=(()=>{const Q=new X;return function(ie,Ue){const Te=r.domElement;if(Te&&r.object instanceof Tr&&r.object.isPerspectiveCamera){const Oe=r.object.position;Q.copy(Oe).sub(r.target);let Ye=Q.length();Ye*=Math.tan(r.object.fov/2*Math.PI/180),oe(2*ie*Ye/Te.clientHeight,r.object.matrix),fe(2*Ue*Ye/Te.clientHeight,r.object.matrix)}else Te&&r.object instanceof Xc&&r.object.isOrthographicCamera?(oe(ie*(r.object.right-r.object.left)/r.object.zoom/Te.clientWidth,r.object.matrix),fe(Ue*(r.object.top-r.object.bottom)/r.object.zoom/Te.clientHeight,r.object.matrix)):(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - pan disabled."),r.enablePan=!1)}})();function J(Q){r.object instanceof Tr&&r.object.isPerspectiveCamera||r.object instanceof Xc&&r.object.isOrthographicCamera?m=Q:(console.warn("WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled."),r.enableZoom=!1)}function Y(Q){J(m/Q)}function V(Q){J(m*Q)}function q(Q){if(!r.zoomToCursor||!r.domElement)return;G=!0;const Ae=r.domElement.getBoundingClientRect(),ie=Q.clientX-Ae.left,Ue=Q.clientY-Ae.top,Te=Ae.width,Oe=Ae.height;F.x=ie/Te*2-1,F.y=-(Ue/Oe)*2+1,D.set(F.x,F.y,1).unproject(r.object).sub(r.object.position).normalize()}function pe(Q){return Math.max(r.minDistance,Math.min(r.maxDistance,Q))}function le(Q){x.set(Q.clientX,Q.clientY)}function ce(Q){q(Q),C.set(Q.clientX,Q.clientY)}function be(Q){_.set(Q.clientX,Q.clientY)}function Se(Q){S.set(Q.clientX,Q.clientY),w.subVectors(S,x).multiplyScalar(r.rotateSpeed);const Ae=r.domElement;Ae&&(te(2*Math.PI*w.x/Ae.clientHeight),he(2*Math.PI*w.y/Ae.clientHeight)),x.copy(S),r.update()}function Xe(Q){O.set(Q.clientX,Q.clientY),N.subVectors(O,C),N.y>0?Y(ne()):N.y<0&&V(ne()),C.copy(O),r.update()}function Me(Q){E.set(Q.clientX,Q.clientY),T.subVectors(E,_).multiplyScalar(r.panSpeed),B(T.x,T.y),_.copy(E),r.update()}function We(Q){q(Q),Q.deltaY<0?V(ne()):Q.deltaY>0&&Y(ne()),r.update()}function qe(Q){let Ae=!1;switch(Q.code){case r.keys.UP:B(0,r.keyPanSpeed),Ae=!0;break;case r.keys.BOTTOM:B(0,-r.keyPanSpeed),Ae=!0;break;case r.keys.LEFT:B(r.keyPanSpeed,0),Ae=!0;break;case r.keys.RIGHT:B(-r.keyPanSpeed,0),Ae=!0;break}Ae&&(Q.preventDefault(),r.update())}function ue(){if(k.length==1)x.set(k[0].pageX,k[0].pageY);else{const Q=.5*(k[0].pageX+k[1].pageX),Ae=.5*(k[0].pageY+k[1].pageY);x.set(Q,Ae)}}function Z(){if(k.length==1)_.set(k[0].pageX,k[0].pageY);else{const Q=.5*(k[0].pageX+k[1].pageX),Ae=.5*(k[0].pageY+k[1].pageY);_.set(Q,Ae)}}function Ge(){const Q=k[0].pageX-k[1].pageX,Ae=k[0].pageY-k[1].pageY,ie=Math.sqrt(Q*Q+Ae*Ae);C.set(0,ie)}function De(){r.enableZoom&&Ge(),r.enablePan&&Z()}function $e(){r.enableZoom&&Ge(),r.enableRotate&&ue()}function et(Q){if(k.length==1)S.set(Q.pageX,Q.pageY);else{const ie=de(Q),Ue=.5*(Q.pageX+ie.x),Te=.5*(Q.pageY+ie.y);S.set(Ue,Te)}w.subVectors(S,x).multiplyScalar(r.rotateSpeed);const Ae=r.domElement;Ae&&(te(2*Math.PI*w.x/Ae.clientHeight),he(2*Math.PI*w.y/Ae.clientHeight)),x.copy(S)}function bt(Q){if(k.length==1)E.set(Q.pageX,Q.pageY);else{const Ae=de(Q),ie=.5*(Q.pageX+Ae.x),Ue=.5*(Q.pageY+Ae.y);E.set(ie,Ue)}T.subVectors(E,_).multiplyScalar(r.panSpeed),B(T.x,T.y),_.copy(E)}function ct(Q){const Ae=de(Q),ie=Q.pageX-Ae.x,Ue=Q.pageY-Ae.y,Te=Math.sqrt(ie*ie+Ue*Ue);O.set(0,Te),N.set(0,Math.pow(O.y/C.y,r.zoomSpeed)),Y(N.y),C.copy(O)}function ee(Q){r.enableZoom&&ct(Q),r.enablePan&&bt(Q)}function $(Q){r.enableZoom&&ct(Q),r.enableRotate&&et(Q)}function Ee(Q){var Ae,ie;r.enabled!==!1&&(k.length===0&&((Ae=r.domElement)==null||Ae.ownerDocument.addEventListener("pointermove",ze),(ie=r.domElement)==null||ie.ownerDocument.addEventListener("pointerup",He)),Qe(Q),Q.pointerType==="touch"?Bt(Q):Be(Q))}function ze(Q){r.enabled!==!1&&(Q.pointerType==="touch"?Ke(Q):gt(Q))}function He(Q){var Ae,ie,Ue;wt(Q),k.length===0&&((Ae=r.domElement)==null||Ae.releasePointerCapture(Q.pointerId),(ie=r.domElement)==null||ie.ownerDocument.removeEventListener("pointermove",ze),(Ue=r.domElement)==null||Ue.ownerDocument.removeEventListener("pointerup",He)),r.dispatchEvent(o),l=a.NONE}function Be(Q){let Ae;switch(Q.button){case 0:Ae=r.mouseButtons.LEFT;break;case 1:Ae=r.mouseButtons.MIDDLE;break;case 2:Ae=r.mouseButtons.RIGHT;break;default:Ae=-1}switch(Ae){case Xf.DOLLY:if(r.enableZoom===!1)return;ce(Q),l=a.DOLLY;break;case Xf.ROTATE:if(Q.ctrlKey||Q.metaKey||Q.shiftKey){if(r.enablePan===!1)return;be(Q),l=a.PAN}else{if(r.enableRotate===!1)return;le(Q),l=a.ROTATE}break;case Xf.PAN:if(Q.ctrlKey||Q.metaKey||Q.shiftKey){if(r.enableRotate===!1)return;le(Q),l=a.ROTATE}else{if(r.enablePan===!1)return;be(Q),l=a.PAN}break;default:l=a.NONE}l!==a.NONE&&r.dispatchEvent(s)}function gt(Q){if(r.enabled!==!1)switch(l){case a.ROTATE:if(r.enableRotate===!1)return;Se(Q);break;case a.DOLLY:if(r.enableZoom===!1)return;Xe(Q);break;case a.PAN:if(r.enablePan===!1)return;Me(Q);break}}function rt(Q){r.enabled===!1||r.enableZoom===!1||l!==a.NONE&&l!==a.ROTATE||(Q.preventDefault(),r.dispatchEvent(s),We(Q),r.dispatchEvent(o))}function dt(Q){r.enabled===!1||r.enablePan===!1||qe(Q)}function Bt(Q){switch(pt(Q),k.length){case 1:switch(r.touches.ONE){case qf.ROTATE:if(r.enableRotate===!1)return;ue(),l=a.TOUCH_ROTATE;break;case qf.PAN:if(r.enablePan===!1)return;Z(),l=a.TOUCH_PAN;break;default:l=a.NONE}break;case 2:switch(r.touches.TWO){case qf.DOLLY_PAN:if(r.enableZoom===!1&&r.enablePan===!1)return;De(),l=a.TOUCH_DOLLY_PAN;break;case qf.DOLLY_ROTATE:if(r.enableZoom===!1&&r.enableRotate===!1)return;$e(),l=a.TOUCH_DOLLY_ROTATE;break;default:l=a.NONE}break;default:l=a.NONE}l!==a.NONE&&r.dispatchEvent(s)}function Ke(Q){switch(pt(Q),l){case a.TOUCH_ROTATE:if(r.enableRotate===!1)return;et(Q),r.update();break;case a.TOUCH_PAN:if(r.enablePan===!1)return;bt(Q),r.update();break;case a.TOUCH_DOLLY_PAN:if(r.enableZoom===!1&&r.enablePan===!1)return;ee(Q),r.update();break;case a.TOUCH_DOLLY_ROTATE:if(r.enableZoom===!1&&r.enableRotate===!1)return;$(Q),r.update();break;default:l=a.NONE}}function re(Q){r.enabled!==!1&&Q.preventDefault()}function Qe(Q){k.push(Q)}function wt(Q){delete U[Q.pointerId];for(let Ae=0;Ae{V(Q),r.update()},this.dollyOut=(Q=ne())=>{Y(Q),r.update()},this.getScale=()=>m,this.setScale=Q=>{J(Q),r.update()},this.getZoomScale=()=>ne(),n!==void 0&&this.connect(n),this.update()}};const Jbe=R.forwardRef(({makeDefault:t,camera:e,regress:n,domElement:r,enableDamping:i=!0,keyEvents:s=!1,onChange:o,onStart:a,onEnd:l,...c},d)=>{const f=nd(N=>N.invalidate),m=nd(N=>N.camera),y=nd(N=>N.gl),x=nd(N=>N.events),S=nd(N=>N.setEvents),w=nd(N=>N.set),_=nd(N=>N.get),E=nd(N=>N.performance),T=e||m,C=r||x.connected||y.domElement,O=R.useMemo(()=>new Qbe(T),[T]);return bG(()=>{O.enabled&&O.update()},-1),R.useEffect(()=>(s&&O.connect(s===!0?C:s),O.connect(C),()=>void O.dispose()),[s,C,n,O,f]),R.useEffect(()=>{const N=G=>{f(),n&&E.regress(),o&&o(G)},D=G=>{a&&a(G)},F=G=>{l&&l(G)};return O.addEventListener("change",N),O.addEventListener("start",D),O.addEventListener("end",F),()=>{O.removeEventListener("start",D),O.removeEventListener("end",F),O.removeEventListener("change",N)}},[o,a,l,O,f,S]),R.useEffect(()=>{if(t){const N=_().controls;return w({controls:O}),()=>w({controls:N})}},[t,O]),R.createElement("primitive",aP({ref:d,object:O,enableDamping:i},c))});function Wj(t,e){if(e===$V)return console.warn("THREE.BufferGeometryUtils.toTrianglesDrawMode(): Geometry already defined as triangles."),t;if(e===O1||e===wR){let n=t.getIndex();if(n===null){const o=[],a=t.getAttribute("position");if(a!==void 0){for(let l=0;l=2.0 are supported."));return}const c=new k_e(s,{path:n||this.resourcePath||"",crossOrigin:this.crossOrigin,requestHeader:this.requestHeader,manager:this.manager,ktx2Loader:this.ktx2Loader,meshoptDecoder:this.meshoptDecoder});c.fileLoader.setRequestHeader(this.requestHeader);for(let d=0;d=0&&a[f]===void 0&&console.warn('THREE.GLTFLoader: Unknown extension "'+f+'".')}}c.setExtensions(o),c.setPlugins(a),c.parse(r,i)}parseAsync(e,n){const r=this;return new Promise(function(i,s){r.parse(e,n,i,s)})}}function t_e(){let t={};return{get:function(e){return t[e]},add:function(e,n){t[e]=n},remove:function(e){delete t[e]},removeAll:function(){t={}}}}const vn={KHR_BINARY_GLTF:"KHR_binary_glTF",KHR_DRACO_MESH_COMPRESSION:"KHR_draco_mesh_compression",KHR_LIGHTS_PUNCTUAL:"KHR_lights_punctual",KHR_MATERIALS_CLEARCOAT:"KHR_materials_clearcoat",KHR_MATERIALS_DISPERSION:"KHR_materials_dispersion",KHR_MATERIALS_IOR:"KHR_materials_ior",KHR_MATERIALS_SHEEN:"KHR_materials_sheen",KHR_MATERIALS_SPECULAR:"KHR_materials_specular",KHR_MATERIALS_TRANSMISSION:"KHR_materials_transmission",KHR_MATERIALS_IRIDESCENCE:"KHR_materials_iridescence",KHR_MATERIALS_ANISOTROPY:"KHR_materials_anisotropy",KHR_MATERIALS_UNLIT:"KHR_materials_unlit",KHR_MATERIALS_VOLUME:"KHR_materials_volume",KHR_TEXTURE_BASISU:"KHR_texture_basisu",KHR_TEXTURE_TRANSFORM:"KHR_texture_transform",KHR_MESH_QUANTIZATION:"KHR_mesh_quantization",KHR_MATERIALS_EMISSIVE_STRENGTH:"KHR_materials_emissive_strength",EXT_MATERIALS_BUMP:"EXT_materials_bump",EXT_TEXTURE_WEBP:"EXT_texture_webp",EXT_TEXTURE_AVIF:"EXT_texture_avif",EXT_MESHOPT_COMPRESSION:"EXT_meshopt_compression",EXT_MESH_GPU_INSTANCING:"EXT_mesh_gpu_instancing"};class n_e{constructor(e){this.parser=e,this.name=vn.KHR_LIGHTS_PUNCTUAL,this.cache={refs:{},uses:{}}}_markDefs(){const e=this.parser,n=this.parser.json.nodes||[];for(let r=0,i=n.length;r=0)throw new Error("THREE.GLTFLoader: setKTX2Loader must be called before loading KTX2 textures");return null}return n.loadTextureImage(e,s.source,o)}}class g_e{constructor(e){this.parser=e,this.name=vn.EXT_TEXTURE_WEBP,this.isSupported=null}loadTexture(e){const n=this.name,r=this.parser,i=r.json,s=i.textures[e];if(!s.extensions||!s.extensions[n])return null;const o=s.extensions[n],a=i.images[o.source];let l=r.textureLoader;if(a.uri){const c=r.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return r.loadTextureImage(e,o.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: WebP required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const n=new Image;n.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",n.onload=n.onerror=function(){e(n.height===1)}})),this.isSupported}}class v_e{constructor(e){this.parser=e,this.name=vn.EXT_TEXTURE_AVIF,this.isSupported=null}loadTexture(e){const n=this.name,r=this.parser,i=r.json,s=i.textures[e];if(!s.extensions||!s.extensions[n])return null;const o=s.extensions[n],a=i.images[o.source];let l=r.textureLoader;if(a.uri){const c=r.options.manager.getHandler(a.uri);c!==null&&(l=c)}return this.detectSupport().then(function(c){if(c)return r.loadTextureImage(e,o.source,l);if(i.extensionsRequired&&i.extensionsRequired.indexOf(n)>=0)throw new Error("THREE.GLTFLoader: AVIF required by asset but unsupported.");return r.loadTexture(e)})}detectSupport(){return this.isSupported||(this.isSupported=new Promise(function(e){const n=new Image;n.src="data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAABcAAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAEAAAABAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQAMAAAAABNjb2xybmNseAACAAIABoAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAAB9tZGF0EgAKCBgABogQEDQgMgkQAAAAB8dSLfI=",n.onload=n.onerror=function(){e(n.height===1)}})),this.isSupported}}class y_e{constructor(e){this.name=vn.EXT_MESHOPT_COMPRESSION,this.parser=e}loadBufferView(e){const n=this.parser.json,r=n.bufferViews[e];if(r.extensions&&r.extensions[this.name]){const i=r.extensions[this.name],s=this.parser.getDependency("buffer",i.buffer),o=this.parser.options.meshoptDecoder;if(!o||!o.supported){if(n.extensionsRequired&&n.extensionsRequired.indexOf(this.name)>=0)throw new Error("THREE.GLTFLoader: setMeshoptDecoder must be called before loading compressed files");return null}return s.then(function(a){const l=i.byteOffset||0,c=i.byteLength||0,d=i.count,f=i.byteStride,m=new Uint8Array(a,l,c);return o.decodeGltfBufferAsync?o.decodeGltfBufferAsync(d,f,m,i.mode,i.filter).then(function(y){return y.buffer}):o.ready.then(function(){const y=new ArrayBuffer(d*f);return o.decodeGltfBuffer(new Uint8Array(y),d,f,m,i.mode,i.filter),y})})}else return null}}class x_e{constructor(e){this.name=vn.EXT_MESH_GPU_INSTANCING,this.parser=e}createNodeMesh(e){const n=this.parser.json,r=n.nodes[e];if(!r.extensions||!r.extensions[this.name]||r.mesh===void 0)return null;const i=n.meshes[r.mesh];for(const c of i.primitives)if(c.mode!==Ho.TRIANGLES&&c.mode!==Ho.TRIANGLE_STRIP&&c.mode!==Ho.TRIANGLE_FAN&&c.mode!==void 0)return null;const o=r.extensions[this.name].attributes,a=[],l={};for(const c in o)a.push(this.parser.getDependency("accessor",o[c]).then(d=>(l[c]=d,l[c])));return a.length<1?null:(a.push(this.parser.createNodeMesh(e)),Promise.all(a).then(c=>{const d=c.pop(),f=d.isGroup?d.children:[d],m=c[0].count,y=[];for(const x of f){const S=new Rt,w=new X,_=new Kt,E=new X(1,1,1),T=new LR(x.geometry,x.material,m);for(let C=0;C0||t.search(/^data\:image\/jpeg/)===0?"image/jpeg":t.search(/\.webp($|\?)/i)>0||t.search(/^data\:image\/webp/)===0?"image/webp":"image/png"}const I_e=new Rt;class k_e{constructor(e={},n={}){this.json=e,this.extensions={},this.plugins={},this.options=n,this.cache=new t_e,this.associations=new Map,this.primitiveCache={},this.nodeCache={},this.meshCache={refs:{},uses:{}},this.cameraCache={refs:{},uses:{}},this.lightCache={refs:{},uses:{}},this.sourceCache={},this.textureCache={},this.nodeNamesUsed={};let r=!1,i=-1,s=!1,o=-1;if(typeof navigator<"u"){const a=navigator.userAgent;r=/^((?!chrome|android).)*safari/i.test(a)===!0;const l=a.match(/Version\/(\d+)/);i=r&&l?parseInt(l[1],10):-1,s=a.indexOf("Firefox")>-1,o=s?a.match(/Firefox\/([0-9]+)\./)[1]:-1}typeof createImageBitmap>"u"||r&&i<17||s&&o<98?this.textureLoader=new q6(this.options.manager):this.textureLoader=new nG(this.options.manager),this.textureLoader.setCrossOrigin(this.options.crossOrigin),this.textureLoader.setRequestHeader(this.options.requestHeader),this.fileLoader=new Ga(this.options.manager),this.fileLoader.setResponseType("arraybuffer"),this.options.crossOrigin==="use-credentials"&&this.fileLoader.setWithCredentials(!0)}setExtensions(e){this.extensions=e}setPlugins(e){this.plugins=e}parse(e,n){const r=this,i=this.json,s=this.extensions;this.cache.removeAll(),this.nodeCache={},this._invokeAll(function(o){return o._markDefs&&o._markDefs()}),Promise.all(this._invokeAll(function(o){return o.beforeRoot&&o.beforeRoot()})).then(function(){return Promise.all([r.getDependencies("scene"),r.getDependencies("animation"),r.getDependencies("camera")])}).then(function(o){const a={scene:o[0][i.scene||0],scenes:o[0],animations:o[1],cameras:o[2],asset:i.asset,parser:r,userData:{}};return Ff(s,a,i),Nc(a,i),Promise.all(r._invokeAll(function(l){return l.afterRoot&&l.afterRoot(a)})).then(function(){for(const l of a.scenes)l.updateMatrixWorld();e(a)})}).catch(n)}_markDefs(){const e=this.json.nodes||[],n=this.json.skins||[],r=this.json.meshes||[];for(let i=0,s=n.length;i{const l=this.associations.get(o);l!=null&&this.associations.set(a,l);for(const[c,d]of o.children.entries())s(d,a.children[c])};return s(r,i),i.name+="_instance_"+e.uses[n]++,i}_invokeOne(e){const n=Object.values(this.plugins);n.push(this);for(let r=0;r=2&&w.setY(G,N[D*l+1]),l>=3&&w.setZ(G,N[D*l+2]),l>=4&&w.setW(G,N[D*l+3]),l>=5)throw new Error("THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.")}w.normalized=x}return w})}loadTexture(e){const n=this.json,r=this.options,s=n.textures[e].source,o=n.images[s];let a=this.textureLoader;if(o.uri){const l=r.manager.getHandler(o.uri);l!==null&&(a=l)}return this.loadTextureImage(e,s,a)}loadTextureImage(e,n,r){const i=this,s=this.json,o=s.textures[e],a=s.images[n],l=(a.uri||a.bufferView)+":"+o.sampler;if(this.textureCache[l])return this.textureCache[l];const c=this.loadImageSource(n,r).then(function(d){d.flipY=!1,d.name=o.name||a.name||"",d.name===""&&typeof a.uri=="string"&&a.uri.startsWith("data:image/")===!1&&(d.name=a.uri);const m=(s.samplers||{})[o.sampler]||{};return d.magFilter=Xj[m.magFilter]||Cr,d.minFilter=Xj[m.minFilter]||qo,d.wrapS=qj[m.wrapS]||Pd,d.wrapT=qj[m.wrapT]||Pd,i.associations.set(d,{textures:e}),d}).catch(function(){return null});return this.textureCache[l]=c,c}loadImageSource(e,n){const r=this,i=this.json,s=this.options;if(this.sourceCache[e]!==void 0)return this.sourceCache[e].then(f=>f.clone());const o=i.images[e],a=self.URL||self.webkitURL;let l=o.uri||"",c=!1;if(o.bufferView!==void 0)l=r.getDependency("bufferView",o.bufferView).then(function(f){c=!0;const m=new Blob([f],{type:o.mimeType});return l=a.createObjectURL(m),l});else if(o.uri===void 0)throw new Error("THREE.GLTFLoader: Image "+e+" is missing URI and bufferView");const d=Promise.resolve(l).then(function(f){return new Promise(function(m,y){let x=m;n.isImageBitmapLoader===!0&&(x=function(S){const w=new dr(S);w.needsUpdate=!0,m(w)}),n.load(Md.resolveURL(f,s.path),x,void 0,y)})}).then(function(f){return c===!0&&a.revokeObjectURL(l),Nc(f,o),f.userData.mimeType=o.mimeType||N_e(o.uri),f}).catch(function(f){throw console.error("THREE.GLTFLoader: Couldn't load texture",l),f});return this.sourceCache[e]=d,d}assignTexture(e,n,r,i){const s=this;return this.getDependency("texture",r.index).then(function(o){if(!o)return null;if(r.texCoord!==void 0&&r.texCoord>0&&(o=o.clone(),o.channel=r.texCoord),s.extensions[vn.KHR_TEXTURE_TRANSFORM]){const a=r.extensions!==void 0?r.extensions[vn.KHR_TEXTURE_TRANSFORM]:void 0;if(a){const l=s.associations.get(o);o=s.extensions[vn.KHR_TEXTURE_TRANSFORM].extendTexture(o,a),s.associations.set(o,l)}}return i!==void 0&&(o.colorSpace=i),e[n]=o,o})}assignFinalMaterial(e){const n=e.geometry;let r=e.material;const i=n.attributes.tangent===void 0,s=n.attributes.color!==void 0,o=n.attributes.normal===void 0;if(e.isPoints){const a="PointsMaterial:"+r.uuid;let l=this.cache.get(a);l||(l=new sM,Gr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,l.sizeAttenuation=!1,this.cache.add(a,l)),r=l}else if(e.isLine){const a="LineBasicMaterial:"+r.uuid;let l=this.cache.get(a);l||(l=new $r,Gr.prototype.copy.call(l,r),l.color.copy(r.color),l.map=r.map,this.cache.add(a,l)),r=l}if(i||s||o){let a="ClonedMaterial:"+r.uuid+":";i&&(a+="derivative-tangents:"),s&&(a+="vertex-colors:"),o&&(a+="flat-shading:");let l=this.cache.get(a);l||(l=r.clone(),s&&(l.vertexColors=!0),o&&(l.flatShading=!0),i&&(l.normalScale&&(l.normalScale.y*=-1),l.clearcoatNormalScale&&(l.clearcoatNormalScale.y*=-1)),this.cache.add(a,l),this.associations.set(l,this.associations.get(r))),r=l}e.material=r}getMaterialType(){return vx}loadMaterial(e){const n=this,r=this.json,i=this.extensions,s=r.materials[e];let o;const a={},l=s.extensions||{},c=[];if(l[vn.KHR_MATERIALS_UNLIT]){const f=i[vn.KHR_MATERIALS_UNLIT];o=f.getMaterialType(),c.push(f.extendParams(a,s,n))}else{const f=s.pbrMetallicRoughness||{};if(a.color=new lt(1,1,1),a.opacity=1,Array.isArray(f.baseColorFactor)){const m=f.baseColorFactor;a.color.setRGB(m[0],m[1],m[2],xi),a.opacity=m[3]}f.baseColorTexture!==void 0&&c.push(n.assignTexture(a,"map",f.baseColorTexture,Ui)),a.metalness=f.metallicFactor!==void 0?f.metallicFactor:1,a.roughness=f.roughnessFactor!==void 0?f.roughnessFactor:1,f.metallicRoughnessTexture!==void 0&&(c.push(n.assignTexture(a,"metalnessMap",f.metallicRoughnessTexture)),c.push(n.assignTexture(a,"roughnessMap",f.metallicRoughnessTexture))),o=this._invokeOne(function(m){return m.getMaterialType&&m.getMaterialType(e)}),c.push(Promise.all(this._invokeAll(function(m){return m.extendMaterialParams&&m.extendMaterialParams(e,a)})))}s.doubleSided===!0&&(a.side=xo);const d=s.alphaMode||eT.OPAQUE;if(d===eT.BLEND?(a.transparent=!0,a.depthWrite=!1):(a.transparent=!1,d===eT.MASK&&(a.alphaTest=s.alphaCutoff!==void 0?s.alphaCutoff:.5)),s.normalTexture!==void 0&&o!==As&&(c.push(n.assignTexture(a,"normalMap",s.normalTexture)),a.normalScale=new Ve(1,1),s.normalTexture.scale!==void 0)){const f=s.normalTexture.scale;a.normalScale.set(f,f)}if(s.occlusionTexture!==void 0&&o!==As&&(c.push(n.assignTexture(a,"aoMap",s.occlusionTexture)),s.occlusionTexture.strength!==void 0&&(a.aoMapIntensity=s.occlusionTexture.strength)),s.emissiveFactor!==void 0&&o!==As){const f=s.emissiveFactor;a.emissive=new lt().setRGB(f[0],f[1],f[2],xi)}return s.emissiveTexture!==void 0&&o!==As&&c.push(n.assignTexture(a,"emissiveMap",s.emissiveTexture,Ui)),Promise.all(c).then(function(){const f=new o(a);return s.name&&(f.name=s.name),Nc(f,s),n.associations.set(f,{materials:e}),s.extensions&&Ff(i,f,s),f})}createUniqueName(e){const n=Nn.sanitizeNodeName(e||"");return n in this.nodeNamesUsed?n+"_"+ ++this.nodeNamesUsed[n]:(this.nodeNamesUsed[n]=0,n)}loadGeometries(e){const n=this,r=this.extensions,i=this.primitiveCache;function s(a){return r[vn.KHR_DRACO_MESH_COMPRESSION].decodePrimitive(a,n).then(function(l){return Kj(l,a,n)})}const o=[];for(let a=0,l=e.length;a0&&P_e(_,s),_.name=n.createUniqueName(s.name||"mesh_"+e),Nc(_,s),w.extensions&&Ff(i,_,w),n.assignFinalMaterial(_),f.push(_)}for(let y=0,x=f.length;y1?d=new Ts:c.length===1?d=c[0]:d=new mn,d!==c[0])for(let f=0,m=c.length;f{const f=new Map;for(const[m,y]of i.associations)(m instanceof Gr||m instanceof dr)&&f.set(m,y);return d.traverse(m=>{const y=i.associations.get(m);y!=null&&f.set(m,y)}),f};return i.associations=c(s),s})}_createAnimationTracks(e,n,r,i,s){const o=[],a=e.name?e.name:e.uuid,l=[];rd[s.path]===rd.weights?e.traverse(function(m){m.morphTargetInfluences&&l.push(m.name?m.name:m.uuid)}):l.push(a);let c;switch(rd[s.path]){case rd.weights:c=Vh;break;case rd.rotation:c=Gh;break;case rd.position:case rd.scale:c=Wh;break;default:switch(r.itemSize){case 1:c=Vh;break;case 2:case 3:default:c=Wh;break}break}const d=i.interpolation!==void 0?A_e[i.interpolation]:Dg,f=this._getArrayFromAccessor(r);for(let m=0,y=l.length;mnew Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())}),jn=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())}),Yj=class extends mn{constructor(t){super(),this.weight=0,this.isBinary=!1,this.overrideBlink="none",this.overrideLookAt="none",this.overrideMouth="none",this._binds=[],this.name=`VRMExpression_${t}`,this.expressionName=t,this.type="VRMExpression",this.visible=!1}get binds(){return this._binds}get overrideBlinkAmount(){return this.overrideBlink==="block"?0.5?1:0:this.weight}addBind(t){this._binds.push(t)}deleteBind(t){const e=this._binds.indexOf(t);e>=0&&this._binds.splice(e,1)}applyWeight(t){var e;let n=this.outputWeight;n*=(e=t==null?void 0:t.multiplier)!=null?e:1,this.isBinary&&n<1&&(n=0),this._binds.forEach(r=>r.applyWeight(n))}clearAppliedWeight(){this._binds.forEach(t=>t.clearAppliedWeight())}};function CG(t,e,n){var r,i;const s=t.parser.json,o=(r=s.nodes)==null?void 0:r[e];if(o==null)return console.warn(`extractPrimitivesInternal: Attempt to use nodes[${e}] of glTF but the node doesn't exist`),null;const a=o.mesh;if(a==null)return null;const l=(i=s.meshes)==null?void 0:i[a];if(l==null)return console.warn(`extractPrimitivesInternal: Attempt to use meshes[${a}] of glTF but the mesh doesn't exist`),null;const c=l.primitives.length,d=[];return n.traverse(f=>{d.length{const s=CG(t,i,r);s!=null&&n.set(i,s)}),n})}var uP={Aa:"aa",Ih:"ih",Ou:"ou",Ee:"ee",Oh:"oh",Blink:"blink",Happy:"happy",Angry:"angry",Sad:"sad",Relaxed:"relaxed",LookUp:"lookUp",Surprised:"surprised",LookDown:"lookDown",LookLeft:"lookLeft",LookRight:"lookRight",BlinkLeft:"blinkLeft",BlinkRight:"blinkRight",Neutral:"neutral"};function PG(t){return Math.max(Math.min(t,1),0)}var Jj=class RG{constructor(){this.blinkExpressionNames=["blink","blinkLeft","blinkRight"],this.lookAtExpressionNames=["lookLeft","lookRight","lookUp","lookDown"],this.mouthExpressionNames=["aa","ee","ih","oh","ou"],this._expressions=[],this._expressionMap={}}get expressions(){return this._expressions.concat()}get expressionMap(){return Object.assign({},this._expressionMap)}get presetExpressionMap(){const e={},n=new Set(Object.values(uP));return Object.entries(this._expressionMap).forEach(([r,i])=>{n.has(r)&&(e[r]=i)}),e}get customExpressionMap(){const e={},n=new Set(Object.values(uP));return Object.entries(this._expressionMap).forEach(([r,i])=>{n.has(r)||(e[r]=i)}),e}copy(e){return this._expressions.concat().forEach(r=>{this.unregisterExpression(r)}),e._expressions.forEach(r=>{this.registerExpression(r)}),this.blinkExpressionNames=e.blinkExpressionNames.concat(),this.lookAtExpressionNames=e.lookAtExpressionNames.concat(),this.mouthExpressionNames=e.mouthExpressionNames.concat(),this}clone(){return new RG().copy(this)}getExpression(e){var n;return(n=this._expressionMap[e])!=null?n:null}registerExpression(e){this._expressions.push(e),this._expressionMap[e.expressionName]=e}unregisterExpression(e){const n=this._expressions.indexOf(e);n===-1&&console.warn("VRMExpressionManager: The specified expressions is not registered"),this._expressions.splice(n,1),delete this._expressionMap[e.expressionName]}getValue(e){var n;const r=this.getExpression(e);return(n=r==null?void 0:r.weight)!=null?n:null}setValue(e,n){const r=this.getExpression(e);r&&(r.weight=PG(n))}resetValues(){this._expressions.forEach(e=>{e.weight=0})}getExpressionTrackName(e){const n=this.getExpression(e);return n?`${n.name}.weight`:null}update(){const e=this._calculateWeightMultipliers();this._expressions.forEach(n=>{n.clearAppliedWeight()}),this._expressions.forEach(n=>{let r=1;const i=n.expressionName;this.blinkExpressionNames.indexOf(i)!==-1&&(r*=e.blink),this.lookAtExpressionNames.indexOf(i)!==-1&&(r*=e.lookAt),this.mouthExpressionNames.indexOf(i)!==-1&&(r*=e.mouth),n.applyWeight({multiplier:r})})}_calculateWeightMultipliers(){let e=1,n=1,r=1;return this._expressions.forEach(i=>{e-=i.overrideBlinkAmount,n-=i.overrideLookAtAmount,r-=i.overrideMouthAmount}),e=Math.max(0,e),n=Math.max(0,n),r=Math.max(0,r),{blink:e,lookAt:n,mouth:r}}},k0={Color:"color",EmissionColor:"emissionColor",ShadeColor:"shadeColor",RimColor:"rimColor",OutlineColor:"outlineColor"},L_e={_Color:k0.Color,_EmissionColor:k0.EmissionColor,_ShadeColor:k0.ShadeColor,_RimColor:k0.RimColor,_OutlineColor:k0.OutlineColor},D_e=new lt,NG=class IG{constructor({material:e,type:n,targetValue:r,targetAlpha:i}){this.material=e,this.type=n,this.targetValue=r,this.targetAlpha=i??1;const s=this._initColorBindState(),o=this._initAlphaBindState();this._state={color:s,alpha:o}}applyWeight(e){const{color:n,alpha:r}=this._state;if(n!=null){const{propertyName:i,deltaValue:s}=n,o=this.material[i];o!=null&&o.add(D_e.copy(s).multiplyScalar(e))}if(r!=null){const{propertyName:i,deltaValue:s}=r;this.material[i]!=null&&(this.material[i]+=s*e)}}clearAppliedWeight(){const{color:e,alpha:n}=this._state;if(e!=null){const{propertyName:r,initialValue:i}=e,s=this.material[r];s!=null&&s.copy(i)}if(n!=null){const{propertyName:r,initialValue:i}=n;this.material[r]!=null&&(this.material[r]=i)}}_initColorBindState(){var e,n,r;const{material:i,type:s,targetValue:o}=this,a=this._getPropertyNameMap(),l=(n=(e=a==null?void 0:a[s])==null?void 0:e[0])!=null?n:null;if(l==null)return console.warn(`Tried to add a material color bind to the material ${(r=i.name)!=null?r:"(no name)"}, the type ${s} but the material or the type is not supported.`),null;const d=i[l].clone(),f=new lt(o.r-d.r,o.g-d.g,o.b-d.b);return{propertyName:l,initialValue:d,deltaValue:f}}_initAlphaBindState(){var e,n,r;const{material:i,type:s,targetAlpha:o}=this,a=this._getPropertyNameMap(),l=(n=(e=a==null?void 0:a[s])==null?void 0:e[1])!=null?n:null;if(l==null&&o!==1)return console.warn(`Tried to add a material alpha bind to the material ${(r=i.name)!=null?r:"(no name)"}, the type ${s} but the material or the type does not support alpha.`),null;if(l==null)return null;const c=i[l],d=o-c;return{propertyName:l,initialValue:c,deltaValue:d}}_getPropertyNameMap(){var e,n;return(n=(e=Object.entries(IG._propertyNameMapMap).find(([r])=>this.material[r]===!0))==null?void 0:e[1])!=null?n:null}};NG._propertyNameMapMap={isMeshStandardMaterial:{color:["color","opacity"],emissionColor:["emissive",null]},isMeshBasicMaterial:{color:["color","opacity"]},isMToonMaterial:{color:["color","opacity"],emissionColor:["emissive",null],outlineColor:["outlineColorFactor",null],matcapColor:["matcapFactor",null],rimColor:["parametricRimColorFactor",null],shadeColor:["shadeColorFactor",null]}};var eU=NG,F1=class{constructor({primitives:t,index:e,weight:n}){this.primitives=t,this.index=e,this.weight=n}applyWeight(t){this.primitives.forEach(e=>{var n;((n=e.morphTargetInfluences)==null?void 0:n[this.index])!=null&&(e.morphTargetInfluences[this.index]+=this.weight*t)})}clearAppliedWeight(){this.primitives.forEach(t=>{var e;((e=t.morphTargetInfluences)==null?void 0:e[this.index])!=null&&(t.morphTargetInfluences[this.index]=0)})}},tU=new Ge,kG=class OG{constructor({material:e,scale:n,offset:r}){var i,s;this.material=e,this.scale=n,this.offset=r;const o=(i=Object.entries(OG._propertyNamesMap).find(([a])=>e[a]===!0))==null?void 0:i[1];o==null?(console.warn(`Tried to add a texture transform bind to the material ${(s=e.name)!=null?s:"(no name)"} but the material is not supported.`),this._properties=[]):(this._properties=[],o.forEach(a=>{var l;const c=(l=e[a])==null?void 0:l.clone();if(!c)return null;e[a]=c;const d=c.offset.clone(),f=c.repeat.clone(),m=r.clone().sub(d),y=n.clone().sub(f);this._properties.push({name:a,initialOffset:d,deltaOffset:m,initialScale:f,deltaScale:y})}))}applyWeight(e){this._properties.forEach(n=>{const r=this.material[n.name];r!==void 0&&(r.offset.add(tU.copy(n.deltaOffset).multiplyScalar(e)),r.repeat.add(tU.copy(n.deltaScale).multiplyScalar(e)))})}clearAppliedWeight(){this._properties.forEach(e=>{const n=this.material[e.name];n!==void 0&&(n.offset.copy(e.initialOffset),n.repeat.copy(e.initialScale))})}};kG._propertyNamesMap={isMeshStandardMaterial:["map","emissiveMap","bumpMap","normalMap","displacementMap","roughnessMap","metalnessMap","alphaMap"],isMeshBasicMaterial:["map","specularMap","alphaMap"],isMToonMaterial:["map","normalMap","emissiveMap","shadeMultiplyTexture","rimMultiplyTexture","outlineWidthMultiplyTexture","uvAnimationMaskTexture"]};var nU=kG,j_e=new Set(["1.0","1.0-beta"]),LG=class DG{get name(){return"VRMExpressionLoaderPlugin"}constructor(e){this.parser=e}afterRoot(e){return jn(this,null,function*(){e.userData.vrmExpressionManager=yield this._import(e)})}_import(e){return jn(this,null,function*(){const n=yield this._v1Import(e);if(n)return n;const r=yield this._v0Import(e);return r||null})}_v1Import(e){return jn(this,null,function*(){var n,r;const i=this.parser.json;if(!(((n=i.extensionsUsed)==null?void 0:n.indexOf("VRMC_vrm"))!==-1))return null;const o=(r=i.extensions)==null?void 0:r.VRMC_vrm;if(!o)return null;const a=o.specVersion;if(!j_e.has(a))return console.warn(`VRMExpressionLoaderPlugin: Unknown VRMC_vrm specVersion "${a}"`),null;const l=o.expressions;if(!l)return null;const c=new Set(Object.values(uP)),d=new Map;l.preset!=null&&Object.entries(l.preset).forEach(([m,y])=>{if(y!=null){if(!c.has(m)){console.warn(`VRMExpressionLoaderPlugin: Unknown preset name "${m}" detected. Ignoring the expression`);return}d.set(m,y)}}),l.custom!=null&&Object.entries(l.custom).forEach(([m,y])=>{if(c.has(m)){console.warn(`VRMExpressionLoaderPlugin: Custom expression cannot have preset name "${m}". Ignoring the expression`);return}d.set(m,y)});const f=new Jj;return yield Promise.all(Array.from(d.entries()).map(m=>jn(this,[m],function*([y,x]){var S,w,_,E,T,C,O;const N=new Yj(y);if(e.scene.add(N),N.isBinary=(S=x.isBinary)!=null?S:!1,N.overrideBlink=(w=x.overrideBlink)!=null?w:"none",N.overrideLookAt=(_=x.overrideLookAt)!=null?_:"none",N.overrideMouth=(E=x.overrideMouth)!=null?E:"none",(T=x.morphTargetBinds)==null||T.forEach(D=>jn(this,null,function*(){var F;if(D.node===void 0||D.index===void 0)return;const G=yield Zj(e,D.node),k=D.index;if(!G.every(U=>Array.isArray(U.morphTargetInfluences)&&k{const G=F.material;G&&(Array.isArray(G)?D.push(...G):D.push(G))}),(C=x.materialColorBinds)==null||C.forEach(F=>jn(this,null,function*(){D.filter(k=>{var U;const H=(U=this.parser.associations.get(k))==null?void 0:U.materials;return F.material===H}).forEach(k=>{N.addBind(new eU({material:k,type:F.type,targetValue:new lt().fromArray(F.targetValue),targetAlpha:F.targetValue[3]}))})})),(O=x.textureTransformBinds)==null||O.forEach(F=>jn(this,null,function*(){D.filter(k=>{var U;const H=(U=this.parser.associations.get(k))==null?void 0:U.materials;return F.material===H}).forEach(k=>{var U,H;N.addBind(new nU({material:k,offset:new Ge().fromArray((U=F.offset)!=null?U:[0,0]),scale:new Ge().fromArray((H=F.scale)!=null?H:[1,1])}))})}))}f.registerExpression(N)}))),f})}_v0Import(e){return jn(this,null,function*(){var n;const r=this.parser.json,i=(n=r.extensions)==null?void 0:n.VRM;if(!i)return null;const s=i.blendShapeMaster;if(!s)return null;const o=new Jj,a=s.blendShapeGroups;if(!a)return o;const l=new Set;return yield Promise.all(a.map(c=>jn(this,null,function*(){var d;const f=c.presetName,m=f!=null&&DG.v0v1PresetNameMap[f]||null,y=m??c.name;if(y==null){console.warn("VRMExpressionLoaderPlugin: One of custom expressions has no name. Ignoring the expression");return}if(l.has(y)){console.warn(`VRMExpressionLoaderPlugin: An expression preset ${f} has duplicated entries. Ignoring the expression`);return}l.add(y);const x=new Yj(y);e.scene.add(x),x.isBinary=(d=c.isBinary)!=null?d:!1,c.binds&&c.binds.forEach(w=>jn(this,null,function*(){var _;if(w.mesh===void 0||w.index===void 0)return;const E=[];if((_=r.nodes)==null||_.forEach((C,O)=>{C.mesh===w.mesh&&E.push(O)}),E.length===0){console.warn(`VRMExpressionLoaderPlugin: ${c.name} attempts to bind a morph target to the mesh #${w.mesh} but the mesh is not found or not used in the scene. Ignoring the bind.`);return}const T=w.index;yield Promise.all(E.map(C=>jn(this,null,function*(){var O;const N=yield Zj(e,C);if(!N.every(D=>Array.isArray(D.morphTargetInfluences)&&T{if(w.materialName===void 0||w.propertyName===void 0||w.targetValue===void 0)return;const _=[];e.scene.traverse(T=>{if(T.material){const C=T.material;Array.isArray(C)?_.push(...C.filter(O=>(O.name===w.materialName||O.name===w.materialName+" (Outline)")&&_.indexOf(O)===-1)):C.name===w.materialName&&_.indexOf(C)===-1&&_.push(C)}});const E=w.propertyName;_.forEach(T=>{if(E==="_MainTex_ST"){const O=new Ge(w.targetValue[0],w.targetValue[1]),N=new Ge(w.targetValue[2],w.targetValue[3]);N.y=1-N.y-O.y,x.addBind(new nU({material:T,scale:O,offset:N}));return}const C=L_e[E];if(C){x.addBind(new eU({material:T,type:C,targetValue:new lt().fromArray(w.targetValue),targetAlpha:w.targetValue[3]}));return}console.warn(E+" is not supported")})}),o.registerExpression(x)}))),o})}};LG.v0v1PresetNameMap={a:"aa",e:"ee",i:"ih",o:"oh",u:"ou",blink:"blink",joy:"happy",angry:"angry",sorrow:"sad",fun:"relaxed",lookup:"lookUp",lookdown:"lookDown",lookleft:"lookLeft",lookright:"lookRight",blink_l:"blinkLeft",blink_r:"blinkRight",neutral:"neutral"};var U_e=LG,oN=class Bm{constructor(e,n){this._firstPersonOnlyLayer=Bm.DEFAULT_FIRSTPERSON_ONLY_LAYER,this._thirdPersonOnlyLayer=Bm.DEFAULT_THIRDPERSON_ONLY_LAYER,this._initializedLayers=!1,this.humanoid=e,this.meshAnnotations=n}copy(e){if(this.humanoid!==e.humanoid)throw new Error("VRMFirstPerson: humanoid must be same in order to copy");return this.meshAnnotations=e.meshAnnotations.map(n=>({meshes:n.meshes.concat(),type:n.type})),this}clone(){return new Bm(this.humanoid,this.meshAnnotations).copy(this)}get firstPersonOnlyLayer(){return this._firstPersonOnlyLayer}get thirdPersonOnlyLayer(){return this._thirdPersonOnlyLayer}setup({firstPersonOnlyLayer:e=Bm.DEFAULT_FIRSTPERSON_ONLY_LAYER,thirdPersonOnlyLayer:n=Bm.DEFAULT_THIRDPERSON_ONLY_LAYER}={}){this._initializedLayers||(this._firstPersonOnlyLayer=e,this._thirdPersonOnlyLayer=n,this.meshAnnotations.forEach(r=>{r.meshes.forEach(i=>{r.type==="firstPersonOnly"?(i.layers.set(this._firstPersonOnlyLayer),i.traverse(s=>s.layers.set(this._firstPersonOnlyLayer))):r.type==="thirdPersonOnly"?(i.layers.set(this._thirdPersonOnlyLayer),i.traverse(s=>s.layers.set(this._thirdPersonOnlyLayer))):r.type==="auto"&&this._createHeadlessModel(i)})}),this._initializedLayers=!0)}_excludeTriangles(e,n,r,i){let s=0;if(n!=null&&n.length>0)for(let o=0;o0&&i.includes(f[0])||d[1]>0&&i.includes(f[1])||d[2]>0&&i.includes(f[2])||d[3]>0&&i.includes(f[3]))continue;const m=n[l],y=r[l];if(m[0]>0&&i.includes(y[0])||m[1]>0&&i.includes(y[1])||m[2]>0&&i.includes(y[2])||m[3]>0&&i.includes(y[3]))continue;const x=n[c],S=r[c];x[0]>0&&i.includes(S[0])||x[1]>0&&i.includes(S[1])||x[2]>0&&i.includes(S[2])||x[3]>0&&i.includes(S[3])||(e[s++]=a,e[s++]=l,e[s++]=c)}return s}_createErasedMesh(e,n){const r=new rM(e.geometry.clone(),e.material);r.name=`${e.name}(erase)`,r.frustumCulled=e.frustumCulled,r.layers.set(this._firstPersonOnlyLayer);const i=r.geometry,s=i.getAttribute("skinIndex"),o=s instanceof nP?[]:s.array,a=[];for(let S=0;S{this._isEraseTarget(s)&&r.push(o)}),!r.length){n.layers.enable(this._thirdPersonOnlyLayer),n.layers.enable(this._firstPersonOnlyLayer);return}n.layers.set(this._thirdPersonOnlyLayer);const i=this._createErasedMesh(n,r);e.add(i)}_createHeadlessModel(e){if(e.type==="Group")if(e.layers.set(this._thirdPersonOnlyLayer),this._isEraseTarget(e))e.traverse(n=>n.layers.set(this._thirdPersonOnlyLayer));else{const n=new Ts;n.name=`_headless_${e.name}`,n.layers.set(this._firstPersonOnlyLayer),e.parent.add(n),e.children.filter(r=>r.type==="SkinnedMesh").forEach(r=>{const i=r;this._createHeadlessModelForSkinnedMesh(n,i)})}else if(e.type==="SkinnedMesh"){const n=e;this._createHeadlessModelForSkinnedMesh(e.parent,n)}else this._isEraseTarget(e)&&(e.layers.set(this._thirdPersonOnlyLayer),e.traverse(n=>n.layers.set(this._thirdPersonOnlyLayer)))}_isEraseTarget(e){return e===this.humanoid.getRawBoneNode("head")?!0:e.parent?this._isEraseTarget(e.parent):!1}};oN.DEFAULT_FIRSTPERSON_ONLY_LAYER=9;oN.DEFAULT_THIRDPERSON_ONLY_LAYER=10;var rU=oN,F_e=new Set(["1.0","1.0-beta"]),z_e=class{get name(){return"VRMFirstPersonLoaderPlugin"}constructor(t){this.parser=t}afterRoot(t){return jn(this,null,function*(){const e=t.userData.vrmHumanoid;if(e!==null){if(e===void 0)throw new Error("VRMFirstPersonLoaderPlugin: vrmHumanoid is undefined. VRMHumanoidLoaderPlugin have to be used first");t.userData.vrmFirstPerson=yield this._import(t,e)}})}_import(t,e){return jn(this,null,function*(){if(e==null)return null;const n=yield this._v1Import(t,e);if(n)return n;const r=yield this._v0Import(t,e);return r||null})}_v1Import(t,e){return jn(this,null,function*(){var n,r;const i=this.parser.json;if(!(((n=i.extensionsUsed)==null?void 0:n.indexOf("VRMC_vrm"))!==-1))return null;const o=(r=i.extensions)==null?void 0:r.VRMC_vrm;if(!o)return null;const a=o.specVersion;if(!F_e.has(a))return console.warn(`VRMFirstPersonLoaderPlugin: Unknown VRMC_vrm specVersion "${a}"`),null;const l=o.firstPerson,c=[],d=yield Qj(t);return Array.from(d.entries()).forEach(([f,m])=>{var y,x;const S=(y=l==null?void 0:l.meshAnnotations)==null?void 0:y.find(w=>w.node===f);c.push({meshes:m,type:(x=S==null?void 0:S.type)!=null?x:"auto"})}),new rU(e,c)})}_v0Import(t,e){return jn(this,null,function*(){var n;const r=this.parser.json,i=(n=r.extensions)==null?void 0:n.VRM;if(!i)return null;const s=i.firstPerson;if(!s)return null;const o=[],a=yield Qj(t);return Array.from(a.entries()).forEach(([l,c])=>{const d=r.nodes[l],f=s.meshAnnotations?s.meshAnnotations.find(m=>m.mesh===d.mesh):void 0;o.push({meshes:c,type:this._convertV0FlagToV1Type(f==null?void 0:f.firstPersonFlag)})}),new rU(e,o)})}_convertV0FlagToV1Type(t){return t==="FirstPersonOnly"?"firstPersonOnly":t==="ThirdPersonOnly"?"thirdPersonOnly":t==="Both"?"both":"auto"}},iU=new X,sU=new X,B_e=new Kt,oU=class extends Ts{constructor(t){super(),this.vrmHumanoid=t,this._boneAxesMap=new Map,Object.values(t.humanBones).forEach(e=>{const n=new lG(1);n.matrixAutoUpdate=!1,n.material.depthTest=!1,n.material.depthWrite=!1,this.add(n),this._boneAxesMap.set(e,n)})}dispose(){Array.from(this._boneAxesMap.values()).forEach(t=>{t.geometry.dispose(),t.material.dispose()})}updateMatrixWorld(t){Array.from(this._boneAxesMap.entries()).forEach(([e,n])=>{e.node.updateWorldMatrix(!0,!1),e.node.matrixWorld.decompose(iU,B_e,sU);const r=iU.set(.1,.1,.1).divide(sU);n.matrix.copy(e.node.matrixWorld).scale(r)}),super.updateMatrixWorld(t)}},nT=["hips","spine","chest","upperChest","neck","head","leftEye","rightEye","jaw","leftUpperLeg","leftLowerLeg","leftFoot","leftToes","rightUpperLeg","rightLowerLeg","rightFoot","rightToes","leftShoulder","leftUpperArm","leftLowerArm","leftHand","rightShoulder","rightUpperArm","rightLowerArm","rightHand","leftThumbMetacarpal","leftThumbProximal","leftThumbDistal","leftIndexProximal","leftIndexIntermediate","leftIndexDistal","leftMiddleProximal","leftMiddleIntermediate","leftMiddleDistal","leftRingProximal","leftRingIntermediate","leftRingDistal","leftLittleProximal","leftLittleIntermediate","leftLittleDistal","rightThumbMetacarpal","rightThumbProximal","rightThumbDistal","rightIndexProximal","rightIndexIntermediate","rightIndexDistal","rightMiddleProximal","rightMiddleIntermediate","rightMiddleDistal","rightRingProximal","rightRingIntermediate","rightRingDistal","rightLittleProximal","rightLittleIntermediate","rightLittleDistal"],H_e={hips:null,spine:"hips",chest:"spine",upperChest:"chest",neck:"upperChest",head:"neck",leftEye:"head",rightEye:"head",jaw:"head",leftUpperLeg:"hips",leftLowerLeg:"leftUpperLeg",leftFoot:"leftLowerLeg",leftToes:"leftFoot",rightUpperLeg:"hips",rightLowerLeg:"rightUpperLeg",rightFoot:"rightLowerLeg",rightToes:"rightFoot",leftShoulder:"upperChest",leftUpperArm:"leftShoulder",leftLowerArm:"leftUpperArm",leftHand:"leftLowerArm",rightShoulder:"upperChest",rightUpperArm:"rightShoulder",rightLowerArm:"rightUpperArm",rightHand:"rightLowerArm",leftThumbMetacarpal:"leftHand",leftThumbProximal:"leftThumbMetacarpal",leftThumbDistal:"leftThumbProximal",leftIndexProximal:"leftHand",leftIndexIntermediate:"leftIndexProximal",leftIndexDistal:"leftIndexIntermediate",leftMiddleProximal:"leftHand",leftMiddleIntermediate:"leftMiddleProximal",leftMiddleDistal:"leftMiddleIntermediate",leftRingProximal:"leftHand",leftRingIntermediate:"leftRingProximal",leftRingDistal:"leftRingIntermediate",leftLittleProximal:"leftHand",leftLittleIntermediate:"leftLittleProximal",leftLittleDistal:"leftLittleIntermediate",rightThumbMetacarpal:"rightHand",rightThumbProximal:"rightThumbMetacarpal",rightThumbDistal:"rightThumbProximal",rightIndexProximal:"rightHand",rightIndexIntermediate:"rightIndexProximal",rightIndexDistal:"rightIndexIntermediate",rightMiddleProximal:"rightHand",rightMiddleIntermediate:"rightMiddleProximal",rightMiddleDistal:"rightMiddleIntermediate",rightRingProximal:"rightHand",rightRingIntermediate:"rightRingProximal",rightRingDistal:"rightRingIntermediate",rightLittleProximal:"rightHand",rightLittleIntermediate:"rightLittleProximal",rightLittleDistal:"rightLittleIntermediate"};function jG(t){return t.invert?t.invert():t.inverse(),t}var zf=new X,Bf=new Kt,dP=class{constructor(t){this.humanBones=t,this.restPose=this.getAbsolutePose()}getAbsolutePose(){const t={};return Object.keys(this.humanBones).forEach(e=>{const n=e,r=this.getBoneNode(n);r&&(zf.copy(r.position),Bf.copy(r.quaternion),t[n]={position:zf.toArray(),rotation:Bf.toArray()})}),t}getPose(){const t={};return Object.keys(this.humanBones).forEach(e=>{const n=e,r=this.getBoneNode(n);if(!r)return;zf.set(0,0,0),Bf.identity();const i=this.restPose[n];i!=null&&i.position&&zf.fromArray(i.position).negate(),i!=null&&i.rotation&&jG(Bf.fromArray(i.rotation)),zf.add(r.position),Bf.premultiply(r.quaternion),t[n]={position:zf.toArray(),rotation:Bf.toArray()}}),t}setPose(t){Object.entries(t).forEach(([e,n])=>{const r=e,i=this.getBoneNode(r);if(!i)return;const s=this.restPose[r];s&&(n!=null&&n.position&&(i.position.fromArray(n.position),s.position&&i.position.add(zf.fromArray(s.position))),n!=null&&n.rotation&&(i.quaternion.fromArray(n.rotation),s.rotation&&i.quaternion.multiply(Bf.fromArray(s.rotation))))})}resetPose(){Object.entries(this.restPose).forEach(([t,e])=>{const n=this.getBoneNode(t);n&&(e!=null&&e.position&&n.position.fromArray(e.position),e!=null&&e.rotation&&n.quaternion.fromArray(e.rotation))})}getBone(t){var e;return(e=this.humanBones[t])!=null?e:void 0}getBoneNode(t){var e,n;return(n=(e=this.humanBones[t])==null?void 0:e.node)!=null?n:null}},rT=new X,V_e=new Kt,G_e=new X,aU=class UG extends dP{static _setupTransforms(e){const n=new mn;n.name="VRMHumanoidRig";const r={},i={},s={};nT.forEach(a=>{var l;const c=e.getBoneNode(a);if(c){const d=new X,f=new Kt;c.updateWorldMatrix(!0,!1),c.matrixWorld.decompose(d,f,rT),r[a]=d,i[a]=c.quaternion.clone();const m=new Kt;(l=c.parent)==null||l.matrixWorld.decompose(rT,m,rT),s[a]=m}});const o={};return nT.forEach(a=>{var l;const c=e.getBoneNode(a);if(c){const d=r[a];let f=a,m;for(;m==null&&(f=H_e[f],f!=null);)m=r[f];const y=new mn;y.name="Normalized_"+c.name,(f?(l=o[f])==null?void 0:l.node:n).add(y),y.position.copy(d),m&&y.position.sub(m),o[a]={node:y}}}),{rigBones:o,root:n,parentWorldRotations:s,boneRotations:i}}constructor(e){const{rigBones:n,root:r,parentWorldRotations:i,boneRotations:s}=UG._setupTransforms(e);super(n),this.original=e,this.root=r,this._parentWorldRotations=i,this._boneRotations=s}update(){nT.forEach(e=>{const n=this.original.getBoneNode(e);if(n!=null){const r=this.getBoneNode(e),i=this._parentWorldRotations[e],s=V_e.copy(i).invert(),o=this._boneRotations[e];if(n.quaternion.copy(r.quaternion).multiply(i).premultiply(s).multiply(o),e==="hips"){const a=r.getWorldPosition(G_e);n.parent.updateWorldMatrix(!0,!1);const l=n.parent.matrixWorld,c=a.applyMatrix4(l.invert());n.position.copy(c)}}})}},lU=class FG{get restPose(){return console.warn("VRMHumanoid: restPose is deprecated. Use either rawRestPose or normalizedRestPose instead."),this.rawRestPose}get rawRestPose(){return this._rawHumanBones.restPose}get normalizedRestPose(){return this._normalizedHumanBones.restPose}get humanBones(){return this._rawHumanBones.humanBones}get rawHumanBones(){return this._rawHumanBones.humanBones}get normalizedHumanBones(){return this._normalizedHumanBones.humanBones}get normalizedHumanBonesRoot(){return this._normalizedHumanBones.root}constructor(e,n){var r;this.autoUpdateHumanBones=(r=n==null?void 0:n.autoUpdateHumanBones)!=null?r:!0,this._rawHumanBones=new dP(e),this._normalizedHumanBones=new aU(this._rawHumanBones)}copy(e){return this.autoUpdateHumanBones=e.autoUpdateHumanBones,this._rawHumanBones=new dP(e.humanBones),this._normalizedHumanBones=new aU(this._rawHumanBones),this}clone(){return new FG(this.humanBones,{autoUpdateHumanBones:this.autoUpdateHumanBones}).copy(this)}getAbsolutePose(){return console.warn("VRMHumanoid: getAbsolutePose() is deprecated. Use either getRawAbsolutePose() or getNormalizedAbsolutePose() instead."),this.getRawAbsolutePose()}getRawAbsolutePose(){return this._rawHumanBones.getAbsolutePose()}getNormalizedAbsolutePose(){return this._normalizedHumanBones.getAbsolutePose()}getPose(){return console.warn("VRMHumanoid: getPose() is deprecated. Use either getRawPose() or getNormalizedPose() instead."),this.getRawPose()}getRawPose(){return this._rawHumanBones.getPose()}getNormalizedPose(){return this._normalizedHumanBones.getPose()}setPose(e){return console.warn("VRMHumanoid: setPose() is deprecated. Use either setRawPose() or setNormalizedPose() instead."),this.setRawPose(e)}setRawPose(e){return this._rawHumanBones.setPose(e)}setNormalizedPose(e){return this._normalizedHumanBones.setPose(e)}resetPose(){return console.warn("VRMHumanoid: resetPose() is deprecated. Use either resetRawPose() or resetNormalizedPose() instead."),this.resetRawPose()}resetRawPose(){return this._rawHumanBones.resetPose()}resetNormalizedPose(){return this._normalizedHumanBones.resetPose()}getBone(e){return console.warn("VRMHumanoid: getBone() is deprecated. Use either getRawBone() or getNormalizedBone() instead."),this.getRawBone(e)}getRawBone(e){return this._rawHumanBones.getBone(e)}getNormalizedBone(e){return this._normalizedHumanBones.getBone(e)}getBoneNode(e){return console.warn("VRMHumanoid: getBoneNode() is deprecated. Use either getRawBoneNode() or getNormalizedBoneNode() instead."),this.getRawBoneNode(e)}getRawBoneNode(e){return this._rawHumanBones.getBoneNode(e)}getNormalizedBoneNode(e){return this._normalizedHumanBones.getBoneNode(e)}update(){this.autoUpdateHumanBones&&this._normalizedHumanBones.update()}},W_e={Hips:"hips",Spine:"spine",Head:"head",LeftUpperLeg:"leftUpperLeg",LeftLowerLeg:"leftLowerLeg",LeftFoot:"leftFoot",RightUpperLeg:"rightUpperLeg",RightLowerLeg:"rightLowerLeg",RightFoot:"rightFoot",LeftUpperArm:"leftUpperArm",LeftLowerArm:"leftLowerArm",LeftHand:"leftHand",RightUpperArm:"rightUpperArm",RightLowerArm:"rightLowerArm",RightHand:"rightHand"},$_e=new Set(["1.0","1.0-beta"]),cU={leftThumbProximal:"leftThumbMetacarpal",leftThumbIntermediate:"leftThumbProximal",rightThumbProximal:"rightThumbMetacarpal",rightThumbIntermediate:"rightThumbProximal"},X_e=class{get name(){return"VRMHumanoidLoaderPlugin"}constructor(t,e){this.parser=t,this.helperRoot=e==null?void 0:e.helperRoot,this.autoUpdateHumanBones=e==null?void 0:e.autoUpdateHumanBones}afterRoot(t){return jn(this,null,function*(){t.userData.vrmHumanoid=yield this._import(t)})}_import(t){return jn(this,null,function*(){const e=yield this._v1Import(t);if(e)return e;const n=yield this._v0Import(t);return n||null})}_v1Import(t){return jn(this,null,function*(){var e,n;const r=this.parser.json;if(!(((e=r.extensionsUsed)==null?void 0:e.indexOf("VRMC_vrm"))!==-1))return null;const s=(n=r.extensions)==null?void 0:n.VRMC_vrm;if(!s)return null;const o=s.specVersion;if(!$_e.has(o))return console.warn(`VRMHumanoidLoaderPlugin: Unknown VRMC_vrm specVersion "${o}"`),null;const a=s.humanoid;if(!a)return null;const l=a.humanBones.leftThumbIntermediate!=null||a.humanBones.rightThumbIntermediate!=null,c={};a.humanBones!=null&&(yield Promise.all(Object.entries(a.humanBones).map(f=>jn(this,[f],function*([m,y]){let x=m;const S=y.node;if(l){const _=cU[x];_!=null&&(x=_)}const w=yield this.parser.getDependency("node",S);if(w==null){console.warn(`A glTF node bound to the humanoid bone ${x} (index = ${S}) does not exist`);return}c[x]={node:w}}))));const d=new lU(this._ensureRequiredBonesExist(c),{autoUpdateHumanBones:this.autoUpdateHumanBones});if(t.scene.add(d.normalizedHumanBonesRoot),this.helperRoot){const f=new oU(d);this.helperRoot.add(f),f.renderOrder=this.helperRoot.renderOrder}return d})}_v0Import(t){return jn(this,null,function*(){var e;const r=(e=this.parser.json.extensions)==null?void 0:e.VRM;if(!r)return null;const i=r.humanoid;if(!i)return null;const s={};i.humanBones!=null&&(yield Promise.all(i.humanBones.map(a=>jn(this,null,function*(){const l=a.bone,c=a.node;if(l==null||c==null)return;if(c<0){console.warn(`A glTF node index for the humanoid bone ${l} is negative (${c}), ignoring this bone.`);return}const d=yield this.parser.getDependency("node",c);if(d==null){console.warn(`A glTF node bound to the humanoid bone ${l} (index = ${c}) does not exist`);return}const f=cU[l],m=f??l;if(s[m]!=null){console.warn(`Multiple bone entries for ${m} detected (index = ${c}), ignoring duplicated entries.`);return}s[m]={node:d}}))));const o=new lU(this._ensureRequiredBonesExist(s),{autoUpdateHumanBones:this.autoUpdateHumanBones});if(t.scene.add(o.normalizedHumanBonesRoot),this.helperRoot){const a=new oU(o);this.helperRoot.add(a),a.renderOrder=this.helperRoot.renderOrder}return o})}_ensureRequiredBonesExist(t){const e=Object.values(W_e).filter(n=>t[n]==null);if(e.length>0)throw new Error(`VRMHumanoidLoaderPlugin: These humanoid bones are required but not exist: ${e.join(", ")}`);return t}},uU=class extends Qt{constructor(){super(),this._currentTheta=0,this._currentRadius=0,this.theta=0,this.radius=0,this._currentTheta=0,this._currentRadius=0,this._attrPos=new Jt(new Float32Array(195),3),this.setAttribute("position",this._attrPos),this._attrIndex=new Jt(new Uint16Array(189),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let t=!1;this._currentTheta!==this.theta&&(this._currentTheta=this.theta,t=!0),this._currentRadius!==this.radius&&(this._currentRadius=this.radius,t=!0),t&&this._buildPosition()}_buildPosition(){this._attrPos.setXYZ(0,0,0,0);for(let t=0;t<64;t++){const e=t/63*this._currentTheta;this._attrPos.setXYZ(t+1,this._currentRadius*Math.sin(e),0,this._currentRadius*Math.cos(e))}this._attrPos.needsUpdate=!0}_buildIndex(){for(let t=0;t<63;t++)this._attrIndex.setXYZ(t*3,0,t+1,t+2);this._attrIndex.needsUpdate=!0}},q_e=class extends Qt{constructor(){super(),this.radius=0,this._currentRadius=0,this.tail=new X,this._currentTail=new X,this._attrPos=new Jt(new Float32Array(294),3),this.setAttribute("position",this._attrPos),this._attrIndex=new Jt(new Uint16Array(194),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let t=!1;this._currentRadius!==this.radius&&(this._currentRadius=this.radius,t=!0),this._currentTail.equals(this.tail)||(this._currentTail.copy(this.tail),t=!0),t&&this._buildPosition()}_buildPosition(){for(let t=0;t<32;t++){const e=t/16*Math.PI;this._attrPos.setXYZ(t,Math.cos(e),Math.sin(e),0),this._attrPos.setXYZ(32+t,0,Math.cos(e),Math.sin(e)),this._attrPos.setXYZ(64+t,Math.sin(e),0,Math.cos(e))}this.scale(this._currentRadius,this._currentRadius,this._currentRadius),this.translate(this._currentTail.x,this._currentTail.y,this._currentTail.z),this._attrPos.setXYZ(96,0,0,0),this._attrPos.setXYZ(97,this._currentTail.x,this._currentTail.y,this._currentTail.z),this._attrPos.needsUpdate=!0}_buildIndex(){for(let t=0;t<32;t++){const e=(t+1)%32;this._attrIndex.setXY(t*2,t,e),this._attrIndex.setXY(64+t*2,32+t,32+e),this._attrIndex.setXY(128+t*2,64+t,64+e)}this._attrIndex.setXY(192,96,97),this._attrIndex.needsUpdate=!0}},O_=new Kt,dU=new Kt,O0=new X,fU=new X,hU=Math.sqrt(2)/2,K_e=new Kt(0,0,-hU,hU),Y_e=new X(0,1,0),Z_e=class extends Ts{constructor(t){super(),this.matrixAutoUpdate=!1,this.vrmLookAt=t;{const e=new uU;e.radius=.5;const n=new As({color:65280,transparent:!0,opacity:.5,side:xo,depthTest:!1,depthWrite:!1});this._meshPitch=new yr(e,n),this.add(this._meshPitch)}{const e=new uU;e.radius=.5;const n=new As({color:16711680,transparent:!0,opacity:.5,side:xo,depthTest:!1,depthWrite:!1});this._meshYaw=new yr(e,n),this.add(this._meshYaw)}{const e=new q_e;e.radius=.1;const n=new $r({color:16777215,depthTest:!1,depthWrite:!1});this._lineTarget=new eo(e,n),this._lineTarget.frustumCulled=!1,this.add(this._lineTarget)}}dispose(){this._meshYaw.geometry.dispose(),this._meshYaw.material.dispose(),this._meshPitch.geometry.dispose(),this._meshPitch.material.dispose(),this._lineTarget.geometry.dispose(),this._lineTarget.material.dispose()}updateMatrixWorld(t){const e=gr.DEG2RAD*this.vrmLookAt.yaw;this._meshYaw.geometry.theta=e,this._meshYaw.geometry.update();const n=gr.DEG2RAD*this.vrmLookAt.pitch;this._meshPitch.geometry.theta=n,this._meshPitch.geometry.update(),this.vrmLookAt.getLookAtWorldPosition(O0),this.vrmLookAt.getLookAtWorldQuaternion(O_),O_.multiply(this.vrmLookAt.getFaceFrontQuaternion(dU)),this._meshYaw.position.copy(O0),this._meshYaw.quaternion.copy(O_),this._meshPitch.position.copy(O0),this._meshPitch.quaternion.copy(O_),this._meshPitch.quaternion.multiply(dU.setFromAxisAngle(Y_e,e)),this._meshPitch.quaternion.multiply(K_e);const{target:r,autoUpdate:i}=this.vrmLookAt;r!=null&&i&&(r.getWorldPosition(fU).sub(O0),this._lineTarget.geometry.tail.copy(fU),this._lineTarget.geometry.update(),this._lineTarget.position.copy(O0)),super.updateMatrixWorld(t)}},Q_e=new X,J_e=new X;function fP(t,e){return t.matrixWorld.decompose(Q_e,e,J_e),e}function Y_(t){return[Math.atan2(-t.z,t.x),Math.atan2(t.y,Math.sqrt(t.x*t.x+t.z*t.z))]}function pU(t){const e=Math.round(t/2/Math.PI);return t-2*Math.PI*e}var mU=new X(0,0,1),ewe=new X,twe=new X,nwe=new X,rwe=new Kt,iT=new Kt,gU=new Kt,iwe=new Kt,sT=new as,zG=class BG{constructor(e,n){this.offsetFromHeadBone=new X,this.autoUpdate=!0,this.faceFront=new X(0,0,1),this.humanoid=e,this.applier=n,this._yaw=0,this._pitch=0,this._needsUpdate=!0,this._restHeadWorldQuaternion=this.getLookAtWorldQuaternion(new Kt)}get yaw(){return this._yaw}set yaw(e){this._yaw=e,this._needsUpdate=!0}get pitch(){return this._pitch}set pitch(e){this._pitch=e,this._needsUpdate=!0}get euler(){return console.warn("VRMLookAt: euler is deprecated. use getEuler() instead."),this.getEuler(new as)}getEuler(e){return e.set(gr.DEG2RAD*this._pitch,gr.DEG2RAD*this._yaw,0,"YXZ")}copy(e){if(this.humanoid!==e.humanoid)throw new Error("VRMLookAt: humanoid must be same in order to copy");return this.offsetFromHeadBone.copy(e.offsetFromHeadBone),this.applier=e.applier,this.autoUpdate=e.autoUpdate,this.target=e.target,this.faceFront.copy(e.faceFront),this}clone(){return new BG(this.humanoid,this.applier).copy(this)}reset(){this._yaw=0,this._pitch=0,this._needsUpdate=!0}getLookAtWorldPosition(e){const n=this.humanoid.getRawBoneNode("head");return e.copy(this.offsetFromHeadBone).applyMatrix4(n.matrixWorld)}getLookAtWorldQuaternion(e){const n=this.humanoid.getRawBoneNode("head");return fP(n,e)}getFaceFrontQuaternion(e){if(this.faceFront.distanceToSquared(mU)<.01)return e.copy(this._restHeadWorldQuaternion).invert();const[n,r]=Y_(this.faceFront);return sT.set(0,.5*Math.PI+n,r,"YZX"),e.setFromEuler(sT).premultiply(iwe.copy(this._restHeadWorldQuaternion).invert())}getLookAtWorldDirection(e){return this.getLookAtWorldQuaternion(iT),this.getFaceFrontQuaternion(gU),e.copy(mU).applyQuaternion(iT).applyQuaternion(gU).applyEuler(this.getEuler(sT))}lookAt(e){const n=rwe.copy(this._restHeadWorldQuaternion).multiply(jG(this.getLookAtWorldQuaternion(iT))),r=this.getLookAtWorldPosition(twe),i=nwe.copy(e).sub(r).applyQuaternion(n).normalize(),[s,o]=Y_(this.faceFront),[a,l]=Y_(i),c=pU(a-s),d=pU(o-l);this._yaw=gr.RAD2DEG*c,this._pitch=gr.RAD2DEG*d,this._needsUpdate=!0}update(e){this.target!=null&&this.autoUpdate&&this.lookAt(this.target.getWorldPosition(ewe)),this._needsUpdate&&(this._needsUpdate=!1,this.applier.applyYawPitch(this._yaw,this._pitch))}};zG.EULER_ORDER="YXZ";var swe=zG,owe=new X(0,0,1),ml=new Kt,km=new Kt,Fo=new as(0,0,0,"YXZ"),Z_=class{constructor(t,e,n,r,i){this.humanoid=t,this.rangeMapHorizontalInner=e,this.rangeMapHorizontalOuter=n,this.rangeMapVerticalDown=r,this.rangeMapVerticalUp=i,this.faceFront=new X(0,0,1),this._restQuatLeftEye=new Kt,this._restQuatRightEye=new Kt,this._restLeftEyeParentWorldQuat=new Kt,this._restRightEyeParentWorldQuat=new Kt;const s=this.humanoid.getRawBoneNode("leftEye"),o=this.humanoid.getRawBoneNode("rightEye");s&&(this._restQuatLeftEye.copy(s.quaternion),fP(s.parent,this._restLeftEyeParentWorldQuat)),o&&(this._restQuatRightEye.copy(o.quaternion),fP(o.parent,this._restRightEyeParentWorldQuat))}applyYawPitch(t,e){const n=this.humanoid.getRawBoneNode("leftEye"),r=this.humanoid.getRawBoneNode("rightEye"),i=this.humanoid.getNormalizedBoneNode("leftEye"),s=this.humanoid.getNormalizedBoneNode("rightEye");n&&(e<0?Fo.x=-gr.DEG2RAD*this.rangeMapVerticalDown.map(-e):Fo.x=gr.DEG2RAD*this.rangeMapVerticalUp.map(e),t<0?Fo.y=-gr.DEG2RAD*this.rangeMapHorizontalInner.map(-t):Fo.y=gr.DEG2RAD*this.rangeMapHorizontalOuter.map(t),ml.setFromEuler(Fo),this._getWorldFaceFrontQuat(km),i.quaternion.copy(km).multiply(ml).multiply(km.invert()),ml.copy(this._restLeftEyeParentWorldQuat),n.quaternion.copy(i.quaternion).multiply(ml).premultiply(ml.invert()).multiply(this._restQuatLeftEye)),r&&(e<0?Fo.x=-gr.DEG2RAD*this.rangeMapVerticalDown.map(-e):Fo.x=gr.DEG2RAD*this.rangeMapVerticalUp.map(e),t<0?Fo.y=-gr.DEG2RAD*this.rangeMapHorizontalOuter.map(-t):Fo.y=gr.DEG2RAD*this.rangeMapHorizontalInner.map(t),ml.setFromEuler(Fo),this._getWorldFaceFrontQuat(km),s.quaternion.copy(km).multiply(ml).multiply(km.invert()),ml.copy(this._restRightEyeParentWorldQuat),r.quaternion.copy(s.quaternion).multiply(ml).premultiply(ml.invert()).multiply(this._restQuatRightEye))}lookAt(t){console.warn("VRMLookAtBoneApplier: lookAt() is deprecated. use apply() instead.");const e=gr.RAD2DEG*t.y,n=gr.RAD2DEG*t.x;this.applyYawPitch(e,n)}_getWorldFaceFrontQuat(t){if(this.faceFront.distanceToSquared(owe)<.01)return t.identity();const[e,n]=Y_(this.faceFront);return Fo.set(0,.5*Math.PI+e,n,"YZX"),t.setFromEuler(Fo)}};Z_.type="bone";var hP=class{constructor(t,e,n,r,i){this.expressions=t,this.rangeMapHorizontalInner=e,this.rangeMapHorizontalOuter=n,this.rangeMapVerticalDown=r,this.rangeMapVerticalUp=i}applyYawPitch(t,e){e<0?(this.expressions.setValue("lookDown",0),this.expressions.setValue("lookUp",this.rangeMapVerticalUp.map(-e))):(this.expressions.setValue("lookUp",0),this.expressions.setValue("lookDown",this.rangeMapVerticalDown.map(e))),t<0?(this.expressions.setValue("lookLeft",0),this.expressions.setValue("lookRight",this.rangeMapHorizontalOuter.map(-t))):(this.expressions.setValue("lookRight",0),this.expressions.setValue("lookLeft",this.rangeMapHorizontalOuter.map(t)))}lookAt(t){console.warn("VRMLookAtBoneApplier: lookAt() is deprecated. use apply() instead.");const e=gr.RAD2DEG*t.y,n=gr.RAD2DEG*t.x;this.applyYawPitch(e,n)}};hP.type="expression";var vU=class{constructor(t,e){this.inputMaxValue=t,this.outputScale=e}map(t){return this.outputScale*PG(t/this.inputMaxValue)}},awe=new Set(["1.0","1.0-beta"]),L_=.01,lwe=class{get name(){return"VRMLookAtLoaderPlugin"}constructor(t,e){this.parser=t,this.helperRoot=e==null?void 0:e.helperRoot}afterRoot(t){return jn(this,null,function*(){const e=t.userData.vrmHumanoid;if(e===null)return;if(e===void 0)throw new Error("VRMLookAtLoaderPlugin: vrmHumanoid is undefined. VRMHumanoidLoaderPlugin have to be used first");const n=t.userData.vrmExpressionManager;if(n!==null){if(n===void 0)throw new Error("VRMLookAtLoaderPlugin: vrmExpressionManager is undefined. VRMExpressionLoaderPlugin have to be used first");t.userData.vrmLookAt=yield this._import(t,e,n)}})}_import(t,e,n){return jn(this,null,function*(){if(e==null||n==null)return null;const r=yield this._v1Import(t,e,n);if(r)return r;const i=yield this._v0Import(t,e,n);return i||null})}_v1Import(t,e,n){return jn(this,null,function*(){var r,i,s;const o=this.parser.json;if(!(((r=o.extensionsUsed)==null?void 0:r.indexOf("VRMC_vrm"))!==-1))return null;const l=(i=o.extensions)==null?void 0:i.VRMC_vrm;if(!l)return null;const c=l.specVersion;if(!awe.has(c))return console.warn(`VRMLookAtLoaderPlugin: Unknown VRMC_vrm specVersion "${c}"`),null;const d=l.lookAt;if(!d)return null;const f=d.type==="expression"?1:10,m=this._v1ImportRangeMap(d.rangeMapHorizontalInner,f),y=this._v1ImportRangeMap(d.rangeMapHorizontalOuter,f),x=this._v1ImportRangeMap(d.rangeMapVerticalDown,f),S=this._v1ImportRangeMap(d.rangeMapVerticalUp,f);let w;d.type==="expression"?w=new hP(n,m,y,x,S):w=new Z_(e,m,y,x,S);const _=this._importLookAt(e,w);return _.offsetFromHeadBone.fromArray((s=d.offsetFromHeadBone)!=null?s:[0,.06,0]),_})}_v1ImportRangeMap(t,e){var n,r;let i=(n=t==null?void 0:t.inputMaxValue)!=null?n:90;const s=(r=t==null?void 0:t.outputScale)!=null?r:e;return i(console.error(o),console.warn("VRMMetaLoaderPlugin: Failed to load a thumbnail image"),null))})}},fwe=class{constructor(t){this.scene=t.scene,this.meta=t.meta,this.humanoid=t.humanoid,this.expressionManager=t.expressionManager,this.firstPerson=t.firstPerson,this.lookAt=t.lookAt}update(t){this.humanoid.update(),this.lookAt&&this.lookAt.update(t),this.expressionManager&&this.expressionManager.update()}},hwe=class extends fwe{constructor(t){super(t),this.materials=t.materials,this.springBoneManager=t.springBoneManager,this.nodeConstraintManager=t.nodeConstraintManager}update(t){super.update(t),this.nodeConstraintManager&&this.nodeConstraintManager.update(),this.springBoneManager&&this.springBoneManager.update(t),this.materials&&this.materials.forEach(e=>{e.update&&e.update(t)})}},pwe=Object.defineProperty,yU=Object.getOwnPropertySymbols,mwe=Object.prototype.hasOwnProperty,gwe=Object.prototype.propertyIsEnumerable,xU=(t,e,n)=>e in t?pwe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,bU=(t,e)=>{for(var n in e||(e={}))mwe.call(e,n)&&xU(t,n,e[n]);if(yU)for(var n of yU(e))gwe.call(e,n)&&xU(t,n,e[n]);return t},ch=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())}),vwe={"":3e3,srgb:3001};function ywe(t,e){parseInt(Td,10)>=152?t.colorSpace=e:t.encoding=vwe[e]}var xwe=class{get pending(){return Promise.all(this._pendings)}constructor(t,e){this._parser=t,this._materialParams=e,this._pendings=[]}assignPrimitive(t,e){e!=null&&(this._materialParams[t]=e)}assignColor(t,e,n){if(e!=null){const r=new lt().fromArray(e);n&&r.convertSRGBToLinear(),this._materialParams[t]=r}}assignTexture(t,e,n){return ch(this,null,function*(){const r=ch(this,null,function*(){if(e!=null){const i=yield this._parser.assignTexture(this._materialParams,t,e);if(i==null){console.warn("GLTFMToonMaterialParamsAssignHelper: Failed to load texture. The rendering result may be wrong");return}n&&ywe(i,"srgb")}});return this._pendings.push(r),r})}assignTextureByIndex(t,e,n){return ch(this,null,function*(){return this.assignTexture(t,e!=null?{index:e}:void 0,n)})}},bwe=`// #define PHONG + */var k_=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())}),jn=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())}),Yj=class extends mn{constructor(t){super(),this.weight=0,this.isBinary=!1,this.overrideBlink="none",this.overrideLookAt="none",this.overrideMouth="none",this._binds=[],this.name=`VRMExpression_${t}`,this.expressionName=t,this.type="VRMExpression",this.visible=!1}get binds(){return this._binds}get overrideBlinkAmount(){return this.overrideBlink==="block"?0.5?1:0:this.weight}addBind(t){this._binds.push(t)}deleteBind(t){const e=this._binds.indexOf(t);e>=0&&this._binds.splice(e,1)}applyWeight(t){var e;let n=this.outputWeight;n*=(e=t==null?void 0:t.multiplier)!=null?e:1,this.isBinary&&n<1&&(n=0),this._binds.forEach(r=>r.applyWeight(n))}clearAppliedWeight(){this._binds.forEach(t=>t.clearAppliedWeight())}};function CG(t,e,n){var r,i;const s=t.parser.json,o=(r=s.nodes)==null?void 0:r[e];if(o==null)return console.warn(`extractPrimitivesInternal: Attempt to use nodes[${e}] of glTF but the node doesn't exist`),null;const a=o.mesh;if(a==null)return null;const l=(i=s.meshes)==null?void 0:i[a];if(l==null)return console.warn(`extractPrimitivesInternal: Attempt to use meshes[${a}] of glTF but the mesh doesn't exist`),null;const c=l.primitives.length,d=[];return n.traverse(f=>{d.length{const s=CG(t,i,r);s!=null&&n.set(i,s)}),n})}var uP={Aa:"aa",Ih:"ih",Ou:"ou",Ee:"ee",Oh:"oh",Blink:"blink",Happy:"happy",Angry:"angry",Sad:"sad",Relaxed:"relaxed",LookUp:"lookUp",Surprised:"surprised",LookDown:"lookDown",LookLeft:"lookLeft",LookRight:"lookRight",BlinkLeft:"blinkLeft",BlinkRight:"blinkRight",Neutral:"neutral"};function PG(t){return Math.max(Math.min(t,1),0)}var Jj=class RG{constructor(){this.blinkExpressionNames=["blink","blinkLeft","blinkRight"],this.lookAtExpressionNames=["lookLeft","lookRight","lookUp","lookDown"],this.mouthExpressionNames=["aa","ee","ih","oh","ou"],this._expressions=[],this._expressionMap={}}get expressions(){return this._expressions.concat()}get expressionMap(){return Object.assign({},this._expressionMap)}get presetExpressionMap(){const e={},n=new Set(Object.values(uP));return Object.entries(this._expressionMap).forEach(([r,i])=>{n.has(r)&&(e[r]=i)}),e}get customExpressionMap(){const e={},n=new Set(Object.values(uP));return Object.entries(this._expressionMap).forEach(([r,i])=>{n.has(r)||(e[r]=i)}),e}copy(e){return this._expressions.concat().forEach(r=>{this.unregisterExpression(r)}),e._expressions.forEach(r=>{this.registerExpression(r)}),this.blinkExpressionNames=e.blinkExpressionNames.concat(),this.lookAtExpressionNames=e.lookAtExpressionNames.concat(),this.mouthExpressionNames=e.mouthExpressionNames.concat(),this}clone(){return new RG().copy(this)}getExpression(e){var n;return(n=this._expressionMap[e])!=null?n:null}registerExpression(e){this._expressions.push(e),this._expressionMap[e.expressionName]=e}unregisterExpression(e){const n=this._expressions.indexOf(e);n===-1&&console.warn("VRMExpressionManager: The specified expressions is not registered"),this._expressions.splice(n,1),delete this._expressionMap[e.expressionName]}getValue(e){var n;const r=this.getExpression(e);return(n=r==null?void 0:r.weight)!=null?n:null}setValue(e,n){const r=this.getExpression(e);r&&(r.weight=PG(n))}resetValues(){this._expressions.forEach(e=>{e.weight=0})}getExpressionTrackName(e){const n=this.getExpression(e);return n?`${n.name}.weight`:null}update(){const e=this._calculateWeightMultipliers();this._expressions.forEach(n=>{n.clearAppliedWeight()}),this._expressions.forEach(n=>{let r=1;const i=n.expressionName;this.blinkExpressionNames.indexOf(i)!==-1&&(r*=e.blink),this.lookAtExpressionNames.indexOf(i)!==-1&&(r*=e.lookAt),this.mouthExpressionNames.indexOf(i)!==-1&&(r*=e.mouth),n.applyWeight({multiplier:r})})}_calculateWeightMultipliers(){let e=1,n=1,r=1;return this._expressions.forEach(i=>{e-=i.overrideBlinkAmount,n-=i.overrideLookAtAmount,r-=i.overrideMouthAmount}),e=Math.max(0,e),n=Math.max(0,n),r=Math.max(0,r),{blink:e,lookAt:n,mouth:r}}},k0={Color:"color",EmissionColor:"emissionColor",ShadeColor:"shadeColor",RimColor:"rimColor",OutlineColor:"outlineColor"},L_e={_Color:k0.Color,_EmissionColor:k0.EmissionColor,_ShadeColor:k0.ShadeColor,_RimColor:k0.RimColor,_OutlineColor:k0.OutlineColor},D_e=new lt,NG=class IG{constructor({material:e,type:n,targetValue:r,targetAlpha:i}){this.material=e,this.type=n,this.targetValue=r,this.targetAlpha=i??1;const s=this._initColorBindState(),o=this._initAlphaBindState();this._state={color:s,alpha:o}}applyWeight(e){const{color:n,alpha:r}=this._state;if(n!=null){const{propertyName:i,deltaValue:s}=n,o=this.material[i];o!=null&&o.add(D_e.copy(s).multiplyScalar(e))}if(r!=null){const{propertyName:i,deltaValue:s}=r;this.material[i]!=null&&(this.material[i]+=s*e)}}clearAppliedWeight(){const{color:e,alpha:n}=this._state;if(e!=null){const{propertyName:r,initialValue:i}=e,s=this.material[r];s!=null&&s.copy(i)}if(n!=null){const{propertyName:r,initialValue:i}=n;this.material[r]!=null&&(this.material[r]=i)}}_initColorBindState(){var e,n,r;const{material:i,type:s,targetValue:o}=this,a=this._getPropertyNameMap(),l=(n=(e=a==null?void 0:a[s])==null?void 0:e[0])!=null?n:null;if(l==null)return console.warn(`Tried to add a material color bind to the material ${(r=i.name)!=null?r:"(no name)"}, the type ${s} but the material or the type is not supported.`),null;const d=i[l].clone(),f=new lt(o.r-d.r,o.g-d.g,o.b-d.b);return{propertyName:l,initialValue:d,deltaValue:f}}_initAlphaBindState(){var e,n,r;const{material:i,type:s,targetAlpha:o}=this,a=this._getPropertyNameMap(),l=(n=(e=a==null?void 0:a[s])==null?void 0:e[1])!=null?n:null;if(l==null&&o!==1)return console.warn(`Tried to add a material alpha bind to the material ${(r=i.name)!=null?r:"(no name)"}, the type ${s} but the material or the type does not support alpha.`),null;if(l==null)return null;const c=i[l],d=o-c;return{propertyName:l,initialValue:c,deltaValue:d}}_getPropertyNameMap(){var e,n;return(n=(e=Object.entries(IG._propertyNameMapMap).find(([r])=>this.material[r]===!0))==null?void 0:e[1])!=null?n:null}};NG._propertyNameMapMap={isMeshStandardMaterial:{color:["color","opacity"],emissionColor:["emissive",null]},isMeshBasicMaterial:{color:["color","opacity"]},isMToonMaterial:{color:["color","opacity"],emissionColor:["emissive",null],outlineColor:["outlineColorFactor",null],matcapColor:["matcapFactor",null],rimColor:["parametricRimColorFactor",null],shadeColor:["shadeColorFactor",null]}};var eU=NG,F1=class{constructor({primitives:t,index:e,weight:n}){this.primitives=t,this.index=e,this.weight=n}applyWeight(t){this.primitives.forEach(e=>{var n;((n=e.morphTargetInfluences)==null?void 0:n[this.index])!=null&&(e.morphTargetInfluences[this.index]+=this.weight*t)})}clearAppliedWeight(){this.primitives.forEach(t=>{var e;((e=t.morphTargetInfluences)==null?void 0:e[this.index])!=null&&(t.morphTargetInfluences[this.index]=0)})}},tU=new Ve,kG=class OG{constructor({material:e,scale:n,offset:r}){var i,s;this.material=e,this.scale=n,this.offset=r;const o=(i=Object.entries(OG._propertyNamesMap).find(([a])=>e[a]===!0))==null?void 0:i[1];o==null?(console.warn(`Tried to add a texture transform bind to the material ${(s=e.name)!=null?s:"(no name)"} but the material is not supported.`),this._properties=[]):(this._properties=[],o.forEach(a=>{var l;const c=(l=e[a])==null?void 0:l.clone();if(!c)return null;e[a]=c;const d=c.offset.clone(),f=c.repeat.clone(),m=r.clone().sub(d),y=n.clone().sub(f);this._properties.push({name:a,initialOffset:d,deltaOffset:m,initialScale:f,deltaScale:y})}))}applyWeight(e){this._properties.forEach(n=>{const r=this.material[n.name];r!==void 0&&(r.offset.add(tU.copy(n.deltaOffset).multiplyScalar(e)),r.repeat.add(tU.copy(n.deltaScale).multiplyScalar(e)))})}clearAppliedWeight(){this._properties.forEach(e=>{const n=this.material[e.name];n!==void 0&&(n.offset.copy(e.initialOffset),n.repeat.copy(e.initialScale))})}};kG._propertyNamesMap={isMeshStandardMaterial:["map","emissiveMap","bumpMap","normalMap","displacementMap","roughnessMap","metalnessMap","alphaMap"],isMeshBasicMaterial:["map","specularMap","alphaMap"],isMToonMaterial:["map","normalMap","emissiveMap","shadeMultiplyTexture","rimMultiplyTexture","outlineWidthMultiplyTexture","uvAnimationMaskTexture"]};var nU=kG,j_e=new Set(["1.0","1.0-beta"]),LG=class DG{get name(){return"VRMExpressionLoaderPlugin"}constructor(e){this.parser=e}afterRoot(e){return jn(this,null,function*(){e.userData.vrmExpressionManager=yield this._import(e)})}_import(e){return jn(this,null,function*(){const n=yield this._v1Import(e);if(n)return n;const r=yield this._v0Import(e);return r||null})}_v1Import(e){return jn(this,null,function*(){var n,r;const i=this.parser.json;if(!(((n=i.extensionsUsed)==null?void 0:n.indexOf("VRMC_vrm"))!==-1))return null;const o=(r=i.extensions)==null?void 0:r.VRMC_vrm;if(!o)return null;const a=o.specVersion;if(!j_e.has(a))return console.warn(`VRMExpressionLoaderPlugin: Unknown VRMC_vrm specVersion "${a}"`),null;const l=o.expressions;if(!l)return null;const c=new Set(Object.values(uP)),d=new Map;l.preset!=null&&Object.entries(l.preset).forEach(([m,y])=>{if(y!=null){if(!c.has(m)){console.warn(`VRMExpressionLoaderPlugin: Unknown preset name "${m}" detected. Ignoring the expression`);return}d.set(m,y)}}),l.custom!=null&&Object.entries(l.custom).forEach(([m,y])=>{if(c.has(m)){console.warn(`VRMExpressionLoaderPlugin: Custom expression cannot have preset name "${m}". Ignoring the expression`);return}d.set(m,y)});const f=new Jj;return yield Promise.all(Array.from(d.entries()).map(m=>jn(this,[m],function*([y,x]){var S,w,_,E,T,C,O;const N=new Yj(y);if(e.scene.add(N),N.isBinary=(S=x.isBinary)!=null?S:!1,N.overrideBlink=(w=x.overrideBlink)!=null?w:"none",N.overrideLookAt=(_=x.overrideLookAt)!=null?_:"none",N.overrideMouth=(E=x.overrideMouth)!=null?E:"none",(T=x.morphTargetBinds)==null||T.forEach(D=>jn(this,null,function*(){var F;if(D.node===void 0||D.index===void 0)return;const G=yield Zj(e,D.node),k=D.index;if(!G.every(U=>Array.isArray(U.morphTargetInfluences)&&k{const G=F.material;G&&(Array.isArray(G)?D.push(...G):D.push(G))}),(C=x.materialColorBinds)==null||C.forEach(F=>jn(this,null,function*(){D.filter(k=>{var U;const H=(U=this.parser.associations.get(k))==null?void 0:U.materials;return F.material===H}).forEach(k=>{N.addBind(new eU({material:k,type:F.type,targetValue:new lt().fromArray(F.targetValue),targetAlpha:F.targetValue[3]}))})})),(O=x.textureTransformBinds)==null||O.forEach(F=>jn(this,null,function*(){D.filter(k=>{var U;const H=(U=this.parser.associations.get(k))==null?void 0:U.materials;return F.material===H}).forEach(k=>{var U,H;N.addBind(new nU({material:k,offset:new Ve().fromArray((U=F.offset)!=null?U:[0,0]),scale:new Ve().fromArray((H=F.scale)!=null?H:[1,1])}))})}))}f.registerExpression(N)}))),f})}_v0Import(e){return jn(this,null,function*(){var n;const r=this.parser.json,i=(n=r.extensions)==null?void 0:n.VRM;if(!i)return null;const s=i.blendShapeMaster;if(!s)return null;const o=new Jj,a=s.blendShapeGroups;if(!a)return o;const l=new Set;return yield Promise.all(a.map(c=>jn(this,null,function*(){var d;const f=c.presetName,m=f!=null&&DG.v0v1PresetNameMap[f]||null,y=m??c.name;if(y==null){console.warn("VRMExpressionLoaderPlugin: One of custom expressions has no name. Ignoring the expression");return}if(l.has(y)){console.warn(`VRMExpressionLoaderPlugin: An expression preset ${f} has duplicated entries. Ignoring the expression`);return}l.add(y);const x=new Yj(y);e.scene.add(x),x.isBinary=(d=c.isBinary)!=null?d:!1,c.binds&&c.binds.forEach(w=>jn(this,null,function*(){var _;if(w.mesh===void 0||w.index===void 0)return;const E=[];if((_=r.nodes)==null||_.forEach((C,O)=>{C.mesh===w.mesh&&E.push(O)}),E.length===0){console.warn(`VRMExpressionLoaderPlugin: ${c.name} attempts to bind a morph target to the mesh #${w.mesh} but the mesh is not found or not used in the scene. Ignoring the bind.`);return}const T=w.index;yield Promise.all(E.map(C=>jn(this,null,function*(){var O;const N=yield Zj(e,C);if(!N.every(D=>Array.isArray(D.morphTargetInfluences)&&T{if(w.materialName===void 0||w.propertyName===void 0||w.targetValue===void 0)return;const _=[];e.scene.traverse(T=>{if(T.material){const C=T.material;Array.isArray(C)?_.push(...C.filter(O=>(O.name===w.materialName||O.name===w.materialName+" (Outline)")&&_.indexOf(O)===-1)):C.name===w.materialName&&_.indexOf(C)===-1&&_.push(C)}});const E=w.propertyName;_.forEach(T=>{if(E==="_MainTex_ST"){const O=new Ve(w.targetValue[0],w.targetValue[1]),N=new Ve(w.targetValue[2],w.targetValue[3]);N.y=1-N.y-O.y,x.addBind(new nU({material:T,scale:O,offset:N}));return}const C=L_e[E];if(C){x.addBind(new eU({material:T,type:C,targetValue:new lt().fromArray(w.targetValue),targetAlpha:w.targetValue[3]}));return}console.warn(E+" is not supported")})}),o.registerExpression(x)}))),o})}};LG.v0v1PresetNameMap={a:"aa",e:"ee",i:"ih",o:"oh",u:"ou",blink:"blink",joy:"happy",angry:"angry",sorrow:"sad",fun:"relaxed",lookup:"lookUp",lookdown:"lookDown",lookleft:"lookLeft",lookright:"lookRight",blink_l:"blinkLeft",blink_r:"blinkRight",neutral:"neutral"};var U_e=LG,oN=class Hm{constructor(e,n){this._firstPersonOnlyLayer=Hm.DEFAULT_FIRSTPERSON_ONLY_LAYER,this._thirdPersonOnlyLayer=Hm.DEFAULT_THIRDPERSON_ONLY_LAYER,this._initializedLayers=!1,this.humanoid=e,this.meshAnnotations=n}copy(e){if(this.humanoid!==e.humanoid)throw new Error("VRMFirstPerson: humanoid must be same in order to copy");return this.meshAnnotations=e.meshAnnotations.map(n=>({meshes:n.meshes.concat(),type:n.type})),this}clone(){return new Hm(this.humanoid,this.meshAnnotations).copy(this)}get firstPersonOnlyLayer(){return this._firstPersonOnlyLayer}get thirdPersonOnlyLayer(){return this._thirdPersonOnlyLayer}setup({firstPersonOnlyLayer:e=Hm.DEFAULT_FIRSTPERSON_ONLY_LAYER,thirdPersonOnlyLayer:n=Hm.DEFAULT_THIRDPERSON_ONLY_LAYER}={}){this._initializedLayers||(this._firstPersonOnlyLayer=e,this._thirdPersonOnlyLayer=n,this.meshAnnotations.forEach(r=>{r.meshes.forEach(i=>{r.type==="firstPersonOnly"?(i.layers.set(this._firstPersonOnlyLayer),i.traverse(s=>s.layers.set(this._firstPersonOnlyLayer))):r.type==="thirdPersonOnly"?(i.layers.set(this._thirdPersonOnlyLayer),i.traverse(s=>s.layers.set(this._thirdPersonOnlyLayer))):r.type==="auto"&&this._createHeadlessModel(i)})}),this._initializedLayers=!0)}_excludeTriangles(e,n,r,i){let s=0;if(n!=null&&n.length>0)for(let o=0;o0&&i.includes(f[0])||d[1]>0&&i.includes(f[1])||d[2]>0&&i.includes(f[2])||d[3]>0&&i.includes(f[3]))continue;const m=n[l],y=r[l];if(m[0]>0&&i.includes(y[0])||m[1]>0&&i.includes(y[1])||m[2]>0&&i.includes(y[2])||m[3]>0&&i.includes(y[3]))continue;const x=n[c],S=r[c];x[0]>0&&i.includes(S[0])||x[1]>0&&i.includes(S[1])||x[2]>0&&i.includes(S[2])||x[3]>0&&i.includes(S[3])||(e[s++]=a,e[s++]=l,e[s++]=c)}return s}_createErasedMesh(e,n){const r=new rM(e.geometry.clone(),e.material);r.name=`${e.name}(erase)`,r.frustumCulled=e.frustumCulled,r.layers.set(this._firstPersonOnlyLayer);const i=r.geometry,s=i.getAttribute("skinIndex"),o=s instanceof nP?[]:s.array,a=[];for(let S=0;S{this._isEraseTarget(s)&&r.push(o)}),!r.length){n.layers.enable(this._thirdPersonOnlyLayer),n.layers.enable(this._firstPersonOnlyLayer);return}n.layers.set(this._thirdPersonOnlyLayer);const i=this._createErasedMesh(n,r);e.add(i)}_createHeadlessModel(e){if(e.type==="Group")if(e.layers.set(this._thirdPersonOnlyLayer),this._isEraseTarget(e))e.traverse(n=>n.layers.set(this._thirdPersonOnlyLayer));else{const n=new Ts;n.name=`_headless_${e.name}`,n.layers.set(this._firstPersonOnlyLayer),e.parent.add(n),e.children.filter(r=>r.type==="SkinnedMesh").forEach(r=>{const i=r;this._createHeadlessModelForSkinnedMesh(n,i)})}else if(e.type==="SkinnedMesh"){const n=e;this._createHeadlessModelForSkinnedMesh(e.parent,n)}else this._isEraseTarget(e)&&(e.layers.set(this._thirdPersonOnlyLayer),e.traverse(n=>n.layers.set(this._thirdPersonOnlyLayer)))}_isEraseTarget(e){return e===this.humanoid.getRawBoneNode("head")?!0:e.parent?this._isEraseTarget(e.parent):!1}};oN.DEFAULT_FIRSTPERSON_ONLY_LAYER=9;oN.DEFAULT_THIRDPERSON_ONLY_LAYER=10;var rU=oN,F_e=new Set(["1.0","1.0-beta"]),z_e=class{get name(){return"VRMFirstPersonLoaderPlugin"}constructor(t){this.parser=t}afterRoot(t){return jn(this,null,function*(){const e=t.userData.vrmHumanoid;if(e!==null){if(e===void 0)throw new Error("VRMFirstPersonLoaderPlugin: vrmHumanoid is undefined. VRMHumanoidLoaderPlugin have to be used first");t.userData.vrmFirstPerson=yield this._import(t,e)}})}_import(t,e){return jn(this,null,function*(){if(e==null)return null;const n=yield this._v1Import(t,e);if(n)return n;const r=yield this._v0Import(t,e);return r||null})}_v1Import(t,e){return jn(this,null,function*(){var n,r;const i=this.parser.json;if(!(((n=i.extensionsUsed)==null?void 0:n.indexOf("VRMC_vrm"))!==-1))return null;const o=(r=i.extensions)==null?void 0:r.VRMC_vrm;if(!o)return null;const a=o.specVersion;if(!F_e.has(a))return console.warn(`VRMFirstPersonLoaderPlugin: Unknown VRMC_vrm specVersion "${a}"`),null;const l=o.firstPerson,c=[],d=yield Qj(t);return Array.from(d.entries()).forEach(([f,m])=>{var y,x;const S=(y=l==null?void 0:l.meshAnnotations)==null?void 0:y.find(w=>w.node===f);c.push({meshes:m,type:(x=S==null?void 0:S.type)!=null?x:"auto"})}),new rU(e,c)})}_v0Import(t,e){return jn(this,null,function*(){var n;const r=this.parser.json,i=(n=r.extensions)==null?void 0:n.VRM;if(!i)return null;const s=i.firstPerson;if(!s)return null;const o=[],a=yield Qj(t);return Array.from(a.entries()).forEach(([l,c])=>{const d=r.nodes[l],f=s.meshAnnotations?s.meshAnnotations.find(m=>m.mesh===d.mesh):void 0;o.push({meshes:c,type:this._convertV0FlagToV1Type(f==null?void 0:f.firstPersonFlag)})}),new rU(e,o)})}_convertV0FlagToV1Type(t){return t==="FirstPersonOnly"?"firstPersonOnly":t==="ThirdPersonOnly"?"thirdPersonOnly":t==="Both"?"both":"auto"}},iU=new X,sU=new X,B_e=new Kt,oU=class extends Ts{constructor(t){super(),this.vrmHumanoid=t,this._boneAxesMap=new Map,Object.values(t.humanBones).forEach(e=>{const n=new lG(1);n.matrixAutoUpdate=!1,n.material.depthTest=!1,n.material.depthWrite=!1,this.add(n),this._boneAxesMap.set(e,n)})}dispose(){Array.from(this._boneAxesMap.values()).forEach(t=>{t.geometry.dispose(),t.material.dispose()})}updateMatrixWorld(t){Array.from(this._boneAxesMap.entries()).forEach(([e,n])=>{e.node.updateWorldMatrix(!0,!1),e.node.matrixWorld.decompose(iU,B_e,sU);const r=iU.set(.1,.1,.1).divide(sU);n.matrix.copy(e.node.matrixWorld).scale(r)}),super.updateMatrixWorld(t)}},nT=["hips","spine","chest","upperChest","neck","head","leftEye","rightEye","jaw","leftUpperLeg","leftLowerLeg","leftFoot","leftToes","rightUpperLeg","rightLowerLeg","rightFoot","rightToes","leftShoulder","leftUpperArm","leftLowerArm","leftHand","rightShoulder","rightUpperArm","rightLowerArm","rightHand","leftThumbMetacarpal","leftThumbProximal","leftThumbDistal","leftIndexProximal","leftIndexIntermediate","leftIndexDistal","leftMiddleProximal","leftMiddleIntermediate","leftMiddleDistal","leftRingProximal","leftRingIntermediate","leftRingDistal","leftLittleProximal","leftLittleIntermediate","leftLittleDistal","rightThumbMetacarpal","rightThumbProximal","rightThumbDistal","rightIndexProximal","rightIndexIntermediate","rightIndexDistal","rightMiddleProximal","rightMiddleIntermediate","rightMiddleDistal","rightRingProximal","rightRingIntermediate","rightRingDistal","rightLittleProximal","rightLittleIntermediate","rightLittleDistal"],H_e={hips:null,spine:"hips",chest:"spine",upperChest:"chest",neck:"upperChest",head:"neck",leftEye:"head",rightEye:"head",jaw:"head",leftUpperLeg:"hips",leftLowerLeg:"leftUpperLeg",leftFoot:"leftLowerLeg",leftToes:"leftFoot",rightUpperLeg:"hips",rightLowerLeg:"rightUpperLeg",rightFoot:"rightLowerLeg",rightToes:"rightFoot",leftShoulder:"upperChest",leftUpperArm:"leftShoulder",leftLowerArm:"leftUpperArm",leftHand:"leftLowerArm",rightShoulder:"upperChest",rightUpperArm:"rightShoulder",rightLowerArm:"rightUpperArm",rightHand:"rightLowerArm",leftThumbMetacarpal:"leftHand",leftThumbProximal:"leftThumbMetacarpal",leftThumbDistal:"leftThumbProximal",leftIndexProximal:"leftHand",leftIndexIntermediate:"leftIndexProximal",leftIndexDistal:"leftIndexIntermediate",leftMiddleProximal:"leftHand",leftMiddleIntermediate:"leftMiddleProximal",leftMiddleDistal:"leftMiddleIntermediate",leftRingProximal:"leftHand",leftRingIntermediate:"leftRingProximal",leftRingDistal:"leftRingIntermediate",leftLittleProximal:"leftHand",leftLittleIntermediate:"leftLittleProximal",leftLittleDistal:"leftLittleIntermediate",rightThumbMetacarpal:"rightHand",rightThumbProximal:"rightThumbMetacarpal",rightThumbDistal:"rightThumbProximal",rightIndexProximal:"rightHand",rightIndexIntermediate:"rightIndexProximal",rightIndexDistal:"rightIndexIntermediate",rightMiddleProximal:"rightHand",rightMiddleIntermediate:"rightMiddleProximal",rightMiddleDistal:"rightMiddleIntermediate",rightRingProximal:"rightHand",rightRingIntermediate:"rightRingProximal",rightRingDistal:"rightRingIntermediate",rightLittleProximal:"rightHand",rightLittleIntermediate:"rightLittleProximal",rightLittleDistal:"rightLittleIntermediate"};function jG(t){return t.invert?t.invert():t.inverse(),t}var zf=new X,Bf=new Kt,dP=class{constructor(t){this.humanBones=t,this.restPose=this.getAbsolutePose()}getAbsolutePose(){const t={};return Object.keys(this.humanBones).forEach(e=>{const n=e,r=this.getBoneNode(n);r&&(zf.copy(r.position),Bf.copy(r.quaternion),t[n]={position:zf.toArray(),rotation:Bf.toArray()})}),t}getPose(){const t={};return Object.keys(this.humanBones).forEach(e=>{const n=e,r=this.getBoneNode(n);if(!r)return;zf.set(0,0,0),Bf.identity();const i=this.restPose[n];i!=null&&i.position&&zf.fromArray(i.position).negate(),i!=null&&i.rotation&&jG(Bf.fromArray(i.rotation)),zf.add(r.position),Bf.premultiply(r.quaternion),t[n]={position:zf.toArray(),rotation:Bf.toArray()}}),t}setPose(t){Object.entries(t).forEach(([e,n])=>{const r=e,i=this.getBoneNode(r);if(!i)return;const s=this.restPose[r];s&&(n!=null&&n.position&&(i.position.fromArray(n.position),s.position&&i.position.add(zf.fromArray(s.position))),n!=null&&n.rotation&&(i.quaternion.fromArray(n.rotation),s.rotation&&i.quaternion.multiply(Bf.fromArray(s.rotation))))})}resetPose(){Object.entries(this.restPose).forEach(([t,e])=>{const n=this.getBoneNode(t);n&&(e!=null&&e.position&&n.position.fromArray(e.position),e!=null&&e.rotation&&n.quaternion.fromArray(e.rotation))})}getBone(t){var e;return(e=this.humanBones[t])!=null?e:void 0}getBoneNode(t){var e,n;return(n=(e=this.humanBones[t])==null?void 0:e.node)!=null?n:null}},rT=new X,V_e=new Kt,G_e=new X,aU=class UG extends dP{static _setupTransforms(e){const n=new mn;n.name="VRMHumanoidRig";const r={},i={},s={};nT.forEach(a=>{var l;const c=e.getBoneNode(a);if(c){const d=new X,f=new Kt;c.updateWorldMatrix(!0,!1),c.matrixWorld.decompose(d,f,rT),r[a]=d,i[a]=c.quaternion.clone();const m=new Kt;(l=c.parent)==null||l.matrixWorld.decompose(rT,m,rT),s[a]=m}});const o={};return nT.forEach(a=>{var l;const c=e.getBoneNode(a);if(c){const d=r[a];let f=a,m;for(;m==null&&(f=H_e[f],f!=null);)m=r[f];const y=new mn;y.name="Normalized_"+c.name,(f?(l=o[f])==null?void 0:l.node:n).add(y),y.position.copy(d),m&&y.position.sub(m),o[a]={node:y}}}),{rigBones:o,root:n,parentWorldRotations:s,boneRotations:i}}constructor(e){const{rigBones:n,root:r,parentWorldRotations:i,boneRotations:s}=UG._setupTransforms(e);super(n),this.original=e,this.root=r,this._parentWorldRotations=i,this._boneRotations=s}update(){nT.forEach(e=>{const n=this.original.getBoneNode(e);if(n!=null){const r=this.getBoneNode(e),i=this._parentWorldRotations[e],s=V_e.copy(i).invert(),o=this._boneRotations[e];if(n.quaternion.copy(r.quaternion).multiply(i).premultiply(s).multiply(o),e==="hips"){const a=r.getWorldPosition(G_e);n.parent.updateWorldMatrix(!0,!1);const l=n.parent.matrixWorld,c=a.applyMatrix4(l.invert());n.position.copy(c)}}})}},lU=class FG{get restPose(){return console.warn("VRMHumanoid: restPose is deprecated. Use either rawRestPose or normalizedRestPose instead."),this.rawRestPose}get rawRestPose(){return this._rawHumanBones.restPose}get normalizedRestPose(){return this._normalizedHumanBones.restPose}get humanBones(){return this._rawHumanBones.humanBones}get rawHumanBones(){return this._rawHumanBones.humanBones}get normalizedHumanBones(){return this._normalizedHumanBones.humanBones}get normalizedHumanBonesRoot(){return this._normalizedHumanBones.root}constructor(e,n){var r;this.autoUpdateHumanBones=(r=n==null?void 0:n.autoUpdateHumanBones)!=null?r:!0,this._rawHumanBones=new dP(e),this._normalizedHumanBones=new aU(this._rawHumanBones)}copy(e){return this.autoUpdateHumanBones=e.autoUpdateHumanBones,this._rawHumanBones=new dP(e.humanBones),this._normalizedHumanBones=new aU(this._rawHumanBones),this}clone(){return new FG(this.humanBones,{autoUpdateHumanBones:this.autoUpdateHumanBones}).copy(this)}getAbsolutePose(){return console.warn("VRMHumanoid: getAbsolutePose() is deprecated. Use either getRawAbsolutePose() or getNormalizedAbsolutePose() instead."),this.getRawAbsolutePose()}getRawAbsolutePose(){return this._rawHumanBones.getAbsolutePose()}getNormalizedAbsolutePose(){return this._normalizedHumanBones.getAbsolutePose()}getPose(){return console.warn("VRMHumanoid: getPose() is deprecated. Use either getRawPose() or getNormalizedPose() instead."),this.getRawPose()}getRawPose(){return this._rawHumanBones.getPose()}getNormalizedPose(){return this._normalizedHumanBones.getPose()}setPose(e){return console.warn("VRMHumanoid: setPose() is deprecated. Use either setRawPose() or setNormalizedPose() instead."),this.setRawPose(e)}setRawPose(e){return this._rawHumanBones.setPose(e)}setNormalizedPose(e){return this._normalizedHumanBones.setPose(e)}resetPose(){return console.warn("VRMHumanoid: resetPose() is deprecated. Use either resetRawPose() or resetNormalizedPose() instead."),this.resetRawPose()}resetRawPose(){return this._rawHumanBones.resetPose()}resetNormalizedPose(){return this._normalizedHumanBones.resetPose()}getBone(e){return console.warn("VRMHumanoid: getBone() is deprecated. Use either getRawBone() or getNormalizedBone() instead."),this.getRawBone(e)}getRawBone(e){return this._rawHumanBones.getBone(e)}getNormalizedBone(e){return this._normalizedHumanBones.getBone(e)}getBoneNode(e){return console.warn("VRMHumanoid: getBoneNode() is deprecated. Use either getRawBoneNode() or getNormalizedBoneNode() instead."),this.getRawBoneNode(e)}getRawBoneNode(e){return this._rawHumanBones.getBoneNode(e)}getNormalizedBoneNode(e){return this._normalizedHumanBones.getBoneNode(e)}update(){this.autoUpdateHumanBones&&this._normalizedHumanBones.update()}},W_e={Hips:"hips",Spine:"spine",Head:"head",LeftUpperLeg:"leftUpperLeg",LeftLowerLeg:"leftLowerLeg",LeftFoot:"leftFoot",RightUpperLeg:"rightUpperLeg",RightLowerLeg:"rightLowerLeg",RightFoot:"rightFoot",LeftUpperArm:"leftUpperArm",LeftLowerArm:"leftLowerArm",LeftHand:"leftHand",RightUpperArm:"rightUpperArm",RightLowerArm:"rightLowerArm",RightHand:"rightHand"},$_e=new Set(["1.0","1.0-beta"]),cU={leftThumbProximal:"leftThumbMetacarpal",leftThumbIntermediate:"leftThumbProximal",rightThumbProximal:"rightThumbMetacarpal",rightThumbIntermediate:"rightThumbProximal"},X_e=class{get name(){return"VRMHumanoidLoaderPlugin"}constructor(t,e){this.parser=t,this.helperRoot=e==null?void 0:e.helperRoot,this.autoUpdateHumanBones=e==null?void 0:e.autoUpdateHumanBones}afterRoot(t){return jn(this,null,function*(){t.userData.vrmHumanoid=yield this._import(t)})}_import(t){return jn(this,null,function*(){const e=yield this._v1Import(t);if(e)return e;const n=yield this._v0Import(t);return n||null})}_v1Import(t){return jn(this,null,function*(){var e,n;const r=this.parser.json;if(!(((e=r.extensionsUsed)==null?void 0:e.indexOf("VRMC_vrm"))!==-1))return null;const s=(n=r.extensions)==null?void 0:n.VRMC_vrm;if(!s)return null;const o=s.specVersion;if(!$_e.has(o))return console.warn(`VRMHumanoidLoaderPlugin: Unknown VRMC_vrm specVersion "${o}"`),null;const a=s.humanoid;if(!a)return null;const l=a.humanBones.leftThumbIntermediate!=null||a.humanBones.rightThumbIntermediate!=null,c={};a.humanBones!=null&&(yield Promise.all(Object.entries(a.humanBones).map(f=>jn(this,[f],function*([m,y]){let x=m;const S=y.node;if(l){const _=cU[x];_!=null&&(x=_)}const w=yield this.parser.getDependency("node",S);if(w==null){console.warn(`A glTF node bound to the humanoid bone ${x} (index = ${S}) does not exist`);return}c[x]={node:w}}))));const d=new lU(this._ensureRequiredBonesExist(c),{autoUpdateHumanBones:this.autoUpdateHumanBones});if(t.scene.add(d.normalizedHumanBonesRoot),this.helperRoot){const f=new oU(d);this.helperRoot.add(f),f.renderOrder=this.helperRoot.renderOrder}return d})}_v0Import(t){return jn(this,null,function*(){var e;const r=(e=this.parser.json.extensions)==null?void 0:e.VRM;if(!r)return null;const i=r.humanoid;if(!i)return null;const s={};i.humanBones!=null&&(yield Promise.all(i.humanBones.map(a=>jn(this,null,function*(){const l=a.bone,c=a.node;if(l==null||c==null)return;if(c<0){console.warn(`A glTF node index for the humanoid bone ${l} is negative (${c}), ignoring this bone.`);return}const d=yield this.parser.getDependency("node",c);if(d==null){console.warn(`A glTF node bound to the humanoid bone ${l} (index = ${c}) does not exist`);return}const f=cU[l],m=f??l;if(s[m]!=null){console.warn(`Multiple bone entries for ${m} detected (index = ${c}), ignoring duplicated entries.`);return}s[m]={node:d}}))));const o=new lU(this._ensureRequiredBonesExist(s),{autoUpdateHumanBones:this.autoUpdateHumanBones});if(t.scene.add(o.normalizedHumanBonesRoot),this.helperRoot){const a=new oU(o);this.helperRoot.add(a),a.renderOrder=this.helperRoot.renderOrder}return o})}_ensureRequiredBonesExist(t){const e=Object.values(W_e).filter(n=>t[n]==null);if(e.length>0)throw new Error(`VRMHumanoidLoaderPlugin: These humanoid bones are required but not exist: ${e.join(", ")}`);return t}},uU=class extends Qt{constructor(){super(),this._currentTheta=0,this._currentRadius=0,this.theta=0,this.radius=0,this._currentTheta=0,this._currentRadius=0,this._attrPos=new Jt(new Float32Array(195),3),this.setAttribute("position",this._attrPos),this._attrIndex=new Jt(new Uint16Array(189),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let t=!1;this._currentTheta!==this.theta&&(this._currentTheta=this.theta,t=!0),this._currentRadius!==this.radius&&(this._currentRadius=this.radius,t=!0),t&&this._buildPosition()}_buildPosition(){this._attrPos.setXYZ(0,0,0,0);for(let t=0;t<64;t++){const e=t/63*this._currentTheta;this._attrPos.setXYZ(t+1,this._currentRadius*Math.sin(e),0,this._currentRadius*Math.cos(e))}this._attrPos.needsUpdate=!0}_buildIndex(){for(let t=0;t<63;t++)this._attrIndex.setXYZ(t*3,0,t+1,t+2);this._attrIndex.needsUpdate=!0}},q_e=class extends Qt{constructor(){super(),this.radius=0,this._currentRadius=0,this.tail=new X,this._currentTail=new X,this._attrPos=new Jt(new Float32Array(294),3),this.setAttribute("position",this._attrPos),this._attrIndex=new Jt(new Uint16Array(194),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let t=!1;this._currentRadius!==this.radius&&(this._currentRadius=this.radius,t=!0),this._currentTail.equals(this.tail)||(this._currentTail.copy(this.tail),t=!0),t&&this._buildPosition()}_buildPosition(){for(let t=0;t<32;t++){const e=t/16*Math.PI;this._attrPos.setXYZ(t,Math.cos(e),Math.sin(e),0),this._attrPos.setXYZ(32+t,0,Math.cos(e),Math.sin(e)),this._attrPos.setXYZ(64+t,Math.sin(e),0,Math.cos(e))}this.scale(this._currentRadius,this._currentRadius,this._currentRadius),this.translate(this._currentTail.x,this._currentTail.y,this._currentTail.z),this._attrPos.setXYZ(96,0,0,0),this._attrPos.setXYZ(97,this._currentTail.x,this._currentTail.y,this._currentTail.z),this._attrPos.needsUpdate=!0}_buildIndex(){for(let t=0;t<32;t++){const e=(t+1)%32;this._attrIndex.setXY(t*2,t,e),this._attrIndex.setXY(64+t*2,32+t,32+e),this._attrIndex.setXY(128+t*2,64+t,64+e)}this._attrIndex.setXY(192,96,97),this._attrIndex.needsUpdate=!0}},O_=new Kt,dU=new Kt,O0=new X,fU=new X,hU=Math.sqrt(2)/2,K_e=new Kt(0,0,-hU,hU),Y_e=new X(0,1,0),Z_e=class extends Ts{constructor(t){super(),this.matrixAutoUpdate=!1,this.vrmLookAt=t;{const e=new uU;e.radius=.5;const n=new As({color:65280,transparent:!0,opacity:.5,side:xo,depthTest:!1,depthWrite:!1});this._meshPitch=new yr(e,n),this.add(this._meshPitch)}{const e=new uU;e.radius=.5;const n=new As({color:16711680,transparent:!0,opacity:.5,side:xo,depthTest:!1,depthWrite:!1});this._meshYaw=new yr(e,n),this.add(this._meshYaw)}{const e=new q_e;e.radius=.1;const n=new $r({color:16777215,depthTest:!1,depthWrite:!1});this._lineTarget=new eo(e,n),this._lineTarget.frustumCulled=!1,this.add(this._lineTarget)}}dispose(){this._meshYaw.geometry.dispose(),this._meshYaw.material.dispose(),this._meshPitch.geometry.dispose(),this._meshPitch.material.dispose(),this._lineTarget.geometry.dispose(),this._lineTarget.material.dispose()}updateMatrixWorld(t){const e=gr.DEG2RAD*this.vrmLookAt.yaw;this._meshYaw.geometry.theta=e,this._meshYaw.geometry.update();const n=gr.DEG2RAD*this.vrmLookAt.pitch;this._meshPitch.geometry.theta=n,this._meshPitch.geometry.update(),this.vrmLookAt.getLookAtWorldPosition(O0),this.vrmLookAt.getLookAtWorldQuaternion(O_),O_.multiply(this.vrmLookAt.getFaceFrontQuaternion(dU)),this._meshYaw.position.copy(O0),this._meshYaw.quaternion.copy(O_),this._meshPitch.position.copy(O0),this._meshPitch.quaternion.copy(O_),this._meshPitch.quaternion.multiply(dU.setFromAxisAngle(Y_e,e)),this._meshPitch.quaternion.multiply(K_e);const{target:r,autoUpdate:i}=this.vrmLookAt;r!=null&&i&&(r.getWorldPosition(fU).sub(O0),this._lineTarget.geometry.tail.copy(fU),this._lineTarget.geometry.update(),this._lineTarget.position.copy(O0)),super.updateMatrixWorld(t)}},Q_e=new X,J_e=new X;function fP(t,e){return t.matrixWorld.decompose(Q_e,e,J_e),e}function Y_(t){return[Math.atan2(-t.z,t.x),Math.atan2(t.y,Math.sqrt(t.x*t.x+t.z*t.z))]}function pU(t){const e=Math.round(t/2/Math.PI);return t-2*Math.PI*e}var mU=new X(0,0,1),ewe=new X,twe=new X,nwe=new X,rwe=new Kt,iT=new Kt,gU=new Kt,iwe=new Kt,sT=new as,zG=class BG{constructor(e,n){this.offsetFromHeadBone=new X,this.autoUpdate=!0,this.faceFront=new X(0,0,1),this.humanoid=e,this.applier=n,this._yaw=0,this._pitch=0,this._needsUpdate=!0,this._restHeadWorldQuaternion=this.getLookAtWorldQuaternion(new Kt)}get yaw(){return this._yaw}set yaw(e){this._yaw=e,this._needsUpdate=!0}get pitch(){return this._pitch}set pitch(e){this._pitch=e,this._needsUpdate=!0}get euler(){return console.warn("VRMLookAt: euler is deprecated. use getEuler() instead."),this.getEuler(new as)}getEuler(e){return e.set(gr.DEG2RAD*this._pitch,gr.DEG2RAD*this._yaw,0,"YXZ")}copy(e){if(this.humanoid!==e.humanoid)throw new Error("VRMLookAt: humanoid must be same in order to copy");return this.offsetFromHeadBone.copy(e.offsetFromHeadBone),this.applier=e.applier,this.autoUpdate=e.autoUpdate,this.target=e.target,this.faceFront.copy(e.faceFront),this}clone(){return new BG(this.humanoid,this.applier).copy(this)}reset(){this._yaw=0,this._pitch=0,this._needsUpdate=!0}getLookAtWorldPosition(e){const n=this.humanoid.getRawBoneNode("head");return e.copy(this.offsetFromHeadBone).applyMatrix4(n.matrixWorld)}getLookAtWorldQuaternion(e){const n=this.humanoid.getRawBoneNode("head");return fP(n,e)}getFaceFrontQuaternion(e){if(this.faceFront.distanceToSquared(mU)<.01)return e.copy(this._restHeadWorldQuaternion).invert();const[n,r]=Y_(this.faceFront);return sT.set(0,.5*Math.PI+n,r,"YZX"),e.setFromEuler(sT).premultiply(iwe.copy(this._restHeadWorldQuaternion).invert())}getLookAtWorldDirection(e){return this.getLookAtWorldQuaternion(iT),this.getFaceFrontQuaternion(gU),e.copy(mU).applyQuaternion(iT).applyQuaternion(gU).applyEuler(this.getEuler(sT))}lookAt(e){const n=rwe.copy(this._restHeadWorldQuaternion).multiply(jG(this.getLookAtWorldQuaternion(iT))),r=this.getLookAtWorldPosition(twe),i=nwe.copy(e).sub(r).applyQuaternion(n).normalize(),[s,o]=Y_(this.faceFront),[a,l]=Y_(i),c=pU(a-s),d=pU(o-l);this._yaw=gr.RAD2DEG*c,this._pitch=gr.RAD2DEG*d,this._needsUpdate=!0}update(e){this.target!=null&&this.autoUpdate&&this.lookAt(this.target.getWorldPosition(ewe)),this._needsUpdate&&(this._needsUpdate=!1,this.applier.applyYawPitch(this._yaw,this._pitch))}};zG.EULER_ORDER="YXZ";var swe=zG,owe=new X(0,0,1),ml=new Kt,Om=new Kt,Fo=new as(0,0,0,"YXZ"),Z_=class{constructor(t,e,n,r,i){this.humanoid=t,this.rangeMapHorizontalInner=e,this.rangeMapHorizontalOuter=n,this.rangeMapVerticalDown=r,this.rangeMapVerticalUp=i,this.faceFront=new X(0,0,1),this._restQuatLeftEye=new Kt,this._restQuatRightEye=new Kt,this._restLeftEyeParentWorldQuat=new Kt,this._restRightEyeParentWorldQuat=new Kt;const s=this.humanoid.getRawBoneNode("leftEye"),o=this.humanoid.getRawBoneNode("rightEye");s&&(this._restQuatLeftEye.copy(s.quaternion),fP(s.parent,this._restLeftEyeParentWorldQuat)),o&&(this._restQuatRightEye.copy(o.quaternion),fP(o.parent,this._restRightEyeParentWorldQuat))}applyYawPitch(t,e){const n=this.humanoid.getRawBoneNode("leftEye"),r=this.humanoid.getRawBoneNode("rightEye"),i=this.humanoid.getNormalizedBoneNode("leftEye"),s=this.humanoid.getNormalizedBoneNode("rightEye");n&&(e<0?Fo.x=-gr.DEG2RAD*this.rangeMapVerticalDown.map(-e):Fo.x=gr.DEG2RAD*this.rangeMapVerticalUp.map(e),t<0?Fo.y=-gr.DEG2RAD*this.rangeMapHorizontalInner.map(-t):Fo.y=gr.DEG2RAD*this.rangeMapHorizontalOuter.map(t),ml.setFromEuler(Fo),this._getWorldFaceFrontQuat(Om),i.quaternion.copy(Om).multiply(ml).multiply(Om.invert()),ml.copy(this._restLeftEyeParentWorldQuat),n.quaternion.copy(i.quaternion).multiply(ml).premultiply(ml.invert()).multiply(this._restQuatLeftEye)),r&&(e<0?Fo.x=-gr.DEG2RAD*this.rangeMapVerticalDown.map(-e):Fo.x=gr.DEG2RAD*this.rangeMapVerticalUp.map(e),t<0?Fo.y=-gr.DEG2RAD*this.rangeMapHorizontalOuter.map(-t):Fo.y=gr.DEG2RAD*this.rangeMapHorizontalInner.map(t),ml.setFromEuler(Fo),this._getWorldFaceFrontQuat(Om),s.quaternion.copy(Om).multiply(ml).multiply(Om.invert()),ml.copy(this._restRightEyeParentWorldQuat),r.quaternion.copy(s.quaternion).multiply(ml).premultiply(ml.invert()).multiply(this._restQuatRightEye))}lookAt(t){console.warn("VRMLookAtBoneApplier: lookAt() is deprecated. use apply() instead.");const e=gr.RAD2DEG*t.y,n=gr.RAD2DEG*t.x;this.applyYawPitch(e,n)}_getWorldFaceFrontQuat(t){if(this.faceFront.distanceToSquared(owe)<.01)return t.identity();const[e,n]=Y_(this.faceFront);return Fo.set(0,.5*Math.PI+e,n,"YZX"),t.setFromEuler(Fo)}};Z_.type="bone";var hP=class{constructor(t,e,n,r,i){this.expressions=t,this.rangeMapHorizontalInner=e,this.rangeMapHorizontalOuter=n,this.rangeMapVerticalDown=r,this.rangeMapVerticalUp=i}applyYawPitch(t,e){e<0?(this.expressions.setValue("lookDown",0),this.expressions.setValue("lookUp",this.rangeMapVerticalUp.map(-e))):(this.expressions.setValue("lookUp",0),this.expressions.setValue("lookDown",this.rangeMapVerticalDown.map(e))),t<0?(this.expressions.setValue("lookLeft",0),this.expressions.setValue("lookRight",this.rangeMapHorizontalOuter.map(-t))):(this.expressions.setValue("lookRight",0),this.expressions.setValue("lookLeft",this.rangeMapHorizontalOuter.map(t)))}lookAt(t){console.warn("VRMLookAtBoneApplier: lookAt() is deprecated. use apply() instead.");const e=gr.RAD2DEG*t.y,n=gr.RAD2DEG*t.x;this.applyYawPitch(e,n)}};hP.type="expression";var vU=class{constructor(t,e){this.inputMaxValue=t,this.outputScale=e}map(t){return this.outputScale*PG(t/this.inputMaxValue)}},awe=new Set(["1.0","1.0-beta"]),L_=.01,lwe=class{get name(){return"VRMLookAtLoaderPlugin"}constructor(t,e){this.parser=t,this.helperRoot=e==null?void 0:e.helperRoot}afterRoot(t){return jn(this,null,function*(){const e=t.userData.vrmHumanoid;if(e===null)return;if(e===void 0)throw new Error("VRMLookAtLoaderPlugin: vrmHumanoid is undefined. VRMHumanoidLoaderPlugin have to be used first");const n=t.userData.vrmExpressionManager;if(n!==null){if(n===void 0)throw new Error("VRMLookAtLoaderPlugin: vrmExpressionManager is undefined. VRMExpressionLoaderPlugin have to be used first");t.userData.vrmLookAt=yield this._import(t,e,n)}})}_import(t,e,n){return jn(this,null,function*(){if(e==null||n==null)return null;const r=yield this._v1Import(t,e,n);if(r)return r;const i=yield this._v0Import(t,e,n);return i||null})}_v1Import(t,e,n){return jn(this,null,function*(){var r,i,s;const o=this.parser.json;if(!(((r=o.extensionsUsed)==null?void 0:r.indexOf("VRMC_vrm"))!==-1))return null;const l=(i=o.extensions)==null?void 0:i.VRMC_vrm;if(!l)return null;const c=l.specVersion;if(!awe.has(c))return console.warn(`VRMLookAtLoaderPlugin: Unknown VRMC_vrm specVersion "${c}"`),null;const d=l.lookAt;if(!d)return null;const f=d.type==="expression"?1:10,m=this._v1ImportRangeMap(d.rangeMapHorizontalInner,f),y=this._v1ImportRangeMap(d.rangeMapHorizontalOuter,f),x=this._v1ImportRangeMap(d.rangeMapVerticalDown,f),S=this._v1ImportRangeMap(d.rangeMapVerticalUp,f);let w;d.type==="expression"?w=new hP(n,m,y,x,S):w=new Z_(e,m,y,x,S);const _=this._importLookAt(e,w);return _.offsetFromHeadBone.fromArray((s=d.offsetFromHeadBone)!=null?s:[0,.06,0]),_})}_v1ImportRangeMap(t,e){var n,r;let i=(n=t==null?void 0:t.inputMaxValue)!=null?n:90;const s=(r=t==null?void 0:t.outputScale)!=null?r:e;return i(console.error(o),console.warn("VRMMetaLoaderPlugin: Failed to load a thumbnail image"),null))})}},fwe=class{constructor(t){this.scene=t.scene,this.meta=t.meta,this.humanoid=t.humanoid,this.expressionManager=t.expressionManager,this.firstPerson=t.firstPerson,this.lookAt=t.lookAt}update(t){this.humanoid.update(),this.lookAt&&this.lookAt.update(t),this.expressionManager&&this.expressionManager.update()}},hwe=class extends fwe{constructor(t){super(t),this.materials=t.materials,this.springBoneManager=t.springBoneManager,this.nodeConstraintManager=t.nodeConstraintManager}update(t){super.update(t),this.nodeConstraintManager&&this.nodeConstraintManager.update(),this.springBoneManager&&this.springBoneManager.update(t),this.materials&&this.materials.forEach(e=>{e.update&&e.update(t)})}},pwe=Object.defineProperty,yU=Object.getOwnPropertySymbols,mwe=Object.prototype.hasOwnProperty,gwe=Object.prototype.propertyIsEnumerable,xU=(t,e,n)=>e in t?pwe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,bU=(t,e)=>{for(var n in e||(e={}))mwe.call(e,n)&&xU(t,n,e[n]);if(yU)for(var n of yU(e))gwe.call(e,n)&&xU(t,n,e[n]);return t},uh=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())}),vwe={"":3e3,srgb:3001};function ywe(t,e){parseInt(Td,10)>=152?t.colorSpace=e:t.encoding=vwe[e]}var xwe=class{get pending(){return Promise.all(this._pendings)}constructor(t,e){this._parser=t,this._materialParams=e,this._pendings=[]}assignPrimitive(t,e){e!=null&&(this._materialParams[t]=e)}assignColor(t,e,n){if(e!=null){const r=new lt().fromArray(e);n&&r.convertSRGBToLinear(),this._materialParams[t]=r}}assignTexture(t,e,n){return uh(this,null,function*(){const r=uh(this,null,function*(){if(e!=null){const i=yield this._parser.assignTexture(this._materialParams,t,e);if(i==null){console.warn("GLTFMToonMaterialParamsAssignHelper: Failed to load texture. The rendering result may be wrong");return}n&&ywe(i,"srgb")}});return this._pendings.push(r),r})}assignTextureByIndex(t,e,n){return uh(this,null,function*(){return this.assignTexture(t,e!=null?{index:e}:void 0,n)})}},bwe=`// #define PHONG varying vec3 vViewPosition; @@ -5404,9 +5404,9 @@ void main() { gl_FragColor = vec4( col, diffuseColor.a ); postCorrection(); } -`,wwe={None:"none"},_U={None:"none",ScreenCoordinates:"screenCoordinates"},Swe={3e3:"",3001:"srgb"};function oT(t){return parseInt(Td,10)>=152?t.colorSpace:Swe[t.encoding]}var Mwe=class extends Qo{constructor(t={}){var e;super({vertexShader:bwe,fragmentShader:_we}),this.uvAnimationScrollXSpeedFactor=0,this.uvAnimationScrollYSpeedFactor=0,this.uvAnimationRotationSpeedFactor=0,this.fog=!0,this.normalMapType=lu,this._ignoreVertexColor=!0,this._v0CompatShade=!1,this._debugMode=wwe.None,this._outlineWidthMode=_U.None,this._isOutline=!1,t.transparentWithZWrite&&(t.depthWrite=!0),delete t.transparentWithZWrite,t.fog=!0,t.lights=!0,t.clipping=!0,this.uniforms=CR.merge([pt.common,pt.normalmap,pt.emissivemap,pt.fog,pt.lights,{litFactor:{value:new lt(1,1,1)},mapUvTransform:{value:new qt},colorAlpha:{value:1},normalMapUvTransform:{value:new qt},shadeColorFactor:{value:new lt(0,0,0)},shadeMultiplyTexture:{value:null},shadeMultiplyTextureUvTransform:{value:new qt},shadingShiftFactor:{value:0},shadingShiftTexture:{value:null},shadingShiftTextureUvTransform:{value:new qt},shadingShiftTextureScale:{value:1},shadingToonyFactor:{value:.9},giEqualizationFactor:{value:.9},matcapFactor:{value:new lt(1,1,1)},matcapTexture:{value:null},matcapTextureUvTransform:{value:new qt},parametricRimColorFactor:{value:new lt(0,0,0)},rimMultiplyTexture:{value:null},rimMultiplyTextureUvTransform:{value:new qt},rimLightingMixFactor:{value:1},parametricRimFresnelPowerFactor:{value:5},parametricRimLiftFactor:{value:0},emissive:{value:new lt(0,0,0)},emissiveIntensity:{value:1},emissiveMapUvTransform:{value:new qt},outlineWidthMultiplyTexture:{value:null},outlineWidthMultiplyTextureUvTransform:{value:new qt},outlineWidthFactor:{value:0},outlineColorFactor:{value:new lt(0,0,0)},outlineLightingMixFactor:{value:1},uvAnimationMaskTexture:{value:null},uvAnimationMaskTextureUvTransform:{value:new qt},uvAnimationScrollXOffset:{value:0},uvAnimationScrollYOffset:{value:0},uvAnimationRotationPhase:{value:0}},(e=t.uniforms)!=null?e:{}]),this.setValues(t),this._uploadUniformsWorkaround(),this.customProgramCacheKey=()=>[...Object.entries(this._generateDefines()).map(([n,r])=>`${n}:${r}`),this.matcapTexture?`matcapTextureColorSpace:${oT(this.matcapTexture)}`:"",this.shadeMultiplyTexture?`shadeMultiplyTextureColorSpace:${oT(this.shadeMultiplyTexture)}`:"",this.rimMultiplyTexture?`rimMultiplyTextureColorSpace:${oT(this.rimMultiplyTexture)}`:""].join(","),this.onBeforeCompile=n=>{const r=parseInt(Td,10),i=Object.entries(bU(bU({},this._generateDefines()),this.defines)).filter(([s,o])=>!!o).map(([s,o])=>`#define ${s} ${o}`).join(` +`,wwe={None:"none"},_U={None:"none",ScreenCoordinates:"screenCoordinates"},Swe={3e3:"",3001:"srgb"};function oT(t){return parseInt(Td,10)>=152?t.colorSpace:Swe[t.encoding]}var Mwe=class extends Qo{constructor(t={}){var e;super({vertexShader:bwe,fragmentShader:_we}),this.uvAnimationScrollXSpeedFactor=0,this.uvAnimationScrollYSpeedFactor=0,this.uvAnimationRotationSpeedFactor=0,this.fog=!0,this.normalMapType=lu,this._ignoreVertexColor=!0,this._v0CompatShade=!1,this._debugMode=wwe.None,this._outlineWidthMode=_U.None,this._isOutline=!1,t.transparentWithZWrite&&(t.depthWrite=!0),delete t.transparentWithZWrite,t.fog=!0,t.lights=!0,t.clipping=!0,this.uniforms=CR.merge([ht.common,ht.normalmap,ht.emissivemap,ht.fog,ht.lights,{litFactor:{value:new lt(1,1,1)},mapUvTransform:{value:new qt},colorAlpha:{value:1},normalMapUvTransform:{value:new qt},shadeColorFactor:{value:new lt(0,0,0)},shadeMultiplyTexture:{value:null},shadeMultiplyTextureUvTransform:{value:new qt},shadingShiftFactor:{value:0},shadingShiftTexture:{value:null},shadingShiftTextureUvTransform:{value:new qt},shadingShiftTextureScale:{value:1},shadingToonyFactor:{value:.9},giEqualizationFactor:{value:.9},matcapFactor:{value:new lt(1,1,1)},matcapTexture:{value:null},matcapTextureUvTransform:{value:new qt},parametricRimColorFactor:{value:new lt(0,0,0)},rimMultiplyTexture:{value:null},rimMultiplyTextureUvTransform:{value:new qt},rimLightingMixFactor:{value:1},parametricRimFresnelPowerFactor:{value:5},parametricRimLiftFactor:{value:0},emissive:{value:new lt(0,0,0)},emissiveIntensity:{value:1},emissiveMapUvTransform:{value:new qt},outlineWidthMultiplyTexture:{value:null},outlineWidthMultiplyTextureUvTransform:{value:new qt},outlineWidthFactor:{value:0},outlineColorFactor:{value:new lt(0,0,0)},outlineLightingMixFactor:{value:1},uvAnimationMaskTexture:{value:null},uvAnimationMaskTextureUvTransform:{value:new qt},uvAnimationScrollXOffset:{value:0},uvAnimationScrollYOffset:{value:0},uvAnimationRotationPhase:{value:0}},(e=t.uniforms)!=null?e:{}]),this.setValues(t),this._uploadUniformsWorkaround(),this.customProgramCacheKey=()=>[...Object.entries(this._generateDefines()).map(([n,r])=>`${n}:${r}`),this.matcapTexture?`matcapTextureColorSpace:${oT(this.matcapTexture)}`:"",this.shadeMultiplyTexture?`shadeMultiplyTextureColorSpace:${oT(this.shadeMultiplyTexture)}`:"",this.rimMultiplyTexture?`rimMultiplyTextureColorSpace:${oT(this.rimMultiplyTexture)}`:""].join(","),this.onBeforeCompile=n=>{const r=parseInt(Td,10),i=Object.entries(bU(bU({},this._generateDefines()),this.defines)).filter(([s,o])=>!!o).map(([s,o])=>`#define ${s} ${o}`).join(` `)+` -`;n.vertexShader=i+n.vertexShader,n.fragmentShader=i+n.fragmentShader,r<154&&(n.fragmentShader=n.fragmentShader.replace("#include ","#include "))}}get color(){return this.uniforms.litFactor.value}set color(t){this.uniforms.litFactor.value=t}get map(){return this.uniforms.map.value}set map(t){this.uniforms.map.value=t}get normalMap(){return this.uniforms.normalMap.value}set normalMap(t){this.uniforms.normalMap.value=t}get normalScale(){return this.uniforms.normalScale.value}set normalScale(t){this.uniforms.normalScale.value=t}get emissive(){return this.uniforms.emissive.value}set emissive(t){this.uniforms.emissive.value=t}get emissiveIntensity(){return this.uniforms.emissiveIntensity.value}set emissiveIntensity(t){this.uniforms.emissiveIntensity.value=t}get emissiveMap(){return this.uniforms.emissiveMap.value}set emissiveMap(t){this.uniforms.emissiveMap.value=t}get shadeColorFactor(){return this.uniforms.shadeColorFactor.value}set shadeColorFactor(t){this.uniforms.shadeColorFactor.value=t}get shadeMultiplyTexture(){return this.uniforms.shadeMultiplyTexture.value}set shadeMultiplyTexture(t){this.uniforms.shadeMultiplyTexture.value=t}get shadingShiftFactor(){return this.uniforms.shadingShiftFactor.value}set shadingShiftFactor(t){this.uniforms.shadingShiftFactor.value=t}get shadingShiftTexture(){return this.uniforms.shadingShiftTexture.value}set shadingShiftTexture(t){this.uniforms.shadingShiftTexture.value=t}get shadingShiftTextureScale(){return this.uniforms.shadingShiftTextureScale.value}set shadingShiftTextureScale(t){this.uniforms.shadingShiftTextureScale.value=t}get shadingToonyFactor(){return this.uniforms.shadingToonyFactor.value}set shadingToonyFactor(t){this.uniforms.shadingToonyFactor.value=t}get giEqualizationFactor(){return this.uniforms.giEqualizationFactor.value}set giEqualizationFactor(t){this.uniforms.giEqualizationFactor.value=t}get matcapFactor(){return this.uniforms.matcapFactor.value}set matcapFactor(t){this.uniforms.matcapFactor.value=t}get matcapTexture(){return this.uniforms.matcapTexture.value}set matcapTexture(t){this.uniforms.matcapTexture.value=t}get parametricRimColorFactor(){return this.uniforms.parametricRimColorFactor.value}set parametricRimColorFactor(t){this.uniforms.parametricRimColorFactor.value=t}get rimMultiplyTexture(){return this.uniforms.rimMultiplyTexture.value}set rimMultiplyTexture(t){this.uniforms.rimMultiplyTexture.value=t}get rimLightingMixFactor(){return this.uniforms.rimLightingMixFactor.value}set rimLightingMixFactor(t){this.uniforms.rimLightingMixFactor.value=t}get parametricRimFresnelPowerFactor(){return this.uniforms.parametricRimFresnelPowerFactor.value}set parametricRimFresnelPowerFactor(t){this.uniforms.parametricRimFresnelPowerFactor.value=t}get parametricRimLiftFactor(){return this.uniforms.parametricRimLiftFactor.value}set parametricRimLiftFactor(t){this.uniforms.parametricRimLiftFactor.value=t}get outlineWidthMultiplyTexture(){return this.uniforms.outlineWidthMultiplyTexture.value}set outlineWidthMultiplyTexture(t){this.uniforms.outlineWidthMultiplyTexture.value=t}get outlineWidthFactor(){return this.uniforms.outlineWidthFactor.value}set outlineWidthFactor(t){this.uniforms.outlineWidthFactor.value=t}get outlineColorFactor(){return this.uniforms.outlineColorFactor.value}set outlineColorFactor(t){this.uniforms.outlineColorFactor.value=t}get outlineLightingMixFactor(){return this.uniforms.outlineLightingMixFactor.value}set outlineLightingMixFactor(t){this.uniforms.outlineLightingMixFactor.value=t}get uvAnimationMaskTexture(){return this.uniforms.uvAnimationMaskTexture.value}set uvAnimationMaskTexture(t){this.uniforms.uvAnimationMaskTexture.value=t}get uvAnimationScrollXOffset(){return this.uniforms.uvAnimationScrollXOffset.value}set uvAnimationScrollXOffset(t){this.uniforms.uvAnimationScrollXOffset.value=t}get uvAnimationScrollYOffset(){return this.uniforms.uvAnimationScrollYOffset.value}set uvAnimationScrollYOffset(t){this.uniforms.uvAnimationScrollYOffset.value=t}get uvAnimationRotationPhase(){return this.uniforms.uvAnimationRotationPhase.value}set uvAnimationRotationPhase(t){this.uniforms.uvAnimationRotationPhase.value=t}get ignoreVertexColor(){return this._ignoreVertexColor}set ignoreVertexColor(t){this._ignoreVertexColor=t,this.needsUpdate=!0}get v0CompatShade(){return this._v0CompatShade}set v0CompatShade(t){this._v0CompatShade=t,this.needsUpdate=!0}get debugMode(){return this._debugMode}set debugMode(t){this._debugMode=t,this.needsUpdate=!0}get outlineWidthMode(){return this._outlineWidthMode}set outlineWidthMode(t){this._outlineWidthMode=t,this.needsUpdate=!0}get isOutline(){return this._isOutline}set isOutline(t){this._isOutline=t,this.needsUpdate=!0}get isMToonMaterial(){return!0}update(t){this._uploadUniformsWorkaround(),this._updateUVAnimation(t)}copy(t){return super.copy(t),this.map=t.map,this.normalMap=t.normalMap,this.emissiveMap=t.emissiveMap,this.shadeMultiplyTexture=t.shadeMultiplyTexture,this.shadingShiftTexture=t.shadingShiftTexture,this.matcapTexture=t.matcapTexture,this.rimMultiplyTexture=t.rimMultiplyTexture,this.outlineWidthMultiplyTexture=t.outlineWidthMultiplyTexture,this.uvAnimationMaskTexture=t.uvAnimationMaskTexture,this.normalMapType=t.normalMapType,this.uvAnimationScrollXSpeedFactor=t.uvAnimationScrollXSpeedFactor,this.uvAnimationScrollYSpeedFactor=t.uvAnimationScrollYSpeedFactor,this.uvAnimationRotationSpeedFactor=t.uvAnimationRotationSpeedFactor,this.ignoreVertexColor=t.ignoreVertexColor,this.v0CompatShade=t.v0CompatShade,this.debugMode=t.debugMode,this.outlineWidthMode=t.outlineWidthMode,this.isOutline=t.isOutline,this.needsUpdate=!0,this}_updateUVAnimation(t){this.uniforms.uvAnimationScrollXOffset.value+=t*this.uvAnimationScrollXSpeedFactor,this.uniforms.uvAnimationScrollYOffset.value+=t*this.uvAnimationScrollYSpeedFactor,this.uniforms.uvAnimationRotationPhase.value+=t*this.uvAnimationRotationSpeedFactor,this.uniforms.alphaTest.value=this.alphaTest,this.uniformsNeedUpdate=!0}_uploadUniformsWorkaround(){this.uniforms.opacity.value=this.opacity,this._updateTextureMatrix(this.uniforms.map,this.uniforms.mapUvTransform),this._updateTextureMatrix(this.uniforms.normalMap,this.uniforms.normalMapUvTransform),this._updateTextureMatrix(this.uniforms.emissiveMap,this.uniforms.emissiveMapUvTransform),this._updateTextureMatrix(this.uniforms.shadeMultiplyTexture,this.uniforms.shadeMultiplyTextureUvTransform),this._updateTextureMatrix(this.uniforms.shadingShiftTexture,this.uniforms.shadingShiftTextureUvTransform),this._updateTextureMatrix(this.uniforms.matcapTexture,this.uniforms.matcapTextureUvTransform),this._updateTextureMatrix(this.uniforms.rimMultiplyTexture,this.uniforms.rimMultiplyTextureUvTransform),this._updateTextureMatrix(this.uniforms.outlineWidthMultiplyTexture,this.uniforms.outlineWidthMultiplyTextureUvTransform),this._updateTextureMatrix(this.uniforms.uvAnimationMaskTexture,this.uniforms.uvAnimationMaskTextureUvTransform),this.uniformsNeedUpdate=!0}_generateDefines(){const t=parseInt(Td,10),e=this.outlineWidthMultiplyTexture!==null,n=this.map!==null||this.normalMap!==null||this.emissiveMap!==null||this.shadeMultiplyTexture!==null||this.shadingShiftTexture!==null||this.rimMultiplyTexture!==null||this.uvAnimationMaskTexture!==null;return{THREE_VRM_THREE_REVISION:t,OUTLINE:this._isOutline,MTOON_USE_UV:e||n,MTOON_UVS_VERTEX_ONLY:e&&!n,V0_COMPAT_SHADE:this._v0CompatShade,USE_SHADEMULTIPLYTEXTURE:this.shadeMultiplyTexture!==null,USE_SHADINGSHIFTTEXTURE:this.shadingShiftTexture!==null,USE_MATCAPTEXTURE:this.matcapTexture!==null,USE_RIMMULTIPLYTEXTURE:this.rimMultiplyTexture!==null,USE_OUTLINEWIDTHMULTIPLYTEXTURE:this._isOutline&&this.outlineWidthMultiplyTexture!==null,USE_UVANIMATIONMASKTEXTURE:this.uvAnimationMaskTexture!==null,IGNORE_VERTEX_COLOR:this._ignoreVertexColor===!0,DEBUG_NORMAL:this._debugMode==="normal",DEBUG_LITSHADERATE:this._debugMode==="litShadeRate",DEBUG_UV:this._debugMode==="uv",OUTLINE_WIDTH_SCREEN:this._isOutline&&this._outlineWidthMode===_U.ScreenCoordinates}}_updateTextureMatrix(t,e){t.value&&(t.value.matrixAutoUpdate&&t.value.updateMatrix(),e.value.copy(t.value.matrix))}},Ewe=new Set(["1.0","1.0-beta"]),HG=class Q_{get name(){return Q_.EXTENSION_NAME}constructor(e,n={}){var r,i,s,o;this.parser=e,this.materialType=(r=n.materialType)!=null?r:Mwe,this.renderOrderOffset=(i=n.renderOrderOffset)!=null?i:0,this.v0CompatShade=(s=n.v0CompatShade)!=null?s:!1,this.debugMode=(o=n.debugMode)!=null?o:"none",this._mToonMaterialSet=new Set}beforeRoot(){return ch(this,null,function*(){this._removeUnlitExtensionIfMToonExists()})}afterRoot(e){return ch(this,null,function*(){e.userData.vrmMToonMaterials=Array.from(this._mToonMaterialSet)})}getMaterialType(e){return this._getMToonExtension(e)?this.materialType:null}extendMaterialParams(e,n){const r=this._getMToonExtension(e);return r?this._extendMaterialParams(r,n):null}loadMesh(e){return ch(this,null,function*(){var n;const r=this.parser,s=(n=r.json.meshes)==null?void 0:n[e];if(s==null)throw new Error(`MToonMaterialLoaderPlugin: Attempt to use meshes[${e}] of glTF but the mesh doesn't exist`);const o=s.primitives,a=yield r.loadMesh(e);if(o.length===1){const l=a,c=o[0].material;c!=null&&this._setupPrimitive(l,c)}else{const l=a;for(let c=0;c{var o;this._getMToonExtension(s)&&((o=i.extensions)!=null&&o.KHR_materials_unlit)&&delete i.extensions.KHR_materials_unlit})}_getMToonExtension(e){var n,r;const o=(n=this.parser.json.materials)==null?void 0:n[e];if(o==null){console.warn(`MToonMaterialLoaderPlugin: Attempt to use materials[${e}] of glTF but the material doesn't exist`);return}const a=(r=o.extensions)==null?void 0:r[Q_.EXTENSION_NAME];if(a==null)return;const l=a.specVersion;if(!Ewe.has(l)){console.warn(`MToonMaterialLoaderPlugin: Unknown ${Q_.EXTENSION_NAME} specVersion "${l}"`);return}return a}_extendMaterialParams(e,n){return ch(this,null,function*(){var r;delete n.metalness,delete n.roughness;const i=new xwe(this.parser,n);i.assignPrimitive("transparentWithZWrite",e.transparentWithZWrite),i.assignColor("shadeColorFactor",e.shadeColorFactor),i.assignTexture("shadeMultiplyTexture",e.shadeMultiplyTexture,!0),i.assignPrimitive("shadingShiftFactor",e.shadingShiftFactor),i.assignTexture("shadingShiftTexture",e.shadingShiftTexture,!0),i.assignPrimitive("shadingShiftTextureScale",(r=e.shadingShiftTexture)==null?void 0:r.scale),i.assignPrimitive("shadingToonyFactor",e.shadingToonyFactor),i.assignPrimitive("giEqualizationFactor",e.giEqualizationFactor),i.assignColor("matcapFactor",e.matcapFactor),i.assignTexture("matcapTexture",e.matcapTexture,!0),i.assignColor("parametricRimColorFactor",e.parametricRimColorFactor),i.assignTexture("rimMultiplyTexture",e.rimMultiplyTexture,!0),i.assignPrimitive("rimLightingMixFactor",e.rimLightingMixFactor),i.assignPrimitive("parametricRimFresnelPowerFactor",e.parametricRimFresnelPowerFactor),i.assignPrimitive("parametricRimLiftFactor",e.parametricRimLiftFactor),i.assignPrimitive("outlineWidthMode",e.outlineWidthMode),i.assignPrimitive("outlineWidthFactor",e.outlineWidthFactor),i.assignTexture("outlineWidthMultiplyTexture",e.outlineWidthMultiplyTexture,!1),i.assignColor("outlineColorFactor",e.outlineColorFactor),i.assignPrimitive("outlineLightingMixFactor",e.outlineLightingMixFactor),i.assignTexture("uvAnimationMaskTexture",e.uvAnimationMaskTexture,!1),i.assignPrimitive("uvAnimationScrollXSpeedFactor",e.uvAnimationScrollXSpeedFactor),i.assignPrimitive("uvAnimationScrollYSpeedFactor",e.uvAnimationScrollYSpeedFactor),i.assignPrimitive("uvAnimationRotationSpeedFactor",e.uvAnimationRotationSpeedFactor),i.assignPrimitive("v0CompatShade",this.v0CompatShade),i.assignPrimitive("debugMode",this.debugMode),yield i.pending})}_setupPrimitive(e,n){const r=this._getMToonExtension(n);if(r){const i=this._parseRenderOrder(r);e.renderOrder=i+this.renderOrderOffset,this._generateOutline(e),this._addToMaterialSet(e);return}}_shouldGenerateOutline(e){return typeof e.outlineWidthMode=="string"&&e.outlineWidthMode!=="none"&&typeof e.outlineWidthFactor=="number"&&e.outlineWidthFactor>0}_generateOutline(e){const n=e.material;if(!(n instanceof Gr)||!this._shouldGenerateOutline(n))return;e.material=[n];const r=n.clone();r.name+=" (Outline)",r.isOutline=!0,r.side=ss,e.material.push(r);const i=e.geometry,s=i.index?i.index.count:i.attributes.position.count/3;i.addGroup(0,s,0),i.addGroup(0,s,1)}_addToMaterialSet(e){const n=e.material,r=new Set;Array.isArray(n)?n.forEach(i=>r.add(i)):r.add(n);for(const i of r)this._mToonMaterialSet.add(i)}_parseRenderOrder(e){var n;return(e.transparentWithZWrite?0:19)+((n=e.renderQueueOffsetNumber)!=null?n:0)}};HG.EXTENSION_NAME="VRMC_materials_mtoon";var Awe=HG,Twe=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())}),VG=class pP{get name(){return pP.EXTENSION_NAME}constructor(e){this.parser=e}extendMaterialParams(e,n){return Twe(this,null,function*(){const r=this._getHDREmissiveMultiplierExtension(e);if(r==null)return;console.warn("VRMMaterialsHDREmissiveMultiplierLoaderPlugin: `VRMC_materials_hdr_emissiveMultiplier` is archived. Use `KHR_materials_emissive_strength` instead.");const i=r.emissiveMultiplier;n.emissiveIntensity=i})}_getHDREmissiveMultiplierExtension(e){var n,r;const o=(n=this.parser.json.materials)==null?void 0:n[e];if(o==null){console.warn(`VRMMaterialsHDREmissiveMultiplierLoaderPlugin: Attempt to use materials[${e}] of glTF but the material doesn't exist`);return}const a=(r=o.extensions)==null?void 0:r[pP.EXTENSION_NAME];if(a!=null)return a}};VG.EXTENSION_NAME="VRMC_materials_hdr_emissiveMultiplier";var Cwe=VG,Pwe=Object.defineProperty,Rwe=Object.defineProperties,Nwe=Object.getOwnPropertyDescriptors,wU=Object.getOwnPropertySymbols,Iwe=Object.prototype.hasOwnProperty,kwe=Object.prototype.propertyIsEnumerable,SU=(t,e,n)=>e in t?Pwe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,gl=(t,e)=>{for(var n in e||(e={}))Iwe.call(e,n)&&SU(t,n,e[n]);if(wU)for(var n of wU(e))kwe.call(e,n)&&SU(t,n,e[n]);return t},MU=(t,e)=>Rwe(t,Nwe(e)),Owe=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())});function Om(t){return Math.pow(t,2.2)}var Lwe=class{get name(){return"VRMMaterialsV0CompatPlugin"}constructor(t){var e;this.parser=t,this._renderQueueMapTransparent=new Map,this._renderQueueMapTransparentZWrite=new Map;const n=this.parser.json;n.extensionsUsed=(e=n.extensionsUsed)!=null?e:[],n.extensionsUsed.indexOf("KHR_texture_transform")===-1&&n.extensionsUsed.push("KHR_texture_transform")}beforeRoot(){return Owe(this,null,function*(){var t;const e=this.parser.json,n=(t=e.extensions)==null?void 0:t.VRM,r=n==null?void 0:n.materialProperties;r&&(this._populateRenderQueueMap(r),r.forEach((i,s)=>{var o,a;const l=(o=e.materials)==null?void 0:o[s];if(l==null){console.warn(`VRMMaterialsV0CompatPlugin: Attempt to use materials[${s}] of glTF but the material doesn't exist`);return}if(i.shader==="VRM/MToon"){const c=this._parseV0MToonProperties(i,l);e.materials[s]=c}else if((a=i.shader)!=null&&a.startsWith("VRM/Unlit")){const c=this._parseV0UnlitProperties(i,l);e.materials[s]=c}else i.shader==="VRM_USE_GLTFSHADER"||console.warn(`VRMMaterialsV0CompatPlugin: Unknown shader: ${i.shader}`)}))})}_parseV0MToonProperties(t,e){var n,r,i,s,o,a,l,c,d,f,m,y,x,S,w,_,E,T,C,O,N,D,F,G,k,U,H,ne,te,he,se,fe,B,J,Y,V,q,pe,ae,le,be,Se,qe,Me,$e,Ke,ce,Z,We,je,Xe,Je,bt,ut,ee;const $=(r=(n=t.keywordMap)==null?void 0:n._ALPHABLEND_ON)!=null?r:!1,Be=((i=t.floatProperties)==null?void 0:i._ZWrite)===1&&$,Ve=this._v0ParseRenderQueue(t),He=(o=(s=t.keywordMap)==null?void 0:s._ALPHATEST_ON)!=null?o:!1,mt=$?"BLEND":He?"MASK":"OPAQUE",rt=He?(l=(a=t.floatProperties)==null?void 0:a._Cutoff)!=null?l:.5:void 0,de=((d=(c=t.floatProperties)==null?void 0:c._CullMode)!=null?d:2)===0,Ne=this._portTextureTransform(t),tt=((m=(f=t.vectorProperties)==null?void 0:f._Color)!=null?m:[1,1,1,1]).map((it,xt)=>xt===3?it:Om(it)),jt=(y=t.textureProperties)==null?void 0:y._MainTex,Lt=jt!=null?{index:jt,extensions:gl({},Ne)}:void 0,ct=(S=(x=t.floatProperties)==null?void 0:x._BumpScale)!=null?S:1,ue=(w=t.textureProperties)==null?void 0:w._BumpMap,Q=ue!=null?{index:ue,scale:ct,extensions:gl({},Ne)}:void 0,Ae=((E=(_=t.vectorProperties)==null?void 0:_._EmissionColor)!=null?E:[0,0,0,1]).map(Om),re=(T=t.textureProperties)==null?void 0:T._EmissionMap,Fe=re!=null?{index:re,extensions:gl({},Ne)}:void 0,Te=((O=(C=t.vectorProperties)==null?void 0:C._ShadeColor)!=null?O:[.97,.81,.86,1]).map(Om),Le=(N=t.textureProperties)==null?void 0:N._ShadeTexture,Ye=Le!=null?{index:Le,extensions:gl({},Ne)}:void 0;let ht=(F=(D=t.floatProperties)==null?void 0:D._ShadeShift)!=null?F:0,Yt=(k=(G=t.floatProperties)==null?void 0:G._ShadeToony)!=null?k:.9;Yt=gr.lerp(Yt,1,.5+.5*ht),ht=-ht-(1-Yt);const un=(H=(U=t.floatProperties)==null?void 0:U._IndirectLightIntensity)!=null?H:.1,Cn=un?1-un:void 0,en=(ne=t.textureProperties)==null?void 0:ne._SphereAdd,Hn=en!=null?[1,1,1]:void 0,hr=en!=null?{index:en}:void 0,Si=(he=(te=t.floatProperties)==null?void 0:te._RimLightingMix)!=null?he:0,ra=(se=t.textureProperties)==null?void 0:se._RimTexture,Mi=ra!=null?{index:ra,extensions:gl({},Ne)}:void 0,Ka=((B=(fe=t.vectorProperties)==null?void 0:fe._RimColor)!=null?B:[0,0,0,1]).map(Om),Ns=(Y=(J=t.floatProperties)==null?void 0:J._RimFresnelPower)!=null?Y:1,ia=(q=(V=t.floatProperties)==null?void 0:V._RimLift)!=null?q:0,Ei=["none","worldCoordinates","screenCoordinates"][(ae=(pe=t.floatProperties)==null?void 0:pe._OutlineWidthMode)!=null?ae:0];let Ao=(be=(le=t.floatProperties)==null?void 0:le._OutlineWidth)!=null?be:0;Ao=.01*Ao;const sa=(Se=t.textureProperties)==null?void 0:Se._OutlineWidthTexture,cu=sa!=null?{index:sa,extensions:gl({},Ne)}:void 0,uu=((Me=(qe=t.vectorProperties)==null?void 0:qe._OutlineColor)!=null?Me:[0,0,0]).map(Om),du=((Ke=($e=t.floatProperties)==null?void 0:$e._OutlineColorMode)!=null?Ke:0)===1?(Z=(ce=t.floatProperties)==null?void 0:ce._OutlineLightingMix)!=null?Z:1:0,Gl=(We=t.textureProperties)==null?void 0:We._UvAnimMaskTexture,K=Gl!=null?{index:Gl,extensions:gl({},Ne)}:void 0,xe=(Xe=(je=t.floatProperties)==null?void 0:je._UvAnimScrollX)!=null?Xe:0;let Pe=(bt=(Je=t.floatProperties)==null?void 0:Je._UvAnimScrollY)!=null?bt:0;Pe!=null&&(Pe=-Pe);const ke=(ee=(ut=t.floatProperties)==null?void 0:ut._UvAnimRotation)!=null?ee:0,we={specVersion:"1.0",transparentWithZWrite:Be,renderQueueOffsetNumber:Ve,shadeColorFactor:Te,shadeMultiplyTexture:Ye,shadingShiftFactor:ht,shadingToonyFactor:Yt,giEqualizationFactor:Cn,matcapFactor:Hn,matcapTexture:hr,rimLightingMixFactor:Si,rimMultiplyTexture:Mi,parametricRimColorFactor:Ka,parametricRimFresnelPowerFactor:Ns,parametricRimLiftFactor:ia,outlineWidthMode:Ei,outlineWidthFactor:Ao,outlineWidthMultiplyTexture:cu,outlineColorFactor:uu,outlineLightingMixFactor:du,uvAnimationMaskTexture:K,uvAnimationScrollXSpeedFactor:xe,uvAnimationScrollYSpeedFactor:Pe,uvAnimationRotationSpeedFactor:ke};return MU(gl({},e),{pbrMetallicRoughness:{baseColorFactor:tt,baseColorTexture:Lt},normalTexture:Q,emissiveTexture:Fe,emissiveFactor:Ae,alphaMode:mt,alphaCutoff:rt,doubleSided:de,extensions:{VRMC_materials_mtoon:we}})}_parseV0UnlitProperties(t,e){var n,r,i,s,o;const a=t.shader==="VRM/UnlitTransparentZWrite",l=t.shader==="VRM/UnlitTransparent"||a,c=this._v0ParseRenderQueue(t),d=t.shader==="VRM/UnlitCutout",f=l?"BLEND":d?"MASK":"OPAQUE",m=d?(r=(n=t.floatProperties)==null?void 0:n._Cutoff)!=null?r:.5:void 0,y=this._portTextureTransform(t),x=((s=(i=t.vectorProperties)==null?void 0:i._Color)!=null?s:[1,1,1,1]).map(Om),S=(o=t.textureProperties)==null?void 0:o._MainTex,w=S!=null?{index:S,extensions:gl({},y)}:void 0,_={specVersion:"1.0",transparentWithZWrite:a,renderQueueOffsetNumber:c,shadeColorFactor:x,shadeMultiplyTexture:w};return MU(gl({},e),{pbrMetallicRoughness:{baseColorFactor:x,baseColorTexture:w},alphaMode:f,alphaCutoff:m,extensions:{VRMC_materials_mtoon:_}})}_portTextureTransform(t){var e,n,r,i,s;const o=(e=t.vectorProperties)==null?void 0:e._MainTex;if(o==null)return{};const a=[(n=o==null?void 0:o[0])!=null?n:0,(r=o==null?void 0:o[1])!=null?r:0],l=[(i=o==null?void 0:o[2])!=null?i:1,(s=o==null?void 0:o[3])!=null?s:1];return a[1]=1-l[1]-a[1],{KHR_texture_transform:{offset:a,scale:l}}}_v0ParseRenderQueue(t){var e,n;const r=t.shader==="VRM/UnlitTransparentZWrite",i=((e=t.keywordMap)==null?void 0:e._ALPHABLEND_ON)!=null||t.shader==="VRM/UnlitTransparent"||r,s=((n=t.floatProperties)==null?void 0:n._ZWrite)===1||r;let o=0;if(i){const a=t.renderQueue;a!=null&&(s?o=this._renderQueueMapTransparentZWrite.get(a):o=this._renderQueueMapTransparent.get(a))}return o}_populateRenderQueueMap(t){const e=new Set,n=new Set;t.forEach(r=>{var i,s;const o=r.shader==="VRM/UnlitTransparentZWrite",a=((i=r.keywordMap)==null?void 0:i._ALPHABLEND_ON)!=null||r.shader==="VRM/UnlitTransparent"||o,l=((s=r.floatProperties)==null?void 0:s._ZWrite)===1||o;if(a){const c=r.renderQueue;c!=null&&(l?n.add(c):e.add(c))}}),e.size>10&&console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${e.size} render queues for Transparent materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`),n.size>10&&console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${n.size} render queues for TransparentZWrite materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`),Array.from(e).sort().forEach((r,i)=>{const s=Math.min(Math.max(i-e.size+1,-9),0);this._renderQueueMapTransparent.set(r,s)}),Array.from(n).sort().forEach((r,i)=>{const s=Math.min(Math.max(i,0),9);this._renderQueueMapTransparentZWrite.set(r,s)})}},EU=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())}),id=new X,aT=class extends Ts{constructor(t){super(),this._attrPosition=new Jt(new Float32Array([0,0,0,0,0,0]),3),this._attrPosition.setUsage(r6);const e=new Qt;e.setAttribute("position",this._attrPosition);const n=new $r({color:16711935,depthTest:!1,depthWrite:!1});this._line=new zl(e,n),this.add(this._line),this.constraint=t}updateMatrixWorld(t){id.setFromMatrixPosition(this.constraint.destination.matrixWorld),this._attrPosition.setXYZ(0,id.x,id.y,id.z),this.constraint.source&&id.setFromMatrixPosition(this.constraint.source.matrixWorld),this._attrPosition.setXYZ(1,id.x,id.y,id.z),this._attrPosition.needsUpdate=!0,super.updateMatrixWorld(t)}};function AU(t,e){return e.set(t.elements[12],t.elements[13],t.elements[14])}var Dwe=new X,jwe=new X;function Uwe(t,e){return t.decompose(Dwe,e,jwe),e}function z1(t){return t.invert?t.invert():t.inverse(),t}var aN=class{constructor(t,e){this.destination=t,this.source=e,this.weight=1}},Fwe=new X,zwe=new X,Bwe=new X,Hwe=new Kt,Vwe=new Kt,Gwe=new Kt,Wwe=class extends aN{get aimAxis(){return this._aimAxis}set aimAxis(t){this._aimAxis=t,this._v3AimAxis.set(t==="PositiveX"?1:t==="NegativeX"?-1:0,t==="PositiveY"?1:t==="NegativeY"?-1:0,t==="PositiveZ"?1:t==="NegativeZ"?-1:0)}get dependencies(){const t=new Set([this.source]);return this.destination.parent&&t.add(this.destination.parent),t}constructor(t,e){super(t,e),this._aimAxis="PositiveX",this._v3AimAxis=new X(1,0,0),this._dstRestQuat=new Kt}setInitState(){this._dstRestQuat.copy(this.destination.quaternion)}update(){this.destination.updateWorldMatrix(!0,!1),this.source.updateWorldMatrix(!0,!1);const t=Hwe.identity(),e=Vwe.identity();this.destination.parent&&(Uwe(this.destination.parent.matrixWorld,t),z1(e.copy(t)));const n=Fwe.copy(this._v3AimAxis).applyQuaternion(this._dstRestQuat).applyQuaternion(t),r=AU(this.source.matrixWorld,zwe).sub(AU(this.destination.matrixWorld,Bwe)).normalize(),i=Gwe.setFromUnitVectors(n,r).premultiply(e).multiply(t).multiply(this._dstRestQuat);this.destination.quaternion.copy(this._dstRestQuat).slerp(i,this.weight)}};function $we(t,e){const n=[t];let r=t.parent;for(;r!==null;)n.unshift(r),r=r.parent;n.forEach(i=>{e(i)})}var Xwe=class{constructor(){this._constraints=new Set,this._objectConstraintsMap=new Map}get constraints(){return this._constraints}addConstraint(t){this._constraints.add(t);let e=this._objectConstraintsMap.get(t.destination);e==null&&(e=new Set,this._objectConstraintsMap.set(t.destination,e)),e.add(t)}deleteConstraint(t){this._constraints.delete(t),this._objectConstraintsMap.get(t.destination).delete(t)}setInitState(){const t=new Set,e=new Set;for(const n of this._constraints)this._processConstraint(n,t,e,r=>r.setInitState())}update(){const t=new Set,e=new Set;for(const n of this._constraints)this._processConstraint(n,t,e,r=>r.update())}_processConstraint(t,e,n,r){if(n.has(t))return;if(e.has(t))throw new Error("VRMNodeConstraintManager: Circular dependency detected while updating constraints");e.add(t);const i=t.dependencies;for(const s of i)$we(s,o=>{const a=this._objectConstraintsMap.get(o);if(a)for(const l of a)this._processConstraint(l,e,n,r)});r(t),n.add(t)}},qwe=new Kt,Kwe=new Kt,Ywe=class extends aN{get dependencies(){return new Set([this.source])}constructor(t,e){super(t,e),this._dstRestQuat=new Kt,this._invSrcRestQuat=new Kt}setInitState(){this._dstRestQuat.copy(this.destination.quaternion),z1(this._invSrcRestQuat.copy(this.source.quaternion))}update(){const t=qwe.copy(this._invSrcRestQuat).multiply(this.source.quaternion),e=Kwe.copy(this._dstRestQuat).multiply(t);this.destination.quaternion.copy(this._dstRestQuat).slerp(e,this.weight)}},Zwe=new X,Qwe=new Kt,Jwe=new Kt,e1e=class extends aN{get rollAxis(){return this._rollAxis}set rollAxis(t){this._rollAxis=t,this._v3RollAxis.set(t==="X"?1:0,t==="Y"?1:0,t==="Z"?1:0)}get dependencies(){return new Set([this.source])}constructor(t,e){super(t,e),this._rollAxis="X",this._v3RollAxis=new X(1,0,0),this._dstRestQuat=new Kt,this._invDstRestQuat=new Kt,this._invSrcRestQuatMulDstRestQuat=new Kt}setInitState(){this._dstRestQuat.copy(this.destination.quaternion),z1(this._invDstRestQuat.copy(this._dstRestQuat)),z1(this._invSrcRestQuatMulDstRestQuat.copy(this.source.quaternion)).multiply(this._dstRestQuat)}update(){const t=Qwe.copy(this._invDstRestQuat).multiply(this.source.quaternion).multiply(this._invSrcRestQuatMulDstRestQuat),e=Zwe.copy(this._v3RollAxis).applyQuaternion(t),r=Jwe.setFromUnitVectors(e,this._v3RollAxis).premultiply(this._dstRestQuat).multiply(t);this.destination.quaternion.copy(this._dstRestQuat).slerp(r,this.weight)}},t1e=new Set(["1.0","1.0-beta"]),GG=class W0{get name(){return W0.EXTENSION_NAME}constructor(e,n){this.parser=e,this.helperRoot=n==null?void 0:n.helperRoot}afterRoot(e){return EU(this,null,function*(){e.userData.vrmNodeConstraintManager=yield this._import(e)})}_import(e){return EU(this,null,function*(){var n;const r=this.parser.json;if(!(((n=r.extensionsUsed)==null?void 0:n.indexOf(W0.EXTENSION_NAME))!==-1))return null;const s=new Xwe,o=yield this.parser.getDependencies("node");return o.forEach((a,l)=>{var c;const d=r.nodes[l],f=(c=d==null?void 0:d.extensions)==null?void 0:c[W0.EXTENSION_NAME];if(f==null)return;const m=f.specVersion;if(!t1e.has(m)){console.warn(`VRMNodeConstraintLoaderPlugin: Unknown ${W0.EXTENSION_NAME} specVersion "${m}"`);return}const y=f.constraint;if(y.roll!=null){const x=this._importRollConstraint(a,o,y.roll);s.addConstraint(x)}else if(y.aim!=null){const x=this._importAimConstraint(a,o,y.aim);s.addConstraint(x)}else if(y.rotation!=null){const x=this._importRotationConstraint(a,o,y.rotation);s.addConstraint(x)}}),e.scene.updateMatrixWorld(),s.setInitState(),s})}_importRollConstraint(e,n,r){const{source:i,rollAxis:s,weight:o}=r,a=n[i],l=new e1e(e,a);if(s!=null&&(l.rollAxis=s),o!=null&&(l.weight=o),this.helperRoot){const c=new aT(l);this.helperRoot.add(c)}return l}_importAimConstraint(e,n,r){const{source:i,aimAxis:s,weight:o}=r,a=n[i],l=new Wwe(e,a);if(s!=null&&(l.aimAxis=s),o!=null&&(l.weight=o),this.helperRoot){const c=new aT(l);this.helperRoot.add(c)}return l}_importRotationConstraint(e,n,r){const{source:i,weight:s}=r,o=n[i],a=new Ywe(e,o);if(s!=null&&(a.weight=s),this.helperRoot){const l=new aT(a);this.helperRoot.add(l)}return a}};GG.EXTENSION_NAME="VRMC_node_constraint";var n1e=GG,D_=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())}),lN=class{},lT=new X,Hf=new X,WG=class extends lN{get type(){return"capsule"}constructor(t){var e,n,r,i;super(),this.offset=(e=t==null?void 0:t.offset)!=null?e:new X(0,0,0),this.tail=(n=t==null?void 0:t.tail)!=null?n:new X(0,0,0),this.radius=(r=t==null?void 0:t.radius)!=null?r:0,this.inside=(i=t==null?void 0:t.inside)!=null?i:!1}calculateCollision(t,e,n,r){lT.setFromMatrixPosition(t),Hf.subVectors(this.tail,this.offset).applyMatrix4(t),Hf.sub(lT);const i=Hf.lengthSq();r.copy(e).sub(lT);const s=Hf.dot(r);s<=0||(i<=s||Hf.multiplyScalar(s/i),r.sub(Hf));const o=r.length(),a=this.inside?this.radius-n-o:o-n-this.radius;return a<0&&(r.multiplyScalar(1/o),this.inside&&r.negate()),a}},cT=new X,TU=new qt,$G=class extends lN{get type(){return"plane"}constructor(t){var e,n;super(),this.offset=(e=t==null?void 0:t.offset)!=null?e:new X(0,0,0),this.normal=(n=t==null?void 0:t.normal)!=null?n:new X(0,0,1)}calculateCollision(t,e,n,r){r.setFromMatrixPosition(t),r.negate().add(e),TU.getNormalMatrix(t),cT.copy(this.normal).applyNormalMatrix(TU).normalize();const i=r.dot(cT)-n;return r.copy(cT),i}},r1e=new X,XG=class extends lN{get type(){return"sphere"}constructor(t){var e,n,r;super(),this.offset=(e=t==null?void 0:t.offset)!=null?e:new X(0,0,0),this.radius=(n=t==null?void 0:t.radius)!=null?n:0,this.inside=(r=t==null?void 0:t.inside)!=null?r:!1}calculateCollision(t,e,n,r){r.subVectors(e,r1e.setFromMatrixPosition(t));const i=r.length(),s=this.inside?this.radius-n-i:i-n-this.radius;return s<0&&(r.multiplyScalar(1/i),this.inside&&r.negate()),s}},vl=new X,i1e=class extends Qt{constructor(t){super(),this.worldScale=1,this._currentRadius=0,this._currentOffset=new X,this._currentTail=new X,this._shape=t,this._attrPos=new Jt(new Float32Array(396),3),this.setAttribute("position",this._attrPos),this._attrIndex=new Jt(new Uint16Array(264),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let t=!1;const e=this._shape.radius/this.worldScale;this._currentRadius!==e&&(this._currentRadius=e,t=!0),this._currentOffset.equals(this._shape.offset)||(this._currentOffset.copy(this._shape.offset),t=!0);const n=vl.copy(this._shape.tail).divideScalar(this.worldScale);this._currentTail.distanceToSquared(n)>1e-10&&(this._currentTail.copy(n),t=!0),t&&this._buildPosition()}_buildPosition(){vl.copy(this._currentTail).sub(this._currentOffset);const t=vl.length()/this._currentRadius;for(let r=0;r<=16;r++){const i=r/16*Math.PI;this._attrPos.setXYZ(r,-Math.sin(i),-Math.cos(i),0),this._attrPos.setXYZ(17+r,t+Math.sin(i),Math.cos(i),0),this._attrPos.setXYZ(34+r,-Math.sin(i),0,-Math.cos(i)),this._attrPos.setXYZ(51+r,t+Math.sin(i),0,Math.cos(i))}for(let r=0;r<32;r++){const i=r/16*Math.PI;this._attrPos.setXYZ(68+r,0,Math.sin(i),Math.cos(i)),this._attrPos.setXYZ(100+r,t,Math.sin(i),Math.cos(i))}const e=Math.atan2(vl.y,Math.sqrt(vl.x*vl.x+vl.z*vl.z)),n=-Math.atan2(vl.z,vl.x);this.rotateZ(e),this.rotateY(n),this.scale(this._currentRadius,this._currentRadius,this._currentRadius),this.translate(this._currentOffset.x,this._currentOffset.y,this._currentOffset.z),this._attrPos.needsUpdate=!0}_buildIndex(){for(let t=0;t<34;t++){const e=(t+1)%34;this._attrIndex.setXY(t*2,t,e),this._attrIndex.setXY(68+t*2,34+t,34+e)}for(let t=0;t<32;t++){const e=(t+1)%32;this._attrIndex.setXY(136+t*2,68+t,68+e),this._attrIndex.setXY(200+t*2,100+t,100+e)}this._attrIndex.needsUpdate=!0}},s1e=class extends Qt{constructor(t){super(),this.worldScale=1,this._currentOffset=new X,this._currentNormal=new X,this._shape=t,this._attrPos=new Jt(new Float32Array(18),3),this.setAttribute("position",this._attrPos),this._attrIndex=new Jt(new Uint16Array(10),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let t=!1;this._currentOffset.equals(this._shape.offset)||(this._currentOffset.copy(this._shape.offset),t=!0),this._currentNormal.equals(this._shape.normal)||(this._currentNormal.copy(this._shape.normal),t=!0),t&&this._buildPosition()}_buildPosition(){this._attrPos.setXYZ(0,-.5,-.5,0),this._attrPos.setXYZ(1,.5,-.5,0),this._attrPos.setXYZ(2,.5,.5,0),this._attrPos.setXYZ(3,-.5,.5,0),this._attrPos.setXYZ(4,0,0,0),this._attrPos.setXYZ(5,0,0,.25),this.translate(this._currentOffset.x,this._currentOffset.y,this._currentOffset.z),this.lookAt(this._currentNormal),this._attrPos.needsUpdate=!0}_buildIndex(){this._attrIndex.setXY(0,0,1),this._attrIndex.setXY(2,1,2),this._attrIndex.setXY(4,2,3),this._attrIndex.setXY(6,3,0),this._attrIndex.setXY(8,4,5),this._attrIndex.needsUpdate=!0}},o1e=class extends Qt{constructor(t){super(),this.worldScale=1,this._currentRadius=0,this._currentOffset=new X,this._shape=t,this._attrPos=new Jt(new Float32Array(288),3),this.setAttribute("position",this._attrPos),this._attrIndex=new Jt(new Uint16Array(192),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let t=!1;const e=this._shape.radius/this.worldScale;this._currentRadius!==e&&(this._currentRadius=e,t=!0),this._currentOffset.equals(this._shape.offset)||(this._currentOffset.copy(this._shape.offset),t=!0),t&&this._buildPosition()}_buildPosition(){for(let t=0;t<32;t++){const e=t/16*Math.PI;this._attrPos.setXYZ(t,Math.cos(e),Math.sin(e),0),this._attrPos.setXYZ(32+t,0,Math.cos(e),Math.sin(e)),this._attrPos.setXYZ(64+t,Math.sin(e),0,Math.cos(e))}this.scale(this._currentRadius,this._currentRadius,this._currentRadius),this.translate(this._currentOffset.x,this._currentOffset.y,this._currentOffset.z),this._attrPos.needsUpdate=!0}_buildIndex(){for(let t=0;t<32;t++){const e=(t+1)%32;this._attrIndex.setXY(t*2,t,e),this._attrIndex.setXY(64+t*2,32+t,32+e),this._attrIndex.setXY(128+t*2,64+t,64+e)}this._attrIndex.needsUpdate=!0}},a1e=new X,uT=class extends Ts{constructor(t){if(super(),this.matrixAutoUpdate=!1,this.collider=t,this.collider.shape instanceof XG)this._geometry=new o1e(this.collider.shape);else if(this.collider.shape instanceof WG)this._geometry=new i1e(this.collider.shape);else if(this.collider.shape instanceof $G)this._geometry=new s1e(this.collider.shape);else throw new Error("VRMSpringBoneColliderHelper: Unknown collider shape type detected");const e=new $r({color:16711935,depthTest:!1,depthWrite:!1});this._line=new eo(this._geometry,e),this.add(this._line)}dispose(){this._geometry.dispose()}updateMatrixWorld(t){this.collider.updateWorldMatrix(!0,!1),this.matrix.copy(this.collider.matrixWorld);const e=this.matrix.elements;this._geometry.worldScale=a1e.set(e[0],e[1],e[2]).length(),this._geometry.update(),super.updateMatrixWorld(t)}},l1e=class extends Qt{constructor(t){super(),this.worldScale=1,this._currentRadius=0,this._currentTail=new X,this._springBone=t,this._attrPos=new Jt(new Float32Array(294),3),this.setAttribute("position",this._attrPos),this._attrIndex=new Jt(new Uint16Array(194),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let t=!1;const e=this._springBone.settings.hitRadius/this.worldScale;this._currentRadius!==e&&(this._currentRadius=e,t=!0),this._currentTail.equals(this._springBone.initialLocalChildPosition)||(this._currentTail.copy(this._springBone.initialLocalChildPosition),t=!0),t&&this._buildPosition()}_buildPosition(){for(let t=0;t<32;t++){const e=t/16*Math.PI;this._attrPos.setXYZ(t,Math.cos(e),Math.sin(e),0),this._attrPos.setXYZ(32+t,0,Math.cos(e),Math.sin(e)),this._attrPos.setXYZ(64+t,Math.sin(e),0,Math.cos(e))}this.scale(this._currentRadius,this._currentRadius,this._currentRadius),this.translate(this._currentTail.x,this._currentTail.y,this._currentTail.z),this._attrPos.setXYZ(96,0,0,0),this._attrPos.setXYZ(97,this._currentTail.x,this._currentTail.y,this._currentTail.z),this._attrPos.needsUpdate=!0}_buildIndex(){for(let t=0;t<32;t++){const e=(t+1)%32;this._attrIndex.setXY(t*2,t,e),this._attrIndex.setXY(64+t*2,32+t,32+e),this._attrIndex.setXY(128+t*2,64+t,64+e)}this._attrIndex.setXY(192,96,97),this._attrIndex.needsUpdate=!0}},c1e=new X,u1e=class extends Ts{constructor(t){super(),this.matrixAutoUpdate=!1,this.springBone=t,this._geometry=new l1e(this.springBone);const e=new $r({color:16776960,depthTest:!1,depthWrite:!1});this._line=new eo(this._geometry,e),this.add(this._line)}dispose(){this._geometry.dispose()}updateMatrixWorld(t){this.springBone.bone.updateWorldMatrix(!0,!1),this.matrix.copy(this.springBone.bone.matrixWorld);const e=this.matrix.elements;this._geometry.worldScale=c1e.set(e[0],e[1],e[2]).length(),this._geometry.update(),super.updateMatrixWorld(t)}},dT=class extends mn{constructor(t){super(),this.colliderMatrix=new Pt,this.shape=t}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),d1e(this.colliderMatrix,this.matrixWorld,this.shape.offset)}};function d1e(t,e,n){const r=e.elements;t.copy(e),n&&(t.elements[12]=r[0]*n.x+r[4]*n.y+r[8]*n.z+r[12],t.elements[13]=r[1]*n.x+r[5]*n.y+r[9]*n.z+r[13],t.elements[14]=r[2]*n.x+r[6]*n.y+r[10]*n.z+r[14])}var f1e=new Pt;function h1e(t){return t.invert?t.invert():t.getInverse(f1e.copy(t)),t}var p1e=class{constructor(t){this._inverseCache=new Pt,this._shouldUpdateInverse=!0,this.matrix=t;const e={set:(n,r,i)=>(this._shouldUpdateInverse=!0,n[r]=i,!0)};this._originalElements=t.elements,t.elements=new Proxy(t.elements,e)}get inverse(){return this._shouldUpdateInverse&&(h1e(this._inverseCache.copy(this.matrix)),this._shouldUpdateInverse=!1),this._inverseCache}revert(){this.matrix.elements=this._originalElements}},fT=new Pt,Lm=new X,L0=new X,D0=new X,j0=new X,m1e=new Pt,g1e=class{constructor(t,e,n={},r=[]){this._currentTail=new X,this._prevTail=new X,this._boneAxis=new X,this._worldSpaceBoneLength=0,this._center=null,this._initialLocalMatrix=new Pt,this._initialLocalRotation=new Kt,this._initialLocalChildPosition=new X;var i,s,o,a,l,c;this.bone=t,this.bone.matrixAutoUpdate=!1,this.child=e,this.settings={hitRadius:(i=n.hitRadius)!=null?i:0,stiffness:(s=n.stiffness)!=null?s:1,gravityPower:(o=n.gravityPower)!=null?o:0,gravityDir:(l=(a=n.gravityDir)==null?void 0:a.clone())!=null?l:new X(0,-1,0),dragForce:(c=n.dragForce)!=null?c:.4},this.colliderGroups=r}get dependencies(){const t=new Set,e=this.bone.parent;e&&t.add(e);for(let n=0;n{e(i)})}function mP(t,e){t.children.forEach(n=>{e(n)||mP(n,e)})}function y1e(t){var e;const n=new Map;for(const r of t){let i=r;do{const s=((e=n.get(i))!=null?e:0)+1;if(s===t.size)return i;n.set(i,s),i=i.parent}while(i!==null)}return null}var CU=class{constructor(){this._joints=new Set,this._sortedJoints=[],this._hasWarnedCircularDependency=!1,this._ancestors=[],this._objectSpringBonesMap=new Map,this._isSortedJointsDirty=!1,this._relevantChildrenUpdated=this._relevantChildrenUpdated.bind(this)}get joints(){return this._joints}get springBones(){return console.warn("VRMSpringBoneManager: springBones is deprecated. use joints instead."),this._joints}get colliderGroups(){const t=new Set;return this._joints.forEach(e=>{e.colliderGroups.forEach(n=>{t.add(n)})}),Array.from(t)}get colliders(){const t=new Set;return this.colliderGroups.forEach(e=>{e.colliders.forEach(n=>{t.add(n)})}),Array.from(t)}addJoint(t){this._joints.add(t);let e=this._objectSpringBonesMap.get(t.bone);e==null&&(e=new Set,this._objectSpringBonesMap.set(t.bone,e)),e.add(t),this._isSortedJointsDirty=!0}addSpringBone(t){console.warn("VRMSpringBoneManager: addSpringBone() is deprecated. use addJoint() instead."),this.addJoint(t)}deleteJoint(t){this._joints.delete(t),this._objectSpringBonesMap.get(t.bone).delete(t),this._isSortedJointsDirty=!0}deleteSpringBone(t){console.warn("VRMSpringBoneManager: deleteSpringBone() is deprecated. use deleteJoint() instead."),this.deleteJoint(t)}setInitState(){this._sortJoints();for(let t=0;t{var o,a;return((a=(o=this._objectSpringBonesMap.get(s))==null?void 0:o.size)!=null?a:0)>0?!0:(this._ancestors.push(s),!1)})),this._isSortedJointsDirty=!1}_insertJointSort(t,e,n,r,i){if(n.has(t))return;if(e.has(t)){this._hasWarnedCircularDependency||(console.warn("VRMSpringBoneManager: Circular dependency detected"),this._hasWarnedCircularDependency=!0);return}e.add(t);const s=t.dependencies;for(const o of s){let a=!1,l=null;v1e(o,c=>{const d=this._objectSpringBonesMap.get(c);if(d)for(const f of d)a=!0,this._insertJointSort(f,e,n,r,i);else a||(l=c)}),l&&i.add(l)}r.push(t),n.add(t)}_relevantChildrenUpdated(t){var e,n;return((n=(e=this._objectSpringBonesMap.get(t))==null?void 0:e.size)!=null?n:0)>0?!0:(t.updateWorldMatrix(!1,!1),!1)}},PU="VRMC_springBone_extended_collider",x1e=new Set(["1.0","1.0-beta"]),b1e=new Set(["1.0"]),qG=class Hm{get name(){return Hm.EXTENSION_NAME}constructor(e,n){var r;this.parser=e,this.jointHelperRoot=n==null?void 0:n.jointHelperRoot,this.colliderHelperRoot=n==null?void 0:n.colliderHelperRoot,this.useExtendedColliders=(r=n==null?void 0:n.useExtendedColliders)!=null?r:!0}afterRoot(e){return D_(this,null,function*(){e.userData.vrmSpringBoneManager=yield this._import(e)})}_import(e){return D_(this,null,function*(){const n=yield this._v1Import(e);if(n!=null)return n;const r=yield this._v0Import(e);return r??null})}_v1Import(e){return D_(this,null,function*(){var n,r,i,s,o;const a=e.parser.json;if(!(((n=a.extensionsUsed)==null?void 0:n.indexOf(Hm.EXTENSION_NAME))!==-1))return null;const c=new CU,d=yield e.parser.getDependencies("node"),f=(r=a.extensions)==null?void 0:r[Hm.EXTENSION_NAME];if(!f)return null;const m=f.specVersion;if(!x1e.has(m))return console.warn(`VRMSpringBoneLoaderPlugin: Unknown ${Hm.EXTENSION_NAME} specVersion "${m}"`),null;const y=(i=f.colliders)==null?void 0:i.map((S,w)=>{var _,E,T,C,O,N,D,F,G,k,U,H,ne,te,he;const se=d[S.node];if(se==null)return console.warn(`VRMSpringBoneLoaderPlugin: The collider #${w} attempted to reference a node #${S.node} but not found. Skipping the collider`),null;const fe=S.shape,B=(_=S.extensions)==null?void 0:_[PU];if(this.useExtendedColliders&&B!=null){const J=B.specVersion;if(!b1e.has(J))console.warn(`VRMSpringBoneLoaderPlugin: Unknown ${PU} specVersion "${J}". Fallbacking to the ${Hm.EXTENSION_NAME} definition`);else{const Y=B.shape;if(Y.sphere)return this._importSphereCollider(se,{offset:new X().fromArray((E=Y.sphere.offset)!=null?E:[0,0,0]),radius:(T=Y.sphere.radius)!=null?T:0,inside:(C=Y.sphere.inside)!=null?C:!1});if(Y.capsule)return this._importCapsuleCollider(se,{offset:new X().fromArray((O=Y.capsule.offset)!=null?O:[0,0,0]),radius:(N=Y.capsule.radius)!=null?N:0,tail:new X().fromArray((D=Y.capsule.tail)!=null?D:[0,0,0]),inside:(F=Y.capsule.inside)!=null?F:!1});if(Y.plane)return this._importPlaneCollider(se,{offset:new X().fromArray((G=Y.plane.offset)!=null?G:[0,0,0]),normal:new X().fromArray((k=Y.plane.normal)!=null?k:[0,0,1])})}}if(fe.sphere)return this._importSphereCollider(se,{offset:new X().fromArray((U=fe.sphere.offset)!=null?U:[0,0,0]),radius:(H=fe.sphere.radius)!=null?H:0,inside:!1});if(fe.capsule)return this._importCapsuleCollider(se,{offset:new X().fromArray((ne=fe.capsule.offset)!=null?ne:[0,0,0]),radius:(te=fe.capsule.radius)!=null?te:0,tail:new X().fromArray((he=fe.capsule.tail)!=null?he:[0,0,0]),inside:!1});console.warn(`VRMSpringBoneLoaderPlugin: The collider #${w} has no valid shape. Skipping the collider`)}),x=(s=f.colliderGroups)==null?void 0:s.map((S,w)=>{var _;return{colliders:((_=S.colliders)!=null?_:[]).map(T=>{const C=y==null?void 0:y[T];return C??(console.warn(`VRMSpringBoneLoaderPlugin: The collider group #${w} attempted to reference a collider #${T} but not found. Skipping the collider`),null)}).filter(T=>T!=null),name:S.name}});return(o=f.springs)==null||o.forEach((S,w)=>{var _;const E=S.joints,T=(_=S.colliderGroups)==null?void 0:_.map(N=>{const D=x==null?void 0:x[N];return D??(console.warn(`VRMSpringBoneLoaderPlugin: The spring #${w} attempted to reference a collider group #${N} but not found. Skipping the collider group`),null)}).filter(N=>N!=null),C=S.center!=null?d[S.center]:void 0;let O;E.forEach(N=>{if(O){const D=O.node,F=d[D],G=N.node,k=d[G],U={hitRadius:O.hitRadius,dragForce:O.dragForce,gravityPower:O.gravityPower,stiffness:O.stiffness,gravityDir:O.gravityDir!=null?new X().fromArray(O.gravityDir):void 0},H=this._importJoint(F,k,U,T);C&&(H.center=C),c.addJoint(H)}O=N})}),c.setInitState(),c})}_v0Import(e){return D_(this,null,function*(){var n,r,i;const s=e.parser.json;if(!(((n=s.extensionsUsed)==null?void 0:n.indexOf("VRM"))!==-1))return null;const a=(r=s.extensions)==null?void 0:r.VRM,l=a==null?void 0:a.secondaryAnimation;if(!l)return null;const c=l==null?void 0:l.boneGroups;if(!c)return null;const d=new CU,f=yield e.parser.getDependencies("node"),m=(i=l.colliderGroups)==null?void 0:i.map((y,x)=>{var S;const w=f[y.node];return w==null?(console.warn(`VRMSpringBoneLoaderPlugin: The collider group #${x} attempted to reference a node #${y.node} but not found. Skipping the collider group`),null):{colliders:((S=y.colliders)!=null?S:[]).map((E,T)=>{var C,O,N;const D=new X(0,0,0);return E.offset&&D.set((C=E.offset.x)!=null?C:0,(O=E.offset.y)!=null?O:0,E.offset.z?-E.offset.z:0),this._importSphereCollider(w,{offset:D,radius:(N=E.radius)!=null?N:0,inside:!1})})}});return c==null||c.forEach((y,x)=>{const S=y.bones;S&&S.forEach(w=>{var _,E,T,C;const O=f[w];if(O==null){console.warn(`VRMSpringBoneLoaderPlugin: The spring bone group #${x} attempted to reference a node #${w} but not found. Skipping the node`);return}const N=new X;y.gravityDir?N.set((_=y.gravityDir.x)!=null?_:0,(E=y.gravityDir.y)!=null?E:0,(T=y.gravityDir.z)!=null?T:0):N.set(0,-1,0);const D=y.center!=null?f[y.center]:void 0,F={hitRadius:y.hitRadius,dragForce:y.dragForce,gravityPower:y.gravityPower,stiffness:y.stiffiness,gravityDir:N},G=(C=y.colliderGroups)==null?void 0:C.map(k=>{const U=m==null?void 0:m[k];return U??(console.warn(`VRMSpringBoneLoaderPlugin: The spring #${x} attempted to reference a collider group #${k} but not found. Skipping the collider group`),null)}).filter(k=>k!=null);O.traverse(k=>{var U;const H=(U=k.children[0])!=null?U:null,ne=this._importJoint(k,H,F,G);D&&(ne.center=D),d.addJoint(ne)})})}),e.scene.updateMatrixWorld(),d.setInitState(),d})}_importJoint(e,n,r,i){const s=new g1e(e,n,r,i);if(this.jointHelperRoot){const o=new u1e(s);this.jointHelperRoot.add(o),o.renderOrder=this.jointHelperRoot.renderOrder}return s}_importSphereCollider(e,n){const r=new XG(n),i=new dT(r);if(e.add(i),this.colliderHelperRoot){const s=new uT(i);this.colliderHelperRoot.add(s),s.renderOrder=this.colliderHelperRoot.renderOrder}return i}_importCapsuleCollider(e,n){const r=new WG(n),i=new dT(r);if(e.add(i),this.colliderHelperRoot){const s=new uT(i);this.colliderHelperRoot.add(s),s.renderOrder=this.colliderHelperRoot.renderOrder}return i}_importPlaneCollider(e,n){const r=new $G(n),i=new dT(r);if(e.add(i),this.colliderHelperRoot){const s=new uT(i);this.colliderHelperRoot.add(s),s.renderOrder=this.colliderHelperRoot.renderOrder}return i}};qG.EXTENSION_NAME="VRMC_springBone";var _1e=qG,w1e=class{get name(){return"VRMLoaderPlugin"}constructor(t,e){var n,r,i,s,o,a,l,c,d,f;this.parser=t;const m=e==null?void 0:e.helperRoot,y=e==null?void 0:e.autoUpdateHumanBones;this.expressionPlugin=(n=e==null?void 0:e.expressionPlugin)!=null?n:new U_e(t),this.firstPersonPlugin=(r=e==null?void 0:e.firstPersonPlugin)!=null?r:new z_e(t),this.humanoidPlugin=(i=e==null?void 0:e.humanoidPlugin)!=null?i:new X_e(t,{helperRoot:m,autoUpdateHumanBones:y}),this.lookAtPlugin=(s=e==null?void 0:e.lookAtPlugin)!=null?s:new lwe(t,{helperRoot:m}),this.metaPlugin=(o=e==null?void 0:e.metaPlugin)!=null?o:new dwe(t),this.mtoonMaterialPlugin=(a=e==null?void 0:e.mtoonMaterialPlugin)!=null?a:new Awe(t),this.materialsHDREmissiveMultiplierPlugin=(l=e==null?void 0:e.materialsHDREmissiveMultiplierPlugin)!=null?l:new Cwe(t),this.materialsV0CompatPlugin=(c=e==null?void 0:e.materialsV0CompatPlugin)!=null?c:new Lwe(t),this.springBonePlugin=(d=e==null?void 0:e.springBonePlugin)!=null?d:new _1e(t,{colliderHelperRoot:m,jointHelperRoot:m}),this.nodeConstraintPlugin=(f=e==null?void 0:e.nodeConstraintPlugin)!=null?f:new n1e(t,{helperRoot:m})}beforeRoot(){return k_(this,null,function*(){yield this.materialsV0CompatPlugin.beforeRoot(),yield this.mtoonMaterialPlugin.beforeRoot()})}loadMesh(t){return k_(this,null,function*(){return yield this.mtoonMaterialPlugin.loadMesh(t)})}getMaterialType(t){const e=this.mtoonMaterialPlugin.getMaterialType(t);return e??null}extendMaterialParams(t,e){return k_(this,null,function*(){yield this.materialsHDREmissiveMultiplierPlugin.extendMaterialParams(t,e),yield this.mtoonMaterialPlugin.extendMaterialParams(t,e)})}afterRoot(t){return k_(this,null,function*(){yield this.metaPlugin.afterRoot(t),yield this.humanoidPlugin.afterRoot(t),yield this.expressionPlugin.afterRoot(t),yield this.lookAtPlugin.afterRoot(t),yield this.firstPersonPlugin.afterRoot(t),yield this.springBonePlugin.afterRoot(t),yield this.nodeConstraintPlugin.afterRoot(t),yield this.mtoonMaterialPlugin.afterRoot(t);const e=t.userData.vrmMeta,n=t.userData.vrmHumanoid;if(e&&n){const r=new hwe({scene:t.scene,expressionManager:t.userData.vrmExpressionManager,firstPerson:t.userData.vrmFirstPerson,humanoid:n,lookAt:t.userData.vrmLookAt,meta:e,materials:t.userData.vrmMToonMaterials,springBoneManager:t.userData.vrmSpringBoneManager,nodeConstraintManager:t.userData.vrmNodeConstraintManager});t.userData.vrm=r}})}};function S1e(t){const e=new Set;return t.traverse(n=>{if(!n.isMesh)return;const r=n;e.add(r)}),e}function RU(t,e,n){if(e.size===1){const o=e.values().next().value;if(o.weight===1)return t[o.index]}const r=new Float32Array(t[0].count*3);let i=0;if(n)i=1;else for(const o of e)i+=o.weight;for(const o of e){const a=t[o.index],l=o.weight/i;for(let c=0;cd.getOrCreate(G)).join(","),D=`${C};${_};${N}`;let F=a.get(D);F==null&&(F=T.clone(),R1e(F,O,x),a.set(D,F)),E.geometry.setAttribute("skinIndex",F)}for(const E of y)E.bind(w,new Pt)}}function A1e(t){const e=new Set;return t.traverse(n=>{if(!n.isSkinnedMesh)return;const r=n;e.add(r)}),e}function T1e(t,e){const n=new Set;for(let r=0;rn)return!1;return!0}var hT=class{constructor(){this._objectIndexMap=new Map,this._index=0}get(t){return this._objectIndexMap.get(t)}getOrCreate(t){let e=this._objectIndexMap.get(t);return e==null&&(e=this._index,this._objectIndexMap.set(t,e),this._index++),e}};function I1e(t){var e,n,r,i;const s=new Qt;s.name=t.name,s.setIndex(t.index);for(const[o,a]of Object.entries(t.attributes))s.setAttribute(o,a);for(const[o,a]of Object.entries(t.morphAttributes)){const l=o;s.morphAttributes[l]=a.concat()}s.morphTargetsRelative=t.morphTargetsRelative,s.groups=[];for(const o of t.groups)s.addGroup(o.start,o.count,o.materialIndex);return s.boundingSphere=(n=(e=t.boundingSphere)==null?void 0:e.clone())!=null?n:null,s.boundingBox=(i=(r=t.boundingBox)==null?void 0:r.clone())!=null?i:null,s.drawRange.start=t.drawRange.start,s.drawRange.count=t.drawRange.count,s.userData=t.userData,s}function NU(t){if(Object.values(t).forEach(e=>{e!=null&&e.isTexture&&e.dispose()}),t.isShaderMaterial){const e=t.uniforms;e&&Object.values(e).forEach(n=>{const r=n.value;r!=null&&r.isTexture&&r.dispose()})}t.dispose()}function k1e(t){const e=t.geometry;e&&e.dispose();const n=t.skeleton;n&&n.dispose();const r=t.material;r&&(Array.isArray(r)?r.forEach(i=>NU(i)):r&&NU(r))}function O1e(t){t.traverse(k1e)}function L1e(t,e){var n,r;console.warn("VRMUtils.removeUnnecessaryJoints: removeUnnecessaryJoints is deprecated. Use combineSkeletons instead. combineSkeletons contributes more to the performance improvement. This function will be removed in the next major version.");const i=(n=e==null?void 0:e.experimentalSameBoneCounts)!=null?n:!1,s=[];t.traverse(l=>{l.type==="SkinnedMesh"&&s.push(l)});const o=new Map;let a=0;for(const l of s){const d=l.geometry.getAttribute("skinIndex");if(o.has(d))continue;const f=new Map,m=new Map;for(let y=0;y{e.addGroup(o.start,o.count,o.materialIndex)}),e.boundingBox=(r=(n=t.boundingBox)==null?void 0:n.clone())!=null?r:null,e.boundingSphere=(s=(i=t.boundingSphere)==null?void 0:i.clone())!=null?s:null,e.setDrawRange(t.drawRange.start,t.drawRange.count),e.userData=t.userData}function F1e(t,e,n){const r=e.array,i=new r.constructor(r.length);for(let s=0;s{if(!n.isMesh)return;const r=n,i=r.geometry,s=i.index;if(s==null)return;const o=e.get(i);if(o!=null){r.geometry=o;return}const{isVertexUsed:a,vertexCount:l,verticesUsed:c}=D1e(i.attributes,s);if(c===l)return;const{originalIndexNewIndexMap:d,newIndexOriginalIndexMap:f}=j1e(a),m=new Qt;U1e(i,m),e.set(i,m),F1e(m,s,d),B1e(m,i.attributes,f),V1e(m,i.morphAttributes,f),r.geometry=m}),Array.from(e.keys()).forEach(n=>{n.dispose()})}function W1e(t){var e;((e=t.meta)==null?void 0:e.metaVersion)==="0"&&(t.scene.rotation.y=Math.PI)}var qc=class{constructor(){}};qc.combineMorphs=M1e;qc.combineSkeletons=E1e;qc.deepDispose=O1e;qc.removeUnnecessaryJoints=L1e;qc.removeUnnecessaryVertices=G1e;qc.rotateVRM0=W1e;/*! +`;n.vertexShader=i+n.vertexShader,n.fragmentShader=i+n.fragmentShader,r<154&&(n.fragmentShader=n.fragmentShader.replace("#include ","#include "))}}get color(){return this.uniforms.litFactor.value}set color(t){this.uniforms.litFactor.value=t}get map(){return this.uniforms.map.value}set map(t){this.uniforms.map.value=t}get normalMap(){return this.uniforms.normalMap.value}set normalMap(t){this.uniforms.normalMap.value=t}get normalScale(){return this.uniforms.normalScale.value}set normalScale(t){this.uniforms.normalScale.value=t}get emissive(){return this.uniforms.emissive.value}set emissive(t){this.uniforms.emissive.value=t}get emissiveIntensity(){return this.uniforms.emissiveIntensity.value}set emissiveIntensity(t){this.uniforms.emissiveIntensity.value=t}get emissiveMap(){return this.uniforms.emissiveMap.value}set emissiveMap(t){this.uniforms.emissiveMap.value=t}get shadeColorFactor(){return this.uniforms.shadeColorFactor.value}set shadeColorFactor(t){this.uniforms.shadeColorFactor.value=t}get shadeMultiplyTexture(){return this.uniforms.shadeMultiplyTexture.value}set shadeMultiplyTexture(t){this.uniforms.shadeMultiplyTexture.value=t}get shadingShiftFactor(){return this.uniforms.shadingShiftFactor.value}set shadingShiftFactor(t){this.uniforms.shadingShiftFactor.value=t}get shadingShiftTexture(){return this.uniforms.shadingShiftTexture.value}set shadingShiftTexture(t){this.uniforms.shadingShiftTexture.value=t}get shadingShiftTextureScale(){return this.uniforms.shadingShiftTextureScale.value}set shadingShiftTextureScale(t){this.uniforms.shadingShiftTextureScale.value=t}get shadingToonyFactor(){return this.uniforms.shadingToonyFactor.value}set shadingToonyFactor(t){this.uniforms.shadingToonyFactor.value=t}get giEqualizationFactor(){return this.uniforms.giEqualizationFactor.value}set giEqualizationFactor(t){this.uniforms.giEqualizationFactor.value=t}get matcapFactor(){return this.uniforms.matcapFactor.value}set matcapFactor(t){this.uniforms.matcapFactor.value=t}get matcapTexture(){return this.uniforms.matcapTexture.value}set matcapTexture(t){this.uniforms.matcapTexture.value=t}get parametricRimColorFactor(){return this.uniforms.parametricRimColorFactor.value}set parametricRimColorFactor(t){this.uniforms.parametricRimColorFactor.value=t}get rimMultiplyTexture(){return this.uniforms.rimMultiplyTexture.value}set rimMultiplyTexture(t){this.uniforms.rimMultiplyTexture.value=t}get rimLightingMixFactor(){return this.uniforms.rimLightingMixFactor.value}set rimLightingMixFactor(t){this.uniforms.rimLightingMixFactor.value=t}get parametricRimFresnelPowerFactor(){return this.uniforms.parametricRimFresnelPowerFactor.value}set parametricRimFresnelPowerFactor(t){this.uniforms.parametricRimFresnelPowerFactor.value=t}get parametricRimLiftFactor(){return this.uniforms.parametricRimLiftFactor.value}set parametricRimLiftFactor(t){this.uniforms.parametricRimLiftFactor.value=t}get outlineWidthMultiplyTexture(){return this.uniforms.outlineWidthMultiplyTexture.value}set outlineWidthMultiplyTexture(t){this.uniforms.outlineWidthMultiplyTexture.value=t}get outlineWidthFactor(){return this.uniforms.outlineWidthFactor.value}set outlineWidthFactor(t){this.uniforms.outlineWidthFactor.value=t}get outlineColorFactor(){return this.uniforms.outlineColorFactor.value}set outlineColorFactor(t){this.uniforms.outlineColorFactor.value=t}get outlineLightingMixFactor(){return this.uniforms.outlineLightingMixFactor.value}set outlineLightingMixFactor(t){this.uniforms.outlineLightingMixFactor.value=t}get uvAnimationMaskTexture(){return this.uniforms.uvAnimationMaskTexture.value}set uvAnimationMaskTexture(t){this.uniforms.uvAnimationMaskTexture.value=t}get uvAnimationScrollXOffset(){return this.uniforms.uvAnimationScrollXOffset.value}set uvAnimationScrollXOffset(t){this.uniforms.uvAnimationScrollXOffset.value=t}get uvAnimationScrollYOffset(){return this.uniforms.uvAnimationScrollYOffset.value}set uvAnimationScrollYOffset(t){this.uniforms.uvAnimationScrollYOffset.value=t}get uvAnimationRotationPhase(){return this.uniforms.uvAnimationRotationPhase.value}set uvAnimationRotationPhase(t){this.uniforms.uvAnimationRotationPhase.value=t}get ignoreVertexColor(){return this._ignoreVertexColor}set ignoreVertexColor(t){this._ignoreVertexColor=t,this.needsUpdate=!0}get v0CompatShade(){return this._v0CompatShade}set v0CompatShade(t){this._v0CompatShade=t,this.needsUpdate=!0}get debugMode(){return this._debugMode}set debugMode(t){this._debugMode=t,this.needsUpdate=!0}get outlineWidthMode(){return this._outlineWidthMode}set outlineWidthMode(t){this._outlineWidthMode=t,this.needsUpdate=!0}get isOutline(){return this._isOutline}set isOutline(t){this._isOutline=t,this.needsUpdate=!0}get isMToonMaterial(){return!0}update(t){this._uploadUniformsWorkaround(),this._updateUVAnimation(t)}copy(t){return super.copy(t),this.map=t.map,this.normalMap=t.normalMap,this.emissiveMap=t.emissiveMap,this.shadeMultiplyTexture=t.shadeMultiplyTexture,this.shadingShiftTexture=t.shadingShiftTexture,this.matcapTexture=t.matcapTexture,this.rimMultiplyTexture=t.rimMultiplyTexture,this.outlineWidthMultiplyTexture=t.outlineWidthMultiplyTexture,this.uvAnimationMaskTexture=t.uvAnimationMaskTexture,this.normalMapType=t.normalMapType,this.uvAnimationScrollXSpeedFactor=t.uvAnimationScrollXSpeedFactor,this.uvAnimationScrollYSpeedFactor=t.uvAnimationScrollYSpeedFactor,this.uvAnimationRotationSpeedFactor=t.uvAnimationRotationSpeedFactor,this.ignoreVertexColor=t.ignoreVertexColor,this.v0CompatShade=t.v0CompatShade,this.debugMode=t.debugMode,this.outlineWidthMode=t.outlineWidthMode,this.isOutline=t.isOutline,this.needsUpdate=!0,this}_updateUVAnimation(t){this.uniforms.uvAnimationScrollXOffset.value+=t*this.uvAnimationScrollXSpeedFactor,this.uniforms.uvAnimationScrollYOffset.value+=t*this.uvAnimationScrollYSpeedFactor,this.uniforms.uvAnimationRotationPhase.value+=t*this.uvAnimationRotationSpeedFactor,this.uniforms.alphaTest.value=this.alphaTest,this.uniformsNeedUpdate=!0}_uploadUniformsWorkaround(){this.uniforms.opacity.value=this.opacity,this._updateTextureMatrix(this.uniforms.map,this.uniforms.mapUvTransform),this._updateTextureMatrix(this.uniforms.normalMap,this.uniforms.normalMapUvTransform),this._updateTextureMatrix(this.uniforms.emissiveMap,this.uniforms.emissiveMapUvTransform),this._updateTextureMatrix(this.uniforms.shadeMultiplyTexture,this.uniforms.shadeMultiplyTextureUvTransform),this._updateTextureMatrix(this.uniforms.shadingShiftTexture,this.uniforms.shadingShiftTextureUvTransform),this._updateTextureMatrix(this.uniforms.matcapTexture,this.uniforms.matcapTextureUvTransform),this._updateTextureMatrix(this.uniforms.rimMultiplyTexture,this.uniforms.rimMultiplyTextureUvTransform),this._updateTextureMatrix(this.uniforms.outlineWidthMultiplyTexture,this.uniforms.outlineWidthMultiplyTextureUvTransform),this._updateTextureMatrix(this.uniforms.uvAnimationMaskTexture,this.uniforms.uvAnimationMaskTextureUvTransform),this.uniformsNeedUpdate=!0}_generateDefines(){const t=parseInt(Td,10),e=this.outlineWidthMultiplyTexture!==null,n=this.map!==null||this.normalMap!==null||this.emissiveMap!==null||this.shadeMultiplyTexture!==null||this.shadingShiftTexture!==null||this.rimMultiplyTexture!==null||this.uvAnimationMaskTexture!==null;return{THREE_VRM_THREE_REVISION:t,OUTLINE:this._isOutline,MTOON_USE_UV:e||n,MTOON_UVS_VERTEX_ONLY:e&&!n,V0_COMPAT_SHADE:this._v0CompatShade,USE_SHADEMULTIPLYTEXTURE:this.shadeMultiplyTexture!==null,USE_SHADINGSHIFTTEXTURE:this.shadingShiftTexture!==null,USE_MATCAPTEXTURE:this.matcapTexture!==null,USE_RIMMULTIPLYTEXTURE:this.rimMultiplyTexture!==null,USE_OUTLINEWIDTHMULTIPLYTEXTURE:this._isOutline&&this.outlineWidthMultiplyTexture!==null,USE_UVANIMATIONMASKTEXTURE:this.uvAnimationMaskTexture!==null,IGNORE_VERTEX_COLOR:this._ignoreVertexColor===!0,DEBUG_NORMAL:this._debugMode==="normal",DEBUG_LITSHADERATE:this._debugMode==="litShadeRate",DEBUG_UV:this._debugMode==="uv",OUTLINE_WIDTH_SCREEN:this._isOutline&&this._outlineWidthMode===_U.ScreenCoordinates}}_updateTextureMatrix(t,e){t.value&&(t.value.matrixAutoUpdate&&t.value.updateMatrix(),e.value.copy(t.value.matrix))}},Ewe=new Set(["1.0","1.0-beta"]),HG=class Q_{get name(){return Q_.EXTENSION_NAME}constructor(e,n={}){var r,i,s,o;this.parser=e,this.materialType=(r=n.materialType)!=null?r:Mwe,this.renderOrderOffset=(i=n.renderOrderOffset)!=null?i:0,this.v0CompatShade=(s=n.v0CompatShade)!=null?s:!1,this.debugMode=(o=n.debugMode)!=null?o:"none",this._mToonMaterialSet=new Set}beforeRoot(){return uh(this,null,function*(){this._removeUnlitExtensionIfMToonExists()})}afterRoot(e){return uh(this,null,function*(){e.userData.vrmMToonMaterials=Array.from(this._mToonMaterialSet)})}getMaterialType(e){return this._getMToonExtension(e)?this.materialType:null}extendMaterialParams(e,n){const r=this._getMToonExtension(e);return r?this._extendMaterialParams(r,n):null}loadMesh(e){return uh(this,null,function*(){var n;const r=this.parser,s=(n=r.json.meshes)==null?void 0:n[e];if(s==null)throw new Error(`MToonMaterialLoaderPlugin: Attempt to use meshes[${e}] of glTF but the mesh doesn't exist`);const o=s.primitives,a=yield r.loadMesh(e);if(o.length===1){const l=a,c=o[0].material;c!=null&&this._setupPrimitive(l,c)}else{const l=a;for(let c=0;c{var o;this._getMToonExtension(s)&&((o=i.extensions)!=null&&o.KHR_materials_unlit)&&delete i.extensions.KHR_materials_unlit})}_getMToonExtension(e){var n,r;const o=(n=this.parser.json.materials)==null?void 0:n[e];if(o==null){console.warn(`MToonMaterialLoaderPlugin: Attempt to use materials[${e}] of glTF but the material doesn't exist`);return}const a=(r=o.extensions)==null?void 0:r[Q_.EXTENSION_NAME];if(a==null)return;const l=a.specVersion;if(!Ewe.has(l)){console.warn(`MToonMaterialLoaderPlugin: Unknown ${Q_.EXTENSION_NAME} specVersion "${l}"`);return}return a}_extendMaterialParams(e,n){return uh(this,null,function*(){var r;delete n.metalness,delete n.roughness;const i=new xwe(this.parser,n);i.assignPrimitive("transparentWithZWrite",e.transparentWithZWrite),i.assignColor("shadeColorFactor",e.shadeColorFactor),i.assignTexture("shadeMultiplyTexture",e.shadeMultiplyTexture,!0),i.assignPrimitive("shadingShiftFactor",e.shadingShiftFactor),i.assignTexture("shadingShiftTexture",e.shadingShiftTexture,!0),i.assignPrimitive("shadingShiftTextureScale",(r=e.shadingShiftTexture)==null?void 0:r.scale),i.assignPrimitive("shadingToonyFactor",e.shadingToonyFactor),i.assignPrimitive("giEqualizationFactor",e.giEqualizationFactor),i.assignColor("matcapFactor",e.matcapFactor),i.assignTexture("matcapTexture",e.matcapTexture,!0),i.assignColor("parametricRimColorFactor",e.parametricRimColorFactor),i.assignTexture("rimMultiplyTexture",e.rimMultiplyTexture,!0),i.assignPrimitive("rimLightingMixFactor",e.rimLightingMixFactor),i.assignPrimitive("parametricRimFresnelPowerFactor",e.parametricRimFresnelPowerFactor),i.assignPrimitive("parametricRimLiftFactor",e.parametricRimLiftFactor),i.assignPrimitive("outlineWidthMode",e.outlineWidthMode),i.assignPrimitive("outlineWidthFactor",e.outlineWidthFactor),i.assignTexture("outlineWidthMultiplyTexture",e.outlineWidthMultiplyTexture,!1),i.assignColor("outlineColorFactor",e.outlineColorFactor),i.assignPrimitive("outlineLightingMixFactor",e.outlineLightingMixFactor),i.assignTexture("uvAnimationMaskTexture",e.uvAnimationMaskTexture,!1),i.assignPrimitive("uvAnimationScrollXSpeedFactor",e.uvAnimationScrollXSpeedFactor),i.assignPrimitive("uvAnimationScrollYSpeedFactor",e.uvAnimationScrollYSpeedFactor),i.assignPrimitive("uvAnimationRotationSpeedFactor",e.uvAnimationRotationSpeedFactor),i.assignPrimitive("v0CompatShade",this.v0CompatShade),i.assignPrimitive("debugMode",this.debugMode),yield i.pending})}_setupPrimitive(e,n){const r=this._getMToonExtension(n);if(r){const i=this._parseRenderOrder(r);e.renderOrder=i+this.renderOrderOffset,this._generateOutline(e),this._addToMaterialSet(e);return}}_shouldGenerateOutline(e){return typeof e.outlineWidthMode=="string"&&e.outlineWidthMode!=="none"&&typeof e.outlineWidthFactor=="number"&&e.outlineWidthFactor>0}_generateOutline(e){const n=e.material;if(!(n instanceof Gr)||!this._shouldGenerateOutline(n))return;e.material=[n];const r=n.clone();r.name+=" (Outline)",r.isOutline=!0,r.side=ss,e.material.push(r);const i=e.geometry,s=i.index?i.index.count:i.attributes.position.count/3;i.addGroup(0,s,0),i.addGroup(0,s,1)}_addToMaterialSet(e){const n=e.material,r=new Set;Array.isArray(n)?n.forEach(i=>r.add(i)):r.add(n);for(const i of r)this._mToonMaterialSet.add(i)}_parseRenderOrder(e){var n;return(e.transparentWithZWrite?0:19)+((n=e.renderQueueOffsetNumber)!=null?n:0)}};HG.EXTENSION_NAME="VRMC_materials_mtoon";var Awe=HG,Twe=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())}),VG=class pP{get name(){return pP.EXTENSION_NAME}constructor(e){this.parser=e}extendMaterialParams(e,n){return Twe(this,null,function*(){const r=this._getHDREmissiveMultiplierExtension(e);if(r==null)return;console.warn("VRMMaterialsHDREmissiveMultiplierLoaderPlugin: `VRMC_materials_hdr_emissiveMultiplier` is archived. Use `KHR_materials_emissive_strength` instead.");const i=r.emissiveMultiplier;n.emissiveIntensity=i})}_getHDREmissiveMultiplierExtension(e){var n,r;const o=(n=this.parser.json.materials)==null?void 0:n[e];if(o==null){console.warn(`VRMMaterialsHDREmissiveMultiplierLoaderPlugin: Attempt to use materials[${e}] of glTF but the material doesn't exist`);return}const a=(r=o.extensions)==null?void 0:r[pP.EXTENSION_NAME];if(a!=null)return a}};VG.EXTENSION_NAME="VRMC_materials_hdr_emissiveMultiplier";var Cwe=VG,Pwe=Object.defineProperty,Rwe=Object.defineProperties,Nwe=Object.getOwnPropertyDescriptors,wU=Object.getOwnPropertySymbols,Iwe=Object.prototype.hasOwnProperty,kwe=Object.prototype.propertyIsEnumerable,SU=(t,e,n)=>e in t?Pwe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,gl=(t,e)=>{for(var n in e||(e={}))Iwe.call(e,n)&&SU(t,n,e[n]);if(wU)for(var n of wU(e))kwe.call(e,n)&&SU(t,n,e[n]);return t},MU=(t,e)=>Rwe(t,Nwe(e)),Owe=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())});function Lm(t){return Math.pow(t,2.2)}var Lwe=class{get name(){return"VRMMaterialsV0CompatPlugin"}constructor(t){var e;this.parser=t,this._renderQueueMapTransparent=new Map,this._renderQueueMapTransparentZWrite=new Map;const n=this.parser.json;n.extensionsUsed=(e=n.extensionsUsed)!=null?e:[],n.extensionsUsed.indexOf("KHR_texture_transform")===-1&&n.extensionsUsed.push("KHR_texture_transform")}beforeRoot(){return Owe(this,null,function*(){var t;const e=this.parser.json,n=(t=e.extensions)==null?void 0:t.VRM,r=n==null?void 0:n.materialProperties;r&&(this._populateRenderQueueMap(r),r.forEach((i,s)=>{var o,a;const l=(o=e.materials)==null?void 0:o[s];if(l==null){console.warn(`VRMMaterialsV0CompatPlugin: Attempt to use materials[${s}] of glTF but the material doesn't exist`);return}if(i.shader==="VRM/MToon"){const c=this._parseV0MToonProperties(i,l);e.materials[s]=c}else if((a=i.shader)!=null&&a.startsWith("VRM/Unlit")){const c=this._parseV0UnlitProperties(i,l);e.materials[s]=c}else i.shader==="VRM_USE_GLTFSHADER"||console.warn(`VRMMaterialsV0CompatPlugin: Unknown shader: ${i.shader}`)}))})}_parseV0MToonProperties(t,e){var n,r,i,s,o,a,l,c,d,f,m,y,x,S,w,_,E,T,C,O,N,D,F,G,k,U,H,ne,te,he,oe,fe,B,J,Y,V,q,pe,le,ce,be,Se,Xe,Me,We,qe,ue,Z,Ge,De,$e,et,bt,ct,ee;const $=(r=(n=t.keywordMap)==null?void 0:n._ALPHABLEND_ON)!=null?r:!1,ze=((i=t.floatProperties)==null?void 0:i._ZWrite)===1&&$,He=this._v0ParseRenderQueue(t),Be=(o=(s=t.keywordMap)==null?void 0:s._ALPHATEST_ON)!=null?o:!1,gt=$?"BLEND":Be?"MASK":"OPAQUE",rt=Be?(l=(a=t.floatProperties)==null?void 0:a._Cutoff)!=null?l:.5:void 0,Bt=((d=(c=t.floatProperties)==null?void 0:c._CullMode)!=null?d:2)===0,Ke=this._portTextureTransform(t),re=((m=(f=t.vectorProperties)==null?void 0:f._Color)!=null?m:[1,1,1,1]).map((it,xt)=>xt===3?it:Lm(it)),Qe=(y=t.textureProperties)==null?void 0:y._MainTex,wt=Qe!=null?{index:Qe,extensions:gl({},Ke)}:void 0,pt=(S=(x=t.floatProperties)==null?void 0:x._BumpScale)!=null?S:1,de=(w=t.textureProperties)==null?void 0:w._BumpMap,Q=de!=null?{index:de,scale:pt,extensions:gl({},Ke)}:void 0,Ae=((E=(_=t.vectorProperties)==null?void 0:_._EmissionColor)!=null?E:[0,0,0,1]).map(Lm),ie=(T=t.textureProperties)==null?void 0:T._EmissionMap,Ue=ie!=null?{index:ie,extensions:gl({},Ke)}:void 0,Te=((O=(C=t.vectorProperties)==null?void 0:C._ShadeColor)!=null?O:[.97,.81,.86,1]).map(Lm),Oe=(N=t.textureProperties)==null?void 0:N._ShadeTexture,Ye=Oe!=null?{index:Oe,extensions:gl({},Ke)}:void 0;let ft=(F=(D=t.floatProperties)==null?void 0:D._ShadeShift)!=null?F:0,Yt=(k=(G=t.floatProperties)==null?void 0:G._ShadeToony)!=null?k:.9;Yt=gr.lerp(Yt,1,.5+.5*ft),ft=-ft-(1-Yt);const un=(H=(U=t.floatProperties)==null?void 0:U._IndirectLightIntensity)!=null?H:.1,Cn=un?1-un:void 0,en=(ne=t.textureProperties)==null?void 0:ne._SphereAdd,Hn=en!=null?[1,1,1]:void 0,hr=en!=null?{index:en}:void 0,Si=(he=(te=t.floatProperties)==null?void 0:te._RimLightingMix)!=null?he:0,ra=(oe=t.textureProperties)==null?void 0:oe._RimTexture,Mi=ra!=null?{index:ra,extensions:gl({},Ke)}:void 0,Ka=((B=(fe=t.vectorProperties)==null?void 0:fe._RimColor)!=null?B:[0,0,0,1]).map(Lm),Ns=(Y=(J=t.floatProperties)==null?void 0:J._RimFresnelPower)!=null?Y:1,ia=(q=(V=t.floatProperties)==null?void 0:V._RimLift)!=null?q:0,Ei=["none","worldCoordinates","screenCoordinates"][(le=(pe=t.floatProperties)==null?void 0:pe._OutlineWidthMode)!=null?le:0];let Ao=(be=(ce=t.floatProperties)==null?void 0:ce._OutlineWidth)!=null?be:0;Ao=.01*Ao;const sa=(Se=t.textureProperties)==null?void 0:Se._OutlineWidthTexture,cu=sa!=null?{index:sa,extensions:gl({},Ke)}:void 0,uu=((Me=(Xe=t.vectorProperties)==null?void 0:Xe._OutlineColor)!=null?Me:[0,0,0]).map(Lm),du=((qe=(We=t.floatProperties)==null?void 0:We._OutlineColorMode)!=null?qe:0)===1?(Z=(ue=t.floatProperties)==null?void 0:ue._OutlineLightingMix)!=null?Z:1:0,Gl=(Ge=t.textureProperties)==null?void 0:Ge._UvAnimMaskTexture,K=Gl!=null?{index:Gl,extensions:gl({},Ke)}:void 0,xe=($e=(De=t.floatProperties)==null?void 0:De._UvAnimScrollX)!=null?$e:0;let Pe=(bt=(et=t.floatProperties)==null?void 0:et._UvAnimScrollY)!=null?bt:0;Pe!=null&&(Pe=-Pe);const Ie=(ee=(ct=t.floatProperties)==null?void 0:ct._UvAnimRotation)!=null?ee:0,we={specVersion:"1.0",transparentWithZWrite:ze,renderQueueOffsetNumber:He,shadeColorFactor:Te,shadeMultiplyTexture:Ye,shadingShiftFactor:ft,shadingToonyFactor:Yt,giEqualizationFactor:Cn,matcapFactor:Hn,matcapTexture:hr,rimLightingMixFactor:Si,rimMultiplyTexture:Mi,parametricRimColorFactor:Ka,parametricRimFresnelPowerFactor:Ns,parametricRimLiftFactor:ia,outlineWidthMode:Ei,outlineWidthFactor:Ao,outlineWidthMultiplyTexture:cu,outlineColorFactor:uu,outlineLightingMixFactor:du,uvAnimationMaskTexture:K,uvAnimationScrollXSpeedFactor:xe,uvAnimationScrollYSpeedFactor:Pe,uvAnimationRotationSpeedFactor:Ie};return MU(gl({},e),{pbrMetallicRoughness:{baseColorFactor:re,baseColorTexture:wt},normalTexture:Q,emissiveTexture:Ue,emissiveFactor:Ae,alphaMode:gt,alphaCutoff:rt,doubleSided:Bt,extensions:{VRMC_materials_mtoon:we}})}_parseV0UnlitProperties(t,e){var n,r,i,s,o;const a=t.shader==="VRM/UnlitTransparentZWrite",l=t.shader==="VRM/UnlitTransparent"||a,c=this._v0ParseRenderQueue(t),d=t.shader==="VRM/UnlitCutout",f=l?"BLEND":d?"MASK":"OPAQUE",m=d?(r=(n=t.floatProperties)==null?void 0:n._Cutoff)!=null?r:.5:void 0,y=this._portTextureTransform(t),x=((s=(i=t.vectorProperties)==null?void 0:i._Color)!=null?s:[1,1,1,1]).map(Lm),S=(o=t.textureProperties)==null?void 0:o._MainTex,w=S!=null?{index:S,extensions:gl({},y)}:void 0,_={specVersion:"1.0",transparentWithZWrite:a,renderQueueOffsetNumber:c,shadeColorFactor:x,shadeMultiplyTexture:w};return MU(gl({},e),{pbrMetallicRoughness:{baseColorFactor:x,baseColorTexture:w},alphaMode:f,alphaCutoff:m,extensions:{VRMC_materials_mtoon:_}})}_portTextureTransform(t){var e,n,r,i,s;const o=(e=t.vectorProperties)==null?void 0:e._MainTex;if(o==null)return{};const a=[(n=o==null?void 0:o[0])!=null?n:0,(r=o==null?void 0:o[1])!=null?r:0],l=[(i=o==null?void 0:o[2])!=null?i:1,(s=o==null?void 0:o[3])!=null?s:1];return a[1]=1-l[1]-a[1],{KHR_texture_transform:{offset:a,scale:l}}}_v0ParseRenderQueue(t){var e,n;const r=t.shader==="VRM/UnlitTransparentZWrite",i=((e=t.keywordMap)==null?void 0:e._ALPHABLEND_ON)!=null||t.shader==="VRM/UnlitTransparent"||r,s=((n=t.floatProperties)==null?void 0:n._ZWrite)===1||r;let o=0;if(i){const a=t.renderQueue;a!=null&&(s?o=this._renderQueueMapTransparentZWrite.get(a):o=this._renderQueueMapTransparent.get(a))}return o}_populateRenderQueueMap(t){const e=new Set,n=new Set;t.forEach(r=>{var i,s;const o=r.shader==="VRM/UnlitTransparentZWrite",a=((i=r.keywordMap)==null?void 0:i._ALPHABLEND_ON)!=null||r.shader==="VRM/UnlitTransparent"||o,l=((s=r.floatProperties)==null?void 0:s._ZWrite)===1||o;if(a){const c=r.renderQueue;c!=null&&(l?n.add(c):e.add(c))}}),e.size>10&&console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${e.size} render queues for Transparent materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`),n.size>10&&console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${n.size} render queues for TransparentZWrite materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`),Array.from(e).sort().forEach((r,i)=>{const s=Math.min(Math.max(i-e.size+1,-9),0);this._renderQueueMapTransparent.set(r,s)}),Array.from(n).sort().forEach((r,i)=>{const s=Math.min(Math.max(i,0),9);this._renderQueueMapTransparentZWrite.set(r,s)})}},EU=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())}),id=new X,aT=class extends Ts{constructor(t){super(),this._attrPosition=new Jt(new Float32Array([0,0,0,0,0,0]),3),this._attrPosition.setUsage(r6);const e=new Qt;e.setAttribute("position",this._attrPosition);const n=new $r({color:16711935,depthTest:!1,depthWrite:!1});this._line=new zl(e,n),this.add(this._line),this.constraint=t}updateMatrixWorld(t){id.setFromMatrixPosition(this.constraint.destination.matrixWorld),this._attrPosition.setXYZ(0,id.x,id.y,id.z),this.constraint.source&&id.setFromMatrixPosition(this.constraint.source.matrixWorld),this._attrPosition.setXYZ(1,id.x,id.y,id.z),this._attrPosition.needsUpdate=!0,super.updateMatrixWorld(t)}};function AU(t,e){return e.set(t.elements[12],t.elements[13],t.elements[14])}var Dwe=new X,jwe=new X;function Uwe(t,e){return t.decompose(Dwe,e,jwe),e}function z1(t){return t.invert?t.invert():t.inverse(),t}var aN=class{constructor(t,e){this.destination=t,this.source=e,this.weight=1}},Fwe=new X,zwe=new X,Bwe=new X,Hwe=new Kt,Vwe=new Kt,Gwe=new Kt,Wwe=class extends aN{get aimAxis(){return this._aimAxis}set aimAxis(t){this._aimAxis=t,this._v3AimAxis.set(t==="PositiveX"?1:t==="NegativeX"?-1:0,t==="PositiveY"?1:t==="NegativeY"?-1:0,t==="PositiveZ"?1:t==="NegativeZ"?-1:0)}get dependencies(){const t=new Set([this.source]);return this.destination.parent&&t.add(this.destination.parent),t}constructor(t,e){super(t,e),this._aimAxis="PositiveX",this._v3AimAxis=new X(1,0,0),this._dstRestQuat=new Kt}setInitState(){this._dstRestQuat.copy(this.destination.quaternion)}update(){this.destination.updateWorldMatrix(!0,!1),this.source.updateWorldMatrix(!0,!1);const t=Hwe.identity(),e=Vwe.identity();this.destination.parent&&(Uwe(this.destination.parent.matrixWorld,t),z1(e.copy(t)));const n=Fwe.copy(this._v3AimAxis).applyQuaternion(this._dstRestQuat).applyQuaternion(t),r=AU(this.source.matrixWorld,zwe).sub(AU(this.destination.matrixWorld,Bwe)).normalize(),i=Gwe.setFromUnitVectors(n,r).premultiply(e).multiply(t).multiply(this._dstRestQuat);this.destination.quaternion.copy(this._dstRestQuat).slerp(i,this.weight)}};function $we(t,e){const n=[t];let r=t.parent;for(;r!==null;)n.unshift(r),r=r.parent;n.forEach(i=>{e(i)})}var Xwe=class{constructor(){this._constraints=new Set,this._objectConstraintsMap=new Map}get constraints(){return this._constraints}addConstraint(t){this._constraints.add(t);let e=this._objectConstraintsMap.get(t.destination);e==null&&(e=new Set,this._objectConstraintsMap.set(t.destination,e)),e.add(t)}deleteConstraint(t){this._constraints.delete(t),this._objectConstraintsMap.get(t.destination).delete(t)}setInitState(){const t=new Set,e=new Set;for(const n of this._constraints)this._processConstraint(n,t,e,r=>r.setInitState())}update(){const t=new Set,e=new Set;for(const n of this._constraints)this._processConstraint(n,t,e,r=>r.update())}_processConstraint(t,e,n,r){if(n.has(t))return;if(e.has(t))throw new Error("VRMNodeConstraintManager: Circular dependency detected while updating constraints");e.add(t);const i=t.dependencies;for(const s of i)$we(s,o=>{const a=this._objectConstraintsMap.get(o);if(a)for(const l of a)this._processConstraint(l,e,n,r)});r(t),n.add(t)}},qwe=new Kt,Kwe=new Kt,Ywe=class extends aN{get dependencies(){return new Set([this.source])}constructor(t,e){super(t,e),this._dstRestQuat=new Kt,this._invSrcRestQuat=new Kt}setInitState(){this._dstRestQuat.copy(this.destination.quaternion),z1(this._invSrcRestQuat.copy(this.source.quaternion))}update(){const t=qwe.copy(this._invSrcRestQuat).multiply(this.source.quaternion),e=Kwe.copy(this._dstRestQuat).multiply(t);this.destination.quaternion.copy(this._dstRestQuat).slerp(e,this.weight)}},Zwe=new X,Qwe=new Kt,Jwe=new Kt,e1e=class extends aN{get rollAxis(){return this._rollAxis}set rollAxis(t){this._rollAxis=t,this._v3RollAxis.set(t==="X"?1:0,t==="Y"?1:0,t==="Z"?1:0)}get dependencies(){return new Set([this.source])}constructor(t,e){super(t,e),this._rollAxis="X",this._v3RollAxis=new X(1,0,0),this._dstRestQuat=new Kt,this._invDstRestQuat=new Kt,this._invSrcRestQuatMulDstRestQuat=new Kt}setInitState(){this._dstRestQuat.copy(this.destination.quaternion),z1(this._invDstRestQuat.copy(this._dstRestQuat)),z1(this._invSrcRestQuatMulDstRestQuat.copy(this.source.quaternion)).multiply(this._dstRestQuat)}update(){const t=Qwe.copy(this._invDstRestQuat).multiply(this.source.quaternion).multiply(this._invSrcRestQuatMulDstRestQuat),e=Zwe.copy(this._v3RollAxis).applyQuaternion(t),r=Jwe.setFromUnitVectors(e,this._v3RollAxis).premultiply(this._dstRestQuat).multiply(t);this.destination.quaternion.copy(this._dstRestQuat).slerp(r,this.weight)}},t1e=new Set(["1.0","1.0-beta"]),GG=class W0{get name(){return W0.EXTENSION_NAME}constructor(e,n){this.parser=e,this.helperRoot=n==null?void 0:n.helperRoot}afterRoot(e){return EU(this,null,function*(){e.userData.vrmNodeConstraintManager=yield this._import(e)})}_import(e){return EU(this,null,function*(){var n;const r=this.parser.json;if(!(((n=r.extensionsUsed)==null?void 0:n.indexOf(W0.EXTENSION_NAME))!==-1))return null;const s=new Xwe,o=yield this.parser.getDependencies("node");return o.forEach((a,l)=>{var c;const d=r.nodes[l],f=(c=d==null?void 0:d.extensions)==null?void 0:c[W0.EXTENSION_NAME];if(f==null)return;const m=f.specVersion;if(!t1e.has(m)){console.warn(`VRMNodeConstraintLoaderPlugin: Unknown ${W0.EXTENSION_NAME} specVersion "${m}"`);return}const y=f.constraint;if(y.roll!=null){const x=this._importRollConstraint(a,o,y.roll);s.addConstraint(x)}else if(y.aim!=null){const x=this._importAimConstraint(a,o,y.aim);s.addConstraint(x)}else if(y.rotation!=null){const x=this._importRotationConstraint(a,o,y.rotation);s.addConstraint(x)}}),e.scene.updateMatrixWorld(),s.setInitState(),s})}_importRollConstraint(e,n,r){const{source:i,rollAxis:s,weight:o}=r,a=n[i],l=new e1e(e,a);if(s!=null&&(l.rollAxis=s),o!=null&&(l.weight=o),this.helperRoot){const c=new aT(l);this.helperRoot.add(c)}return l}_importAimConstraint(e,n,r){const{source:i,aimAxis:s,weight:o}=r,a=n[i],l=new Wwe(e,a);if(s!=null&&(l.aimAxis=s),o!=null&&(l.weight=o),this.helperRoot){const c=new aT(l);this.helperRoot.add(c)}return l}_importRotationConstraint(e,n,r){const{source:i,weight:s}=r,o=n[i],a=new Ywe(e,o);if(s!=null&&(a.weight=s),this.helperRoot){const l=new aT(a);this.helperRoot.add(l)}return a}};GG.EXTENSION_NAME="VRMC_node_constraint";var n1e=GG,D_=(t,e,n)=>new Promise((r,i)=>{var s=l=>{try{a(n.next(l))}catch(c){i(c)}},o=l=>{try{a(n.throw(l))}catch(c){i(c)}},a=l=>l.done?r(l.value):Promise.resolve(l.value).then(s,o);a((n=n.apply(t,e)).next())}),lN=class{},lT=new X,Hf=new X,WG=class extends lN{get type(){return"capsule"}constructor(t){var e,n,r,i;super(),this.offset=(e=t==null?void 0:t.offset)!=null?e:new X(0,0,0),this.tail=(n=t==null?void 0:t.tail)!=null?n:new X(0,0,0),this.radius=(r=t==null?void 0:t.radius)!=null?r:0,this.inside=(i=t==null?void 0:t.inside)!=null?i:!1}calculateCollision(t,e,n,r){lT.setFromMatrixPosition(t),Hf.subVectors(this.tail,this.offset).applyMatrix4(t),Hf.sub(lT);const i=Hf.lengthSq();r.copy(e).sub(lT);const s=Hf.dot(r);s<=0||(i<=s||Hf.multiplyScalar(s/i),r.sub(Hf));const o=r.length(),a=this.inside?this.radius-n-o:o-n-this.radius;return a<0&&(r.multiplyScalar(1/o),this.inside&&r.negate()),a}},cT=new X,TU=new qt,$G=class extends lN{get type(){return"plane"}constructor(t){var e,n;super(),this.offset=(e=t==null?void 0:t.offset)!=null?e:new X(0,0,0),this.normal=(n=t==null?void 0:t.normal)!=null?n:new X(0,0,1)}calculateCollision(t,e,n,r){r.setFromMatrixPosition(t),r.negate().add(e),TU.getNormalMatrix(t),cT.copy(this.normal).applyNormalMatrix(TU).normalize();const i=r.dot(cT)-n;return r.copy(cT),i}},r1e=new X,XG=class extends lN{get type(){return"sphere"}constructor(t){var e,n,r;super(),this.offset=(e=t==null?void 0:t.offset)!=null?e:new X(0,0,0),this.radius=(n=t==null?void 0:t.radius)!=null?n:0,this.inside=(r=t==null?void 0:t.inside)!=null?r:!1}calculateCollision(t,e,n,r){r.subVectors(e,r1e.setFromMatrixPosition(t));const i=r.length(),s=this.inside?this.radius-n-i:i-n-this.radius;return s<0&&(r.multiplyScalar(1/i),this.inside&&r.negate()),s}},vl=new X,i1e=class extends Qt{constructor(t){super(),this.worldScale=1,this._currentRadius=0,this._currentOffset=new X,this._currentTail=new X,this._shape=t,this._attrPos=new Jt(new Float32Array(396),3),this.setAttribute("position",this._attrPos),this._attrIndex=new Jt(new Uint16Array(264),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let t=!1;const e=this._shape.radius/this.worldScale;this._currentRadius!==e&&(this._currentRadius=e,t=!0),this._currentOffset.equals(this._shape.offset)||(this._currentOffset.copy(this._shape.offset),t=!0);const n=vl.copy(this._shape.tail).divideScalar(this.worldScale);this._currentTail.distanceToSquared(n)>1e-10&&(this._currentTail.copy(n),t=!0),t&&this._buildPosition()}_buildPosition(){vl.copy(this._currentTail).sub(this._currentOffset);const t=vl.length()/this._currentRadius;for(let r=0;r<=16;r++){const i=r/16*Math.PI;this._attrPos.setXYZ(r,-Math.sin(i),-Math.cos(i),0),this._attrPos.setXYZ(17+r,t+Math.sin(i),Math.cos(i),0),this._attrPos.setXYZ(34+r,-Math.sin(i),0,-Math.cos(i)),this._attrPos.setXYZ(51+r,t+Math.sin(i),0,Math.cos(i))}for(let r=0;r<32;r++){const i=r/16*Math.PI;this._attrPos.setXYZ(68+r,0,Math.sin(i),Math.cos(i)),this._attrPos.setXYZ(100+r,t,Math.sin(i),Math.cos(i))}const e=Math.atan2(vl.y,Math.sqrt(vl.x*vl.x+vl.z*vl.z)),n=-Math.atan2(vl.z,vl.x);this.rotateZ(e),this.rotateY(n),this.scale(this._currentRadius,this._currentRadius,this._currentRadius),this.translate(this._currentOffset.x,this._currentOffset.y,this._currentOffset.z),this._attrPos.needsUpdate=!0}_buildIndex(){for(let t=0;t<34;t++){const e=(t+1)%34;this._attrIndex.setXY(t*2,t,e),this._attrIndex.setXY(68+t*2,34+t,34+e)}for(let t=0;t<32;t++){const e=(t+1)%32;this._attrIndex.setXY(136+t*2,68+t,68+e),this._attrIndex.setXY(200+t*2,100+t,100+e)}this._attrIndex.needsUpdate=!0}},s1e=class extends Qt{constructor(t){super(),this.worldScale=1,this._currentOffset=new X,this._currentNormal=new X,this._shape=t,this._attrPos=new Jt(new Float32Array(18),3),this.setAttribute("position",this._attrPos),this._attrIndex=new Jt(new Uint16Array(10),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let t=!1;this._currentOffset.equals(this._shape.offset)||(this._currentOffset.copy(this._shape.offset),t=!0),this._currentNormal.equals(this._shape.normal)||(this._currentNormal.copy(this._shape.normal),t=!0),t&&this._buildPosition()}_buildPosition(){this._attrPos.setXYZ(0,-.5,-.5,0),this._attrPos.setXYZ(1,.5,-.5,0),this._attrPos.setXYZ(2,.5,.5,0),this._attrPos.setXYZ(3,-.5,.5,0),this._attrPos.setXYZ(4,0,0,0),this._attrPos.setXYZ(5,0,0,.25),this.translate(this._currentOffset.x,this._currentOffset.y,this._currentOffset.z),this.lookAt(this._currentNormal),this._attrPos.needsUpdate=!0}_buildIndex(){this._attrIndex.setXY(0,0,1),this._attrIndex.setXY(2,1,2),this._attrIndex.setXY(4,2,3),this._attrIndex.setXY(6,3,0),this._attrIndex.setXY(8,4,5),this._attrIndex.needsUpdate=!0}},o1e=class extends Qt{constructor(t){super(),this.worldScale=1,this._currentRadius=0,this._currentOffset=new X,this._shape=t,this._attrPos=new Jt(new Float32Array(288),3),this.setAttribute("position",this._attrPos),this._attrIndex=new Jt(new Uint16Array(192),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let t=!1;const e=this._shape.radius/this.worldScale;this._currentRadius!==e&&(this._currentRadius=e,t=!0),this._currentOffset.equals(this._shape.offset)||(this._currentOffset.copy(this._shape.offset),t=!0),t&&this._buildPosition()}_buildPosition(){for(let t=0;t<32;t++){const e=t/16*Math.PI;this._attrPos.setXYZ(t,Math.cos(e),Math.sin(e),0),this._attrPos.setXYZ(32+t,0,Math.cos(e),Math.sin(e)),this._attrPos.setXYZ(64+t,Math.sin(e),0,Math.cos(e))}this.scale(this._currentRadius,this._currentRadius,this._currentRadius),this.translate(this._currentOffset.x,this._currentOffset.y,this._currentOffset.z),this._attrPos.needsUpdate=!0}_buildIndex(){for(let t=0;t<32;t++){const e=(t+1)%32;this._attrIndex.setXY(t*2,t,e),this._attrIndex.setXY(64+t*2,32+t,32+e),this._attrIndex.setXY(128+t*2,64+t,64+e)}this._attrIndex.needsUpdate=!0}},a1e=new X,uT=class extends Ts{constructor(t){if(super(),this.matrixAutoUpdate=!1,this.collider=t,this.collider.shape instanceof XG)this._geometry=new o1e(this.collider.shape);else if(this.collider.shape instanceof WG)this._geometry=new i1e(this.collider.shape);else if(this.collider.shape instanceof $G)this._geometry=new s1e(this.collider.shape);else throw new Error("VRMSpringBoneColliderHelper: Unknown collider shape type detected");const e=new $r({color:16711935,depthTest:!1,depthWrite:!1});this._line=new eo(this._geometry,e),this.add(this._line)}dispose(){this._geometry.dispose()}updateMatrixWorld(t){this.collider.updateWorldMatrix(!0,!1),this.matrix.copy(this.collider.matrixWorld);const e=this.matrix.elements;this._geometry.worldScale=a1e.set(e[0],e[1],e[2]).length(),this._geometry.update(),super.updateMatrixWorld(t)}},l1e=class extends Qt{constructor(t){super(),this.worldScale=1,this._currentRadius=0,this._currentTail=new X,this._springBone=t,this._attrPos=new Jt(new Float32Array(294),3),this.setAttribute("position",this._attrPos),this._attrIndex=new Jt(new Uint16Array(194),1),this.setIndex(this._attrIndex),this._buildIndex(),this.update()}update(){let t=!1;const e=this._springBone.settings.hitRadius/this.worldScale;this._currentRadius!==e&&(this._currentRadius=e,t=!0),this._currentTail.equals(this._springBone.initialLocalChildPosition)||(this._currentTail.copy(this._springBone.initialLocalChildPosition),t=!0),t&&this._buildPosition()}_buildPosition(){for(let t=0;t<32;t++){const e=t/16*Math.PI;this._attrPos.setXYZ(t,Math.cos(e),Math.sin(e),0),this._attrPos.setXYZ(32+t,0,Math.cos(e),Math.sin(e)),this._attrPos.setXYZ(64+t,Math.sin(e),0,Math.cos(e))}this.scale(this._currentRadius,this._currentRadius,this._currentRadius),this.translate(this._currentTail.x,this._currentTail.y,this._currentTail.z),this._attrPos.setXYZ(96,0,0,0),this._attrPos.setXYZ(97,this._currentTail.x,this._currentTail.y,this._currentTail.z),this._attrPos.needsUpdate=!0}_buildIndex(){for(let t=0;t<32;t++){const e=(t+1)%32;this._attrIndex.setXY(t*2,t,e),this._attrIndex.setXY(64+t*2,32+t,32+e),this._attrIndex.setXY(128+t*2,64+t,64+e)}this._attrIndex.setXY(192,96,97),this._attrIndex.needsUpdate=!0}},c1e=new X,u1e=class extends Ts{constructor(t){super(),this.matrixAutoUpdate=!1,this.springBone=t,this._geometry=new l1e(this.springBone);const e=new $r({color:16776960,depthTest:!1,depthWrite:!1});this._line=new eo(this._geometry,e),this.add(this._line)}dispose(){this._geometry.dispose()}updateMatrixWorld(t){this.springBone.bone.updateWorldMatrix(!0,!1),this.matrix.copy(this.springBone.bone.matrixWorld);const e=this.matrix.elements;this._geometry.worldScale=c1e.set(e[0],e[1],e[2]).length(),this._geometry.update(),super.updateMatrixWorld(t)}},dT=class extends mn{constructor(t){super(),this.colliderMatrix=new Rt,this.shape=t}updateWorldMatrix(t,e){super.updateWorldMatrix(t,e),d1e(this.colliderMatrix,this.matrixWorld,this.shape.offset)}};function d1e(t,e,n){const r=e.elements;t.copy(e),n&&(t.elements[12]=r[0]*n.x+r[4]*n.y+r[8]*n.z+r[12],t.elements[13]=r[1]*n.x+r[5]*n.y+r[9]*n.z+r[13],t.elements[14]=r[2]*n.x+r[6]*n.y+r[10]*n.z+r[14])}var f1e=new Rt;function h1e(t){return t.invert?t.invert():t.getInverse(f1e.copy(t)),t}var p1e=class{constructor(t){this._inverseCache=new Rt,this._shouldUpdateInverse=!0,this.matrix=t;const e={set:(n,r,i)=>(this._shouldUpdateInverse=!0,n[r]=i,!0)};this._originalElements=t.elements,t.elements=new Proxy(t.elements,e)}get inverse(){return this._shouldUpdateInverse&&(h1e(this._inverseCache.copy(this.matrix)),this._shouldUpdateInverse=!1),this._inverseCache}revert(){this.matrix.elements=this._originalElements}},fT=new Rt,Dm=new X,L0=new X,D0=new X,j0=new X,m1e=new Rt,g1e=class{constructor(t,e,n={},r=[]){this._currentTail=new X,this._prevTail=new X,this._boneAxis=new X,this._worldSpaceBoneLength=0,this._center=null,this._initialLocalMatrix=new Rt,this._initialLocalRotation=new Kt,this._initialLocalChildPosition=new X;var i,s,o,a,l,c;this.bone=t,this.bone.matrixAutoUpdate=!1,this.child=e,this.settings={hitRadius:(i=n.hitRadius)!=null?i:0,stiffness:(s=n.stiffness)!=null?s:1,gravityPower:(o=n.gravityPower)!=null?o:0,gravityDir:(l=(a=n.gravityDir)==null?void 0:a.clone())!=null?l:new X(0,-1,0),dragForce:(c=n.dragForce)!=null?c:.4},this.colliderGroups=r}get dependencies(){const t=new Set,e=this.bone.parent;e&&t.add(e);for(let n=0;n{e(i)})}function mP(t,e){t.children.forEach(n=>{e(n)||mP(n,e)})}function y1e(t){var e;const n=new Map;for(const r of t){let i=r;do{const s=((e=n.get(i))!=null?e:0)+1;if(s===t.size)return i;n.set(i,s),i=i.parent}while(i!==null)}return null}var CU=class{constructor(){this._joints=new Set,this._sortedJoints=[],this._hasWarnedCircularDependency=!1,this._ancestors=[],this._objectSpringBonesMap=new Map,this._isSortedJointsDirty=!1,this._relevantChildrenUpdated=this._relevantChildrenUpdated.bind(this)}get joints(){return this._joints}get springBones(){return console.warn("VRMSpringBoneManager: springBones is deprecated. use joints instead."),this._joints}get colliderGroups(){const t=new Set;return this._joints.forEach(e=>{e.colliderGroups.forEach(n=>{t.add(n)})}),Array.from(t)}get colliders(){const t=new Set;return this.colliderGroups.forEach(e=>{e.colliders.forEach(n=>{t.add(n)})}),Array.from(t)}addJoint(t){this._joints.add(t);let e=this._objectSpringBonesMap.get(t.bone);e==null&&(e=new Set,this._objectSpringBonesMap.set(t.bone,e)),e.add(t),this._isSortedJointsDirty=!0}addSpringBone(t){console.warn("VRMSpringBoneManager: addSpringBone() is deprecated. use addJoint() instead."),this.addJoint(t)}deleteJoint(t){this._joints.delete(t),this._objectSpringBonesMap.get(t.bone).delete(t),this._isSortedJointsDirty=!0}deleteSpringBone(t){console.warn("VRMSpringBoneManager: deleteSpringBone() is deprecated. use deleteJoint() instead."),this.deleteJoint(t)}setInitState(){this._sortJoints();for(let t=0;t{var o,a;return((a=(o=this._objectSpringBonesMap.get(s))==null?void 0:o.size)!=null?a:0)>0?!0:(this._ancestors.push(s),!1)})),this._isSortedJointsDirty=!1}_insertJointSort(t,e,n,r,i){if(n.has(t))return;if(e.has(t)){this._hasWarnedCircularDependency||(console.warn("VRMSpringBoneManager: Circular dependency detected"),this._hasWarnedCircularDependency=!0);return}e.add(t);const s=t.dependencies;for(const o of s){let a=!1,l=null;v1e(o,c=>{const d=this._objectSpringBonesMap.get(c);if(d)for(const f of d)a=!0,this._insertJointSort(f,e,n,r,i);else a||(l=c)}),l&&i.add(l)}r.push(t),n.add(t)}_relevantChildrenUpdated(t){var e,n;return((n=(e=this._objectSpringBonesMap.get(t))==null?void 0:e.size)!=null?n:0)>0?!0:(t.updateWorldMatrix(!1,!1),!1)}},PU="VRMC_springBone_extended_collider",x1e=new Set(["1.0","1.0-beta"]),b1e=new Set(["1.0"]),qG=class Vm{get name(){return Vm.EXTENSION_NAME}constructor(e,n){var r;this.parser=e,this.jointHelperRoot=n==null?void 0:n.jointHelperRoot,this.colliderHelperRoot=n==null?void 0:n.colliderHelperRoot,this.useExtendedColliders=(r=n==null?void 0:n.useExtendedColliders)!=null?r:!0}afterRoot(e){return D_(this,null,function*(){e.userData.vrmSpringBoneManager=yield this._import(e)})}_import(e){return D_(this,null,function*(){const n=yield this._v1Import(e);if(n!=null)return n;const r=yield this._v0Import(e);return r??null})}_v1Import(e){return D_(this,null,function*(){var n,r,i,s,o;const a=e.parser.json;if(!(((n=a.extensionsUsed)==null?void 0:n.indexOf(Vm.EXTENSION_NAME))!==-1))return null;const c=new CU,d=yield e.parser.getDependencies("node"),f=(r=a.extensions)==null?void 0:r[Vm.EXTENSION_NAME];if(!f)return null;const m=f.specVersion;if(!x1e.has(m))return console.warn(`VRMSpringBoneLoaderPlugin: Unknown ${Vm.EXTENSION_NAME} specVersion "${m}"`),null;const y=(i=f.colliders)==null?void 0:i.map((S,w)=>{var _,E,T,C,O,N,D,F,G,k,U,H,ne,te,he;const oe=d[S.node];if(oe==null)return console.warn(`VRMSpringBoneLoaderPlugin: The collider #${w} attempted to reference a node #${S.node} but not found. Skipping the collider`),null;const fe=S.shape,B=(_=S.extensions)==null?void 0:_[PU];if(this.useExtendedColliders&&B!=null){const J=B.specVersion;if(!b1e.has(J))console.warn(`VRMSpringBoneLoaderPlugin: Unknown ${PU} specVersion "${J}". Fallbacking to the ${Vm.EXTENSION_NAME} definition`);else{const Y=B.shape;if(Y.sphere)return this._importSphereCollider(oe,{offset:new X().fromArray((E=Y.sphere.offset)!=null?E:[0,0,0]),radius:(T=Y.sphere.radius)!=null?T:0,inside:(C=Y.sphere.inside)!=null?C:!1});if(Y.capsule)return this._importCapsuleCollider(oe,{offset:new X().fromArray((O=Y.capsule.offset)!=null?O:[0,0,0]),radius:(N=Y.capsule.radius)!=null?N:0,tail:new X().fromArray((D=Y.capsule.tail)!=null?D:[0,0,0]),inside:(F=Y.capsule.inside)!=null?F:!1});if(Y.plane)return this._importPlaneCollider(oe,{offset:new X().fromArray((G=Y.plane.offset)!=null?G:[0,0,0]),normal:new X().fromArray((k=Y.plane.normal)!=null?k:[0,0,1])})}}if(fe.sphere)return this._importSphereCollider(oe,{offset:new X().fromArray((U=fe.sphere.offset)!=null?U:[0,0,0]),radius:(H=fe.sphere.radius)!=null?H:0,inside:!1});if(fe.capsule)return this._importCapsuleCollider(oe,{offset:new X().fromArray((ne=fe.capsule.offset)!=null?ne:[0,0,0]),radius:(te=fe.capsule.radius)!=null?te:0,tail:new X().fromArray((he=fe.capsule.tail)!=null?he:[0,0,0]),inside:!1});console.warn(`VRMSpringBoneLoaderPlugin: The collider #${w} has no valid shape. Skipping the collider`)}),x=(s=f.colliderGroups)==null?void 0:s.map((S,w)=>{var _;return{colliders:((_=S.colliders)!=null?_:[]).map(T=>{const C=y==null?void 0:y[T];return C??(console.warn(`VRMSpringBoneLoaderPlugin: The collider group #${w} attempted to reference a collider #${T} but not found. Skipping the collider`),null)}).filter(T=>T!=null),name:S.name}});return(o=f.springs)==null||o.forEach((S,w)=>{var _;const E=S.joints,T=(_=S.colliderGroups)==null?void 0:_.map(N=>{const D=x==null?void 0:x[N];return D??(console.warn(`VRMSpringBoneLoaderPlugin: The spring #${w} attempted to reference a collider group #${N} but not found. Skipping the collider group`),null)}).filter(N=>N!=null),C=S.center!=null?d[S.center]:void 0;let O;E.forEach(N=>{if(O){const D=O.node,F=d[D],G=N.node,k=d[G],U={hitRadius:O.hitRadius,dragForce:O.dragForce,gravityPower:O.gravityPower,stiffness:O.stiffness,gravityDir:O.gravityDir!=null?new X().fromArray(O.gravityDir):void 0},H=this._importJoint(F,k,U,T);C&&(H.center=C),c.addJoint(H)}O=N})}),c.setInitState(),c})}_v0Import(e){return D_(this,null,function*(){var n,r,i;const s=e.parser.json;if(!(((n=s.extensionsUsed)==null?void 0:n.indexOf("VRM"))!==-1))return null;const a=(r=s.extensions)==null?void 0:r.VRM,l=a==null?void 0:a.secondaryAnimation;if(!l)return null;const c=l==null?void 0:l.boneGroups;if(!c)return null;const d=new CU,f=yield e.parser.getDependencies("node"),m=(i=l.colliderGroups)==null?void 0:i.map((y,x)=>{var S;const w=f[y.node];return w==null?(console.warn(`VRMSpringBoneLoaderPlugin: The collider group #${x} attempted to reference a node #${y.node} but not found. Skipping the collider group`),null):{colliders:((S=y.colliders)!=null?S:[]).map((E,T)=>{var C,O,N;const D=new X(0,0,0);return E.offset&&D.set((C=E.offset.x)!=null?C:0,(O=E.offset.y)!=null?O:0,E.offset.z?-E.offset.z:0),this._importSphereCollider(w,{offset:D,radius:(N=E.radius)!=null?N:0,inside:!1})})}});return c==null||c.forEach((y,x)=>{const S=y.bones;S&&S.forEach(w=>{var _,E,T,C;const O=f[w];if(O==null){console.warn(`VRMSpringBoneLoaderPlugin: The spring bone group #${x} attempted to reference a node #${w} but not found. Skipping the node`);return}const N=new X;y.gravityDir?N.set((_=y.gravityDir.x)!=null?_:0,(E=y.gravityDir.y)!=null?E:0,(T=y.gravityDir.z)!=null?T:0):N.set(0,-1,0);const D=y.center!=null?f[y.center]:void 0,F={hitRadius:y.hitRadius,dragForce:y.dragForce,gravityPower:y.gravityPower,stiffness:y.stiffiness,gravityDir:N},G=(C=y.colliderGroups)==null?void 0:C.map(k=>{const U=m==null?void 0:m[k];return U??(console.warn(`VRMSpringBoneLoaderPlugin: The spring #${x} attempted to reference a collider group #${k} but not found. Skipping the collider group`),null)}).filter(k=>k!=null);O.traverse(k=>{var U;const H=(U=k.children[0])!=null?U:null,ne=this._importJoint(k,H,F,G);D&&(ne.center=D),d.addJoint(ne)})})}),e.scene.updateMatrixWorld(),d.setInitState(),d})}_importJoint(e,n,r,i){const s=new g1e(e,n,r,i);if(this.jointHelperRoot){const o=new u1e(s);this.jointHelperRoot.add(o),o.renderOrder=this.jointHelperRoot.renderOrder}return s}_importSphereCollider(e,n){const r=new XG(n),i=new dT(r);if(e.add(i),this.colliderHelperRoot){const s=new uT(i);this.colliderHelperRoot.add(s),s.renderOrder=this.colliderHelperRoot.renderOrder}return i}_importCapsuleCollider(e,n){const r=new WG(n),i=new dT(r);if(e.add(i),this.colliderHelperRoot){const s=new uT(i);this.colliderHelperRoot.add(s),s.renderOrder=this.colliderHelperRoot.renderOrder}return i}_importPlaneCollider(e,n){const r=new $G(n),i=new dT(r);if(e.add(i),this.colliderHelperRoot){const s=new uT(i);this.colliderHelperRoot.add(s),s.renderOrder=this.colliderHelperRoot.renderOrder}return i}};qG.EXTENSION_NAME="VRMC_springBone";var _1e=qG,w1e=class{get name(){return"VRMLoaderPlugin"}constructor(t,e){var n,r,i,s,o,a,l,c,d,f;this.parser=t;const m=e==null?void 0:e.helperRoot,y=e==null?void 0:e.autoUpdateHumanBones;this.expressionPlugin=(n=e==null?void 0:e.expressionPlugin)!=null?n:new U_e(t),this.firstPersonPlugin=(r=e==null?void 0:e.firstPersonPlugin)!=null?r:new z_e(t),this.humanoidPlugin=(i=e==null?void 0:e.humanoidPlugin)!=null?i:new X_e(t,{helperRoot:m,autoUpdateHumanBones:y}),this.lookAtPlugin=(s=e==null?void 0:e.lookAtPlugin)!=null?s:new lwe(t,{helperRoot:m}),this.metaPlugin=(o=e==null?void 0:e.metaPlugin)!=null?o:new dwe(t),this.mtoonMaterialPlugin=(a=e==null?void 0:e.mtoonMaterialPlugin)!=null?a:new Awe(t),this.materialsHDREmissiveMultiplierPlugin=(l=e==null?void 0:e.materialsHDREmissiveMultiplierPlugin)!=null?l:new Cwe(t),this.materialsV0CompatPlugin=(c=e==null?void 0:e.materialsV0CompatPlugin)!=null?c:new Lwe(t),this.springBonePlugin=(d=e==null?void 0:e.springBonePlugin)!=null?d:new _1e(t,{colliderHelperRoot:m,jointHelperRoot:m}),this.nodeConstraintPlugin=(f=e==null?void 0:e.nodeConstraintPlugin)!=null?f:new n1e(t,{helperRoot:m})}beforeRoot(){return k_(this,null,function*(){yield this.materialsV0CompatPlugin.beforeRoot(),yield this.mtoonMaterialPlugin.beforeRoot()})}loadMesh(t){return k_(this,null,function*(){return yield this.mtoonMaterialPlugin.loadMesh(t)})}getMaterialType(t){const e=this.mtoonMaterialPlugin.getMaterialType(t);return e??null}extendMaterialParams(t,e){return k_(this,null,function*(){yield this.materialsHDREmissiveMultiplierPlugin.extendMaterialParams(t,e),yield this.mtoonMaterialPlugin.extendMaterialParams(t,e)})}afterRoot(t){return k_(this,null,function*(){yield this.metaPlugin.afterRoot(t),yield this.humanoidPlugin.afterRoot(t),yield this.expressionPlugin.afterRoot(t),yield this.lookAtPlugin.afterRoot(t),yield this.firstPersonPlugin.afterRoot(t),yield this.springBonePlugin.afterRoot(t),yield this.nodeConstraintPlugin.afterRoot(t),yield this.mtoonMaterialPlugin.afterRoot(t);const e=t.userData.vrmMeta,n=t.userData.vrmHumanoid;if(e&&n){const r=new hwe({scene:t.scene,expressionManager:t.userData.vrmExpressionManager,firstPerson:t.userData.vrmFirstPerson,humanoid:n,lookAt:t.userData.vrmLookAt,meta:e,materials:t.userData.vrmMToonMaterials,springBoneManager:t.userData.vrmSpringBoneManager,nodeConstraintManager:t.userData.vrmNodeConstraintManager});t.userData.vrm=r}})}};function S1e(t){const e=new Set;return t.traverse(n=>{if(!n.isMesh)return;const r=n;e.add(r)}),e}function RU(t,e,n){if(e.size===1){const o=e.values().next().value;if(o.weight===1)return t[o.index]}const r=new Float32Array(t[0].count*3);let i=0;if(n)i=1;else for(const o of e)i+=o.weight;for(const o of e){const a=t[o.index],l=o.weight/i;for(let c=0;cd.getOrCreate(G)).join(","),D=`${C};${_};${N}`;let F=a.get(D);F==null&&(F=T.clone(),R1e(F,O,x),a.set(D,F)),E.geometry.setAttribute("skinIndex",F)}for(const E of y)E.bind(w,new Rt)}}function A1e(t){const e=new Set;return t.traverse(n=>{if(!n.isSkinnedMesh)return;const r=n;e.add(r)}),e}function T1e(t,e){const n=new Set;for(let r=0;rn)return!1;return!0}var hT=class{constructor(){this._objectIndexMap=new Map,this._index=0}get(t){return this._objectIndexMap.get(t)}getOrCreate(t){let e=this._objectIndexMap.get(t);return e==null&&(e=this._index,this._objectIndexMap.set(t,e),this._index++),e}};function I1e(t){var e,n,r,i;const s=new Qt;s.name=t.name,s.setIndex(t.index);for(const[o,a]of Object.entries(t.attributes))s.setAttribute(o,a);for(const[o,a]of Object.entries(t.morphAttributes)){const l=o;s.morphAttributes[l]=a.concat()}s.morphTargetsRelative=t.morphTargetsRelative,s.groups=[];for(const o of t.groups)s.addGroup(o.start,o.count,o.materialIndex);return s.boundingSphere=(n=(e=t.boundingSphere)==null?void 0:e.clone())!=null?n:null,s.boundingBox=(i=(r=t.boundingBox)==null?void 0:r.clone())!=null?i:null,s.drawRange.start=t.drawRange.start,s.drawRange.count=t.drawRange.count,s.userData=t.userData,s}function NU(t){if(Object.values(t).forEach(e=>{e!=null&&e.isTexture&&e.dispose()}),t.isShaderMaterial){const e=t.uniforms;e&&Object.values(e).forEach(n=>{const r=n.value;r!=null&&r.isTexture&&r.dispose()})}t.dispose()}function k1e(t){const e=t.geometry;e&&e.dispose();const n=t.skeleton;n&&n.dispose();const r=t.material;r&&(Array.isArray(r)?r.forEach(i=>NU(i)):r&&NU(r))}function O1e(t){t.traverse(k1e)}function L1e(t,e){var n,r;console.warn("VRMUtils.removeUnnecessaryJoints: removeUnnecessaryJoints is deprecated. Use combineSkeletons instead. combineSkeletons contributes more to the performance improvement. This function will be removed in the next major version.");const i=(n=e==null?void 0:e.experimentalSameBoneCounts)!=null?n:!1,s=[];t.traverse(l=>{l.type==="SkinnedMesh"&&s.push(l)});const o=new Map;let a=0;for(const l of s){const d=l.geometry.getAttribute("skinIndex");if(o.has(d))continue;const f=new Map,m=new Map;for(let y=0;y{e.addGroup(o.start,o.count,o.materialIndex)}),e.boundingBox=(r=(n=t.boundingBox)==null?void 0:n.clone())!=null?r:null,e.boundingSphere=(s=(i=t.boundingSphere)==null?void 0:i.clone())!=null?s:null,e.setDrawRange(t.drawRange.start,t.drawRange.count),e.userData=t.userData}function F1e(t,e,n){const r=e.array,i=new r.constructor(r.length);for(let s=0;s{if(!n.isMesh)return;const r=n,i=r.geometry,s=i.index;if(s==null)return;const o=e.get(i);if(o!=null){r.geometry=o;return}const{isVertexUsed:a,vertexCount:l,verticesUsed:c}=D1e(i.attributes,s);if(c===l)return;const{originalIndexNewIndexMap:d,newIndexOriginalIndexMap:f}=j1e(a),m=new Qt;U1e(i,m),e.set(i,m),F1e(m,s,d),B1e(m,i.attributes,f),V1e(m,i.morphAttributes,f),r.geometry=m}),Array.from(e.keys()).forEach(n=>{n.dispose()})}function W1e(t){var e;((e=t.meta)==null?void 0:e.metaVersion)==="0"&&(t.scene.rotation.y=Math.PI)}var qc=class{constructor(){}};qc.combineMorphs=M1e;qc.combineSkeletons=E1e;qc.deepDispose=O1e;qc.removeUnnecessaryJoints=L1e;qc.removeUnnecessaryVertices=G1e;qc.rotateVRM0=W1e;/*! * @pixiv/three-vrm-core v3.5.4 * The implementation of core features of VRM, for @pixiv/three-vrm * @@ -5448,12 +5448,12 @@ void main() { * Copyright (c) 2019-2026 pixiv Inc. * @pixiv/three-vrm-springbone is distributed under MIT License * https://github.com/pixiv/three-vrm/blob/release/LICENSE - */const $1e={leftUpperArm:[0,0,1.2],rightUpperArm:[0,0,-1.2],leftLowerArm:[0,-.2,0],rightLowerArm:[0,.2,0]};function Ia(t,e,n,r,i){var o;const s=(o=t.humanoid)==null?void 0:o.getNormalizedBoneNode(e);s&&s.rotation.set(n,r,i)}function X1e(t){var e;for(const[n,r]of Object.entries($1e))Ia(t,n,r[0],r[1],r[2]);(e=t.humanoid)==null||e.update()}function q1e(t,e,n,r,i,s){const o=Math.sin(e*1.7),a=Math.sin(e*.45),l=Math.sin(e*.32),c=Math.min(1,n*1.4),d=Math.sin(e*1.3)*c*.06;Ia(t,"hips",0,l*.045,l*.03),Ia(t,"spine",o*.025+s*.07,a*.022,-l*.03),Ia(t,"chest",o*.02+s*.02,a*.018,0),Ia(t,"upperChest",o*.015,0,0),Ia(t,"neck",i*.4+d*.5,r*.4,0),Ia(t,"head",i*.6+d*.5+Math.sin(e*.6)*.015,r*.6+Math.sin(e*.27)*.025,Math.sin(e*.5)*.02);const f=Math.sin(e*.8)*.035;Ia(t,"leftUpperArm",0,0,1.18+f+l*.04),Ia(t,"rightUpperArm",0,0,-1.18-f+l*.04),Ia(t,"leftLowerArm",0,-.18-Math.sin(e*.8)*.03,0),Ia(t,"rightLowerArm",0,.18+Math.sin(e*.8)*.03,0)}const K1e=["happy","angry","sad","surprised","relaxed"],Y1e={neutral:null,happy:"happy",angry:"angry",sad:"sad",surprised:"surprised",relaxed:"relaxed"};function Z1e({url:t,audioLevel:e,emotion:n,onError:r}){const[i,s]=R.useState(null),o=R.useRef({}),a=R.useRef({t:0,next:3,active:0}),l=R.useRef({yaw:0,pitch:0,tYaw:0,tPitch:0,t:0,next:2.5,lean:0});return R.useEffect(()=>{let c=!1,d=null;const f=new e_e;return f.register(m=>new w1e(m)),f.load(t,m=>{var x;if(c)return;const y=m.userData.vrm;if(!y){r("Datei enthält kein gültiges VRM-Modell.");return}qc.removeUnnecessaryVertices(m.scene),((x=y.meta)==null?void 0:x.metaVersion)==="0"&&qc.rotateVRM0(y),y.scene.rotation.y=Math.PI,X1e(y),d=y,s(y)},void 0,m=>{console.error("VRM-Load-Fehler:",m),r("Avatar konnte nicht geladen werden (CORS/URL?).")}),()=>{c=!0,d&&qc.deepDispose(d.scene),s(null)}},[t,r]),bG((c,d)=>{var x;if(!i)return;const f=((x=e.current)==null?void 0:x.current)??0;i.lookAt&&(i.lookAt.target=c.camera);const m=l.current;m.t+=d,m.t>m.next&&(m.tYaw=(Math.random()-.5)*.5,m.tPitch=(Math.random()-.5)*.24,m.t=0,m.next=2.5+Math.random()*3.5),m.yaw+=(m.tYaw-m.yaw)*Math.min(1,d*1.5),m.pitch+=(m.tPitch-m.pitch)*Math.min(1,d*1.5),m.lean+=(Math.min(1,f*1.6)-m.lean)*Math.min(1,d*3),q1e(i,c.clock.elapsedTime,f,m.yaw,m.pitch,m.lean);const y=i.expressionManager;if(y){const S=(o.current.aa??0)*.4+f*.6;o.current.aa=S,y.setValue("aa",S);const w=Y1e[n.current];for(const T of K1e){const C=w===T?.75:0,O=o.current[T]??0,N=O+(C-O)*Math.min(1,d*4);o.current[T]=N,y.setValue(T,N)}const _=a.current;_.t+=d,_.active<=0&&_.t>_.next&&(_.active=.16,_.t=0,_.next=3+Math.random()*4);let E=0;if(_.active>0){_.active-=d;const T=1-_.active/.16;E=1-Math.abs(T-.5)*2}y.setValue("blink",Math.max(0,E))}i.update(d)}),i?g.jsx("primitive",{object:i.scene}):null}function Q1e({url:t,audioLevel:e,emotion:n}){const[r,i]=R.useState(null);return g.jsxs("div",{className:"relative h-full w-full",children:[g.jsxs(Gbe,{camera:{position:[0,1.35,1.25],fov:30},gl:{alpha:!0,antialias:!0},style:{background:"transparent"},children:[g.jsx("ambientLight",{intensity:.85}),g.jsx("directionalLight",{position:[1,2,2],intensity:1.1}),g.jsx("directionalLight",{position:[-1,1,-1],intensity:.4}),g.jsx(Z1e,{url:t,audioLevel:e,emotion:n,onError:i},t),g.jsx(Jbe,{target:[0,1.3,0],enablePan:!1,minDistance:.7,maxDistance:3,minPolarAngle:Math.PI/3,maxPolarAngle:Math.PI/1.8})]}),r&&g.jsx("div",{className:"absolute inset-x-0 bottom-3 mx-auto w-fit rounded-md bg-red-500/15 border border-red-500/30 px-3 py-1.5 text-xs text-red-300",children:r})]})}const J1e=["elevenlabs","edge"],eSe={elevenlabs:"ElevenLabs (premium)",edge:"Edge (natürlich · gratis)"};function tSe(){const[t,e]=R.useState([]),[n,r]=R.useState(localStorage.getItem("mc_voice_engine")||"elevenlabs"),[i,s]=R.useState(localStorage.getItem("mc_voice_voice")||""),[o,a]=R.useState(!1),[l,c]=R.useState(()=>{const _=localStorage.getItem("mc_voice_volume");if(_===null||_==="")return .6;const E=Number(_);return Number.isNaN(E)?.6:E}),d=R.useRef(null),f=_=>{c(_),localStorage.setItem("mc_voice_volume",String(_)),window.dispatchEvent(new CustomEvent("mc-voice-volume",{detail:_}))},m=(_,E)=>{r(_),s(E),localStorage.setItem("mc_voice_engine",_),localStorage.setItem("mc_voice_voice",E)};R.useEffect(()=>{fetch("/api/voice/voices").then(_=>_.ok?_.json():Promise.reject()).then(_=>{const E=_.voices||[];if(e(E),!i){const T=E.find(C=>C.engine===n);T&&m(n,T.id)}}).catch(()=>e([]))},[]);const y=async()=>{var _;if(!o){a(!0);try{const E=await fetch("/api/voice/tts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:"Hallo! So klingt diese Stimme auf Deutsch.",engine:n,voice:i})});if(!E.ok)throw new Error(`TTS ${E.status}`);const T=URL.createObjectURL(await E.blob());(_=d.current)==null||_.pause();const C=new Audio(T);C.volume=Math.min(1,l),d.current=C,C.onended=()=>URL.revokeObjectURL(T),await C.play()}catch(E){console.error("Probe fehlgeschlagen:",E)}finally{a(!1)}}},x=_=>{const E=t.find(T=>T.engine===_);m(_,(E==null?void 0:E.id)||"")},S=t.filter(_=>_.engine===n),w=n==="elevenlabs"&&S.length===0;return g.jsxs("div",{className:"text-sm",children:[g.jsxs("div",{className:"mb-2 flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:[g.jsx(Gm,{className:"h-3.5 w-3.5"})," Stimme"]}),t.length===0?g.jsx("div",{className:"rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-300",children:"Voice-Dienst nicht erreichbar — Stimmen werden geladen, sobald der Sidecar läuft."}):g.jsxs("div",{className:"space-y-2",children:[g.jsx("div",{className:"grid grid-cols-2 gap-1.5",children:J1e.map(_=>g.jsx("button",{onClick:()=>x(_),className:`rounded-md border px-2.5 py-1.5 text-xs transition-colors ${n===_?"border-primary/50 bg-primary/10 text-primary":"border-border/40 hover:bg-accent"}`,children:eSe[_]},_))}),g.jsx("select",{value:i,onChange:_=>m(n,_.target.value),className:"w-full rounded-md border border-border/40 bg-background/40 px-2.5 py-2 text-xs outline-none focus:border-primary/50",children:S.map(_=>g.jsx("option",{value:_.id,children:_.label},_.id))}),g.jsxs("button",{onClick:y,disabled:o||w,className:"flex w-full items-center justify-center gap-2 rounded-md border border-primary/40 bg-primary/10 px-2.5 py-2 text-xs text-primary hover:bg-primary/20 transition-colors disabled:opacity-60",children:[o?g.jsx(_P,{className:"h-3.5 w-3.5 animate-spin"}):g.jsx(DT,{className:"h-3.5 w-3.5"}),o?"Spielt …":"Probe hören"]}),g.jsxs("div",{className:"flex items-center gap-2 pt-0.5",children:[g.jsx(DT,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),g.jsx("input",{type:"range",min:0,max:1.2,step:.05,value:l,onChange:_=>f(Number(_.target.value)),className:"h-1 flex-1 cursor-pointer accent-primary",title:"Lautstärke"}),g.jsxs("span",{className:"w-9 text-right text-[11px] tabular-nums text-muted-foreground",children:[Math.round(l*100),"%"]})]}),w&&g.jsxs("p",{className:"text-[11px] text-amber-300",children:["Keine ElevenLabs-Stimmen — Key in ",g.jsx("code",{children:"~/.hermes/.env"})," fehlt, oder keine eigene Stimme angelegt."]}),n==="edge"&&g.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Edge: native deutsche Stimmen, gratis & ohne Key. Cloud (Text → Microsoft)."})]})]})}function nSe(t){const[e,n]=R.useState(!1),r=R.useRef(null),i=R.useRef([]),s=R.useRef(null),o=R.useCallback(async()=>{if(r.current)return;let l;try{l=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(f){console.error("Mikrofon-Zugriff verweigert:",f);return}s.current=l;const c=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":"audio/webm",d=new MediaRecorder(l,{mimeType:c});i.current=[],d.ondataavailable=f=>{f.data.size&&i.current.push(f.data)},d.onstop=()=>{var m;const f=new Blob(i.current,{type:c});(m=s.current)==null||m.getTracks().forEach(y=>y.stop()),s.current=null,r.current=null,n(!1),f.size>1200&&t(f)},d.start(),r.current=d,n(!0)},[t]),a=R.useCallback(()=>{var l;(l=r.current)==null||l.stop()},[]);return R.useEffect(()=>()=>{var l,c;(l=r.current)==null||l.stop(),(c=s.current)==null||c.getTracks().forEach(d=>d.stop())},[]),{recording:e,start:o,stop:a}}class cN{constructor(){Gs(this,"ctx");Gs(this,"analyser");Gs(this,"gain");Gs(this,"queue",[]);Gs(this,"playing",!1);Gs(this,"raf",0);Gs(this,"freq");Gs(this,"level",{current:0});Gs(this,"onSpeaking");const e=window.AudioContext||window.webkitAudioContext;this.ctx=new e,this.analyser=this.ctx.createAnalyser(),this.analyser.fftSize=256,this.analyser.smoothingTimeConstant=.6,this.gain=this.ctx.createGain(),this.gain.gain.value=cN.readVolume(),this.analyser.connect(this.gain),this.gain.connect(this.ctx.destination),this.freq=new Uint8Array(new ArrayBuffer(this.analyser.frequencyBinCount)),window.addEventListener("mc-voice-volume",n=>{const r=Number(n.detail);Number.isNaN(r)||(this.gain.gain.value=Math.max(0,Math.min(1.5,r)))})}static readVolume(){const e=localStorage.getItem("mc_voice_volume");if(e===null||e==="")return .6;const n=Number(e);return Number.isNaN(n)?.6:Math.max(0,Math.min(1.5,n))}async enqueue(e){this.queue.push(e),this.playing||await this.playNext()}clear(){this.queue=[]}async playNext(){var i,s;const e=this.queue.shift();if(!e){this.playing=!1,this.stopMeter(),(i=this.onSpeaking)==null||i.call(this,!1);return}if(this.playing=!0,(s=this.onSpeaking)==null||s.call(this,!0),this.ctx.state==="suspended")try{await this.ctx.resume()}catch{}let n;try{n=await this.ctx.decodeAudioData(e.slice(0))}catch{return this.playNext()}const r=this.ctx.createBufferSource();r.buffer=n,r.connect(this.analyser),r.onended=()=>{this.playNext()},r.start(),this.startMeter()}startMeter(){cancelAnimationFrame(this.raf);const e=()=>{this.analyser.getByteFrequencyData(this.freq);const n=Math.min(this.freq.length,48);let r=0;for(let s=2;s~|`]+/g," ").replace(/^\s*[-•·]\s+/gm," ").replace(/\s*&\s*/g," und ").replace(/(\d)\s*%/g,"$1 Prozent").replace(/%/g," Prozent ").replace(/(\d)\s*°\s*C?/g,"$1 Grad").replace(/°/g," Grad ").replace(/\s*=\s*/g," gleich ").replace(/\s*\/\s*/g," ").replace(/[\u{1F300}-\u{1FAFF}\u{2600}-\u{27BF}\u{2190}-\u{21FF}\u{2B00}-\u{2BFF}]/gu,"").replace(/\s+/g," ").trim()}function IU(){let t=localStorage.getItem("mc_voice_session");return t||(t="voice-"+Math.random().toString(36).slice(2)+Date.now().toString(36),localStorage.setItem("mc_voice_session",t)),t}function aSe(){return{engine:localStorage.getItem("mc_voice_engine")||"elevenlabs",voice:localStorage.getItem("mc_voice_voice")||""}}function lSe(t){const e=[],n=/[^.!?…]+[.!?…]+(\s|$)/g;let r=0,i;for(;i=n.exec(t);)e.push(i[0].trim()),r=n.lastIndex;return{sentences:e,rest:t.slice(r)}}function cSe(){const[t,e]=R.useState("idle"),[n,r]=R.useState([]),[i,s]=R.useState(null),o=R.useRef({current:0}),a=R.useRef("neutral"),l=R.useRef(null),c=R.useRef(IU()),d=R.useCallback(()=>{if(!l.current){const E=new cN;E.onSpeaking=T=>e(C=>T?"speaking":C==="speaking"?"idle":C),l.current=E,o.current=E.level}return l.current},[]),f=R.useCallback(async E=>{var ne,te,he,se;s(null);const T=d();T.clear(),e("transcribing");let C="";try{const fe=new FormData;fe.append("audio",E,"rec.webm");const B=await fetch("/api/voice/stt",{method:"POST",body:fe});if(!B.ok)throw new Error(`STT ${B.status}`);C=((ne=(await B.json()).text)==null?void 0:ne.trim())||""}catch(fe){e("error"),s(`Spracherkennung fehlgeschlagen: ${fe.message}`);return}if(!C){e("idle");return}r(fe=>[...fe,{role:"user",text:C}]),e("thinking");const{engine:O,voice:N}=aSe();let D="",F="";r(fe=>[...fe,{role:"assistant",text:""}]);let G=Promise.resolve(),k=!1,U=!1;const H=fe=>{const B=oSe(fe);B&&(G=G.then(async()=>{try{const J=await fetch("/api/voice/tts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:B,engine:O,voice:N})});if(!J.ok)throw new Error(`TTS ${J.status}`);await T.enqueue(await J.arrayBuffer()),k=!0}catch(J){U=!0,console.error("TTS-Fehler:",J)}}))};try{const fe=await fetch("/api/voice/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:C,session_id:c.current,system:sSe})});if(!fe.ok||!fe.body)throw new Error(`Agent ${fe.status}`);const B=fe.body.getReader(),J=new TextDecoder;let Y="";for(;;){const{done:V,value:q}=await B.read();if(V)break;Y+=J.decode(q,{stream:!0});const pe=Y.split(` + */const $1e={leftUpperArm:[0,0,1.2],rightUpperArm:[0,0,-1.2],leftLowerArm:[0,-.2,0],rightLowerArm:[0,.2,0]};function Ia(t,e,n,r,i){var o;const s=(o=t.humanoid)==null?void 0:o.getNormalizedBoneNode(e);s&&s.rotation.set(n,r,i)}function X1e(t){var e;for(const[n,r]of Object.entries($1e))Ia(t,n,r[0],r[1],r[2]);(e=t.humanoid)==null||e.update()}function q1e(t,e,n,r,i,s){const o=Math.sin(e*1.7),a=Math.sin(e*.45),l=Math.sin(e*.32),c=Math.min(1,n*1.4),d=Math.sin(e*1.3)*c*.06;Ia(t,"hips",0,l*.045,l*.03),Ia(t,"spine",o*.025+s*.07,a*.022,-l*.03),Ia(t,"chest",o*.02+s*.02,a*.018,0),Ia(t,"upperChest",o*.015,0,0),Ia(t,"neck",i*.4+d*.5,r*.4,0),Ia(t,"head",i*.6+d*.5+Math.sin(e*.6)*.015,r*.6+Math.sin(e*.27)*.025,Math.sin(e*.5)*.02);const f=Math.sin(e*.8)*.035;Ia(t,"leftUpperArm",0,0,1.18+f+l*.04),Ia(t,"rightUpperArm",0,0,-1.18-f+l*.04),Ia(t,"leftLowerArm",0,-.18-Math.sin(e*.8)*.03,0),Ia(t,"rightLowerArm",0,.18+Math.sin(e*.8)*.03,0)}const K1e=["happy","angry","sad","surprised","relaxed"],Y1e={neutral:null,happy:"happy",angry:"angry",sad:"sad",surprised:"surprised",relaxed:"relaxed"};function Z1e({url:t,audioLevel:e,emotion:n,onError:r}){const[i,s]=R.useState(null),o=R.useRef({}),a=R.useRef({t:0,next:3,active:0}),l=R.useRef({yaw:0,pitch:0,tYaw:0,tPitch:0,t:0,next:2.5,lean:0});return R.useEffect(()=>{let c=!1,d=null;const f=new e_e;return f.register(m=>new w1e(m)),f.load(t,m=>{var x;if(c)return;const y=m.userData.vrm;if(!y){r("Datei enthält kein gültiges VRM-Modell.");return}qc.removeUnnecessaryVertices(m.scene),((x=y.meta)==null?void 0:x.metaVersion)==="0"&&qc.rotateVRM0(y),y.scene.rotation.y=Math.PI,X1e(y),d=y,s(y)},void 0,m=>{console.error("VRM-Load-Fehler:",m),r("Avatar konnte nicht geladen werden (CORS/URL?).")}),()=>{c=!0,d&&qc.deepDispose(d.scene),s(null)}},[t,r]),bG((c,d)=>{var x;if(!i)return;const f=((x=e.current)==null?void 0:x.current)??0;i.lookAt&&(i.lookAt.target=c.camera);const m=l.current;m.t+=d,m.t>m.next&&(m.tYaw=(Math.random()-.5)*.5,m.tPitch=(Math.random()-.5)*.24,m.t=0,m.next=2.5+Math.random()*3.5),m.yaw+=(m.tYaw-m.yaw)*Math.min(1,d*1.5),m.pitch+=(m.tPitch-m.pitch)*Math.min(1,d*1.5),m.lean+=(Math.min(1,f*1.6)-m.lean)*Math.min(1,d*3),q1e(i,c.clock.elapsedTime,f,m.yaw,m.pitch,m.lean);const y=i.expressionManager;if(y){const S=(o.current.aa??0)*.4+f*.6;o.current.aa=S,y.setValue("aa",S);const w=Y1e[n.current];for(const T of K1e){const C=w===T?.75:0,O=o.current[T]??0,N=O+(C-O)*Math.min(1,d*4);o.current[T]=N,y.setValue(T,N)}const _=a.current;_.t+=d,_.active<=0&&_.t>_.next&&(_.active=.16,_.t=0,_.next=3+Math.random()*4);let E=0;if(_.active>0){_.active-=d;const T=1-_.active/.16;E=1-Math.abs(T-.5)*2}y.setValue("blink",Math.max(0,E))}i.update(d)}),i?g.jsx("primitive",{object:i.scene}):null}function Q1e({url:t,audioLevel:e,emotion:n}){const[r,i]=R.useState(null);return g.jsxs("div",{className:"relative h-full w-full",children:[g.jsxs(Gbe,{camera:{position:[0,1.35,1.25],fov:30},gl:{alpha:!0,antialias:!0},style:{background:"transparent"},children:[g.jsx("ambientLight",{intensity:.85}),g.jsx("directionalLight",{position:[1,2,2],intensity:1.1}),g.jsx("directionalLight",{position:[-1,1,-1],intensity:.4}),g.jsx(Z1e,{url:t,audioLevel:e,emotion:n,onError:i},t),g.jsx(Jbe,{target:[0,1.3,0],enablePan:!1,minDistance:.7,maxDistance:3,minPolarAngle:Math.PI/3,maxPolarAngle:Math.PI/1.8})]}),r&&g.jsx("div",{className:"absolute inset-x-0 bottom-3 mx-auto w-fit rounded-md bg-red-500/15 border border-red-500/30 px-3 py-1.5 text-xs text-red-300",children:r})]})}const J1e=["elevenlabs","edge"],eSe={elevenlabs:"ElevenLabs (premium)",edge:"Edge (natürlich · gratis)"};function tSe(){const[t,e]=R.useState([]),[n,r]=R.useState(localStorage.getItem("mc_voice_engine")||"elevenlabs"),[i,s]=R.useState(localStorage.getItem("mc_voice_voice")||""),[o,a]=R.useState(!1),[l,c]=R.useState(()=>{const _=localStorage.getItem("mc_voice_volume");if(_===null||_==="")return .6;const E=Number(_);return Number.isNaN(E)?.6:E}),d=R.useRef(null),f=_=>{c(_),localStorage.setItem("mc_voice_volume",String(_)),window.dispatchEvent(new CustomEvent("mc-voice-volume",{detail:_}))},m=(_,E)=>{r(_),s(E),localStorage.setItem("mc_voice_engine",_),localStorage.setItem("mc_voice_voice",E)};R.useEffect(()=>{fetch("/api/voice/voices").then(_=>_.ok?_.json():Promise.reject()).then(_=>{const E=_.voices||[];if(e(E),!i){const T=E.find(C=>C.engine===n);T&&m(n,T.id)}}).catch(()=>e([]))},[]);const y=async()=>{var _;if(!o){a(!0);try{const E=await fetch("/api/voice/tts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:"Hallo! So klingt diese Stimme auf Deutsch.",engine:n,voice:i})});if(!E.ok)throw new Error(`TTS ${E.status}`);const T=URL.createObjectURL(await E.blob());(_=d.current)==null||_.pause();const C=new Audio(T);C.volume=Math.min(1,l),d.current=C,C.onended=()=>URL.revokeObjectURL(T),await C.play()}catch(E){console.error("Probe fehlgeschlagen:",E)}finally{a(!1)}}},x=_=>{const E=t.find(T=>T.engine===_);m(_,(E==null?void 0:E.id)||"")},S=t.filter(_=>_.engine===n),w=n==="elevenlabs"&&S.length===0;return g.jsxs("div",{className:"text-sm",children:[g.jsxs("div",{className:"mb-2 flex items-center gap-1.5 text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:[g.jsx(Gm,{className:"h-3.5 w-3.5"})," Stimme"]}),t.length===0?g.jsx("div",{className:"rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-xs text-amber-300",children:"Voice-Dienst nicht erreichbar — Stimmen werden geladen, sobald der Sidecar läuft."}):g.jsxs("div",{className:"space-y-2",children:[g.jsx("div",{className:"grid grid-cols-2 gap-1.5",children:J1e.map(_=>g.jsx("button",{onClick:()=>x(_),className:`rounded-md border px-2.5 py-1.5 text-xs transition-colors ${n===_?"border-primary/50 bg-primary/10 text-primary":"border-border/40 hover:bg-accent"}`,children:eSe[_]},_))}),g.jsx("select",{value:i,onChange:_=>m(n,_.target.value),className:"w-full rounded-md border border-border/40 bg-background/40 px-2.5 py-2 text-xs outline-none focus:border-primary/50",children:S.map(_=>g.jsx("option",{value:_.id,children:_.label},_.id))}),g.jsxs("button",{onClick:y,disabled:o||w,className:"flex w-full items-center justify-center gap-2 rounded-md border border-primary/40 bg-primary/10 px-2.5 py-2 text-xs text-primary hover:bg-primary/20 transition-colors disabled:opacity-60",children:[o?g.jsx(_P,{className:"h-3.5 w-3.5 animate-spin"}):g.jsx(DT,{className:"h-3.5 w-3.5"}),o?"Spielt …":"Probe hören"]}),g.jsxs("div",{className:"flex items-center gap-2 pt-0.5",children:[g.jsx(DT,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),g.jsx("input",{type:"range",min:0,max:1.2,step:.05,value:l,onChange:_=>f(Number(_.target.value)),className:"h-1 flex-1 cursor-pointer accent-primary",title:"Lautstärke"}),g.jsxs("span",{className:"w-9 text-right text-[11px] tabular-nums text-muted-foreground",children:[Math.round(l*100),"%"]})]}),w&&g.jsxs("p",{className:"text-[11px] text-amber-300",children:["Keine ElevenLabs-Stimmen — Key in ",g.jsx("code",{children:"~/.hermes/.env"})," fehlt, oder keine eigene Stimme angelegt."]}),n==="edge"&&g.jsx("p",{className:"text-[11px] text-muted-foreground",children:"Edge: native deutsche Stimmen, gratis & ohne Key. Cloud (Text → Microsoft)."})]})]})}function nSe(t){const[e,n]=R.useState(!1),r=R.useRef(null),i=R.useRef([]),s=R.useRef(null),o=R.useCallback(async()=>{if(r.current)return;let l;try{l=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(f){console.error("Mikrofon-Zugriff verweigert:",f);return}s.current=l;const c=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":"audio/webm",d=new MediaRecorder(l,{mimeType:c});i.current=[],d.ondataavailable=f=>{f.data.size&&i.current.push(f.data)},d.onstop=()=>{var m;const f=new Blob(i.current,{type:c});(m=s.current)==null||m.getTracks().forEach(y=>y.stop()),s.current=null,r.current=null,n(!1),f.size>1200&&t(f)},d.start(),r.current=d,n(!0)},[t]),a=R.useCallback(()=>{var l;(l=r.current)==null||l.stop()},[]);return R.useEffect(()=>()=>{var l,c;(l=r.current)==null||l.stop(),(c=s.current)==null||c.getTracks().forEach(d=>d.stop())},[]),{recording:e,start:o,stop:a}}class cN{constructor(){Gs(this,"ctx");Gs(this,"analyser");Gs(this,"gain");Gs(this,"queue",[]);Gs(this,"playing",!1);Gs(this,"raf",0);Gs(this,"freq");Gs(this,"level",{current:0});Gs(this,"onSpeaking");const e=window.AudioContext||window.webkitAudioContext;this.ctx=new e,this.analyser=this.ctx.createAnalyser(),this.analyser.fftSize=256,this.analyser.smoothingTimeConstant=.6,this.gain=this.ctx.createGain(),this.gain.gain.value=cN.readVolume(),this.analyser.connect(this.gain),this.gain.connect(this.ctx.destination),this.freq=new Uint8Array(new ArrayBuffer(this.analyser.frequencyBinCount)),window.addEventListener("mc-voice-volume",n=>{const r=Number(n.detail);Number.isNaN(r)||(this.gain.gain.value=Math.max(0,Math.min(1.5,r)))})}static readVolume(){const e=localStorage.getItem("mc_voice_volume");if(e===null||e==="")return .6;const n=Number(e);return Number.isNaN(n)?.6:Math.max(0,Math.min(1.5,n))}async enqueue(e){this.queue.push(e),this.playing||await this.playNext()}clear(){this.queue=[]}async playNext(){var i,s;const e=this.queue.shift();if(!e){this.playing=!1,this.stopMeter(),(i=this.onSpeaking)==null||i.call(this,!1);return}if(this.playing=!0,(s=this.onSpeaking)==null||s.call(this,!0),this.ctx.state==="suspended")try{await this.ctx.resume()}catch{}let n;try{n=await this.ctx.decodeAudioData(e.slice(0))}catch{return this.playNext()}const r=this.ctx.createBufferSource();r.buffer=n,r.connect(this.analyser),r.onended=()=>{this.playNext()},r.start(),this.startMeter()}startMeter(){cancelAnimationFrame(this.raf);const e=()=>{this.analyser.getByteFrequencyData(this.freq);const n=Math.min(this.freq.length,48);let r=0;for(let s=2;s~|`]+/g," ").replace(/^\s*[-•·]\s+/gm," ").replace(/\s*&\s*/g," und ").replace(/(\d)\s*%/g,"$1 Prozent").replace(/%/g," Prozent ").replace(/(\d)\s*°\s*C?/g,"$1 Grad").replace(/°/g," Grad ").replace(/\s*=\s*/g," gleich ").replace(/\s*\/\s*/g," ").replace(/[\u{1F300}-\u{1FAFF}\u{2600}-\u{27BF}\u{2190}-\u{21FF}\u{2B00}-\u{2BFF}]/gu,"").replace(/\s+/g," ").trim()}function IU(){let t=localStorage.getItem("mc_voice_session");return t||(t="voice-"+Math.random().toString(36).slice(2)+Date.now().toString(36),localStorage.setItem("mc_voice_session",t)),t}function aSe(){return{engine:localStorage.getItem("mc_voice_engine")||"elevenlabs",voice:localStorage.getItem("mc_voice_voice")||""}}function lSe(t){const e=[],n=/[^.!?…]+[.!?…]+(\s|$)/g;let r=0,i;for(;i=n.exec(t);)e.push(i[0].trim()),r=n.lastIndex;return{sentences:e,rest:t.slice(r)}}function cSe(){const[t,e]=R.useState("idle"),[n,r]=R.useState([]),[i,s]=R.useState(null),o=R.useRef({current:0}),a=R.useRef("neutral"),l=R.useRef(null),c=R.useRef(IU()),d=R.useCallback(()=>{if(!l.current){const E=new cN;E.onSpeaking=T=>e(C=>T?"speaking":C==="speaking"?"idle":C),l.current=E,o.current=E.level}return l.current},[]),f=R.useCallback(async E=>{var ne,te,he,oe;s(null);const T=d();T.clear(),e("transcribing");let C="";try{const fe=new FormData;fe.append("audio",E,"rec.webm");const B=await fetch("/api/voice/stt",{method:"POST",body:fe});if(!B.ok)throw new Error(`STT ${B.status}`);C=((ne=(await B.json()).text)==null?void 0:ne.trim())||""}catch(fe){e("error"),s(`Spracherkennung fehlgeschlagen: ${fe.message}`);return}if(!C){e("idle");return}r(fe=>[...fe,{role:"user",text:C}]),e("thinking");const{engine:O,voice:N}=aSe();let D="",F="";r(fe=>[...fe,{role:"assistant",text:""}]);let G=Promise.resolve(),k=!1,U=!1;const H=fe=>{const B=oSe(fe);B&&(G=G.then(async()=>{try{const J=await fetch("/api/voice/tts",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:B,engine:O,voice:N})});if(!J.ok)throw new Error(`TTS ${J.status}`);await T.enqueue(await J.arrayBuffer()),k=!0}catch(J){U=!0,console.error("TTS-Fehler:",J)}}))};try{const fe=await fetch("/api/voice/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:C,session_id:c.current,system:sSe})});if(!fe.ok||!fe.body)throw new Error(`Agent ${fe.status}`);const B=fe.body.getReader(),J=new TextDecoder;let Y="";for(;;){const{done:V,value:q}=await B.read();if(V)break;Y+=J.decode(q,{stream:!0});const pe=Y.split(` -`);Y=pe.pop()||"";for(const ae of pe){const le=ae.split(` -`).find(Ke=>Ke.startsWith("data:"));if(!le)continue;const be=le.slice(5).trim();if(be==="[DONE]")continue;let Se;try{Se=JSON.parse(be)}catch{continue}if(Se.error)throw new Error(Se.error);const qe=((se=(he=(te=Se.choices)==null?void 0:te[0])==null?void 0:he.delta)==null?void 0:se.content)||"";if(!qe)continue;D+=qe,F+=qe,a.current=iSe(D),r(Ke=>{const ce=Ke.slice();return ce[ce.length-1]={role:"assistant",text:D},ce});const{sentences:Me,rest:$e}=lSe(F);F=$e,Me.forEach(H)}}if(F.trim()&&H(F),await G,!D.trim()){e("idle");return}k||(e("error"),s(U?"Sprachausgabe fehlgeschlagen — Engine/Stimme prüfen.":"Keine Sprachausgabe erzeugt."))}catch(fe){e("error"),s(`Agent-Antwort fehlgeschlagen: ${fe.message}`)}},[d]),{recording:m,start:y,stop:x}=nSe(f),S=R.useCallback(()=>{d(),e("listening"),y()},[d,y]),w=R.useCallback(()=>{x()},[x]),_=R.useCallback(()=>{var E;(E=l.current)==null||E.clear(),r([]),s(null),e("idle"),localStorage.removeItem("mc_voice_session"),c.current=IU()},[]);return R.useEffect(()=>{!m&&t==="listening"&&e("transcribing")},[m,t]),{status:t,messages:n,error:i,recording:m,audioLevel:o,emotion:a,pressStart:S,pressEnd:w,reset:_}}const uSe="/avatar.vrm";function dSe(t){return t.split(/(\*\*[^*\n]+\*\*)/g).map((e,n)=>{const r=e.match(/^\*\*([^*]+)\*\*$/);return r?g.jsx("strong",{className:"font-semibold text-foreground",children:r[1]},n):g.jsx("span",{children:e},n)})}function fSe(){return g.jsx("span",{className:"inline-flex items-center gap-1 align-middle",children:[0,1,2].map(t=>g.jsx("span",{className:"h-1.5 w-1.5 animate-pulse rounded-full bg-muted-foreground",style:{animationDelay:`${t*.15}s`}},t))})}const hSe={idle:"Bereit — halte zum Sprechen",listening:"Höre zu …",transcribing:"Verstehe …",thinking:"Hermes denkt …",speaking:"Hermes spricht …",error:"Fehler"};function pSe(){const{status:t,messages:e,error:n,recording:r,audioLevel:i,emotion:s,pressStart:o,pressEnd:a,reset:l}=cSe(),c=R.useRef(!1),d=R.useRef(null);R.useEffect(()=>{var y;(y=d.current)==null||y.scrollIntoView({behavior:"smooth",block:"end"})},[e]),R.useEffect(()=>{const y=w=>w instanceof HTMLElement&&/^(INPUT|TEXTAREA|SELECT)$/.test(w.tagName),x=w=>{w.code!=="Space"||w.repeat||c.current||y(w.target)||(w.preventDefault(),c.current=!0,o())},S=w=>{w.code!=="Space"||!c.current||(w.preventDefault(),c.current=!1,a())};return window.addEventListener("keydown",x),window.addEventListener("keyup",S),()=>{window.removeEventListener("keydown",x),window.removeEventListener("keyup",S)}},[o,a]);const f=t==="speaking",m=t==="transcribing"||t==="thinking";return g.jsxs("div",{className:"flex h-full gap-5",children:[g.jsxs("div",{className:"relative flex min-w-0 flex-1 flex-col rounded-xl border border-border/40 bg-card/30 overflow-hidden",children:[g.jsx("div",{className:"flex-1 min-h-0",children:g.jsx(Q1e,{url:uSe,audioLevel:i,emotion:s})}),g.jsxs("div",{className:"shrink-0 flex flex-col items-center gap-3 border-t border-border/40 bg-background/30 py-5 backdrop-blur-sm",children:[g.jsxs("div",{className:nt("flex items-center gap-2 text-sm",t==="error"?"text-red-400":f?"text-primary":"text-muted-foreground"),children:[m&&g.jsx(_P,{className:"h-4 w-4 animate-spin"}),f&&g.jsx(DT,{className:"h-4 w-4 animate-pulse"}),g.jsx("span",{children:n||hSe[t]})]}),g.jsx("button",{onPointerDown:y=>{y.preventDefault(),c.current=!0,o()},onPointerUp:()=>{c.current&&(c.current=!1,a())},onPointerLeave:()=>{c.current&&(c.current=!1,a())},className:nt("flex h-20 w-20 items-center justify-center rounded-full border-2 transition-all select-none touch-none",r?"border-red-500 bg-red-500/20 scale-110 shadow-lg shadow-red-500/30":"border-primary/60 bg-primary/15 hover:bg-primary/25 hover:scale-105"),title:"Gedrückt halten zum Sprechen (oder Leertaste halten)",children:g.jsx(lF,{className:nt("h-8 w-8",r?"text-red-400":"text-primary")})}),g.jsxs("div",{className:"text-[11px] text-muted-foreground",children:["Halten zum Sprechen · ",g.jsx("kbd",{className:"rounded bg-muted px-1 py-0.5 font-mono",children:"Leertaste"})," geht auch"]})]})]}),g.jsxs("div",{className:"flex w-80 shrink-0 flex-col gap-4",children:[g.jsx("div",{className:"rounded-xl border border-border/40 bg-card/40 p-4",children:g.jsx(tSe,{})}),g.jsxs("div",{className:"flex min-h-0 flex-1 flex-col rounded-xl border border-border/40 bg-card/40",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/40 px-4 py-2.5",children:[g.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Gespräch"}),g.jsx("button",{onClick:l,className:"text-muted-foreground hover:text-foreground",title:"Neues Gespräch",children:g.jsx(Q8,{className:"h-3.5 w-3.5"})})]}),g.jsxs("div",{className:"flex-1 space-y-3 overflow-y-auto p-4 scrollbar-thin",children:[e.length===0&&g.jsx("p",{className:"text-xs text-muted-foreground",children:"Halte den Knopf (oder die Leertaste) und sprich. Hermes hört zu, denkt mit seinem vollen Gedächtnis und seinen Werkzeugen — und antwortet hörbar."}),e.map((y,x)=>g.jsxs("div",{className:nt("flex flex-col gap-1",y.role==="user"?"items-end":"items-start"),children:[g.jsx("span",{className:"px-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:y.role==="user"?"Du":"Hermes"}),g.jsx("div",{className:nt("max-w-[88%] whitespace-pre-wrap break-words rounded-2xl px-3 py-2 text-sm leading-relaxed",y.role==="user"?"rounded-br-sm bg-primary/15 text-foreground":"rounded-bl-sm border border-border/40 bg-background/40 text-foreground/90"),children:y.text?dSe(y.text):g.jsx(fSe,{})})]},x)),g.jsx("div",{ref:d})]})]})]})]})}const kU=[{id:"grundlagen",label:"Grundlagen"},{id:"moe",label:"MoE & Quant"},{id:"lokal",label:"Lokal betreiben"},{id:"modelle",label:"Modell-Landschaft"},{id:"gateway",label:"Gateway-Trick"},{id:"mcp",label:"MCP"},{id:"skills",label:"Skills"},{id:"memory",label:"Gedächtnis & RAG"},{id:"agents",label:"Agenten"},{id:"ide",label:"IDE anbinden"},{id:"tricks",label:"Tricks & Kniffe"},{id:"wartung",label:"Sicherheit & Wartung"},{id:"ressourcen",label:"Ressourcen"},{id:"troubleshooting",label:"Troubleshooting"}];function mSe(t){var e;(e=document.getElementById(t))==null||e.scrollIntoView({behavior:"smooth",block:"start"})}function mo({id:t,icon:e,color:n,title:r,kicker:i,children:s,wide:o}){return g.jsxs("section",{id:t,className:nt("scroll-mt-20 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-3",o&&"md:col-span-2"),children:[g.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[g.jsx(e,{className:nt("h-5 w-5 shrink-0",n)}),g.jsxs("div",{children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:r}),i&&g.jsx("span",{className:nt("text-[9px] font-mono",n),children:i})]})]}),g.jsx("div",{className:"text-xs text-muted-foreground space-y-2.5 leading-relaxed",children:s})]})}function Vf({children:t}){return g.jsxs("div",{className:"mt-1 rounded-xl border border-primary/25 bg-primary/[0.06] p-3 text-[11px] leading-relaxed",children:[g.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-primary mb-1",children:[g.jsx(Gm,{className:"h-3 w-3"})," Bei dir konkret"]}),g.jsx("div",{className:"text-muted-foreground space-y-1",children:t})]})}function pn({children:t}){return g.jsx("code",{className:"rounded bg-background/40 border border-border/30 px-1.5 py-0.5 font-mono text-[10px] text-foreground",children:t})}function Or({href:t,name:e,note:n}){return g.jsxs("li",{className:"leading-relaxed",children:[g.jsxs("a",{href:t,target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold inline-flex items-center gap-0.5",children:[e,g.jsx(x8,{className:"h-3 w-3 opacity-60"})]}),g.jsxs("span",{className:"text-muted-foreground",children:[" — ",n]})]})}function gSe(){const[t,e]=R.useState(!1);return g.jsxs("div",{className:"space-y-7",children:[g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 flex items-start gap-4",children:[g.jsx("div",{className:"h-11 w-11 rounded-xl bg-primary/15 flex items-center justify-center shrink-0",children:g.jsx(PT,{className:"h-6 w-6 text-primary"})}),g.jsxs("div",{className:"space-y-1",children:[g.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Die AI-Bibel"}),g.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed max-w-2xl",children:["Allgemeines Nachschlagewerk für lokale & agentische AI — Konzepte, Tricks, Kniffe und kuratierte Quellen. ",g.jsx("span",{className:"font-semibold text-foreground",children:"Stand Juni 2026."})," ","Das meiste gilt überall; ",g.jsx("span",{className:"text-primary font-semibold",children:'„Bei dir konkret"'}),"-Kästen zeigen, was dein Stack daraus macht."]})]})]}),g.jsx("div",{className:"sticky top-0 z-10 -mx-1 px-1",children:g.jsx("div",{className:"rounded-xl border border-border/50 bg-card/70 backdrop-blur-xl p-2 shadow-lg shadow-black/20",children:g.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[g.jsx(NT,{className:"h-3.5 w-3.5 text-primary ml-1 mr-0.5 shrink-0"}),(t?kU:kU.slice(0,9)).map(n=>g.jsx("button",{onClick:()=>mSe(n.id),className:"rounded-lg px-2.5 py-1 text-[11px] font-semibold text-muted-foreground hover:text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:n.label},n.id)),g.jsx("button",{onClick:()=>e(n=>!n),className:"rounded-lg px-2 py-1 text-[11px] font-semibold text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:t?"weniger":"+ mehr"})]})})}),g.jsxs("div",{className:"grid gap-5 md:grid-cols-2",children:[g.jsxs(mo,{id:"grundlagen",icon:El,color:"text-cyan-400",title:"1. Wie LLMs ticken",kicker:"Grundlagen",children:[g.jsxs("p",{children:["Ein LLM ist im Kern ein ",g.jsx("strong",{children:"Wahrscheinlichkeits-Rechner für das nächste Token"}),' (Wortteil). Es „weiß" nichts — es setzt fort, was statistisch am plausibelsten ist. Daraus folgt fast alles andere.']}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Tokens"})," sind die Einheit — ~¾ Wort. Ein- und Ausgabe werden in Tokens gezählt."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Kontextfenster"}),' = wie viele Tokens das Modell gleichzeitig „sehen" kann (Prompt + Antwort). Voll = Anfang fällt raus.']}),g.jsxs("li",{children:[g.jsx("strong",{children:"Parameter"})," = die trainierten Gewichte. Training ist einmalig, ",g.jsx("strong",{children:"Inferenz"})," ist jede Antwort."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Temperatur / Sampling"})," steuert Zufall: niedrig = deterministisch/präzise (Code), hoch = kreativ."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Halluzination"})," ist kein Bug, sondern die Kehrseite des Ratens. Gegenmittel: Grounding via Tools/RAG, Verifikation."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Reasoning-/Thinking-Modelle"}),' „denken" in unsichtbaren Tokens vor der Antwort — besser bei Logik, langsamer/teurer.']})]})]}),g.jsxs(mo,{id:"moe",icon:$1,color:"text-violet-400",title:"2. MoE & Quantisierung",kicker:"Mehr Modell, weniger Last",children:[g.jsxs("p",{children:[g.jsx("strong",{children:"Mixture of Experts (MoE):"})," Statt für jedes Token das ganze Netz zu aktivieren, wählt ein",g.jsx("em",{children:" Router"})," nur ein paar spezialisierte ",g.jsx("em",{children:"Experts"}),' aus. So läuft ein 100B-Modell mit der aktiven Rechenlast eines viel kleineren (z.B. „122B total / 10B aktiv").']}),g.jsxs("p",{children:[g.jsx("strong",{children:"Quantisierung:"})," Gewichte von FP16 auf weniger Bits eindampfen — kleiner & schneller bei minimalem Qualitätsverlust. Faustregel:"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx(pn,{children:"Q8"})," nahezu verlustfrei, größter Footprint"]}),g.jsxs("li",{children:[g.jsx(pn,{children:"Q6_K"})," sehr gut, guter Mittelweg"]}),g.jsxs("li",{children:[g.jsx(pn,{children:"Q4_K_M"})," der Sweet-Spot für lokal — viel Modell pro GB"]})]}),g.jsxs(Vf,{children:["VRAM/RAM ist die harte Grenze — ",g.jsx("strong",{children:"darum"})," ist beides hier zentral: MoE lässt 100B+ überhaupt laufen, Quant entscheidet, was reinpasst. Dein Line-up fährt durchweg ",g.jsx(pn,{children:"Q4_K_M"}),"/",g.jsx(pn,{children:"Q6_K"}),"."]})]}),g.jsxs(mo,{id:"lokal",icon:nw,color:"text-emerald-400",title:"3. Lokal betreiben: Engines & Backends",kicker:"llama.cpp, vLLM & Co.",wide:!0,children:[g.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{children:[g.jsx("strong",{children:"Inference-Engines"})," — was die Modelle ausführt:"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"llama.cpp / GGUF"})," — der De-facto-Standard für lokal, CPU+GPU, läuft überall."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Ollama / LM Studio"})," — bequeme Wrapper mit One-Click-Downloads (LM Studio mit GUI)."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"vLLM / TGI"})," — Server-Engines für maximalen Durchsatz auf dicken GPUs."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"llama-swap"})," — Proxy, der ",g.jsx("em",{children:"mehrere"})," Modelle hinter ",g.jsx("em",{children:"einem"})," Port hält und je nach Anfrage automatisch ein-/aussattelt."]})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{children:[g.jsx("strong",{children:"GPU-Backends"})," — wie gerechnet wird:"]}),g.jsx("ul",{className:"list-disc pl-4 space-y-1",children:g.jsxs("li",{children:[g.jsx(pn,{children:"CUDA"})," NVIDIA · ",g.jsx(pn,{children:"ROCm"})," AMD · ",g.jsx(pn,{children:"Vulkan"})," herstellerübergreifend · ",g.jsx(pn,{children:"Metal"})," Apple"]})}),g.jsxs("p",{className:"pt-1",children:[g.jsx("strong",{children:"Begriffe, die immer wiederkommen:"})," Kontext (",g.jsx(pn,{children:"-c"}),"), Slots/Parallel, KV-Cache, Modell-TTL/Swap, ",g.jsx("strong",{children:"Speculative Decoding"})," (kleines Draft-Modell rät voraus → schneller)."]})]})]}),g.jsxs(Vf,{children:["Deine Box hat eine AMD-APU (gfx1151). ",g.jsx("strong",{children:"Einschränkung & Trick:"})," dort schlägt ",g.jsx(pn,{children:"Vulkan/RADV"})," das offizielle ",g.jsx(pn,{children:"ROCm"})," bei Token-Generierung um ~12–22 % — darum läuft die Engine auf Vulkan.",g.jsx(pn,{children:"llama-swap"})," hält die Alltags-Hirne dauerwarm; ",g.jsx(pn,{children:"coder"})," nutzt Spec-Decoding."]})]}),g.jsxs(mo,{id:"modelle",icon:RT,color:"text-sky-400",title:"4. Modell-Landschaft",kicker:"Stand Juni 2026",wide:!0,children:[g.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsx("p",{children:g.jsx("strong",{children:"Open-Weight (lokal nutzbar):"})}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Qwen"})," (Alibaba) — starke Allrounder + Coder + Vision, viele Größen/MoE."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Llama"})," (Meta), ",g.jsx("strong",{children:"Gemma"})," (Google), ",g.jsx("strong",{children:"Phi"})," (Microsoft) — solide Open-Familien."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"DeepSeek"}),", ",g.jsx("strong",{children:"Mistral/Mixtral"})," — kräftige MoE-/Reasoning-Modelle."]})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsx("p",{children:g.jsx("strong",{children:"Frontier (Cloud-API):"})}),g.jsx("ul",{className:"list-disc pl-4 space-y-1",children:g.jsxs("li",{children:[g.jsx("strong",{children:"Claude"})," (Anthropic), ",g.jsx("strong",{children:"GPT"})," (OpenAI), ",g.jsx("strong",{children:"Gemini"})," (Google) — die stärksten Allrounder, aber nicht lokal."]})}),g.jsxs("p",{className:"pt-1",children:[g.jsx("strong",{children:"Modellwahl nach Aufgabe:"})," schnelles Alltags-Hirn · großes Logik-Hirn für harte Tasks · dediziertes Code-Modell · multimodal für Bilder · Embedding-Modell fürs Gedächtnis."]})]})]}),g.jsx("p",{className:"text-[11px] italic",children:'Leaderboards (HF, LMArena) sind grobe Orientierung — der einzige Benchmark, der zählt, ist deine eigene Aufgabe. Vorsicht vor „Benchmaxxing".'}),g.jsxs(Vf,{children:["Dein Line-up via llama-swap: ",g.jsx(pn,{children:"fast"})," (Alltag/Vision/MoE) · ",g.jsx(pn,{children:"heavy"})," (schwere Logik) ·",g.jsx(pn,{children:"coder"})," · ",g.jsx(pn,{children:"scout"})," · ",g.jsx(pn,{children:"vision"})," · ",g.jsx(pn,{children:"embed"})," (fürs Gedächtnis) ·",g.jsx(pn,{children:"hermes"})," (Agent-Hirn). Verwalten/tauschen im ",g.jsx("strong",{children:"Modell-Manager"}),"-Tab."]})]}),g.jsxs(mo,{id:"gateway",icon:X8,color:"text-amber-400",title:"5. Der Gateway-Trick",kicker:"OpenAI-kompatibel = überall andocken",children:[g.jsxs("p",{children:["Fast jedes AI-Tool spricht heute das ",g.jsx("strong",{children:"OpenAI-Format"})," (",g.jsx(pn,{children:"/v1/chat/completions"}),"). Ein",g.jsx("strong",{children:" Gateway"})," davor gibt dir ",g.jsx("em",{children:"einen"})," Endpunkt für alles: zentrales Key-Management, Logging und transparentes ",g.jsx("strong",{children:"Routing"})," — der Client merkt nicht, welches Modell tatsächlich antwortet."]}),g.jsxs("p",{children:["Die ",g.jsx(pn,{children:"model:auto"}),'-Idee: du sagst „auto", das Gateway wählt das passende Modell je nach Anfrage und lädt es bei Bedarf.']}),g.jsxs(Vf,{children:["Dein Gateway: ",g.jsx(pn,{children:"http://192.168.178.151:9001/v1"}),", Model ",g.jsx(pn,{children:"auto"}),", API-Key beliebig. Fertige Configs erzeugt dir der ",g.jsx("strong",{children:"Verbinden"}),"-Tab live — eine Wahrheit, kein Abtippen."]})]}),g.jsxs(mo,{id:"mcp",icon:kT,color:"text-violet-400",title:"6. MCP — Werkzeuge für Agenten",kicker:"USB-C für AI-Tools",children:[g.jsxs("p",{children:["Das ",g.jsx("strong",{children:"Model Context Protocol"})," (offen, von Anthropic initiiert) standardisiert, wie ein AI-Client mit externen Tools & Datenquellen spricht. Ein ",g.jsx("strong",{children:"MCP-Server"})," bringt Fähigkeiten: Dateien, Web-Fetch, Git, Datenbanken, eigene APIs."]}),g.jsx("p",{children:"Statt für jeden Editor eigene Tools zu schreiben, bindet jeder MCP-fähige Agent denselben Server an."}),g.jsxs("div",{className:"flex items-start gap-1.5 rounded-xl border border-amber-500/25 bg-amber-500/[0.06] p-2.5 text-[11px]",children:[g.jsx(V8,{className:"h-3.5 w-3.5 text-amber-400 shrink-0 mt-0.5"}),g.jsxs("span",{children:[g.jsx("strong",{children:"Sicherheit:"})," ein MCP-Server hat echten Zugriff (Dateien, Shell). Nur vertrauenswürdige Server laufen lassen, Rechte minimal halten, Quelle prüfen."]})]})]}),g.jsxs(mo,{id:"skills",icon:Z8,color:"text-emerald-400",title:"7. Agent Skills",kicker:"Wiederverwendbare Fähigkeiten",children:[g.jsxs("p",{children:["Ein ",g.jsx("strong",{children:"Skill"})," ist ein Ordner mit einer ",g.jsx(pn,{children:"SKILL.md"})," (YAML-Kopf + Anleitung, optional Skripte/Beispiele), den der Agent für eine bestimmte Aufgabe lädt — z.B. TDD, Code-Vereinfachung, API-Design."]}),g.jsx("pre",{className:"p-2.5 bg-background/25 rounded-lg border border-border/30 font-mono text-[9px] text-foreground overflow-x-auto whitespace-pre",children:`--- +`);Y=pe.pop()||"";for(const le of pe){const ce=le.split(` +`).find(qe=>qe.startsWith("data:"));if(!ce)continue;const be=ce.slice(5).trim();if(be==="[DONE]")continue;let Se;try{Se=JSON.parse(be)}catch{continue}if(Se.error)throw new Error(Se.error);const Xe=((oe=(he=(te=Se.choices)==null?void 0:te[0])==null?void 0:he.delta)==null?void 0:oe.content)||"";if(!Xe)continue;D+=Xe,F+=Xe,a.current=iSe(D),r(qe=>{const ue=qe.slice();return ue[ue.length-1]={role:"assistant",text:D},ue});const{sentences:Me,rest:We}=lSe(F);F=We,Me.forEach(H)}}if(F.trim()&&H(F),await G,!D.trim()){e("idle");return}k||(e("error"),s(U?"Sprachausgabe fehlgeschlagen — Engine/Stimme prüfen.":"Keine Sprachausgabe erzeugt."))}catch(fe){e("error"),s(`Agent-Antwort fehlgeschlagen: ${fe.message}`)}},[d]),{recording:m,start:y,stop:x}=nSe(f),S=R.useCallback(()=>{d(),e("listening"),y()},[d,y]),w=R.useCallback(()=>{x()},[x]),_=R.useCallback(()=>{var E;(E=l.current)==null||E.clear(),r([]),s(null),e("idle"),localStorage.removeItem("mc_voice_session"),c.current=IU()},[]);return R.useEffect(()=>{!m&&t==="listening"&&e("transcribing")},[m,t]),{status:t,messages:n,error:i,recording:m,audioLevel:o,emotion:a,pressStart:S,pressEnd:w,reset:_}}const uSe="/avatar.vrm";function dSe(t){return t.split(/(\*\*[^*\n]+\*\*)/g).map((e,n)=>{const r=e.match(/^\*\*([^*]+)\*\*$/);return r?g.jsx("strong",{className:"font-semibold text-foreground",children:r[1]},n):g.jsx("span",{children:e},n)})}function fSe(){return g.jsx("span",{className:"inline-flex items-center gap-1 align-middle",children:[0,1,2].map(t=>g.jsx("span",{className:"h-1.5 w-1.5 animate-pulse rounded-full bg-muted-foreground",style:{animationDelay:`${t*.15}s`}},t))})}const hSe={idle:"Bereit — halte zum Sprechen",listening:"Höre zu …",transcribing:"Verstehe …",thinking:"Hermes denkt …",speaking:"Hermes spricht …",error:"Fehler"};function pSe(){const{status:t,messages:e,error:n,recording:r,audioLevel:i,emotion:s,pressStart:o,pressEnd:a,reset:l}=cSe(),c=R.useRef(!1),d=R.useRef(null);R.useEffect(()=>{var y;(y=d.current)==null||y.scrollIntoView({behavior:"smooth",block:"end"})},[e]),R.useEffect(()=>{const y=w=>w instanceof HTMLElement&&/^(INPUT|TEXTAREA|SELECT)$/.test(w.tagName),x=w=>{w.code!=="Space"||w.repeat||c.current||y(w.target)||(w.preventDefault(),c.current=!0,o())},S=w=>{w.code!=="Space"||!c.current||(w.preventDefault(),c.current=!1,a())};return window.addEventListener("keydown",x),window.addEventListener("keyup",S),()=>{window.removeEventListener("keydown",x),window.removeEventListener("keyup",S)}},[o,a]);const f=t==="speaking",m=t==="transcribing"||t==="thinking";return g.jsxs("div",{className:"flex h-full gap-5",children:[g.jsxs("div",{className:"relative flex min-w-0 flex-1 flex-col rounded-xl border border-border/40 bg-card/30 overflow-hidden",children:[g.jsx("div",{className:"flex-1 min-h-0",children:g.jsx(Q1e,{url:uSe,audioLevel:i,emotion:s})}),g.jsxs("div",{className:"shrink-0 flex flex-col items-center gap-3 border-t border-border/40 bg-background/30 py-5 backdrop-blur-sm",children:[g.jsxs("div",{className:nt("flex items-center gap-2 text-sm",t==="error"?"text-red-400":f?"text-primary":"text-muted-foreground"),children:[m&&g.jsx(_P,{className:"h-4 w-4 animate-spin"}),f&&g.jsx(DT,{className:"h-4 w-4 animate-pulse"}),g.jsx("span",{children:n||hSe[t]})]}),g.jsx("button",{onPointerDown:y=>{y.preventDefault(),c.current=!0,o()},onPointerUp:()=>{c.current&&(c.current=!1,a())},onPointerLeave:()=>{c.current&&(c.current=!1,a())},className:nt("flex h-20 w-20 items-center justify-center rounded-full border-2 transition-all select-none touch-none",r?"border-red-500 bg-red-500/20 scale-110 shadow-lg shadow-red-500/30":"border-primary/60 bg-primary/15 hover:bg-primary/25 hover:scale-105"),title:"Gedrückt halten zum Sprechen (oder Leertaste halten)",children:g.jsx(lF,{className:nt("h-8 w-8",r?"text-red-400":"text-primary")})}),g.jsxs("div",{className:"text-[11px] text-muted-foreground",children:["Halten zum Sprechen · ",g.jsx("kbd",{className:"rounded bg-muted px-1 py-0.5 font-mono",children:"Leertaste"})," geht auch"]})]})]}),g.jsxs("div",{className:"flex w-80 shrink-0 flex-col gap-4",children:[g.jsx("div",{className:"rounded-xl border border-border/40 bg-card/40 p-4",children:g.jsx(tSe,{})}),g.jsxs("div",{className:"flex min-h-0 flex-1 flex-col rounded-xl border border-border/40 bg-card/40",children:[g.jsxs("div",{className:"flex items-center justify-between border-b border-border/40 px-4 py-2.5",children:[g.jsx("span",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Gespräch"}),g.jsx("button",{onClick:l,className:"text-muted-foreground hover:text-foreground",title:"Neues Gespräch",children:g.jsx(Q8,{className:"h-3.5 w-3.5"})})]}),g.jsxs("div",{className:"flex-1 space-y-3 overflow-y-auto p-4 scrollbar-thin",children:[e.length===0&&g.jsx("p",{className:"text-xs text-muted-foreground",children:"Halte den Knopf (oder die Leertaste) und sprich. Hermes hört zu, denkt mit seinem vollen Gedächtnis und seinen Werkzeugen — und antwortet hörbar."}),e.map((y,x)=>g.jsxs("div",{className:nt("flex flex-col gap-1",y.role==="user"?"items-end":"items-start"),children:[g.jsx("span",{className:"px-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:y.role==="user"?"Du":"Hermes"}),g.jsx("div",{className:nt("max-w-[88%] whitespace-pre-wrap break-words rounded-2xl px-3 py-2 text-sm leading-relaxed",y.role==="user"?"rounded-br-sm bg-primary/15 text-foreground":"rounded-bl-sm border border-border/40 bg-background/40 text-foreground/90"),children:y.text?dSe(y.text):g.jsx(fSe,{})})]},x)),g.jsx("div",{ref:d})]})]})]})]})}const kU=[{id:"grundlagen",label:"Grundlagen"},{id:"moe",label:"MoE & Quant"},{id:"lokal",label:"Lokal betreiben"},{id:"modelle",label:"Modell-Landschaft"},{id:"gateway",label:"Gateway-Trick"},{id:"mcp",label:"MCP"},{id:"skills",label:"Skills"},{id:"memory",label:"Gedächtnis & RAG"},{id:"agents",label:"Agenten"},{id:"ide",label:"IDE anbinden"},{id:"tricks",label:"Tricks & Kniffe"},{id:"wartung",label:"Sicherheit & Wartung"},{id:"ressourcen",label:"Ressourcen"},{id:"troubleshooting",label:"Troubleshooting"}];function mSe(t){var e;(e=document.getElementById(t))==null||e.scrollIntoView({behavior:"smooth",block:"start"})}function mo({id:t,icon:e,color:n,title:r,kicker:i,children:s,wide:o}){return g.jsxs("section",{id:t,className:nt("scroll-mt-20 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-3",o&&"md:col-span-2"),children:[g.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[g.jsx(e,{className:nt("h-5 w-5 shrink-0",n)}),g.jsxs("div",{children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:r}),i&&g.jsx("span",{className:nt("text-[9px] font-mono",n),children:i})]})]}),g.jsx("div",{className:"text-xs text-muted-foreground space-y-2.5 leading-relaxed",children:s})]})}function Vf({children:t}){return g.jsxs("div",{className:"mt-1 rounded-xl border border-primary/25 bg-primary/[0.06] p-3 text-[11px] leading-relaxed",children:[g.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-primary mb-1",children:[g.jsx(Gm,{className:"h-3 w-3"})," Bei dir konkret"]}),g.jsx("div",{className:"text-muted-foreground space-y-1",children:t})]})}function pn({children:t}){return g.jsx("code",{className:"rounded bg-background/40 border border-border/30 px-1.5 py-0.5 font-mono text-[10px] text-foreground",children:t})}function Or({href:t,name:e,note:n}){return g.jsxs("li",{className:"leading-relaxed",children:[g.jsxs("a",{href:t,target:"_blank",rel:"noopener",className:"text-primary hover:underline font-semibold inline-flex items-center gap-0.5",children:[e,g.jsx(x8,{className:"h-3 w-3 opacity-60"})]}),g.jsxs("span",{className:"text-muted-foreground",children:[" — ",n]})]})}function gSe(){const[t,e]=R.useState(!1);return g.jsxs("div",{className:"space-y-7",children:[g.jsxs("div",{className:"rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 flex items-start gap-4",children:[g.jsx("div",{className:"h-11 w-11 rounded-xl bg-primary/15 flex items-center justify-center shrink-0",children:g.jsx(PT,{className:"h-6 w-6 text-primary"})}),g.jsxs("div",{className:"space-y-1",children:[g.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Die AI-Bibel"}),g.jsxs("p",{className:"text-sm text-muted-foreground leading-relaxed max-w-2xl",children:["Allgemeines Nachschlagewerk für lokale & agentische AI — Konzepte, Tricks, Kniffe und kuratierte Quellen. ",g.jsx("span",{className:"font-semibold text-foreground",children:"Stand Juni 2026."})," ","Das meiste gilt überall; ",g.jsx("span",{className:"text-primary font-semibold",children:'„Bei dir konkret"'}),"-Kästen zeigen, was dein Stack daraus macht."]})]})]}),g.jsx("div",{className:"sticky top-0 z-10 -mx-1 px-1",children:g.jsx("div",{className:"rounded-xl border border-border/50 bg-card/70 backdrop-blur-xl p-2 shadow-lg shadow-black/20",children:g.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[g.jsx(NT,{className:"h-3.5 w-3.5 text-primary ml-1 mr-0.5 shrink-0"}),(t?kU:kU.slice(0,9)).map(n=>g.jsx("button",{onClick:()=>mSe(n.id),className:"rounded-lg px-2.5 py-1 text-[11px] font-semibold text-muted-foreground hover:text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:n.label},n.id)),g.jsx("button",{onClick:()=>e(n=>!n),className:"rounded-lg px-2 py-1 text-[11px] font-semibold text-primary hover:bg-primary/10 transition-colors cursor-pointer",children:t?"weniger":"+ mehr"})]})})}),g.jsxs("div",{className:"grid gap-5 md:grid-cols-2",children:[g.jsxs(mo,{id:"grundlagen",icon:El,color:"text-cyan-400",title:"1. Wie LLMs ticken",kicker:"Grundlagen",children:[g.jsxs("p",{children:["Ein LLM ist im Kern ein ",g.jsx("strong",{children:"Wahrscheinlichkeits-Rechner für das nächste Token"}),' (Wortteil). Es „weiß" nichts — es setzt fort, was statistisch am plausibelsten ist. Daraus folgt fast alles andere.']}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Tokens"})," sind die Einheit — ~¾ Wort. Ein- und Ausgabe werden in Tokens gezählt."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Kontextfenster"}),' = wie viele Tokens das Modell gleichzeitig „sehen" kann (Prompt + Antwort). Voll = Anfang fällt raus.']}),g.jsxs("li",{children:[g.jsx("strong",{children:"Parameter"})," = die trainierten Gewichte. Training ist einmalig, ",g.jsx("strong",{children:"Inferenz"})," ist jede Antwort."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Temperatur / Sampling"})," steuert Zufall: niedrig = deterministisch/präzise (Code), hoch = kreativ."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Halluzination"})," ist kein Bug, sondern die Kehrseite des Ratens. Gegenmittel: Grounding via Tools/RAG, Verifikation."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Reasoning-/Thinking-Modelle"}),' „denken" in unsichtbaren Tokens vor der Antwort — besser bei Logik, langsamer/teurer.']})]})]}),g.jsxs(mo,{id:"moe",icon:$1,color:"text-violet-400",title:"2. MoE & Quantisierung",kicker:"Mehr Modell, weniger Last",children:[g.jsxs("p",{children:[g.jsx("strong",{children:"Mixture of Experts (MoE):"})," Statt für jedes Token das ganze Netz zu aktivieren, wählt ein",g.jsx("em",{children:" Router"})," nur ein paar spezialisierte ",g.jsx("em",{children:"Experts"}),' aus. So läuft ein 100B-Modell mit der aktiven Rechenlast eines viel kleineren (z.B. „122B total / 10B aktiv").']}),g.jsxs("p",{children:[g.jsx("strong",{children:"Quantisierung:"})," Gewichte von FP16 auf weniger Bits eindampfen — kleiner & schneller bei minimalem Qualitätsverlust. Faustregel:"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx(pn,{children:"Q8"})," nahezu verlustfrei, größter Footprint"]}),g.jsxs("li",{children:[g.jsx(pn,{children:"Q6_K"})," sehr gut, guter Mittelweg"]}),g.jsxs("li",{children:[g.jsx(pn,{children:"Q4_K_M"})," der Sweet-Spot für lokal — viel Modell pro GB"]})]}),g.jsxs(Vf,{children:["VRAM/RAM ist die harte Grenze — ",g.jsx("strong",{children:"darum"})," ist beides hier zentral: MoE lässt 100B+ überhaupt laufen, Quant entscheidet, was reinpasst. Dein Line-up fährt durchweg ",g.jsx(pn,{children:"Q4_K_M"}),"/",g.jsx(pn,{children:"Q6_K"}),"."]})]}),g.jsxs(mo,{id:"lokal",icon:nw,color:"text-emerald-400",title:"3. Lokal betreiben: Engines & Backends",kicker:"llama.cpp, vLLM & Co.",wide:!0,children:[g.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{children:[g.jsx("strong",{children:"Inference-Engines"})," — was die Modelle ausführt:"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"llama.cpp / GGUF"})," — der De-facto-Standard für lokal, CPU+GPU, läuft überall."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Ollama / LM Studio"})," — bequeme Wrapper mit One-Click-Downloads (LM Studio mit GUI)."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"vLLM / TGI"})," — Server-Engines für maximalen Durchsatz auf dicken GPUs."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"llama-swap"})," — Proxy, der ",g.jsx("em",{children:"mehrere"})," Modelle hinter ",g.jsx("em",{children:"einem"})," Port hält und je nach Anfrage automatisch ein-/aussattelt."]})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{children:[g.jsx("strong",{children:"GPU-Backends"})," — wie gerechnet wird:"]}),g.jsx("ul",{className:"list-disc pl-4 space-y-1",children:g.jsxs("li",{children:[g.jsx(pn,{children:"CUDA"})," NVIDIA · ",g.jsx(pn,{children:"ROCm"})," AMD · ",g.jsx(pn,{children:"Vulkan"})," herstellerübergreifend · ",g.jsx(pn,{children:"Metal"})," Apple"]})}),g.jsxs("p",{className:"pt-1",children:[g.jsx("strong",{children:"Begriffe, die immer wiederkommen:"})," Kontext (",g.jsx(pn,{children:"-c"}),"), Slots/Parallel, KV-Cache, Modell-TTL/Swap, ",g.jsx("strong",{children:"Speculative Decoding"})," (kleines Draft-Modell rät voraus → schneller)."]})]})]}),g.jsxs(Vf,{children:["Deine Box hat eine AMD-APU (gfx1151). ",g.jsx("strong",{children:"Einschränkung & Trick:"})," dort schlägt ",g.jsx(pn,{children:"Vulkan/RADV"})," das offizielle ",g.jsx(pn,{children:"ROCm"})," bei Token-Generierung um ~12–22 % — darum läuft die Engine auf Vulkan.",g.jsx(pn,{children:"llama-swap"})," hält die Alltags-Hirne dauerwarm; ",g.jsx(pn,{children:"coder"})," nutzt Spec-Decoding."]})]}),g.jsxs(mo,{id:"modelle",icon:RT,color:"text-sky-400",title:"4. Modell-Landschaft",kicker:"Stand Juni 2026",wide:!0,children:[g.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsx("p",{children:g.jsx("strong",{children:"Open-Weight (lokal nutzbar):"})}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Qwen"})," (Alibaba) — starke Allrounder + Coder + Vision, viele Größen/MoE."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Llama"})," (Meta), ",g.jsx("strong",{children:"Gemma"})," (Google), ",g.jsx("strong",{children:"Phi"})," (Microsoft) — solide Open-Familien."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"DeepSeek"}),", ",g.jsx("strong",{children:"Mistral/Mixtral"})," — kräftige MoE-/Reasoning-Modelle."]})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsx("p",{children:g.jsx("strong",{children:"Frontier (Cloud-API):"})}),g.jsx("ul",{className:"list-disc pl-4 space-y-1",children:g.jsxs("li",{children:[g.jsx("strong",{children:"Claude"})," (Anthropic), ",g.jsx("strong",{children:"GPT"})," (OpenAI), ",g.jsx("strong",{children:"Gemini"})," (Google) — die stärksten Allrounder, aber nicht lokal."]})}),g.jsxs("p",{className:"pt-1",children:[g.jsx("strong",{children:"Modellwahl nach Aufgabe:"})," schnelles Alltags-Hirn · großes Logik-Hirn für harte Tasks · dediziertes Code-Modell · multimodal für Bilder · Embedding-Modell fürs Gedächtnis."]})]})]}),g.jsx("p",{className:"text-[11px] italic",children:'Leaderboards (HF, LMArena) sind grobe Orientierung — der einzige Benchmark, der zählt, ist deine eigene Aufgabe. Vorsicht vor „Benchmaxxing".'}),g.jsxs(Vf,{children:["Dein Line-up via llama-swap: ",g.jsx(pn,{children:"fast"})," (Alltag/Vision/MoE) · ",g.jsx(pn,{children:"heavy"})," (schwere Logik) ·",g.jsx(pn,{children:"coder"})," · ",g.jsx(pn,{children:"scout"})," · ",g.jsx(pn,{children:"vision"})," · ",g.jsx(pn,{children:"embed"})," (fürs Gedächtnis) ·",g.jsx(pn,{children:"hermes"})," (Agent-Hirn). Verwalten/tauschen im ",g.jsx("strong",{children:"Modell-Manager"}),"-Tab."]})]}),g.jsxs(mo,{id:"gateway",icon:X8,color:"text-amber-400",title:"5. Der Gateway-Trick",kicker:"OpenAI-kompatibel = überall andocken",children:[g.jsxs("p",{children:["Fast jedes AI-Tool spricht heute das ",g.jsx("strong",{children:"OpenAI-Format"})," (",g.jsx(pn,{children:"/v1/chat/completions"}),"). Ein",g.jsx("strong",{children:" Gateway"})," davor gibt dir ",g.jsx("em",{children:"einen"})," Endpunkt für alles: zentrales Key-Management, Logging und transparentes ",g.jsx("strong",{children:"Routing"})," — der Client merkt nicht, welches Modell tatsächlich antwortet."]}),g.jsxs("p",{children:["Die ",g.jsx(pn,{children:"model:auto"}),'-Idee: du sagst „auto", das Gateway wählt das passende Modell je nach Anfrage und lädt es bei Bedarf.']}),g.jsxs(Vf,{children:["Dein Gateway: ",g.jsx(pn,{children:"http://192.168.178.151:9001/v1"}),", Model ",g.jsx(pn,{children:"auto"}),", API-Key beliebig. Fertige Configs erzeugt dir der ",g.jsx("strong",{children:"Verbinden"}),"-Tab live — eine Wahrheit, kein Abtippen."]})]}),g.jsxs(mo,{id:"mcp",icon:kT,color:"text-violet-400",title:"6. MCP — Werkzeuge für Agenten",kicker:"USB-C für AI-Tools",children:[g.jsxs("p",{children:["Das ",g.jsx("strong",{children:"Model Context Protocol"})," (offen, von Anthropic initiiert) standardisiert, wie ein AI-Client mit externen Tools & Datenquellen spricht. Ein ",g.jsx("strong",{children:"MCP-Server"})," bringt Fähigkeiten: Dateien, Web-Fetch, Git, Datenbanken, eigene APIs."]}),g.jsx("p",{children:"Statt für jeden Editor eigene Tools zu schreiben, bindet jeder MCP-fähige Agent denselben Server an."}),g.jsxs("div",{className:"flex items-start gap-1.5 rounded-xl border border-amber-500/25 bg-amber-500/[0.06] p-2.5 text-[11px]",children:[g.jsx(V8,{className:"h-3.5 w-3.5 text-amber-400 shrink-0 mt-0.5"}),g.jsxs("span",{children:[g.jsx("strong",{children:"Sicherheit:"})," ein MCP-Server hat echten Zugriff (Dateien, Shell). Nur vertrauenswürdige Server laufen lassen, Rechte minimal halten, Quelle prüfen."]})]})]}),g.jsxs(mo,{id:"skills",icon:Z8,color:"text-emerald-400",title:"7. Agent Skills",kicker:"Wiederverwendbare Fähigkeiten",children:[g.jsxs("p",{children:["Ein ",g.jsx("strong",{children:"Skill"})," ist ein Ordner mit einer ",g.jsx(pn,{children:"SKILL.md"})," (YAML-Kopf + Anleitung, optional Skripte/Beispiele), den der Agent für eine bestimmte Aufgabe lädt — z.B. TDD, Code-Vereinfachung, API-Design."]}),g.jsx("pre",{className:"p-2.5 bg-background/25 rounded-lg border border-border/30 font-mono text-[9px] text-foreground overflow-x-auto whitespace-pre",children:`--- name: tdd-pro description: Treibt Entwicklung mit strikter TDD-Praxis --- # Instructions -...`}),g.jsxs("p",{children:["Suchen & installieren über die ",g.jsx("strong",{children:"skills.sh"}),"-Registry: ",g.jsx(pn,{children:"npx skills find"})," /",g.jsx(pn,{children:"npx skills add owner/repo"}),". Skills liegen projektweit (vom Agent beim Start gelesen) oder global."]})]}),g.jsxs(mo,{id:"memory",icon:N8,color:"text-indigo-400",title:"8. Gedächtnis & RAG",kicker:"Modelle vergessen — du nicht",wide:!0,children:[g.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{children:["LLMs sind ",g.jsx("strong",{children:"zustandslos"}),": ohne Hilfe weiß das Modell beim nächsten Turn nichts mehr. Gedächtnis lebt extern."]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Embeddings"})," wandeln Text in Vektoren; ein ",g.jsx("strong",{children:"Vektor-Store"})," (Chroma, …) findet semantisch Ähnliches."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"RAG"})," = relevante Fakten vor dem Turn heraussuchen und einblenden statt alles im Prompt zu halten."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Long-Context vs. RAG:"}),' riesige Fenster sind bequem, aber teuer & „lost in the middle" — gezieltes Abrufen skaliert besser.']})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{children:[g.jsx("strong",{children:"Auto-lernendes Gedächtnis"})," ist die nächste Stufe:"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:["extrahiert Fakten ",g.jsx("em",{children:"selbst"})," aus Gesprächen, statt nur abzuspeichern"]}),g.jsx("li",{children:"dedupliziert semantisch (kein 10× derselbe Fakt)"}),g.jsxs("li",{children:[g.jsx("strong",{children:"Graph-Sicht"})," = Fakten ",g.jsx("em",{children:"plus"})," ihre Beziehungen, nicht nur eine flache Liste"]})]})]})]}),g.jsxs(Vf,{children:["Dein Gedächtnis (Tab ",g.jsx("strong",{children:"Gedächtnis"}),") ist ",g.jsx("strong",{children:"Mem0"}),"-basiert: auto-lernend & semantisch, ",g.jsx("strong",{children:"graph-first"})," dargestellt, mit 4-Typen-Taxonomie (",g.jsx(pn,{children:"Identität"})," · ",g.jsx(pn,{children:"Wissen"})," · ",g.jsx(pn,{children:"Regeln"})," · ",g.jsx(pn,{children:"Ereignisse"}),"). Einstieg über ein kurzes ",g.jsx("strong",{children:"Hermes-Onboarding-Gespräch"})," im Terminal — der Agent lernt im Hintergrund nach jedem Turn.",g.jsx("br",{}),g.jsx("strong",{children:"Gotcha:"})," ein gelöschter Fakt kann wieder auftauchen, solange die Original-Nachricht noch im Verlauf steht (additive Extraktion)."]})]}),g.jsxs(mo,{id:"agents",icon:Il,color:"text-rose-400",title:"9. Autonome Agenten betreiben",kicker:"LLM in der Schleife",wide:!0,children:[g.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{children:["Ein ",g.jsx("strong",{children:"Agent"})," ist ein LLM in einer Schleife mit Tools:",g.jsx("em",{children:" denken → Tool aufrufen → Ergebnis beobachten → weiter"}),", bis das Ziel erreicht ist."]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Guardrails"})," (Hard-Stop, Tool-Limits) verhindern Endlos-Loops, wenn ein Tool fehlt oder hängt."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Kontext-Hygiene"})," ist die wichtigste Disziplin: frische Sessions starten — vollgemüllte Historien werden langsam, driften und halluzinieren."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Kanäle:"})," CLI/Terminal, Chat-UI, Messaging (z.B. Telegram), reine API."]})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{children:[g.jsx("strong",{children:"Least Privilege:"})," gib einem Agenten nur die Tools, die er wirklich braucht. Kritische Aktionen (Shell auf dem Host, Löschen, Geld/Deploys) hinter menschliche Freigabe."]}),g.jsxs("p",{children:[g.jsx("strong",{children:"Was sich vollautomatisch lohnt:"})," Modell-Routing, Hintergrund-Gedächtnis, Recherche. ",g.jsx("strong",{children:"Was Freigabe braucht:"})," Systembefehle, Updates/Reboots, permanentes Löschen."]})]})]}),g.jsxs(Vf,{children:[g.jsx("strong",{children:"Hermes"})," ist dein Box-Agent (Hirn = ",g.jsx(pn,{children:"fast"}),"). Reden tust du mit ihm im",g.jsx("strong",{children:" Terminal"}),"-Tab (Web-Terminal via ttyd) oder per ",g.jsx("strong",{children:"Telegram"}),". Er hat MCP-Server für Gedächtnis, Stack-Steuerung, Web-Fetch und ",g.jsx("strong",{children:"PC-Steuerung"})," (Executor auf deinem Windows-PC). Status & Verdrahtung im ",g.jsx("strong",{children:"Hermes"}),"-Tab."]})]}),g.jsxs(mo,{id:"ide",icon:aF,color:"text-cyan-400",title:"10. IDE / Editor anbinden",kicker:"Vibe-Coding lokal",children:[g.jsxs("p",{children:["Jede ",g.jsx("strong",{children:"OpenAI-kompatible"})," IDE oder Extension lässt sich auf einen lokalen Server umbiegen — Base-URL + Model eintragen, fertig:"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Cline"})," & ",g.jsx("strong",{children:"Roo Code"})," (VS-Code-Extensions, voller Agent + MCP)"]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Cursor"})," (VS-Code-Fork mit Top-Autocomplete)"]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Continue"}),", ",g.jsx("strong",{children:"aider"})," (CLI), ",g.jsx("strong",{children:"OpenCode"})," (Desktop)"]})]}),g.jsxs(Vf,{children:["Tipp den Kram nicht ab: der ",g.jsx("strong",{children:"Verbinden"}),"-Tab generiert die fertige Config (inkl. MCP-Gedächtnis) pro Tool zum Kopieren. Essenz: Base ",g.jsx(pn,{children:"…:9001/v1"}),", Model ",g.jsx(pn,{children:"auto"}),", Key beliebig."]})]}),g.jsx(mo,{id:"tricks",icon:B8,color:"text-amber-400",title:"11. Tricks & Kniffe",kicker:"Was im Alltag wirklich spart",wide:!0,children:g.jsx("div",{className:"grid md:grid-cols-3 gap-3",children:[["Kontext sauber halten","Neue Session statt Mega-Historie. Drift, Tempo und Halluzination hängen direkt am Kontext-Müll."],["Plan-then-Act","Erst Plan/Vorgehen bestätigen lassen, dann ausführen. Spart teure Holzwege."],["Gezielte Edits","Nie ganze Dateien überschreiben für eine Zeile — Such-/Ersetz-Tools nutzen. Weniger Tokens, weniger Fehler."],["Non-interaktive Befehle","Keine interaktiven Prompts im Agent-Terminal; lange Tasks als Background-Job. Sonst hängt der Loop."],["DevTools koppeln","Browser-/Konsolen-Zugriff geben — der Agent liest echte Fehler statt blind zu raten."],["Richtige Modellwahl","Schnelles Hirn für Alltag, großes für harte Logik, Coder fürs Coden. Nicht alles mit der Kanone."],["Akzeptanzkriterien","Sag konkret, woran „fertig“ erkennbar ist. Vage Prompts → vage Ergebnisse."],["Verifizieren statt vertrauen","Tests/Live-Check fordern. „Sollte funktionieren“ ist kein Beweis."],["Regeln ins Gedächtnis","Wiederkehrende Vorlieben/Konventionen einmal ablegen — der Agent zieht sie selbst."]].map(([n,r])=>g.jsxs("div",{className:"space-y-1 p-3 bg-background/10 rounded-xl border border-border/30",children:[g.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-foreground text-[11px]",children:[g.jsx(xh,{className:"h-3 w-3 text-amber-400"})," ",n]}),g.jsx("p",{className:"text-[11px]",children:r})]},n))})}),g.jsx(mo,{id:"wartung",icon:Zm,color:"text-emerald-400",title:"12. Sicherheit & Wartung",kicker:"Damit's auch morgen noch läuft",wide:!0,children:g.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[g.jsx(O8,{className:"h-3.5 w-3.5 text-emerald-400"})," Goldene Regeln"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Ein ungetesteter Restore ist kein Backup."})," Wiederherstellung mindestens einmal echt durchspielen."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Updates können Dinge still zerschießen"})," — gerade bei AI-Stacks (Embeddings, Provider-Interna). Versionen pinnen, Smoke-Test, Post-Check."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Least Privilege"})," für Agenten, MCP-Server und PC-Zugriff. Kritisches hinter Freigabe."]})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[g.jsx(rw,{className:"h-3.5 w-3.5 text-emerald-400"})," Bei dir im SystemDrawer"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Backup:"})," tägliches Voll-Zustands-Backup, getesteter ",g.jsx(pn,{children:"restore.sh"})," (Doku in ",g.jsx(pn,{children:"docs/BACKUP.md"}),")."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Updates:"})," git-basierter Update-Check; ",g.jsx("strong",{children:"Hermes-Update-Button"})," mit anschließendem ",g.jsx("strong",{children:"Gehirn-Check"})," (rot, falls das Update das Gedächtnis zerschießt) + Engine-Update."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Dienste & Gefahrenzone:"})," Restart/Logs pro Dienst, kritische Eingriffe getrennt."]})]}),g.jsx("p",{className:"text-[10px] italic",children:'Erreichbar über das System-Icon → Tab „Wartung".'})]})]})}),g.jsxs("section",{id:"ressourcen",className:"scroll-mt-20 md:col-span-2 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-4",children:[g.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[g.jsx(NT,{className:"h-5 w-5 text-primary"}),g.jsxs("div",{children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"13. Kuratierte Ressourcen & Links"}),g.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Sauber geordnet — die guten Quellen"})]})]}),g.jsxs("div",{className:"grid md:grid-cols-2 gap-5 text-xs",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[g.jsx(RT,{className:"h-3.5 w-3.5 text-sky-400"})," Modelle & Engines"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[g.jsx(Or,{href:"https://huggingface.co/models",name:"Hugging Face",note:"das Repository für offene Modelle (GGUF, Embeddings, Datasets)."}),g.jsx(Or,{href:"https://github.com/ggml-org/llama.cpp",name:"llama.cpp",note:"die Referenz-Engine für lokale Inferenz."}),g.jsx(Or,{href:"https://github.com/mostlygeek/llama-swap",name:"llama-swap",note:"mehrere Modelle hinter einem Port, Auto-Swap."}),g.jsx(Or,{href:"https://ollama.com",name:"Ollama",note:"einfachster Einstieg, One-Command-Modelle."}),g.jsx(Or,{href:"https://lmstudio.ai",name:"LM Studio",note:"lokale GUI zum Stöbern, Laden & Chatten."}),g.jsx(Or,{href:"https://github.com/vllm-project/vllm",name:"vLLM",note:"Hochdurchsatz-Serving auf dicken GPUs."})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[g.jsx(kT,{className:"h-3.5 w-3.5 text-violet-400"})," MCP & Skills"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[g.jsx(Or,{href:"https://modelcontextprotocol.io",name:"MCP — offizielle Doku",note:"Spezifikation & Einstieg."}),g.jsx(Or,{href:"https://github.com/modelcontextprotocol/servers",name:"Offizielle MCP-Server",note:"filesystem, git, postgres, fetch & mehr."}),g.jsx(Or,{href:"https://smithery.ai",name:"Smithery",note:"Registry zum Suchen & Auto-Installieren von MCP-Servern."}),g.jsx(Or,{href:"https://glama.ai/mcp/servers",name:"Glama MCP Registry",note:"kuratierte Community-Datenbank."}),g.jsx(Or,{href:"https://skills.sh",name:"skills.sh",note:"Registry & CLI für Agent-Skills."})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[g.jsx(Il,{className:"h-3.5 w-3.5 text-rose-400"})," Agenten & Frameworks"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[g.jsx(Or,{href:"https://github.com/NousResearch/hermes-agent",name:"Hermes Agent (Nous)",note:"der Agent, der auf deiner Box läuft."}),g.jsx(Or,{href:"https://docs.claude.com",name:"Anthropic / Claude Docs",note:"API, Tool-Use, Agent SDK, MCP."}),g.jsx(Or,{href:"https://github.com/cline/cline",name:"Cline",note:"autonomer Coding-Agent für VS Code."}),g.jsx(Or,{href:"https://aider.chat",name:"aider",note:"AI-Pair-Programming im Terminal, git-nativ."}),g.jsx(Or,{href:"https://continue.dev",name:"Continue",note:"Open-Source-Autopilot für IDEs."})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[g.jsx(PT,{className:"h-3.5 w-3.5 text-amber-400"})," Lernen & Community"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[g.jsx(Or,{href:"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview",name:"Prompt-Engineering (Anthropic)",note:"die beste praktische Anleitung."}),g.jsx(Or,{href:"https://github.com/anthropics/anthropic-cookbook",name:"Anthropic Cookbook",note:"lauffähige Rezepte für Tools, RAG, Agenten."}),g.jsx(Or,{href:"https://www.promptingguide.ai",name:"Prompt Engineering Guide",note:"herstellerneutrales Nachschlagewerk."}),g.jsx(Or,{href:"https://github.com/mem0ai/mem0",name:"Mem0",note:"die auto-lernende Memory-Schicht hinter deinem Gedächtnis."}),g.jsx(Or,{href:"https://www.reddit.com/r/LocalLLaMA/",name:"r/LocalLLaMA",note:"der Puls der lokalen-LLM-Szene."})]})]})]})]}),g.jsx(mo,{id:"troubleshooting",icon:z8,color:"text-rose-400",title:"14. Troubleshooting",kicker:"Wenn's hakt",wide:!0,children:g.jsxs("ul",{className:"space-y-2 list-disc pl-4",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Keine Verbindung?"})," Selbes LAN wie die Box? IP/Port stimmen (",g.jsx(pn,{children:":9001"}),")? Backend-Status in der ",g.jsx("strong",{children:"Zentrale"})," prüfen."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Modell antwortet nicht / langsam?"})," In der ",g.jsx("strong",{children:"Zentrale → Dienste"})," schauen, ob ",g.jsx(pn,{children:"llama-swap"})," grün ist; sonst Restart. Erstes Token nach Swap dauert (Modell lädt)."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Agent dreht durch / halluziniert?"})," Frische Session im ",g.jsx("strong",{children:"Terminal"})," starten — meist ist es vollgemüllter Kontext."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Gedächtnis findet nichts?"})," Embedding-Dienst online? Semantisch suchen (Sinn statt exaktem Wort). Leeres Gedächtnis → Hermes-Onboarding starten."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Update hat etwas zerschossen?"})," Genau dafür gibt es Backup & ",g.jsx(pn,{children:"restore.sh"})," — den getesteten Restore fahren, dann Ursache suchen."]})]})})]}),g.jsx("p",{className:"text-center text-[10px] text-muted-foreground/50 pt-2",children:"Mission Control 2 · AI-Bibel · Stand Juni 2026 — lebendes Dokument, wächst mit dem Stack."})]})}function vSe({title:t,hint:e}){return g.jsxs("div",{className:"space-y-4",children:[g.jsxs("div",{children:[g.jsx("h1",{className:"text-xl font-semibold",children:t}),g.jsx("p",{className:"text-sm text-muted-foreground",children:e})]}),g.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 rounded-xl border border-dashed border-border bg-card/50 py-20 text-center",children:[g.jsx(R8,{className:"h-8 w-8 text-muted-foreground"}),g.jsx("div",{className:"text-sm text-muted-foreground",children:"Kommt in einer späteren Phase."})]})]})}const OU=[{id:"mission-control-2",label:"Mission Control",type:"user",reach:"gateway (integr"},{id:"hermes-gateway",label:"Hermes Gateway",type:"user",reach:"hermes-gateway"},{id:"mem0-service",label:"Mem0 (Gedächtnis)",type:"user",reach:"mem0"},{id:"hermes-terminal",label:"Hermes Terminal",type:"user",reach:"hermes-terminal"},{id:"llama-swap",label:"Llama Swap",type:"system",reach:"llama-swap"}];function U0({icon:t,iconClass:e,name:n,status:r,available:i,busy:s,actionLabel:o,onAction:a}){return g.jsxs("div",{className:nt("flex items-center gap-3 rounded-lg border px-3 py-2",i?"border-amber-500/30 bg-amber-500/5":"border-border/50 bg-background/20"),children:[g.jsx(t,{className:nt("h-4 w-4 shrink-0",e)}),g.jsxs("div",{className:"flex-1 min-w-0",children:[g.jsx("div",{className:"text-xs text-foreground truncate",children:n}),g.jsx("div",{className:nt("text-[10px] truncate",i?"text-amber-400/90":"text-muted-foreground"),children:r})]}),g.jsx("button",{onClick:a,disabled:!i||s,className:nt("text-[11px] font-semibold rounded-lg px-2.5 py-1 transition-colors shrink-0",i?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer":"border border-border/50 text-muted-foreground/40 cursor-default"),children:s?"…":o})]})}function ySe({label:t,ok:e,system:n,busy:r,onRestart:i,onLogs:s}){return g.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg border border-border/50 bg-background/20 px-3 py-2",children:[g.jsx("span",{className:nt("w-1.5 h-1.5 rounded-full shrink-0",e===!0?"bg-emerald-500":e===!1?"bg-red-500":"bg-muted-foreground/40")}),g.jsxs("span",{className:"flex-1 text-xs text-foreground truncate",children:[t,n&&g.jsx("span",{className:"text-[9px] text-muted-foreground",children:" (root)"})]}),g.jsx("button",{onClick:i,disabled:r,title:"Neu starten",className:"text-muted-foreground hover:text-primary transition-colors disabled:opacity-50",children:g.jsx(Vm,{className:nt("h-3.5 w-3.5",r&&"animate-spin")})}),g.jsx("button",{onClick:s,title:"Logs ansehen",className:"text-muted-foreground hover:text-primary transition-colors",children:g.jsx(I8,{className:"h-3.5 w-3.5"})})]})}function pT(t){return t==null?"":t>1024**3?`${(t/1024**3).toFixed(2)} GB`:`${(t/1024**2).toFixed(1)} MB`}function xSe({open:t,onClose:e,defaultTab:n="maintenance"}){var dt;const[r,i]=R.useState(null),[s,o]=R.useState([]),[a,l]=R.useState("llama-swap"),[c,d]=R.useState(""),[f,m]=R.useState(!1),[y,x]=R.useState(null),[S,w]=R.useState({}),[_,E]=R.useState("maintenance"),[T,C]=R.useState(!1),[O,N]=R.useState(""),[D,F]=R.useState(!1),[G,k]=R.useState(null),[U,H]=R.useState([]),[ne,te]=R.useState(!1),[he,se]=R.useState(null),[fe,B]=R.useState(null);function J(de,Ne,tt){B({type:"alert",title:de,message:Ne,onConfirm:()=>{B(null),tt&&tt()}})}function Y(de,Ne,tt){B({type:"confirm",title:de,message:Ne,onConfirm:()=>{B(null),tt()},onCancel:()=>B(null)})}function V(de){return de?new Date(de*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}const[q,pe]=R.useState(""),[ae,le]=R.useState(""),[be,Se]=R.useState(!1),[qe,Me]=R.useState(!1);R.useEffect(()=>{t&&(pe(localStorage.getItem("mc_sudo_password")||""),le(localStorage.getItem("mc_hf_token")||""))},[t]),R.useEffect(()=>{t&&n&&E(n)},[t,n]);const $e=R.useRef(null);function Ke(){Ft("/api/maintenance/updates").then(i).catch(de=>console.error("Error loading updates",de))}function ce(){Ft("/api/jobs").then(de=>o(de.jobs||[])).catch(de=>console.error("Error loading jobs",de))}function Z(){Ft("/api/system/services").then(k).catch(()=>{})}function We(){Ft("/api/system/backups").then(de=>H(de.backups||[])).catch(()=>{})}function je(de){m(!0),x(null),Ft(`/api/maintenance/logs?service=${de}&lines=150`).then(Ne=>{Ne.ok?d(Ne.text):(d(`Fehler beim Laden der Logs: ${Ne.err||"Unbekannter Fehler"}`),(Ne.status==="incorrect_password"||Ne.status==="password_required")&&x(Ne.status))}).catch(Ne=>d(`Fehler: ${Ne.message}`)).finally(()=>{m(!1),setTimeout(()=>{$e.current&&($e.current.scrollTop=$e.current.scrollHeight)},50)})}R.useEffect(()=>{if(!t)return;Ke(),ce(),Z(),We();const de=setInterval(()=>{ce(),Ke(),Z()},3e3);return()=>clearInterval(de)},[t]),R.useEffect(()=>{!t||_!=="logs"||je(a)},[t,_,a]);async function Xe(){try{await Ft("/api/maintenance/os-update",{method:"POST"}),ce(),E("maintenance")}catch(de){J("Fehler",`Fehler beim Starten des OS-Updates: ${de.message}`)}}async function Je(){try{await Ft("/api/maintenance/engine-update",{method:"POST"}),ce(),E("maintenance")}catch(de){J("Fehler",`Fehler beim Engine-Update: ${de.message}`)}}async function bt(){try{await Ft("/api/maintenance/swap-update",{method:"POST"}),ce(),E("maintenance")}catch(de){J("Fehler",`Fehler beim Router-Update: ${de.message}`)}}async function ut(){te(!0);try{await Ft("/api/maintenance/hermes-update",{method:"POST"}),ce()}catch(de){J("Fehler",`Hermes-Update fehlgeschlagen: ${de.message}`)}finally{te(!1)}}async function ee(de){se({kind:de,loading:!0,data:null});try{const Ne=await Ft(`/api/maintenance/update-details?kind=${de}`);se({kind:de,loading:!1,data:Ne})}catch(Ne){se({kind:de,loading:!1,data:{kind:de,error:Ne.message}})}}function $(){const de=he==null?void 0:he.kind;se(null),de==="os"?Xe():de==="engine"?Je():de==="swap"?bt():de==="hermes"&&ut()}async function Ee(){C(!0);try{await Ft("/api/maintenance/check-updates",{method:"POST"}),ce(),E("maintenance")}catch(de){J("Fehler",`Fehler bei der Update-Suche: ${de.message}`)}finally{C(!1)}}async function Be(de,Ne){try{await Ft("/api/models/install",{method:"POST",body:JSON.stringify({repo:de,role:Ne})}),J("Gestartet",`Modell-Upgrade für '${Ne}' (${de}) gestartet.`),ce(),E("maintenance")}catch(tt){J("Fehler",`Fehler beim Starten des Modell-Upgrades: ${tt.message}`)}}async function Ve(){Y("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await Ft("/api/maintenance/reboot",{method:"POST"}),J("Reboot","Reboot ausgelöst. System startet neu...",()=>{e()})}catch(de){J("Fehler",`Fehler beim Reboot: ${de.message}`)}})}async function He(){F(!0),N("Snapshot wird erzeugt...");try{const de=await Ft("/api/system/backup",{method:"POST"});N(de.ok?`Snapshot erzeugt: ${de.snapshot} (${de.files.length} Komponenten)`:"Backup fehlgeschlagen."),We()}catch(de){N(`Fehler: ${de.message}`)}finally{F(!1)}}async function mt(de){w(Ne=>({...Ne,[de]:!0}));try{const Ne=await Ft("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:de})});Ne.ok?J("Dienst neu gestartet",`Dienst ${de} wurde erfolgreich neu gestartet.`,()=>{_==="logs"&&a===de&&je(de)}):J("Fehler",`Fehler beim Neustart: ${Ne.err||"Unbekannter Fehler"}`)}catch(Ne){J("Fehler",`Fehler beim Neustart: ${Ne.message}`)}finally{w(Ne=>({...Ne,[de]:!1}))}}async function rt(de){try{await Ft(`/api/jobs/${de}/cancel`,{method:"POST"}),ce()}catch(Ne){J("Fehler",`Fehler beim Abbrechen: ${Ne.message}`)}}return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:nt("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",t?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:e}),g.jsxs("div",{className:nt("fixed inset-y-0 right-0 w-full sm:w-[640px] bg-card/85 backdrop-blur-xl border-l border-border/60 shadow-2xl z-50 flex flex-col transform transition-transform duration-300 ease-in-out font-sans text-foreground",t?"translate-x-0":"translate-x-full"),children:[g.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(El,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),g.jsx("button",{onClick:e,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsxs("div",{className:"flex border-b border-border/40 px-6",children:[g.jsx("button",{onClick:()=>E("maintenance"),className:nt("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",_==="maintenance"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Wartung"}),g.jsx("button",{onClick:()=>E("logs"),className:nt("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",_==="logs"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Logs"}),g.jsx("button",{onClick:()=>E("settings"),className:nt("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",_==="settings"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"Einstellungen"})]}),g.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[_==="maintenance"&&g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"space-y-2.5",children:[g.jsxs("div",{className:"flex items-center justify-between",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Updates"}),g.jsxs("button",{onClick:Ee,disabled:T,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[g.jsx(Vm,{className:nt("h-3 w-3",T&&"animate-spin")})," Nach Updates suchen"]})]}),(r==null?void 0:r.last_check)&&g.jsxs("div",{className:"text-[9px] text-muted-foreground -mt-1",children:["Zuletzt gesucht: ",V(r.last_check)]}),g.jsxs("div",{className:"space-y-1.5",children:[g.jsx(U0,{icon:Zm,iconClass:"text-cyan-400",name:"OS-Pakete (apt)",available:!!(r!=null&&r.os),status:r!=null&&r.os?`${r.os} verfügbar`:"aktuell",actionLabel:"Anzeigen",onAction:()=>ee("os")}),g.jsx(U0,{icon:nw,iconClass:"text-violet-400",name:"Inferenz-Engine (llama.cpp)",available:!!(r!=null&&r.engine),status:r!=null&&r.engine?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>ee("engine")}),g.jsx(U0,{icon:cI,iconClass:"text-fuchsia-400",name:"Router (llama-swap)",available:!!(r!=null&&r.swap),status:r!=null&&r.swap?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>ee("swap")}),(()=>{var Ne;const de=(Ne=r==null?void 0:r.components)==null?void 0:Ne.find(tt=>tt.key==="hermes_agent");return g.jsx(U0,{icon:Il,iconClass:"text-amber-400",name:"Hermes-Agent",available:(de==null?void 0:de.update)===!0,busy:ne,status:(de==null?void 0:de.update)===!0?`Update: ${de.latest}`:(de==null?void 0:de.reachable)===!1?"offline":"aktuell",actionLabel:"Anzeigen",onAction:()=>ee("hermes")})})(),(dt=r==null?void 0:r.model_list)==null?void 0:dt.map(de=>g.jsx(U0,{icon:b8,iconClass:"text-emerald-400",name:`Modell · ${de.role}`,available:!0,status:de.title,actionLabel:"Upgrade",onAction:()=>Be(de.repo,de.role)},de.role))]})]}),g.jsxs("div",{className:"space-y-2.5",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Dienste"}),g.jsx("div",{className:"space-y-1.5",children:OU.map(de=>{var Ne;return g.jsx(ySe,{label:de.label,system:de.type==="system",ok:(Ne=G==null?void 0:G.services.find(tt=>tt.name.toLowerCase().includes(de.reach)))==null?void 0:Ne.ok,busy:S[de.id],onRestart:()=>mt(de.id),onLogs:()=>{l(de.id),E("logs")}},de.id)})})]}),g.jsxs("div",{className:"space-y-2.5",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Backup"}),g.jsxs("div",{className:"rounded-lg border border-border/50 bg-background/20 px-3 py-2.5 flex items-center gap-3",children:[g.jsxs("div",{className:"flex-1 min-w-0",children:[g.jsx("div",{className:"text-xs text-foreground truncate",children:U[0]?`Letztes: ${U[0].snapshot}`:"Noch kein Backup"}),g.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[U.length," Snapshots · Restore per CLI (restore.sh)"]})]}),g.jsxs("button",{onClick:He,disabled:D,className:"flex items-center gap-1.5 text-[11px] font-semibold rounded-lg px-2.5 py-1 bg-primary text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shrink-0",children:[g.jsx(_8,{className:nt("h-3.5 w-3.5",D&&"animate-pulse")})," Snapshot"]})]}),O&&g.jsx("div",{className:"text-[10px] font-mono text-primary bg-primary/5 p-2 rounded-lg border border-primary/20 break-all leading-normal",children:O})]}),g.jsxs("div",{className:"space-y-2.5",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-red-400/80",children:"Gefahrenzone"}),g.jsxs("button",{onClick:Ve,className:"flex w-full items-center gap-3 p-3 rounded-lg border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 text-red-400 transition-all text-left text-xs font-semibold",children:[g.jsx(Y8,{className:"h-4.5 w-4.5"}),g.jsxs("div",{children:[g.jsx("div",{children:"Host-System neu starten"}),g.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet die ganze Box neu"})]})]})]}),g.jsxs("div",{className:"space-y-3",children:[g.jsxs("div",{className:"flex items-center justify-between",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),g.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[s.filter(de=>de.state==="running"||de.state==="queued").length," Aktiv"]})]}),g.jsx("div",{className:"space-y-3",children:s.length===0?g.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-xl p-6 text-center",children:"Aktuell keine aktiven Hintergrund-Jobs."}):s.map(de=>{const Ne=de.state==="running"||de.state==="queued";return g.jsxs("div",{className:nt("p-3 rounded-xl border transition-all duration-300",Ne?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[g.jsxs("div",{className:"flex items-start justify-between gap-3",children:[g.jsxs("div",{className:"space-y-1",children:[g.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[Ne&&g.jsxs("span",{className:"flex h-2 w-2 relative",children:[g.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),g.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),de.label]}),g.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[g.jsxs("span",{children:["ID: ",de.id]}),g.jsx("span",{children:"•"}),g.jsx("span",{className:nt(de.state==="done"&&"text-emerald-400",de.state==="failed"&&"text-red-400",de.state==="running"&&"text-primary",de.state==="queued"&&"text-amber-400",de.state==="canceled"&&"text-muted-foreground"),children:de.state})]})]}),Ne&&g.jsx("button",{onClick:()=>rt(de.id),className:"text-[10px] font-semibold text-red-400 hover:text-red-300 border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 px-2 py-0.5 rounded transition-colors",children:"Abbrechen"})]}),de.state==="running"&&g.jsxs("div",{className:"mt-3 space-y-1",children:[g.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:g.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${de.progress??0}%`}})}),g.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[g.jsxs("span",{children:[de.progress??0,"%"]}),de.done_bytes!=null&&de.total_bytes!=null&&g.jsxs("span",{children:[pT(de.done_bytes)," / ",pT(de.total_bytes),de.rate_bps!=null&&` (${pT(de.rate_bps)}/s)`]}),de.eta_s!=null&&g.jsxs("span",{children:["ETA: ",de.eta_s,"s"]})]})]})]},de.id)})})]})]}),_==="logs"&&g.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("select",{value:a,onChange:de=>l(de.target.value),className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none text-foreground font-semibold",children:OU.map(de=>g.jsxs("option",{value:de.id,children:[de.label," (",de.type==="system"?"systemd-root":"user",")"]},de.id))}),g.jsxs("button",{onClick:()=>mt(a),disabled:S[a],className:"flex h-9 px-3 items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50",title:"Dienst neu starten",children:[g.jsx(Vm,{className:nt("h-3.5 w-3.5",S[a]&&"animate-spin")}),"Restart"]})]}),g.jsxs("div",{className:"flex-1 flex flex-col min-h-[300px] border border-border/60 bg-black/50 rounded-xl overflow-hidden shadow-inner",children:[g.jsxs("div",{className:"flex h-9 items-center justify-between px-4 border-b border-border/40 bg-black/30 shrink-0",children:[g.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground",children:[g.jsx(uF,{className:"h-3 w-3 text-primary"}),g.jsxs("span",{children:["stdout/stderr - ",a]})]}),g.jsx("button",{onClick:()=>je(a),disabled:f,className:"text-muted-foreground hover:text-foreground transition-colors",children:g.jsx(Vm,{className:nt("h-3 w-3",f&&"animate-spin")})})]}),g.jsx("pre",{ref:$e,className:"flex-1 p-4 overflow-y-auto text-[10px] font-mono text-cyan-300/90 whitespace-pre-wrap select-text leading-relaxed scrollbar-thin",children:y==="password_required"||y==="incorrect_password"?g.jsxs("div",{className:"flex flex-col items-center justify-center p-6 text-center h-full space-y-3",children:[g.jsx(_g,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),g.jsx("div",{className:"text-xs font-semibold text-amber-300",children:y==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),g.jsxs("p",{className:"text-[10px] text-muted-foreground max-w-xs leading-normal",children:["Für das Auslesen der systemd-Logs von ",a," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),g.jsx("button",{onClick:()=>E("settings"),className:"px-3 py-1.5 text-[10px] font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-md transition-colors mt-2",children:"Sudo-Passwort eintragen"})]}):f&&!c?g.jsx("span",{className:"text-muted-foreground",children:"Lade Logs..."}):c||g.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."})})]})]}),_==="settings"&&g.jsxs("div",{className:"space-y-6",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),g.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Daten werden ausschließlich lokal in deinem Browser (localStorage) gespeichert und bei Bedarf an das Backend übertragen."})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[g.jsx(Zm,{className:"h-4 w-4 text-amber-400"}),"Host Sudo-Passwort"]}),g.jsxs("div",{className:"relative",children:[g.jsx("input",{type:be?"text":"password",value:q,onChange:de=>pe(de.target.value),placeholder:"Sudo-Passwort für System-Operationen",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),g.jsx("button",{type:"button",onClick:()=>Se(!be),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:be?g.jsx(aI,{className:"h-4 w-4"}):g.jsx(IT,{className:"h-4 w-4"})})]}),g.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Wird benötigt für systemd-Dienste (Llama Swap logs/restart), OS-Update (apt) und Reboot."})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[g.jsx(j8,{className:"h-4 w-4 text-violet-400"}),"HuggingFace API Token"]}),g.jsxs("div",{className:"relative",children:[g.jsx("input",{type:qe?"text":"password",value:ae,onChange:de=>le(de.target.value),placeholder:"hf_...",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),g.jsx("button",{type:"button",onClick:()=>Me(!qe),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:qe?g.jsx(aI,{className:"h-4 w-4"}):g.jsx(IT,{className:"h-4 w-4"})})]}),g.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Erlaubt das Herunterladen von geschützten oder Gate-restricted Modellen direkt über Mission Control."})]}),g.jsxs("div",{className:"flex gap-3 pt-2",children:[g.jsx("button",{onClick:()=>{localStorage.setItem("mc_sudo_password",q),localStorage.setItem("mc_hf_token",ae),J("Erfolgreich","Einstellungen erfolgreich lokal gespeichert.")},className:"flex-1 h-9 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/90 rounded-lg transition-colors shadow shadow-primary/10 cursor-pointer",children:"Speichern"}),g.jsx("button",{onClick:()=>{pe(""),le(""),localStorage.removeItem("mc_sudo_password"),localStorage.removeItem("mc_hf_token"),J("Gelöscht","Zugangsdaten gelöscht.")},className:"h-9 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Zurücksetzen"})]})]})]})]}),he&&(()=>{var Lt;const de=he.data,Ne={os:{icon:Zm,cls:"text-cyan-400",title:"OS-Pakete (apt)"},engine:{icon:nw,cls:"text-violet-400",title:"Inferenz-Engine (llama.cpp)"},swap:{icon:cI,cls:"text-fuchsia-400",title:"Router (llama-swap)"},hermes:{icon:Il,cls:"text-amber-400",title:"Hermes-Agent"}}[he.kind],tt=Ne.icon,jt=de?he.kind==="os"?(de.count??0)===0:he.kind==="hermes"?(de.behind??0)===0:de.installed_build!=null&&de.latest_build!=null&&de.latest_build<=de.installed_build:!0;return g.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",children:[g.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:()=>se(null)}),g.jsxs("div",{className:"relative w-full max-w-lg max-h-[80vh] flex flex-col rounded-2xl border border-border/60 bg-card shadow-2xl font-sans text-foreground",children:[g.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-5",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(tt,{className:nt("h-4.5 w-4.5",Ne.cls)}),g.jsx("h3",{className:"text-sm font-semibold",children:Ne.title})]}),g.jsx("button",{onClick:()=>se(null),className:"flex h-7 w-7 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsx("div",{className:"flex-1 overflow-y-auto p-5 text-xs space-y-3 scrollbar-thin",children:he.loading?g.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 text-muted-foreground",children:[g.jsx(Vm,{className:"h-4 w-4 animate-spin"})," Details werden geladen…"]}):de!=null&&de.error?g.jsx("div",{className:"rounded-lg border border-red-500/30 bg-red-500/5 p-3 text-red-400",children:de.error}):he.kind==="os"?((de==null?void 0:de.count)??0)===0?g.jsx("div",{className:"text-muted-foreground",children:"Keine Pakete zu aktualisieren — System ist aktuell."}):g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"text-muted-foreground",children:[de.count," Paket(e) werden aktualisiert:"]}),g.jsx("div",{className:"space-y-1",children:de.packages.map(ct=>g.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[g.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[g.jsx(q8,{className:"h-3 w-3 text-cyan-400 shrink-0"}),ct.name]}),g.jsxs("span",{className:"flex items-center gap-1 font-mono text-[10px] text-muted-foreground shrink-0",children:[g.jsx("span",{children:ct.current}),g.jsx(ew,{className:"h-3 w-3"}),g.jsx("span",{className:"text-emerald-400",children:ct.candidate})]})]},ct.name))})]}):he.kind==="engine"||he.kind==="swap"?g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"flex items-center gap-2 font-mono text-[11px]",children:[g.jsxs("span",{className:"rounded-md border border-border/40 bg-background/30 px-2 py-1",children:["Build ",(de==null?void 0:de.installed_build)??"?"]}),g.jsx(ew,{className:"h-3.5 w-3.5 text-muted-foreground"}),g.jsxs("span",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/5 px-2 py-1 text-emerald-400",children:["Build ",(de==null?void 0:de.latest_build)??"?"]})]}),((de==null?void 0:de.name)||(de==null?void 0:de.latest_tag))&&g.jsxs("div",{className:"text-muted-foreground",children:["Release: ",g.jsx("span",{className:"text-foreground",children:de==null?void 0:de.name}),de!=null&&de.latest_tag?` (${de.latest_tag})`:""]}),(de==null?void 0:de.url)&&g.jsxs("a",{href:de.url,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:["Release-Notes auf GitHub ",g.jsx(bg,{className:"h-3 w-3"})]}),(de==null?void 0:de.body)&&g.jsx("pre",{className:"whitespace-pre-wrap rounded-lg border border-border/40 bg-background/30 p-3 text-[10px] leading-relaxed text-muted-foreground max-h-60 overflow-y-auto scrollbar-thin",children:de.body})]}):(((Lt=de==null?void 0:de.commits)==null?void 0:Lt.length)??0)===0?g.jsx("div",{className:"text-muted-foreground",children:"Keine neuen Commits — Hermes-Agent ist bereits aktuell."}):g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"text-muted-foreground",children:[de.behind," neue Commit(s) auf ",g.jsxs("span",{className:"font-mono text-foreground",children:["origin/",de.branch]}),":"]}),g.jsx("div",{className:"space-y-1",children:de.commits.map(ct=>g.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[g.jsx(L8,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),g.jsxs("div",{className:"min-w-0",children:[g.jsx("div",{className:"text-[11px] truncate",children:ct.subject}),g.jsxs("div",{className:"font-mono text-[9px] text-muted-foreground",children:[ct.hash," · ",ct.when]})]})]},ct.hash))}),g.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Vor dem Update wird automatisch ein Backup erstellt; danach startet der Hermes-Gateway neu."})]})}),g.jsxs("div",{className:"flex gap-3 border-t border-border/40 p-4 shrink-0",children:[g.jsx("button",{onClick:()=>se(null),className:"h-9 flex-1 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:"Schließen"}),g.jsx("button",{onClick:$,disabled:he.loading||jt,className:"h-9 flex-1 rounded-lg bg-primary text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-default",children:"Jetzt aktualisieren"})]})]})]})})(),fe&&g.jsx(fV,{type:fe.type,title:fe.title,message:fe.message,onConfirm:fe.onConfirm,onCancel:fe.onCancel})]})}function bSe(){var f,m,y,x,S;lX();const[t,e]=R.useState("dashboard"),[n,r]=R.useState(()=>localStorage.getItem("mc_sidebar_collapsed")==="true"),[i,s]=R.useState(!1),[o,a]=R.useState("maintenance"),{data:l}=p7(),{data:c}=Q1(2e4);R.useEffect(()=>{document.documentElement.classList.add("dark")},[]),R.useEffect(()=>{const w=_=>{var T;a(((T=_.detail)==null?void 0:T.tab)||"maintenance"),s(!0)};return window.addEventListener("open-system-drawer",w),()=>window.removeEventListener("open-system-drawer",w)},[]),R.useEffect(()=>{const w=_=>{var T;const E=(T=_.detail)==null?void 0:T.view;E&&e(E)};return window.addEventListener("mc-navigate",w),()=>window.removeEventListener("mc-navigate",w)},[]);const d=jT.find(w=>w.id===t);return g.jsxs("div",{className:"flex h-full relative",children:[g.jsxs("div",{className:"fixed inset-0 -z-50 pointer-events-none overflow-hidden bg-[hsl(224,30%,6%)]",children:[g.jsx("div",{className:"absolute inset-0 opacity-35 animate-aurora bg-gradient-to-tr from-teal-500/20 via-indigo-500/15 to-purple-500/20 blur-[130px]"}),g.jsx("div",{className:"absolute top-[-10%] left-[-10%] h-[50%] w-[50%] rounded-full bg-teal-500/15 blur-[160px]"}),g.jsx("div",{className:"absolute bottom-[-10%] right-[-10%] h-[50%] w-[50%] rounded-full bg-purple-500/15 blur-[160px]"}),g.jsx("div",{className:"absolute top-[30%] right-[20%] h-[40%] w-[40%] rounded-full bg-indigo-500/10 blur-[140px]"})]}),g.jsx(f7,{onNavigate:e}),g.jsx(xSe,{open:i,onClose:()=>s(!1),defaultTab:o}),g.jsxs("aside",{className:nt("flex shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md transition-all duration-300 ease-in-out",n?"w-16":"w-60"),children:[g.jsxs("div",{className:nt("flex items-center py-4 border-b border-border/40 shrink-0",n?"flex-col gap-3 px-2":"justify-between px-5"),children:[g.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[g.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20 shrink-0"}),!n&&g.jsxs("div",{className:"leading-tight",children:[g.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),g.jsx("div",{className:"text-xs text-muted-foreground",children:"2.0"})]})]}),g.jsx("button",{onClick:()=>{r(w=>{const _=!w;return localStorage.setItem("mc_sidebar_collapsed",_.toString()),_})},className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer",title:n?"Maximieren":"Minimieren",children:n?g.jsx(oF,{className:"h-4 w-4"}):g.jsx(S8,{className:"h-4 w-4"})})]}),g.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4 overflow-y-auto",children:jT.map(w=>g.jsxs("button",{onClick:()=>e(w.id),className:nt("flex w-full items-center rounded-md text-sm transition-all cursor-pointer",n?"justify-center p-2.5":"gap-3 px-3 py-2",t===w.id?"bg-primary/15 text-primary shadow-sm shadow-primary/5":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),title:n?w.label:void 0,children:[g.jsx(w.icon,{className:"h-4.5 w-4.5 shrink-0"}),!n&&g.jsx("span",{className:"truncate",children:w.label})]},w.id))}),g.jsx("div",{className:nt("py-3 text-xs text-muted-foreground border-t border-border/40 shrink-0",n?"px-2 text-center":"px-5"),children:n?g.jsx("div",{className:"flex justify-center",children:g.jsx("span",{className:nt("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",l?l.engine_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500":"bg-red-500"),title:l?`Engine ${l.engine_reachable?"online":"offline"}`:"Backend offline"})}):g.jsxs("div",{className:"space-y-2 text-left",children:[l?g.jsxs("span",{className:"flex items-center gap-2",children:[g.jsx("span",{className:nt("h-2 w-2 rounded-full animate-pulse",l.engine_reachable?"bg-emerald-500":"bg-amber-500")}),g.jsxs("span",{className:"truncate",children:["Engine ",l.engine_reachable?"online":"offline"]})]}):g.jsxs("span",{className:"flex items-center gap-2",children:[g.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500"})," ",g.jsx("span",{className:"truncate",children:"Backend offline"})]}),(c==null?void 0:c.versions)&&g.jsxs("div",{className:"space-y-1 text-[9px] text-muted-foreground/60 mt-2 pt-2 border-t border-border/30",children:[g.jsxs("div",{className:"truncate",title:c.versions.mc2?`${c.versions.mc2.branch}-${c.versions.mc2.hash}${c.versions.mc2.dirty?"*":""} (${c.versions.mc2.date})`:"nicht gefunden",children:[g.jsx("strong",{children:"MC2:"})," ",c.versions.mc2?`${c.versions.mc2.hash}${c.versions.mc2.dirty?"*":""}`:"—"]}),g.jsxs("div",{className:"truncate",title:((f=c.versions.engine)==null?void 0:f.type)==="git"?`${c.versions.engine.branch}-${c.versions.engine.hash}${c.versions.engine.dirty?"*":""} (${c.versions.engine.date})`:((m=c.versions.engine)==null?void 0:m.version_text)||"unbekannt",children:[g.jsx("strong",{children:"Engine:"})," ",((y=c.versions.engine)==null?void 0:y.type)==="git"?`${c.versions.engine.hash}${c.versions.engine.dirty?"*":""}`:((S=(x=c.versions.engine)==null?void 0:x.version_text)==null?void 0:S.split(" ").pop())||"—"]}),g.jsxs("div",{className:"truncate",title:c.versions.hermes_ui?`${c.versions.hermes_ui.branch}-${c.versions.hermes_ui.hash}${c.versions.hermes_ui.dirty?"*":""} (${c.versions.hermes_ui.date})`:"nicht gefunden",children:[g.jsx("strong",{children:"Hermes UI:"})," ",c.versions.hermes_ui?`${c.versions.hermes_ui.hash}${c.versions.hermes_ui.dirty?"*":""}`:"—"]}),g.jsxs("div",{className:"truncate",title:c.versions.hermes_agent?`${c.versions.hermes_agent.branch}-${c.versions.hermes_agent.hash}${c.versions.hermes_agent.dirty?"*":""} (${c.versions.hermes_agent.date})`:"nicht gefunden",children:[g.jsx("strong",{children:"Hermes Agent:"})," ",c.versions.hermes_agent?`${c.versions.hermes_agent.hash}${c.versions.hermes_agent.dirty?"*":""}`:"—"]})]})]})})]}),g.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[g.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-6 bg-card/20 backdrop-blur-sm",children:[g.jsx("div",{className:"text-xs font-medium text-muted-foreground tracking-wide uppercase font-sans",children:d.hint}),g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("a",{href:"https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2/src/branch/main/docs/BEDIENUNG.md",target:"_blank",rel:"noopener",className:"flex h-8 items-center rounded-md border border-border/40 bg-background/40 px-2.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer font-semibold",title:"Bedien-Anleitung",children:"Hilfe"}),g.jsxs("button",{onClick:()=>{const w=new KeyboardEvent("keydown",{key:"k",metaKey:!0});document.dispatchEvent(w)},className:"flex items-center gap-2 rounded-md border border-border/40 bg-background/40 px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer",children:[g.jsx(P8,{className:"h-3.5 w-3.5"}),g.jsx("span",{children:"Suchen"}),g.jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-[9px]",children:"⌘K"})]})]})]}),g.jsxs("main",{className:"flex-1 overflow-y-auto p-6 scrollbar-thin",children:[t==="dashboard"&&g.jsx(Nfe,{}),t==="models"&&g.jsx(Ufe,{}),t==="connect"&&g.jsx(zfe,{}),t==="memory"&&g.jsx(Xfe,{}),t==="agent"&&g.jsx(qfe,{}),t==="terminal"&&g.jsx(Kfe,{}),t==="voice"&&g.jsx(pSe,{}),t==="guide"&&g.jsx(gSe,{}),!["dashboard","models","connect","memory","agent","terminal","voice","guide"].includes(t)&&g.jsx(vSe,{title:d.label,hint:d.hint})]})]})]})}const _Se=new r8({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});NW.createRoot(document.getElementById("root")).render(g.jsx(WU.StrictMode,{children:g.jsx(i8,{client:_Se,children:g.jsx(bSe,{})})}));export{Vm as R,Gm as S,LT as T,t9 as a,V1 as g,g as j,R as r}; +...`}),g.jsxs("p",{children:["Suchen & installieren über die ",g.jsx("strong",{children:"skills.sh"}),"-Registry: ",g.jsx(pn,{children:"npx skills find"})," /",g.jsx(pn,{children:"npx skills add owner/repo"}),". Skills liegen projektweit (vom Agent beim Start gelesen) oder global."]})]}),g.jsxs(mo,{id:"memory",icon:N8,color:"text-indigo-400",title:"8. Gedächtnis & RAG",kicker:"Modelle vergessen — du nicht",wide:!0,children:[g.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{children:["LLMs sind ",g.jsx("strong",{children:"zustandslos"}),": ohne Hilfe weiß das Modell beim nächsten Turn nichts mehr. Gedächtnis lebt extern."]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Embeddings"})," wandeln Text in Vektoren; ein ",g.jsx("strong",{children:"Vektor-Store"})," (Chroma, …) findet semantisch Ähnliches."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"RAG"})," = relevante Fakten vor dem Turn heraussuchen und einblenden statt alles im Prompt zu halten."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Long-Context vs. RAG:"}),' riesige Fenster sind bequem, aber teuer & „lost in the middle" — gezieltes Abrufen skaliert besser.']})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{children:[g.jsx("strong",{children:"Auto-lernendes Gedächtnis"})," ist die nächste Stufe:"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:["extrahiert Fakten ",g.jsx("em",{children:"selbst"})," aus Gesprächen, statt nur abzuspeichern"]}),g.jsx("li",{children:"dedupliziert semantisch (kein 10× derselbe Fakt)"}),g.jsxs("li",{children:[g.jsx("strong",{children:"Graph-Sicht"})," = Fakten ",g.jsx("em",{children:"plus"})," ihre Beziehungen, nicht nur eine flache Liste"]})]})]})]}),g.jsxs(Vf,{children:["Dein Gedächtnis (Tab ",g.jsx("strong",{children:"Gedächtnis"}),") ist ",g.jsx("strong",{children:"Mem0"}),"-basiert: auto-lernend & semantisch, ",g.jsx("strong",{children:"graph-first"})," dargestellt, mit 4-Typen-Taxonomie (",g.jsx(pn,{children:"Identität"})," · ",g.jsx(pn,{children:"Wissen"})," · ",g.jsx(pn,{children:"Regeln"})," · ",g.jsx(pn,{children:"Ereignisse"}),"). Einstieg über ein kurzes ",g.jsx("strong",{children:"Hermes-Onboarding-Gespräch"})," im Terminal — der Agent lernt im Hintergrund nach jedem Turn.",g.jsx("br",{}),g.jsx("strong",{children:"Gotcha:"})," ein gelöschter Fakt kann wieder auftauchen, solange die Original-Nachricht noch im Verlauf steht (additive Extraktion)."]})]}),g.jsxs(mo,{id:"agents",icon:Il,color:"text-rose-400",title:"9. Autonome Agenten betreiben",kicker:"LLM in der Schleife",wide:!0,children:[g.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{children:["Ein ",g.jsx("strong",{children:"Agent"})," ist ein LLM in einer Schleife mit Tools:",g.jsx("em",{children:" denken → Tool aufrufen → Ergebnis beobachten → weiter"}),", bis das Ziel erreicht ist."]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Guardrails"})," (Hard-Stop, Tool-Limits) verhindern Endlos-Loops, wenn ein Tool fehlt oder hängt."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Kontext-Hygiene"})," ist die wichtigste Disziplin: frische Sessions starten — vollgemüllte Historien werden langsam, driften und halluzinieren."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Kanäle:"})," CLI/Terminal, Chat-UI, Messaging (z.B. Telegram), reine API."]})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{children:[g.jsx("strong",{children:"Least Privilege:"})," gib einem Agenten nur die Tools, die er wirklich braucht. Kritische Aktionen (Shell auf dem Host, Löschen, Geld/Deploys) hinter menschliche Freigabe."]}),g.jsxs("p",{children:[g.jsx("strong",{children:"Was sich vollautomatisch lohnt:"})," Modell-Routing, Hintergrund-Gedächtnis, Recherche. ",g.jsx("strong",{children:"Was Freigabe braucht:"})," Systembefehle, Updates/Reboots, permanentes Löschen."]})]})]}),g.jsxs(Vf,{children:[g.jsx("strong",{children:"Hermes"})," ist dein Box-Agent (Hirn = ",g.jsx(pn,{children:"fast"}),"). Reden tust du mit ihm im",g.jsx("strong",{children:" Terminal"}),"-Tab (Web-Terminal via ttyd) oder per ",g.jsx("strong",{children:"Telegram"}),". Er hat MCP-Server für Gedächtnis, Stack-Steuerung, Web-Fetch und ",g.jsx("strong",{children:"PC-Steuerung"})," (Executor auf deinem Windows-PC). Status & Verdrahtung im ",g.jsx("strong",{children:"Hermes"}),"-Tab."]})]}),g.jsxs(mo,{id:"ide",icon:aF,color:"text-cyan-400",title:"10. IDE / Editor anbinden",kicker:"Vibe-Coding lokal",children:[g.jsxs("p",{children:["Jede ",g.jsx("strong",{children:"OpenAI-kompatible"})," IDE oder Extension lässt sich auf einen lokalen Server umbiegen — Base-URL + Model eintragen, fertig:"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Cline"})," & ",g.jsx("strong",{children:"Roo Code"})," (VS-Code-Extensions, voller Agent + MCP)"]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Cursor"})," (VS-Code-Fork mit Top-Autocomplete)"]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Continue"}),", ",g.jsx("strong",{children:"aider"})," (CLI), ",g.jsx("strong",{children:"OpenCode"})," (Desktop)"]})]}),g.jsxs(Vf,{children:["Tipp den Kram nicht ab: der ",g.jsx("strong",{children:"Verbinden"}),"-Tab generiert die fertige Config (inkl. MCP-Gedächtnis) pro Tool zum Kopieren. Essenz: Base ",g.jsx(pn,{children:"…:9001/v1"}),", Model ",g.jsx(pn,{children:"auto"}),", Key beliebig."]})]}),g.jsx(mo,{id:"tricks",icon:B8,color:"text-amber-400",title:"11. Tricks & Kniffe",kicker:"Was im Alltag wirklich spart",wide:!0,children:g.jsx("div",{className:"grid md:grid-cols-3 gap-3",children:[["Kontext sauber halten","Neue Session statt Mega-Historie. Drift, Tempo und Halluzination hängen direkt am Kontext-Müll."],["Plan-then-Act","Erst Plan/Vorgehen bestätigen lassen, dann ausführen. Spart teure Holzwege."],["Gezielte Edits","Nie ganze Dateien überschreiben für eine Zeile — Such-/Ersetz-Tools nutzen. Weniger Tokens, weniger Fehler."],["Non-interaktive Befehle","Keine interaktiven Prompts im Agent-Terminal; lange Tasks als Background-Job. Sonst hängt der Loop."],["DevTools koppeln","Browser-/Konsolen-Zugriff geben — der Agent liest echte Fehler statt blind zu raten."],["Richtige Modellwahl","Schnelles Hirn für Alltag, großes für harte Logik, Coder fürs Coden. Nicht alles mit der Kanone."],["Akzeptanzkriterien","Sag konkret, woran „fertig“ erkennbar ist. Vage Prompts → vage Ergebnisse."],["Verifizieren statt vertrauen","Tests/Live-Check fordern. „Sollte funktionieren“ ist kein Beweis."],["Regeln ins Gedächtnis","Wiederkehrende Vorlieben/Konventionen einmal ablegen — der Agent zieht sie selbst."]].map(([n,r])=>g.jsxs("div",{className:"space-y-1 p-3 bg-background/10 rounded-xl border border-border/30",children:[g.jsxs("div",{className:"flex items-center gap-1.5 font-bold text-foreground text-[11px]",children:[g.jsx(bh,{className:"h-3 w-3 text-amber-400"})," ",n]}),g.jsx("p",{className:"text-[11px]",children:r})]},n))})}),g.jsx(mo,{id:"wartung",icon:Zm,color:"text-emerald-400",title:"12. Sicherheit & Wartung",kicker:"Damit's auch morgen noch läuft",wide:!0,children:g.jsxs("div",{className:"grid md:grid-cols-2 gap-4",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[g.jsx(O8,{className:"h-3.5 w-3.5 text-emerald-400"})," Goldene Regeln"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Ein ungetesteter Restore ist kein Backup."})," Wiederherstellung mindestens einmal echt durchspielen."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Updates können Dinge still zerschießen"})," — gerade bei AI-Stacks (Embeddings, Provider-Interna). Versionen pinnen, Smoke-Test, Post-Check."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Least Privilege"})," für Agenten, MCP-Server und PC-Zugriff. Kritisches hinter Freigabe."]})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("p",{className:"flex items-center gap-1.5 font-bold text-foreground",children:[g.jsx(rw,{className:"h-3.5 w-3.5 text-emerald-400"})," Bei dir im SystemDrawer"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Backup:"})," tägliches Voll-Zustands-Backup, getesteter ",g.jsx(pn,{children:"restore.sh"})," (Doku in ",g.jsx(pn,{children:"docs/BACKUP.md"}),")."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Updates:"})," git-basierter Update-Check; ",g.jsx("strong",{children:"Hermes-Update-Button"})," mit anschließendem ",g.jsx("strong",{children:"Gehirn-Check"})," (rot, falls das Update das Gedächtnis zerschießt) + Engine-Update."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Dienste & Gefahrenzone:"})," Restart/Logs pro Dienst, kritische Eingriffe getrennt."]})]}),g.jsx("p",{className:"text-[10px] italic",children:'Erreichbar über das System-Icon → Tab „Wartung".'})]})]})}),g.jsxs("section",{id:"ressourcen",className:"scroll-mt-20 md:col-span-2 rounded-2xl border border-border/60 bg-card/45 backdrop-blur-md p-6 shadow-lg shadow-black/10 space-y-4",children:[g.jsxs("div",{className:"flex items-center gap-2.5 border-b border-border/20 pb-3",children:[g.jsx(NT,{className:"h-5 w-5 text-primary"}),g.jsxs("div",{children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"13. Kuratierte Ressourcen & Links"}),g.jsx("span",{className:"text-[9px] font-mono text-primary",children:"Sauber geordnet — die guten Quellen"})]})]}),g.jsxs("div",{className:"grid md:grid-cols-2 gap-5 text-xs",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[g.jsx(RT,{className:"h-3.5 w-3.5 text-sky-400"})," Modelle & Engines"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[g.jsx(Or,{href:"https://huggingface.co/models",name:"Hugging Face",note:"das Repository für offene Modelle (GGUF, Embeddings, Datasets)."}),g.jsx(Or,{href:"https://github.com/ggml-org/llama.cpp",name:"llama.cpp",note:"die Referenz-Engine für lokale Inferenz."}),g.jsx(Or,{href:"https://github.com/mostlygeek/llama-swap",name:"llama-swap",note:"mehrere Modelle hinter einem Port, Auto-Swap."}),g.jsx(Or,{href:"https://ollama.com",name:"Ollama",note:"einfachster Einstieg, One-Command-Modelle."}),g.jsx(Or,{href:"https://lmstudio.ai",name:"LM Studio",note:"lokale GUI zum Stöbern, Laden & Chatten."}),g.jsx(Or,{href:"https://github.com/vllm-project/vllm",name:"vLLM",note:"Hochdurchsatz-Serving auf dicken GPUs."})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[g.jsx(kT,{className:"h-3.5 w-3.5 text-violet-400"})," MCP & Skills"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[g.jsx(Or,{href:"https://modelcontextprotocol.io",name:"MCP — offizielle Doku",note:"Spezifikation & Einstieg."}),g.jsx(Or,{href:"https://github.com/modelcontextprotocol/servers",name:"Offizielle MCP-Server",note:"filesystem, git, postgres, fetch & mehr."}),g.jsx(Or,{href:"https://smithery.ai",name:"Smithery",note:"Registry zum Suchen & Auto-Installieren von MCP-Servern."}),g.jsx(Or,{href:"https://glama.ai/mcp/servers",name:"Glama MCP Registry",note:"kuratierte Community-Datenbank."}),g.jsx(Or,{href:"https://skills.sh",name:"skills.sh",note:"Registry & CLI für Agent-Skills."})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[g.jsx(Il,{className:"h-3.5 w-3.5 text-rose-400"})," Agenten & Frameworks"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[g.jsx(Or,{href:"https://github.com/NousResearch/hermes-agent",name:"Hermes Agent (Nous)",note:"der Agent, der auf deiner Box läuft."}),g.jsx(Or,{href:"https://docs.claude.com",name:"Anthropic / Claude Docs",note:"API, Tool-Use, Agent SDK, MCP."}),g.jsx(Or,{href:"https://github.com/cline/cline",name:"Cline",note:"autonomer Coding-Agent für VS Code."}),g.jsx(Or,{href:"https://aider.chat",name:"aider",note:"AI-Pair-Programming im Terminal, git-nativ."}),g.jsx(Or,{href:"https://continue.dev",name:"Continue",note:"Open-Source-Autopilot für IDEs."})]})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("div",{className:"font-bold text-foreground flex items-center gap-1.5",children:[g.jsx(PT,{className:"h-3.5 w-3.5 text-amber-400"})," Lernen & Community"]}),g.jsxs("ul",{className:"list-disc pl-4 space-y-1.5",children:[g.jsx(Or,{href:"https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview",name:"Prompt-Engineering (Anthropic)",note:"die beste praktische Anleitung."}),g.jsx(Or,{href:"https://github.com/anthropics/anthropic-cookbook",name:"Anthropic Cookbook",note:"lauffähige Rezepte für Tools, RAG, Agenten."}),g.jsx(Or,{href:"https://www.promptingguide.ai",name:"Prompt Engineering Guide",note:"herstellerneutrales Nachschlagewerk."}),g.jsx(Or,{href:"https://github.com/mem0ai/mem0",name:"Mem0",note:"die auto-lernende Memory-Schicht hinter deinem Gedächtnis."}),g.jsx(Or,{href:"https://www.reddit.com/r/LocalLLaMA/",name:"r/LocalLLaMA",note:"der Puls der lokalen-LLM-Szene."})]})]})]})]}),g.jsx(mo,{id:"troubleshooting",icon:z8,color:"text-rose-400",title:"14. Troubleshooting",kicker:"Wenn's hakt",wide:!0,children:g.jsxs("ul",{className:"space-y-2 list-disc pl-4",children:[g.jsxs("li",{children:[g.jsx("strong",{children:"Keine Verbindung?"})," Selbes LAN wie die Box? IP/Port stimmen (",g.jsx(pn,{children:":9001"}),")? Backend-Status in der ",g.jsx("strong",{children:"Zentrale"})," prüfen."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Modell antwortet nicht / langsam?"})," In der ",g.jsx("strong",{children:"Zentrale → Dienste"})," schauen, ob ",g.jsx(pn,{children:"llama-swap"})," grün ist; sonst Restart. Erstes Token nach Swap dauert (Modell lädt)."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Agent dreht durch / halluziniert?"})," Frische Session im ",g.jsx("strong",{children:"Terminal"})," starten — meist ist es vollgemüllter Kontext."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Gedächtnis findet nichts?"})," Embedding-Dienst online? Semantisch suchen (Sinn statt exaktem Wort). Leeres Gedächtnis → Hermes-Onboarding starten."]}),g.jsxs("li",{children:[g.jsx("strong",{children:"Update hat etwas zerschossen?"})," Genau dafür gibt es Backup & ",g.jsx(pn,{children:"restore.sh"})," — den getesteten Restore fahren, dann Ursache suchen."]})]})})]}),g.jsx("p",{className:"text-center text-[10px] text-muted-foreground/50 pt-2",children:"Mission Control 2 · AI-Bibel · Stand Juni 2026 — lebendes Dokument, wächst mit dem Stack."})]})}function vSe({title:t,hint:e}){return g.jsxs("div",{className:"space-y-4",children:[g.jsxs("div",{children:[g.jsx("h1",{className:"text-xl font-semibold",children:t}),g.jsx("p",{className:"text-sm text-muted-foreground",children:e})]}),g.jsxs("div",{className:"flex flex-col items-center justify-center gap-3 rounded-xl border border-dashed border-border bg-card/50 py-20 text-center",children:[g.jsx(R8,{className:"h-8 w-8 text-muted-foreground"}),g.jsx("div",{className:"text-sm text-muted-foreground",children:"Kommt in einer späteren Phase."})]})]})}const OU=[{id:"mission-control-2",label:"Mission Control",type:"user",reach:"gateway (integr"},{id:"hermes-gateway",label:"Hermes Gateway",type:"user",reach:"hermes-gateway"},{id:"mem0-service",label:"Mem0 (Gedächtnis)",type:"user",reach:"mem0"},{id:"hermes-terminal",label:"Hermes Terminal",type:"user",reach:"hermes-terminal"},{id:"llama-swap",label:"Llama Swap",type:"system",reach:"llama-swap"}];function U0({icon:t,iconClass:e,name:n,status:r,available:i,busy:s,actionLabel:o,onAction:a}){return g.jsxs("div",{className:nt("flex items-center gap-3 rounded-lg border px-3 py-2",i?"border-amber-500/30 bg-amber-500/5":"border-border/50 bg-background/20"),children:[g.jsx(t,{className:nt("h-4 w-4 shrink-0",e)}),g.jsxs("div",{className:"flex-1 min-w-0",children:[g.jsx("div",{className:"text-xs text-foreground truncate",children:n}),g.jsx("div",{className:nt("text-[10px] truncate",i?"text-amber-400/90":"text-muted-foreground"),children:r})]}),g.jsx("button",{onClick:a,disabled:!i||s,className:nt("text-[11px] font-semibold rounded-lg px-2.5 py-1 transition-colors shrink-0",i?"bg-primary text-primary-foreground hover:opacity-90 cursor-pointer":"border border-border/50 text-muted-foreground/40 cursor-default"),children:s?"…":o})]})}function ySe({label:t,ok:e,system:n,busy:r,onRestart:i,onLogs:s}){return g.jsxs("div",{className:"flex items-center gap-2.5 rounded-lg border border-border/50 bg-background/20 px-3 py-2",children:[g.jsx("span",{className:nt("w-1.5 h-1.5 rounded-full shrink-0",e===!0?"bg-emerald-500":e===!1?"bg-red-500":"bg-muted-foreground/40")}),g.jsxs("span",{className:"flex-1 text-xs text-foreground truncate",children:[t,n&&g.jsx("span",{className:"text-[9px] text-muted-foreground",children:" (root)"})]}),g.jsx("button",{onClick:i,disabled:r,title:"Neu starten",className:"text-muted-foreground hover:text-primary transition-colors disabled:opacity-50",children:g.jsx(Zf,{className:nt("h-3.5 w-3.5",r&&"animate-spin")})}),g.jsx("button",{onClick:s,title:"Logs ansehen",className:"text-muted-foreground hover:text-primary transition-colors",children:g.jsx(I8,{className:"h-3.5 w-3.5"})})]})}function pT(t){return t==null?"":t>1024**3?`${(t/1024**3).toFixed(2)} GB`:`${(t/1024**2).toFixed(1)} MB`}function xSe({open:t,onClose:e,defaultTab:n="maintenance"}){var Ke;const[r,i]=R.useState(null),[s,o]=R.useState([]),[a,l]=R.useState("llama-swap"),[c,d]=R.useState(""),[f,m]=R.useState(!1),[y,x]=R.useState(null),[S,w]=R.useState({}),[_,E]=R.useState("maintenance"),[T,C]=R.useState(!1),[O,N]=R.useState(""),[D,F]=R.useState(!1),[G,k]=R.useState(null),[U,H]=R.useState([]),[ne,te]=R.useState(!1),[he,oe]=R.useState(null),[fe,B]=R.useState(null);function J(re,Qe,wt){B({type:"alert",title:re,message:Qe,onConfirm:()=>{B(null),wt&&wt()}})}function Y(re,Qe,wt){B({type:"confirm",title:re,message:Qe,onConfirm:()=>{B(null),wt()},onCancel:()=>B(null)})}function V(re){return re?new Date(re*1e3).toLocaleString("de-DE",{day:"2-digit",month:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):"Nie"}const[q,pe]=R.useState(""),[le,ce]=R.useState(""),[be,Se]=R.useState(!1),[Xe,Me]=R.useState(!1);R.useEffect(()=>{t&&(pe(localStorage.getItem("mc_sudo_password")||""),ce(localStorage.getItem("mc_hf_token")||""))},[t]),R.useEffect(()=>{t&&n&&E(n)},[t,n]);const We=R.useRef(null);function qe(){Ut("/api/maintenance/updates").then(i).catch(re=>console.error("Error loading updates",re))}function ue(){Ut("/api/jobs").then(re=>o(re.jobs||[])).catch(re=>console.error("Error loading jobs",re))}function Z(){Ut("/api/system/services").then(k).catch(()=>{})}function Ge(){Ut("/api/system/backups").then(re=>H(re.backups||[])).catch(()=>{})}function De(re){m(!0),x(null),Ut(`/api/maintenance/logs?service=${re}&lines=150`).then(Qe=>{Qe.ok?d(Qe.text):(d(`Fehler beim Laden der Logs: ${Qe.err||"Unbekannter Fehler"}`),(Qe.status==="incorrect_password"||Qe.status==="password_required")&&x(Qe.status))}).catch(Qe=>d(`Fehler: ${Qe.message}`)).finally(()=>{m(!1),setTimeout(()=>{We.current&&(We.current.scrollTop=We.current.scrollHeight)},50)})}R.useEffect(()=>{if(!t)return;qe(),ue(),Z(),Ge();const re=setInterval(()=>{ue(),qe(),Z()},3e3);return()=>clearInterval(re)},[t]),R.useEffect(()=>{!t||_!=="logs"||De(a)},[t,_,a]);function $e(re){return(re==null?void 0:re.status)==="busy"?(J("Update läuft bereits",`Es läuft gerade „${re.running}". Bitte warte, bis es fertig ist.`),ue(),!0):!1}async function et(){try{const re=await Ut("/api/maintenance/os-update",{method:"POST"});if($e(re))return;ue(),E("maintenance")}catch(re){J("Fehler",`Fehler beim Starten des OS-Updates: ${re.message}`)}}async function bt(){try{const re=await Ut("/api/maintenance/engine-update",{method:"POST"});if($e(re))return;ue(),E("maintenance")}catch(re){J("Fehler",`Fehler beim Engine-Update: ${re.message}`)}}async function ct(){try{const re=await Ut("/api/maintenance/swap-update",{method:"POST"});if($e(re))return;ue(),E("maintenance")}catch(re){J("Fehler",`Fehler beim Router-Update: ${re.message}`)}}async function ee(){te(!0);try{const re=await Ut("/api/maintenance/hermes-update",{method:"POST"});if($e(re))return;ue()}catch(re){J("Fehler",`Hermes-Update fehlgeschlagen: ${re.message}`)}finally{te(!1)}}async function $(re){oe({kind:re,loading:!0,data:null});try{const Qe=await Ut(`/api/maintenance/update-details?kind=${re}`);oe({kind:re,loading:!1,data:Qe})}catch(Qe){oe({kind:re,loading:!1,data:{kind:re,error:Qe.message}})}}function Ee(){const re=he==null?void 0:he.kind;oe(null),re==="os"?et():re==="engine"?bt():re==="swap"?ct():re==="hermes"&&ee()}async function ze(){C(!0);try{await Ut("/api/maintenance/check-updates",{method:"POST"}),ue(),E("maintenance")}catch(re){J("Fehler",`Fehler bei der Update-Suche: ${re.message}`)}finally{C(!1)}}async function He(re,Qe){try{await Ut("/api/models/install",{method:"POST",body:JSON.stringify({repo:re,role:Qe})}),J("Gestartet",`Modell-Upgrade für '${Qe}' (${re}) gestartet.`),ue(),E("maintenance")}catch(wt){J("Fehler",`Fehler beim Starten des Modell-Upgrades: ${wt.message}`)}}async function Be(){Y("Reboot bestätigen","Bist du sicher, dass du das gesamte Host-System neu starten willst?",async()=>{try{await Ut("/api/maintenance/reboot",{method:"POST"}),J("Reboot","Reboot ausgelöst. System startet neu...",()=>{e()})}catch(re){J("Fehler",`Fehler beim Reboot: ${re.message}`)}})}async function gt(){F(!0),N("Snapshot wird erzeugt...");try{const re=await Ut("/api/system/backup",{method:"POST"});N(re.ok?`Snapshot erzeugt: ${re.snapshot} (${re.files.length} Komponenten)`:"Backup fehlgeschlagen."),Ge()}catch(re){N(`Fehler: ${re.message}`)}finally{F(!1)}}async function rt(re){w(Qe=>({...Qe,[re]:!0}));try{const Qe=await Ut("/api/maintenance/restart",{method:"POST",body:JSON.stringify({service:re})});Qe.ok?J("Dienst neu gestartet",`Dienst ${re} wurde erfolgreich neu gestartet.`,()=>{_==="logs"&&a===re&&De(re)}):J("Fehler",`Fehler beim Neustart: ${Qe.err||"Unbekannter Fehler"}`)}catch(Qe){J("Fehler",`Fehler beim Neustart: ${Qe.message}`)}finally{w(Qe=>({...Qe,[re]:!1}))}}async function dt(re){try{await Ut(`/api/jobs/${re}/cancel`,{method:"POST"}),ue()}catch(Qe){J("Fehler",`Fehler beim Abbrechen: ${Qe.message}`)}}const Bt=s.find(re=>(re.state==="running"||re.state==="queued")&&re.group==="maintenance");return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:nt("fixed inset-0 bg-black/60 backdrop-blur-sm z-50 transition-opacity duration-300",t?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"),onClick:e}),g.jsxs("div",{className:nt("fixed inset-y-0 right-0 w-full sm:w-[640px] bg-card/85 backdrop-blur-xl border-l border-border/60 shadow-2xl z-50 flex flex-col transform transition-transform duration-300 ease-in-out font-sans text-foreground",t?"translate-x-0":"translate-x-full"),children:[g.jsxs("div",{className:"flex h-16 shrink-0 items-center justify-between border-b border-border/40 px-6",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(El,{className:"h-4.5 w-4.5 text-primary"}),g.jsx("h2",{className:"text-sm font-semibold tracking-wide uppercase font-space",children:"OS-Zentrale & Pflege"})]}),g.jsx("button",{onClick:e,className:"flex h-8 w-8 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsxs("div",{className:"flex border-b border-border/40 px-6",children:[g.jsx("button",{onClick:()=>E("maintenance"),className:nt("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",_==="maintenance"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Wartung"}),g.jsx("button",{onClick:()=>E("logs"),className:nt("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",_==="logs"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"System-Logs"}),g.jsx("button",{onClick:()=>E("settings"),className:nt("flex-1 py-3 text-xs font-semibold uppercase tracking-wider border-b-2 text-center transition-all",_==="settings"?"border-primary text-primary":"border-transparent text-muted-foreground hover:text-foreground"),children:"Einstellungen"})]}),g.jsxs("div",{className:"flex-1 overflow-y-auto p-6 space-y-6",children:[_==="maintenance"&&g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"space-y-2.5",children:[g.jsxs("div",{className:"flex items-center justify-between",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Updates"}),g.jsxs("button",{onClick:ze,disabled:T||!!Bt,className:"flex items-center gap-1 text-[10px] font-semibold text-primary hover:text-primary/80 transition-colors disabled:opacity-50",children:[g.jsx(Zf,{className:nt("h-3 w-3",T&&"animate-spin")})," Nach Updates suchen"]})]}),(r==null?void 0:r.last_check)&&g.jsxs("div",{className:"text-[9px] text-muted-foreground -mt-1",children:["Zuletzt gesucht: ",V(r.last_check)]}),Bt&&g.jsxs("div",{className:"flex items-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/10 px-3 py-2 text-[11px] text-amber-300",children:[g.jsx(Zf,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),g.jsxs("span",{children:["Update läuft: ",g.jsx("span",{className:"font-semibold",children:Bt.label})," — bitte warten. Weitere Updates sind solange gesperrt."]})]}),g.jsxs("div",{className:"space-y-1.5",children:[g.jsx(U0,{icon:Zm,iconClass:"text-cyan-400",name:"OS-Pakete (apt)",available:!!(r!=null&&r.os),status:r!=null&&r.os?`${r.os} verfügbar`:"aktuell",actionLabel:"Anzeigen",onAction:()=>$("os")}),g.jsx(U0,{icon:nw,iconClass:"text-violet-400",name:"Inferenz-Engine (llama.cpp)",available:!!(r!=null&&r.engine),status:r!=null&&r.engine?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>$("engine")}),g.jsx(U0,{icon:cI,iconClass:"text-fuchsia-400",name:"Router (llama-swap)",available:!!(r!=null&&r.swap),status:r!=null&&r.swap?"Update verfügbar":"aktuell",actionLabel:"Anzeigen",onAction:()=>$("swap")}),(()=>{var Qe;const re=(Qe=r==null?void 0:r.components)==null?void 0:Qe.find(wt=>wt.key==="hermes_agent");return g.jsx(U0,{icon:Il,iconClass:"text-amber-400",name:"Hermes-Agent",available:(re==null?void 0:re.update)===!0,busy:ne,status:(re==null?void 0:re.update)===!0?`Update: ${re.latest}`:(re==null?void 0:re.reachable)===!1?"offline":"aktuell",actionLabel:"Anzeigen",onAction:()=>$("hermes")})})(),(Ke=r==null?void 0:r.model_list)==null?void 0:Ke.map(re=>g.jsx(U0,{icon:b8,iconClass:"text-emerald-400",name:`Modell · ${re.role}`,available:!0,status:re.title,actionLabel:"Upgrade",onAction:()=>He(re.repo,re.role)},re.role))]})]}),g.jsxs("div",{className:"space-y-2.5",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Dienste"}),g.jsx("div",{className:"space-y-1.5",children:OU.map(re=>{var Qe;return g.jsx(ySe,{label:re.label,system:re.type==="system",ok:(Qe=G==null?void 0:G.services.find(wt=>wt.name.toLowerCase().includes(re.reach)))==null?void 0:Qe.ok,busy:S[re.id],onRestart:()=>rt(re.id),onLogs:()=>{l(re.id),E("logs")}},re.id)})})]}),g.jsxs("div",{className:"space-y-2.5",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Backup"}),g.jsxs("div",{className:"rounded-lg border border-border/50 bg-background/20 px-3 py-2.5 flex items-center gap-3",children:[g.jsxs("div",{className:"flex-1 min-w-0",children:[g.jsx("div",{className:"text-xs text-foreground truncate",children:U[0]?`Letztes: ${U[0].snapshot}`:"Noch kein Backup"}),g.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[U.length," Snapshots · Restore per CLI (restore.sh)"]})]}),g.jsxs("button",{onClick:gt,disabled:D,className:"flex items-center gap-1.5 text-[11px] font-semibold rounded-lg px-2.5 py-1 bg-primary text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-50 shrink-0",children:[g.jsx(_8,{className:nt("h-3.5 w-3.5",D&&"animate-pulse")})," Snapshot"]})]}),O&&g.jsx("div",{className:"text-[10px] font-mono text-primary bg-primary/5 p-2 rounded-lg border border-primary/20 break-all leading-normal",children:O})]}),g.jsxs("div",{className:"space-y-2.5",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-red-400/80",children:"Gefahrenzone"}),g.jsxs("button",{onClick:Be,className:"flex w-full items-center gap-3 p-3 rounded-lg border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 text-red-400 transition-all text-left text-xs font-semibold",children:[g.jsx(Y8,{className:"h-4.5 w-4.5"}),g.jsxs("div",{children:[g.jsx("div",{children:"Host-System neu starten"}),g.jsx("div",{className:"text-[10px] text-red-400/80 font-normal",children:"Startet die ganze Box neu"})]})]})]}),g.jsxs("div",{className:"space-y-3",children:[g.jsxs("div",{className:"flex items-center justify-between",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Hintergrund-Aufgaben"}),g.jsxs("span",{className:"text-[10px] font-mono bg-primary/10 text-primary px-1.5 py-0.5 rounded-full",children:[s.filter(re=>re.state==="running"||re.state==="queued").length," Aktiv"]})]}),g.jsx("div",{className:"space-y-3",children:s.length===0?g.jsx("div",{className:"text-xs text-muted-foreground border border-dashed border-border/60 rounded-xl p-6 text-center",children:"Aktuell keine aktiven Hintergrund-Jobs."}):s.map(re=>{const Qe=re.state==="running"||re.state==="queued";return g.jsxs("div",{className:nt("p-3 rounded-xl border transition-all duration-300",Qe?"border-primary/40 bg-primary/5 shadow-md shadow-primary/5":"border-border/40 bg-background/20 opacity-80"),children:[g.jsxs("div",{className:"flex items-start justify-between gap-3",children:[g.jsxs("div",{className:"space-y-1",children:[g.jsxs("div",{className:"text-xs font-semibold flex items-center gap-1.5",children:[Qe&&g.jsxs("span",{className:"flex h-2 w-2 relative",children:[g.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"}),g.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-primary"})]}),re.label]}),g.jsxs("div",{className:"text-[10px] font-mono text-muted-foreground uppercase flex items-center gap-2",children:[g.jsxs("span",{children:["ID: ",re.id]}),g.jsx("span",{children:"•"}),g.jsx("span",{className:nt(re.state==="done"&&"text-emerald-400",re.state==="failed"&&"text-red-400",re.state==="running"&&"text-primary",re.state==="queued"&&"text-amber-400",re.state==="canceled"&&"text-muted-foreground"),children:re.state})]})]}),Qe&&g.jsx("button",{onClick:()=>dt(re.id),className:"text-[10px] font-semibold text-red-400 hover:text-red-300 border border-red-500/20 bg-red-500/5 hover:bg-red-500/10 px-2 py-0.5 rounded transition-colors",children:"Abbrechen"})]}),re.state==="running"&&g.jsxs("div",{className:"mt-3 space-y-1",children:[g.jsx("div",{className:"w-full h-1.5 bg-muted rounded-full overflow-hidden",children:g.jsx("div",{className:"h-full bg-primary transition-all duration-500",style:{width:`${re.progress??0}%`}})}),g.jsxs("div",{className:"flex justify-between items-center text-[9px] font-mono text-muted-foreground",children:[g.jsxs("span",{children:[re.progress??0,"%"]}),re.done_bytes!=null&&re.total_bytes!=null&&g.jsxs("span",{children:[pT(re.done_bytes)," / ",pT(re.total_bytes),re.rate_bps!=null&&` (${pT(re.rate_bps)}/s)`]}),re.eta_s!=null&&g.jsxs("span",{children:["ETA: ",re.eta_s,"s"]})]})]})]},re.id)})})]})]}),_==="logs"&&g.jsxs("div",{className:"flex flex-col h-full space-y-4",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("select",{value:a,onChange:re=>l(re.target.value),className:"flex-1 h-9 px-3 text-xs bg-background/40 border border-border/60 rounded-lg outline-none text-foreground font-semibold",children:OU.map(re=>g.jsxs("option",{value:re.id,children:[re.label," (",re.type==="system"?"systemd-root":"user",")"]},re.id))}),g.jsxs("button",{onClick:()=>rt(a),disabled:S[a],className:"flex h-9 px-3 items-center gap-1.5 text-xs font-semibold rounded-lg border border-border/60 bg-background/20 hover:border-primary/50 transition-colors disabled:opacity-50",title:"Dienst neu starten",children:[g.jsx(Zf,{className:nt("h-3.5 w-3.5",S[a]&&"animate-spin")}),"Restart"]})]}),g.jsxs("div",{className:"flex-1 flex flex-col min-h-[300px] border border-border/60 bg-black/50 rounded-xl overflow-hidden shadow-inner",children:[g.jsxs("div",{className:"flex h-9 items-center justify-between px-4 border-b border-border/40 bg-black/30 shrink-0",children:[g.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] font-mono text-muted-foreground",children:[g.jsx(uF,{className:"h-3 w-3 text-primary"}),g.jsxs("span",{children:["stdout/stderr - ",a]})]}),g.jsx("button",{onClick:()=>De(a),disabled:f,className:"text-muted-foreground hover:text-foreground transition-colors",children:g.jsx(Zf,{className:nt("h-3 w-3",f&&"animate-spin")})})]}),g.jsx("pre",{ref:We,className:"flex-1 p-4 overflow-y-auto text-[10px] font-mono text-cyan-300/90 whitespace-pre-wrap select-text leading-relaxed scrollbar-thin",children:y==="password_required"||y==="incorrect_password"?g.jsxs("div",{className:"flex flex-col items-center justify-center p-6 text-center h-full space-y-3",children:[g.jsx(_g,{className:"h-8 w-8 text-amber-400 animate-pulse animate-duration-1000"}),g.jsx("div",{className:"text-xs font-semibold text-amber-300",children:y==="incorrect_password"?"Falsches Sudo-Passwort hinterlegt.":"Sudo-Passwort für systemd-Dienste erforderlich."}),g.jsxs("p",{className:"text-[10px] text-muted-foreground max-w-xs leading-normal",children:["Für das Auslesen der systemd-Logs von ",a," werden Root-Rechte benötigt. Hinterlege dein Passwort in den Einstellungen."]}),g.jsx("button",{onClick:()=>E("settings"),className:"px-3 py-1.5 text-[10px] font-semibold text-primary-foreground bg-primary hover:bg-primary/95 rounded-md transition-colors mt-2",children:"Sudo-Passwort eintragen"})]}):f&&!c?g.jsx("span",{className:"text-muted-foreground",children:"Lade Logs..."}):c||g.jsx("span",{className:"text-muted-foreground",children:"Keine Logeinträge vorhanden."})})]})]}),_==="settings"&&g.jsxs("div",{className:"space-y-6",children:[g.jsxs("div",{className:"space-y-2",children:[g.jsx("h3",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:"Zugangsdaten & Schlüssel"}),g.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Diese Daten werden ausschließlich lokal in deinem Browser (localStorage) gespeichert und bei Bedarf an das Backend übertragen."})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[g.jsx(Zm,{className:"h-4 w-4 text-amber-400"}),"Host Sudo-Passwort"]}),g.jsxs("div",{className:"relative",children:[g.jsx("input",{type:be?"text":"password",value:q,onChange:re=>pe(re.target.value),placeholder:"Sudo-Passwort für System-Operationen",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),g.jsx("button",{type:"button",onClick:()=>Se(!be),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:be?g.jsx(aI,{className:"h-4 w-4"}):g.jsx(IT,{className:"h-4 w-4"})})]}),g.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Wird benötigt für systemd-Dienste (Llama Swap logs/restart), OS-Update (apt) und Reboot."})]}),g.jsxs("div",{className:"space-y-2",children:[g.jsxs("label",{className:"text-xs font-semibold flex items-center gap-1.5",children:[g.jsx(j8,{className:"h-4 w-4 text-violet-400"}),"HuggingFace API Token"]}),g.jsxs("div",{className:"relative",children:[g.jsx("input",{type:Xe?"text":"password",value:le,onChange:re=>ce(re.target.value),placeholder:"hf_...",className:"w-full h-10 pl-3 pr-10 text-xs bg-background/40 border border-border/60 rounded-lg outline-none focus:border-primary transition-colors text-foreground"}),g.jsx("button",{type:"button",onClick:()=>Me(!Xe),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-muted-foreground hover:text-foreground transition-colors",children:Xe?g.jsx(aI,{className:"h-4 w-4"}):g.jsx(IT,{className:"h-4 w-4"})})]}),g.jsx("p",{className:"text-[9px] text-muted-foreground leading-normal",children:"Erlaubt das Herunterladen von geschützten oder Gate-restricted Modellen direkt über Mission Control."})]}),g.jsxs("div",{className:"flex gap-3 pt-2",children:[g.jsx("button",{onClick:()=>{localStorage.setItem("mc_sudo_password",q),localStorage.setItem("mc_hf_token",le),J("Erfolgreich","Einstellungen erfolgreich lokal gespeichert.")},className:"flex-1 h-9 flex items-center justify-center text-xs font-semibold text-primary-foreground bg-primary hover:bg-primary/90 rounded-lg transition-colors shadow shadow-primary/10 cursor-pointer",children:"Speichern"}),g.jsx("button",{onClick:()=>{pe(""),ce(""),localStorage.removeItem("mc_sudo_password"),localStorage.removeItem("mc_hf_token"),J("Gelöscht","Zugangsdaten gelöscht.")},className:"h-9 px-4 flex items-center justify-center text-xs font-semibold text-muted-foreground border border-border/60 bg-background/20 hover:bg-accent rounded-lg transition-colors cursor-pointer",children:"Zurücksetzen"})]})]})]})]}),he&&(()=>{var de;const re=he.data,Qe={os:{icon:Zm,cls:"text-cyan-400",title:"OS-Pakete (apt)"},engine:{icon:nw,cls:"text-violet-400",title:"Inferenz-Engine (llama.cpp)"},swap:{icon:cI,cls:"text-fuchsia-400",title:"Router (llama-swap)"},hermes:{icon:Il,cls:"text-amber-400",title:"Hermes-Agent"}}[he.kind],wt=Qe.icon,pt=re?he.kind==="os"?(re.count??0)===0:he.kind==="hermes"?(re.behind??0)===0:re.installed_build!=null&&re.latest_build!=null&&re.latest_build<=re.installed_build:!0;return g.jsxs("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4",children:[g.jsx("div",{className:"absolute inset-0 bg-black/70 backdrop-blur-sm",onClick:()=>oe(null)}),g.jsxs("div",{className:"relative w-full max-w-lg max-h-[80vh] flex flex-col rounded-2xl border border-border/60 bg-card shadow-2xl font-sans text-foreground",children:[g.jsxs("div",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-5",children:[g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx(wt,{className:nt("h-4.5 w-4.5",Qe.cls)}),g.jsx("h3",{className:"text-sm font-semibold",children:Qe.title})]}),g.jsx("button",{onClick:()=>oe(null),className:"flex h-7 w-7 items-center justify-center rounded-lg border border-border/40 text-muted-foreground hover:bg-accent transition-colors",children:g.jsx(Al,{className:"h-4 w-4"})})]}),g.jsx("div",{className:"flex-1 overflow-y-auto p-5 text-xs space-y-3 scrollbar-thin",children:he.loading?g.jsxs("div",{className:"flex h-24 items-center justify-center gap-2 text-muted-foreground",children:[g.jsx(Zf,{className:"h-4 w-4 animate-spin"})," Details werden geladen…"]}):re!=null&&re.error?g.jsx("div",{className:"rounded-lg border border-red-500/30 bg-red-500/5 p-3 text-red-400",children:re.error}):he.kind==="os"?((re==null?void 0:re.count)??0)===0?g.jsx("div",{className:"text-muted-foreground",children:"Keine Pakete zu aktualisieren — System ist aktuell."}):g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"text-muted-foreground",children:[re.count," Paket(e) werden aktualisiert:"]}),g.jsx("div",{className:"space-y-1",children:re.packages.map(Q=>g.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[g.jsxs("span",{className:"flex items-center gap-1.5 font-mono text-[11px] truncate",children:[g.jsx(q8,{className:"h-3 w-3 text-cyan-400 shrink-0"}),Q.name]}),g.jsxs("span",{className:"flex items-center gap-1 font-mono text-[10px] text-muted-foreground shrink-0",children:[g.jsx("span",{children:Q.current}),g.jsx(ew,{className:"h-3 w-3"}),g.jsx("span",{className:"text-emerald-400",children:Q.candidate})]})]},Q.name))})]}):he.kind==="engine"||he.kind==="swap"?g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"flex items-center gap-2 font-mono text-[11px]",children:[g.jsxs("span",{className:"rounded-md border border-border/40 bg-background/30 px-2 py-1",children:["Build ",(re==null?void 0:re.installed_build)??"?"]}),g.jsx(ew,{className:"h-3.5 w-3.5 text-muted-foreground"}),g.jsxs("span",{className:"rounded-md border border-emerald-500/30 bg-emerald-500/5 px-2 py-1 text-emerald-400",children:["Build ",(re==null?void 0:re.latest_build)??"?"]})]}),((re==null?void 0:re.name)||(re==null?void 0:re.latest_tag))&&g.jsxs("div",{className:"text-muted-foreground",children:["Release: ",g.jsx("span",{className:"text-foreground",children:re==null?void 0:re.name}),re!=null&&re.latest_tag?` (${re.latest_tag})`:""]}),(re==null?void 0:re.url)&&g.jsxs("a",{href:re.url,target:"_blank",rel:"noreferrer",className:"inline-flex items-center gap-1 text-primary hover:underline",children:["Release-Notes auf GitHub ",g.jsx(bg,{className:"h-3 w-3"})]}),(re==null?void 0:re.body)&&g.jsx("pre",{className:"whitespace-pre-wrap rounded-lg border border-border/40 bg-background/30 p-3 text-[10px] leading-relaxed text-muted-foreground max-h-60 overflow-y-auto scrollbar-thin",children:re.body})]}):(((de=re==null?void 0:re.commits)==null?void 0:de.length)??0)===0?g.jsx("div",{className:"text-muted-foreground",children:"Keine neuen Commits — Hermes-Agent ist bereits aktuell."}):g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"text-muted-foreground",children:[re.behind," neue Commit(s) auf ",g.jsxs("span",{className:"font-mono text-foreground",children:["origin/",re.branch]}),":"]}),g.jsx("div",{className:"space-y-1",children:re.commits.map(Q=>g.jsxs("div",{className:"flex items-start gap-2 rounded-md border border-border/40 bg-background/30 px-2.5 py-1.5",children:[g.jsx(L8,{className:"h-3.5 w-3.5 text-primary shrink-0 mt-0.5"}),g.jsxs("div",{className:"min-w-0",children:[g.jsx("div",{className:"text-[11px] truncate",children:Q.subject}),g.jsxs("div",{className:"font-mono text-[9px] text-muted-foreground",children:[Q.hash," · ",Q.when]})]})]},Q.hash))}),g.jsx("p",{className:"text-[10px] text-muted-foreground leading-normal",children:"Vor dem Update wird automatisch ein Backup erstellt; danach startet der Hermes-Gateway neu."})]})}),g.jsxs("div",{className:"flex gap-3 border-t border-border/40 p-4 shrink-0",children:[g.jsx("button",{onClick:()=>oe(null),className:"h-9 flex-1 rounded-lg border border-border/60 bg-background/20 text-xs font-semibold text-muted-foreground hover:bg-accent transition-colors cursor-pointer",children:"Schließen"}),g.jsx("button",{onClick:Ee,disabled:he.loading||pt||!!Bt,title:Bt?`Update läuft bereits: ${Bt.label}`:void 0,className:"h-9 flex-1 rounded-lg bg-primary text-xs font-semibold text-primary-foreground hover:opacity-90 transition-all cursor-pointer disabled:opacity-40 disabled:cursor-default",children:Bt?"Update läuft…":"Jetzt aktualisieren"})]})]})]})})(),fe&&g.jsx(fV,{type:fe.type,title:fe.title,message:fe.message,onConfirm:fe.onConfirm,onCancel:fe.onCancel})]})}function bSe(){var f,m,y,x,S;lX();const[t,e]=R.useState("dashboard"),[n,r]=R.useState(()=>localStorage.getItem("mc_sidebar_collapsed")==="true"),[i,s]=R.useState(!1),[o,a]=R.useState("maintenance"),{data:l}=p7(),{data:c}=Q1(2e4);R.useEffect(()=>{document.documentElement.classList.add("dark")},[]),R.useEffect(()=>{const w=_=>{var T;a(((T=_.detail)==null?void 0:T.tab)||"maintenance"),s(!0)};return window.addEventListener("open-system-drawer",w),()=>window.removeEventListener("open-system-drawer",w)},[]),R.useEffect(()=>{const w=_=>{var T;const E=(T=_.detail)==null?void 0:T.view;E&&e(E)};return window.addEventListener("mc-navigate",w),()=>window.removeEventListener("mc-navigate",w)},[]);const d=jT.find(w=>w.id===t);return g.jsxs("div",{className:"flex h-full relative",children:[g.jsxs("div",{className:"fixed inset-0 -z-50 pointer-events-none overflow-hidden bg-[hsl(224,30%,6%)]",children:[g.jsx("div",{className:"absolute inset-0 opacity-35 animate-aurora bg-gradient-to-tr from-teal-500/20 via-indigo-500/15 to-purple-500/20 blur-[130px]"}),g.jsx("div",{className:"absolute top-[-10%] left-[-10%] h-[50%] w-[50%] rounded-full bg-teal-500/15 blur-[160px]"}),g.jsx("div",{className:"absolute bottom-[-10%] right-[-10%] h-[50%] w-[50%] rounded-full bg-purple-500/15 blur-[160px]"}),g.jsx("div",{className:"absolute top-[30%] right-[20%] h-[40%] w-[40%] rounded-full bg-indigo-500/10 blur-[140px]"})]}),g.jsx(f7,{onNavigate:e}),g.jsx(xSe,{open:i,onClose:()=>s(!1),defaultTab:o}),g.jsxs("aside",{className:nt("flex shrink-0 flex-col border-r border-border/40 bg-card/45 backdrop-blur-md transition-all duration-300 ease-in-out",n?"w-16":"w-60"),children:[g.jsxs("div",{className:nt("flex items-center py-4 border-b border-border/40 shrink-0",n?"flex-col gap-3 px-2":"justify-between px-5"),children:[g.jsxs("div",{className:"flex items-center gap-2 overflow-hidden",children:[g.jsx("div",{className:"h-7 w-7 rounded-lg bg-primary shadow-md shadow-primary/20 shrink-0"}),!n&&g.jsxs("div",{className:"leading-tight",children:[g.jsx("div",{className:"text-sm font-semibold tracking-wide font-space",children:"Mission Control"}),g.jsx("div",{className:"text-xs text-muted-foreground",children:"2.0"})]})]}),g.jsx("button",{onClick:()=>{r(w=>{const _=!w;return localStorage.setItem("mc_sidebar_collapsed",_.toString()),_})},className:"p-1 rounded-md hover:bg-accent text-muted-foreground transition-colors cursor-pointer",title:n?"Maximieren":"Minimieren",children:n?g.jsx(oF,{className:"h-4 w-4"}):g.jsx(S8,{className:"h-4 w-4"})})]}),g.jsx("nav",{className:"flex-1 space-y-1 px-3 py-4 overflow-y-auto",children:jT.map(w=>g.jsxs("button",{onClick:()=>e(w.id),className:nt("flex w-full items-center rounded-md text-sm transition-all cursor-pointer",n?"justify-center p-2.5":"gap-3 px-3 py-2",t===w.id?"bg-primary/15 text-primary shadow-sm shadow-primary/5":"text-muted-foreground hover:bg-accent hover:text-accent-foreground"),title:n?w.label:void 0,children:[g.jsx(w.icon,{className:"h-4.5 w-4.5 shrink-0"}),!n&&g.jsx("span",{className:"truncate",children:w.label})]},w.id))}),g.jsx("div",{className:nt("py-3 text-xs text-muted-foreground border-t border-border/40 shrink-0",n?"px-2 text-center":"px-5"),children:n?g.jsx("div",{className:"flex justify-center",children:g.jsx("span",{className:nt("h-2.5 w-2.5 rounded-full ring-2 ring-black/40",l?l.engine_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500":"bg-red-500"),title:l?`Engine ${l.engine_reachable?"online":"offline"}`:"Backend offline"})}):g.jsxs("div",{className:"space-y-2 text-left",children:[l?g.jsxs("span",{className:"flex items-center gap-2",children:[g.jsx("span",{className:nt("h-2 w-2 rounded-full animate-pulse",l.engine_reachable?"bg-emerald-500":"bg-amber-500")}),g.jsxs("span",{className:"truncate",children:["Engine ",l.engine_reachable?"online":"offline"]})]}):g.jsxs("span",{className:"flex items-center gap-2",children:[g.jsx("span",{className:"h-2 w-2 rounded-full bg-red-500"})," ",g.jsx("span",{className:"truncate",children:"Backend offline"})]}),(c==null?void 0:c.versions)&&g.jsxs("div",{className:"space-y-1 text-[9px] text-muted-foreground/60 mt-2 pt-2 border-t border-border/30",children:[g.jsxs("div",{className:"truncate",title:c.versions.mc2?`${c.versions.mc2.branch}-${c.versions.mc2.hash}${c.versions.mc2.dirty?"*":""} (${c.versions.mc2.date})`:"nicht gefunden",children:[g.jsx("strong",{children:"MC2:"})," ",c.versions.mc2?`${c.versions.mc2.hash}${c.versions.mc2.dirty?"*":""}`:"—"]}),g.jsxs("div",{className:"truncate",title:((f=c.versions.engine)==null?void 0:f.type)==="git"?`${c.versions.engine.branch}-${c.versions.engine.hash}${c.versions.engine.dirty?"*":""} (${c.versions.engine.date})`:((m=c.versions.engine)==null?void 0:m.version_text)||"unbekannt",children:[g.jsx("strong",{children:"Engine:"})," ",((y=c.versions.engine)==null?void 0:y.type)==="git"?`${c.versions.engine.hash}${c.versions.engine.dirty?"*":""}`:((S=(x=c.versions.engine)==null?void 0:x.version_text)==null?void 0:S.split(" ").pop())||"—"]}),g.jsxs("div",{className:"truncate",title:c.versions.hermes_ui?`${c.versions.hermes_ui.branch}-${c.versions.hermes_ui.hash}${c.versions.hermes_ui.dirty?"*":""} (${c.versions.hermes_ui.date})`:"nicht gefunden",children:[g.jsx("strong",{children:"Hermes UI:"})," ",c.versions.hermes_ui?`${c.versions.hermes_ui.hash}${c.versions.hermes_ui.dirty?"*":""}`:"—"]}),g.jsxs("div",{className:"truncate",title:c.versions.hermes_agent?`${c.versions.hermes_agent.branch}-${c.versions.hermes_agent.hash}${c.versions.hermes_agent.dirty?"*":""} (${c.versions.hermes_agent.date})`:"nicht gefunden",children:[g.jsx("strong",{children:"Hermes Agent:"})," ",c.versions.hermes_agent?`${c.versions.hermes_agent.hash}${c.versions.hermes_agent.dirty?"*":""}`:"—"]})]})]})})]}),g.jsxs("div",{className:"flex min-w-0 flex-1 flex-col",children:[g.jsxs("header",{className:"flex h-14 shrink-0 items-center justify-between border-b border-border/40 px-6 bg-card/20 backdrop-blur-sm",children:[g.jsx("div",{className:"text-xs font-medium text-muted-foreground tracking-wide uppercase font-sans",children:d.hint}),g.jsxs("div",{className:"flex items-center gap-2",children:[g.jsx("a",{href:"https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/mission-control-v2/src/branch/main/docs/BEDIENUNG.md",target:"_blank",rel:"noopener",className:"flex h-8 items-center rounded-md border border-border/40 bg-background/40 px-2.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer font-semibold",title:"Bedien-Anleitung",children:"Hilfe"}),g.jsxs("button",{onClick:()=>{const w=new KeyboardEvent("keydown",{key:"k",metaKey:!0});document.dispatchEvent(w)},className:"flex items-center gap-2 rounded-md border border-border/40 bg-background/40 px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground transition-all cursor-pointer",children:[g.jsx(P8,{className:"h-3.5 w-3.5"}),g.jsx("span",{children:"Suchen"}),g.jsx("kbd",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-[9px]",children:"⌘K"})]})]})]}),g.jsxs("main",{className:"flex-1 overflow-y-auto p-6 scrollbar-thin",children:[t==="dashboard"&&g.jsx(Nfe,{}),t==="models"&&g.jsx(Ufe,{}),t==="connect"&&g.jsx(zfe,{}),t==="memory"&&g.jsx(Xfe,{}),t==="agent"&&g.jsx(qfe,{}),t==="terminal"&&g.jsx(Kfe,{}),t==="voice"&&g.jsx(pSe,{}),t==="guide"&&g.jsx(gSe,{}),!["dashboard","models","connect","memory","agent","terminal","voice","guide"].includes(t)&&g.jsx(vSe,{title:d.label,hint:d.hint})]})]})]})}const _Se=new r8({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});NW.createRoot(document.getElementById("root")).render(g.jsx(WU.StrictMode,{children:g.jsx(i8,{client:_Se,children:g.jsx(bSe,{})})}));export{Zf as R,Gm as S,LT as T,t9 as a,V1 as g,g as j,R as r}; diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 63cee7a..8ee391d 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -7,7 +7,7 @@ Mission Control 2.0 - + diff --git a/frontend/src/components/SystemDrawer.tsx b/frontend/src/components/SystemDrawer.tsx index 30e1a47..65ed7e3 100644 --- a/frontend/src/components/SystemDrawer.tsx +++ b/frontend/src/components/SystemDrawer.tsx @@ -217,9 +217,20 @@ export function SystemDrawer({ open, onClose, defaultTab = "maintenance" }: Syst loadServiceLogs(selectedService) }, [open, activeTab, selectedService]) + // Backend-Wartungsriegel: lehnt ein zweites Update ab, solange eines läuft. + function handledBusy(res: any): boolean { + if (res?.status === "busy") { + showAlert("Update läuft bereits", `Es läuft gerade „${res.running}". Bitte warte, bis es fertig ist.`) + loadJobs() + return true + } + return false + } + async function triggerOsUpdate() { try { - await api<{ job_id: string }>("/api/maintenance/os-update", { method: "POST" }) + const res = await api("/api/maintenance/os-update", { method: "POST" }) + if (handledBusy(res)) return loadJobs() setActiveTab("maintenance") } catch (e: any) { @@ -229,7 +240,8 @@ export function SystemDrawer({ open, onClose, defaultTab = "maintenance" }: Syst async function triggerEngineUpdate() { try { - await api<{ job_id: string }>("/api/maintenance/engine-update", { method: "POST" }) + const res = await api("/api/maintenance/engine-update", { method: "POST" }) + if (handledBusy(res)) return loadJobs() setActiveTab("maintenance") } catch (e: any) { @@ -239,7 +251,8 @@ export function SystemDrawer({ open, onClose, defaultTab = "maintenance" }: Syst async function triggerSwapUpdate() { try { - await api<{ job_id: string }>("/api/maintenance/swap-update", { method: "POST" }) + const res = await api("/api/maintenance/swap-update", { method: "POST" }) + if (handledBusy(res)) return loadJobs() setActiveTab("maintenance") } catch (e: any) { @@ -250,7 +263,8 @@ export function SystemDrawer({ open, onClose, defaultTab = "maintenance" }: Syst async function doHermesUpdate() { setHermesUpdating(true) try { - await api<{ job_id: string }>("/api/maintenance/hermes-update", { method: "POST" }) + const res = await api("/api/maintenance/hermes-update", { method: "POST" }) + if (handledBusy(res)) return loadJobs() } catch (e: any) { showAlert("Fehler", `Hermes-Update fehlgeschlagen: ${e.message}`) @@ -370,6 +384,9 @@ export function SystemDrawer({ open, onClose, defaultTab = "maintenance" }: Syst } } + // Aktiver Wartungs-Job (System-Update) → UI-Aktionen sperren, Dashboard bleibt sichtbar. + const maintenanceJob = jobs.find(j => (j.state === "running" || j.state === "queued") && j.group === "maintenance") + return ( <> {/* Backdrop */} @@ -447,7 +464,7 @@ export function SystemDrawer({ open, onClose, defaultTab = "maintenance" }: Syst

Updates

- @@ -455,6 +472,12 @@ export function SystemDrawer({ open, onClose, defaultTab = "maintenance" }: Syst {updates?.last_check && (
Zuletzt gesucht: {formatLastCheck(updates.last_check)}
)} + {maintenanceJob && ( +
+ + Update läuft: {maintenanceJob.label} — bitte warten. Weitere Updates sind solange gesperrt. +
+ )}
openUpdateDetails("os")} /> openUpdateDetails("engine")} /> @@ -876,9 +899,10 @@ export function SystemDrawer({ open, onClose, defaultTab = "maintenance" }: Syst -
diff --git a/frontend/src/lib/api.ts b/frontend/src/lib/api.ts index e61e9e1..5725e46 100644 --- a/frontend/src/lib/api.ts +++ b/frontend/src/lib/api.ts @@ -337,6 +337,7 @@ export interface AgentStatus { export interface Job { id: string label: string + group?: string | null // "maintenance" = system-veränderndes Update (Wartungs-Riegel) state: "queued" | "running" | "done" | "failed" | "canceled" progress?: number total_bytes?: number