From 208b89fd7f51d56e84d12c5ed9faf81c125a1704 Mon Sep 17 00:00:00 2001 From: legop3 Date: Mon, 3 Aug 2026 01:09:21 -0400 Subject: [PATCH] add identity to socket auth hopefully will fix a lot of probem --- ...-8hW9hI.js => FleetReportsApp-B0NfbrpW.js} | 4 +- ...js.map => FleetReportsApp-B0NfbrpW.js.map} | 2 +- server/public/assets/index-KnOn2V1J.js | 148 ------------------ server/public/assets/index-KnOn2V1J.js.map | 1 - server/public/assets/index-gn8wwSnH.js | 148 ++++++++++++++++++ server/public/assets/index-gn8wwSnH.js.map | 1 + server/public/index.html | 2 +- .../src/services/verificationService/hooks.js | 1 - .../src/services/verificationService/index.js | 62 ++++---- webui/src/hooks/useUserIdentitySync.js | 80 +++------- webui/src/lib/socket.js | 41 +++++ 11 files changed, 250 insertions(+), 240 deletions(-) rename server/public/assets/{FleetReportsApp-_-8hW9hI.js => FleetReportsApp-B0NfbrpW.js} (99%) rename server/public/assets/{FleetReportsApp-_-8hW9hI.js.map => FleetReportsApp-B0NfbrpW.js.map} (99%) delete mode 100644 server/public/assets/index-KnOn2V1J.js delete mode 100644 server/public/assets/index-KnOn2V1J.js.map create mode 100644 server/public/assets/index-gn8wwSnH.js create mode 100644 server/public/assets/index-gn8wwSnH.js.map diff --git a/server/public/assets/FleetReportsApp-_-8hW9hI.js b/server/public/assets/FleetReportsApp-B0NfbrpW.js similarity index 99% rename from server/public/assets/FleetReportsApp-_-8hW9hI.js rename to server/public/assets/FleetReportsApp-B0NfbrpW.js index 160657a6..336acf0c 100644 --- a/server/public/assets/FleetReportsApp-_-8hW9hI.js +++ b/server/public/assets/FleetReportsApp-B0NfbrpW.js @@ -1,4 +1,4 @@ -import{g as Me,u as Ae,a as Ne,i as De,b as Ie,D as Le,j as e,c as Te,S as Fe,t as Pe,C as de,L as Oe,r as he,d as We,e as Ue}from"./index-KnOn2V1J.js";var be={exports:{}};var He=be.exports,Ce;function $e(){return Ce||(Ce=1,(function(S,M){(($,v)=>{S.exports=v()})(He,function $(){var v=typeof self<"u"?self:typeof window<"u"?window:v!==void 0?v:{},B,z=!v.document&&!!v.postMessage,f=v.IS_PAPA_WORKER||!1,ie={},w=0,o={};function b(t){return t.charCodeAt(0)===65279?t.slice(1):t}function C(t){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},(function(r){var s=je(r);s.chunkSize=parseInt(s.chunkSize),r.step||r.chunk||(s.chunkSize=null),this._handle=new pe(s),(this._handle.streamer=this)._config=s}).call(this,t),this.parseChunk=function(r,s){var i=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview),f)v.postMessage({results:n,workerId:o.WORKER_ID,finished:i});else if(E(this._config.chunk)&&!s){if(this._config.chunk(n,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=n=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(n.data),this._completeResults.errors=this._completeResults.errors.concat(n.errors),this._completeResults.meta=n.meta),this._completed||!i||!E(this._config.complete)||n&&n.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),i||n&&n.meta.paused||this._nextChunk(),n}this._halted=!0},this._sendError=function(r){E(this._config.error)?this._config.error(r):f&&this._config.error&&v.postMessage({workerId:o.WORKER_ID,error:r,finished:!1})}}function re(t){var r;(t=t||{}).chunkSize||(t.chunkSize=o.RemoteChunkSize),C.call(this,t),this._nextChunk=z?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(s){this._input=s,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r=new XMLHttpRequest,this._config.withCredentials&&(r.withCredentials=this._config.withCredentials),z||(r.onload=ae(this._chunkLoaded,this),r.onerror=ae(this._chunkError,this)),r.open(this._config.downloadRequestBody?"POST":"GET",this._input,!z),this._config.downloadRequestHeaders){var s,i=this._config.downloadRequestHeaders;for(s in i)r.setRequestHeader(s,i[s])}var n;this._config.chunkSize&&(n=this._start+this._config.chunkSize-1,r.setRequestHeader("Range","bytes="+this._start+"-"+n));try{r.send(this._config.downloadRequestBody)}catch(p){this._chunkError(p.message)}z&&r.status===0&&this._chunkError()}},this._chunkLoaded=function(){r.readyState===4&&(r.status<200||400<=r.status?this._chunkError():(this._start+=this._config.chunkSize||r.responseText.length,this._finished=!this._config.chunkSize||this._start>=(s=>(s=s.getResponseHeader("Content-Range"))!==null?parseInt(s.substring(s.lastIndexOf("/")+1)):-1)(r),this.parseChunk(r.responseText)))},this._chunkError=function(s){s=r.statusText||s,this._sendError(new Error(s))}}function O(t){(t=t||{}).chunkSize||(t.chunkSize=o.LocalChunkSize),C.call(this,t);var r,s,i=typeof FileReader<"u";this.stream=function(n){this._input=n,s=n.slice||n.webkitSlice||n.mozSlice,i?((r=new FileReader).onload=ae(this._chunkLoaded,this),r.onerror=ae(this._chunkError,this)):r=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(n.target.result)},this._chunkError=function(){this._sendError(r.error)}}function l(t){var r;C.call(this,t=t||{}),this.stream=function(s){return r=s,this._nextChunk()},this._nextChunk=function(){var s,i;if(!this._finished)return s=this._config.chunkSize,r=s?(i=r.substring(0,s),r.substring(s)):(i=r,""),this._finished=!r,this.parseChunk(i)}}function _(t){C.call(this,t=t||{});var r=[],s=!0,i=!1;this.pause=function(){C.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){C.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(n){this._input=n,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){i&&r.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),r.length?this.parseChunk(r.shift()):s=!0},this._streamData=ae(function(n){try{r.push(typeof n=="string"?n:n.toString(this._config.encoding)),s&&(s=!1,this._checkIsFinished(),this.parseChunk(r.shift()))}catch(p){this._streamError(p)}},this),this._streamError=ae(function(n){this._streamCleanUp(),this._sendError(n)},this),this._streamEnd=ae(function(){this._streamCleanUp(),i=!0,this._streamData("")},this),this._streamCleanUp=ae(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function pe(t){var r,s,i,n,p=Math.pow(2,53),L=-p,V=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,G=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,m=this,T=0,d=0,K=!1,c=!1,g=[],a={data:[],errors:[],meta:{}};function J(j){return t.skipEmptyLines==="greedy"?j.join("").trim()==="":j.length===1&&j[0].length===0}function A(){if(a&&i&&(Y("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+o.DefaultDelimiter+"'"),i=!1),t.skipEmptyLines&&(a.data=a.data.filter(function(h){return!J(h)})),P()){let h=function(D,U){D=b(D),E(t.transformHeader)&&(D=t.transformHeader(D,U)),g.push(D)};if(a)if(Array.isArray(a.data[0])){for(var j=0;P()&&j(I=>(t.dynamicTypingFunction&&t.dynamicTyping[I]===void 0&&(t.dynamicTyping[I]=t.dynamicTypingFunction(I)),(t.dynamicTyping[I]||t.dynamicTyping)===!0))(Z)?u==="true"||u==="TRUE"||u!=="false"&&u!=="FALSE"&&((I=>{if(V.test(I)&&(I=parseFloat(I),L=g.length?"__parsed_extra":g[R]:N,y=t.transform?t.transform(y,N):y);N==="__parsed_extra"?(U[N]=U[N]||[],U[N].push(y)):U[N]=y}return t.header&&(R>g.length?Y("FieldMismatch","TooManyFields","Too many fields: expected "+g.length+" fields but parsed "+R,d+D):Rt.preview?s.abort():(a.data=a.data[0],n(a,m))))}),this.parse=function(j,x,F){var h=t.quoteChar||'"',h=(t.newline||(t.newline=this.guessLineEndings(j,h)),i=!1,t.delimiter?E(t.delimiter)&&(t.delimiter=t.delimiter(j),a.meta.delimiter=t.delimiter):((h=((D,U,R,N,y)=>{var Z,u,I,le;y=y||[","," ","|",";",o.RECORD_SEP,o.UNIT_SEP];for(var ue=0;ue{S.exports=v()})(He,function $(){var v=typeof self<"u"?self:typeof window<"u"?window:v!==void 0?v:{},B,z=!v.document&&!!v.postMessage,f=v.IS_PAPA_WORKER||!1,ie={},w=0,o={};function b(t){return t.charCodeAt(0)===65279?t.slice(1):t}function C(t){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},(function(r){var s=je(r);s.chunkSize=parseInt(s.chunkSize),r.step||r.chunk||(s.chunkSize=null),this._handle=new pe(s),(this._handle.streamer=this)._config=s}).call(this,t),this.parseChunk=function(r,s){var i=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview),f)v.postMessage({results:n,workerId:o.WORKER_ID,finished:i});else if(E(this._config.chunk)&&!s){if(this._config.chunk(n,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=n=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(n.data),this._completeResults.errors=this._completeResults.errors.concat(n.errors),this._completeResults.meta=n.meta),this._completed||!i||!E(this._config.complete)||n&&n.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),i||n&&n.meta.paused||this._nextChunk(),n}this._halted=!0},this._sendError=function(r){E(this._config.error)?this._config.error(r):f&&this._config.error&&v.postMessage({workerId:o.WORKER_ID,error:r,finished:!1})}}function re(t){var r;(t=t||{}).chunkSize||(t.chunkSize=o.RemoteChunkSize),C.call(this,t),this._nextChunk=z?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(s){this._input=s,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r=new XMLHttpRequest,this._config.withCredentials&&(r.withCredentials=this._config.withCredentials),z||(r.onload=ae(this._chunkLoaded,this),r.onerror=ae(this._chunkError,this)),r.open(this._config.downloadRequestBody?"POST":"GET",this._input,!z),this._config.downloadRequestHeaders){var s,i=this._config.downloadRequestHeaders;for(s in i)r.setRequestHeader(s,i[s])}var n;this._config.chunkSize&&(n=this._start+this._config.chunkSize-1,r.setRequestHeader("Range","bytes="+this._start+"-"+n));try{r.send(this._config.downloadRequestBody)}catch(p){this._chunkError(p.message)}z&&r.status===0&&this._chunkError()}},this._chunkLoaded=function(){r.readyState===4&&(r.status<200||400<=r.status?this._chunkError():(this._start+=this._config.chunkSize||r.responseText.length,this._finished=!this._config.chunkSize||this._start>=(s=>(s=s.getResponseHeader("Content-Range"))!==null?parseInt(s.substring(s.lastIndexOf("/")+1)):-1)(r),this.parseChunk(r.responseText)))},this._chunkError=function(s){s=r.statusText||s,this._sendError(new Error(s))}}function O(t){(t=t||{}).chunkSize||(t.chunkSize=o.LocalChunkSize),C.call(this,t);var r,s,i=typeof FileReader<"u";this.stream=function(n){this._input=n,s=n.slice||n.webkitSlice||n.mozSlice,i?((r=new FileReader).onload=ae(this._chunkLoaded,this),r.onerror=ae(this._chunkError,this)):r=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(n.target.result)},this._chunkError=function(){this._sendError(r.error)}}function l(t){var r;C.call(this,t=t||{}),this.stream=function(s){return r=s,this._nextChunk()},this._nextChunk=function(){var s,i;if(!this._finished)return s=this._config.chunkSize,r=s?(i=r.substring(0,s),r.substring(s)):(i=r,""),this._finished=!r,this.parseChunk(i)}}function _(t){C.call(this,t=t||{});var r=[],s=!0,i=!1;this.pause=function(){C.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){C.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(n){this._input=n,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){i&&r.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),r.length?this.parseChunk(r.shift()):s=!0},this._streamData=ae(function(n){try{r.push(typeof n=="string"?n:n.toString(this._config.encoding)),s&&(s=!1,this._checkIsFinished(),this.parseChunk(r.shift()))}catch(p){this._streamError(p)}},this),this._streamError=ae(function(n){this._streamCleanUp(),this._sendError(n)},this),this._streamEnd=ae(function(){this._streamCleanUp(),i=!0,this._streamData("")},this),this._streamCleanUp=ae(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function pe(t){var r,s,i,n,p=Math.pow(2,53),L=-p,V=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,G=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,m=this,T=0,d=0,K=!1,c=!1,g=[],a={data:[],errors:[],meta:{}};function J(j){return t.skipEmptyLines==="greedy"?j.join("").trim()==="":j.length===1&&j[0].length===0}function A(){if(a&&i&&(Y("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+o.DefaultDelimiter+"'"),i=!1),t.skipEmptyLines&&(a.data=a.data.filter(function(h){return!J(h)})),P()){let h=function(D,U){D=b(D),E(t.transformHeader)&&(D=t.transformHeader(D,U)),g.push(D)};if(a)if(Array.isArray(a.data[0])){for(var j=0;P()&&j(I=>(t.dynamicTypingFunction&&t.dynamicTyping[I]===void 0&&(t.dynamicTyping[I]=t.dynamicTypingFunction(I)),(t.dynamicTyping[I]||t.dynamicTyping)===!0))(Z)?u==="true"||u==="TRUE"||u!=="false"&&u!=="FALSE"&&((I=>{if(V.test(I)&&(I=parseFloat(I),L=g.length?"__parsed_extra":g[R]:N,y=t.transform?t.transform(y,N):y);N==="__parsed_extra"?(U[N]=U[N]||[],U[N].push(y)):U[N]=y}return t.header&&(R>g.length?Y("FieldMismatch","TooManyFields","Too many fields: expected "+g.length+" fields but parsed "+R,d+D):Rt.preview?s.abort():(a.data=a.data[0],n(a,m))))}),this.parse=function(j,x,F){var h=t.quoteChar||'"',h=(t.newline||(t.newline=this.guessLineEndings(j,h)),i=!1,t.delimiter?E(t.delimiter)&&(t.delimiter=t.delimiter(j),a.meta.delimiter=t.delimiter):((h=((D,U,R,N,y)=>{var Z,u,I,le;y=y||[","," ","|",";",o.RECORD_SEP,o.UNIT_SEP];for(var ue=0;ue=F.length/2?`\r @@ -8,4 +8,4 @@ import{g as Me,u as Ae,a as Ne,i as De,b as Ie,D as Le,j as e,c as Te,S as Fe,t `);var d=0,K=!1;this.parse=function(c,g,a){if(typeof c!="string")throw new Error("Input must be a string");var J=c.length,A=r.length,P=s.length,Y=i.length,j=E(n),x=[],F=[],h=[],D=d=0;if(!c)return q();if(L||L!==!1&&c.indexOf(m)===-1){for(var U=c.split(s),R=0;R=p)return q(!0);break}F.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:x.length,index:d}),u++}}else if(i&&h.length===0&&c.substring(d,d+Y)===i){if(y===-1)return q();d=y+P,y=c.indexOf(s,d),N=c.indexOf(r,d)}else if(N!==-1&&(N=p)return q(!0)}return X();function le(H){x.push(H),D=d}function ue(H){var Q=0;return Q=H!==-1&&(H=c.substring(u+1,H))&&H.trim()===""?H.length:Q}function X(H){return a||(H===void 0&&(H=c.substring(d)),h.push(H),d=J,le(h),j&&ee()),q()}function me(H){d=H,le(h),h=[],y=c.indexOf(s,d)}function q(H){if(t.header&&!g&&x.length&&!G){var Q=x[0],ne=Object.create(null),_e=new Set(Q);let we=!1;for(let fe=0;fe{var i;return!!o.WORKERS_SUPPORTED&&(i=(()=>{var n=v.URL||v.webkitURL||null,p=$.toString();return o.BLOB_URL||(o.BLOB_URL=n.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",p,")();"],{type:"text/javascript"})))})(),(i=new v.Worker(i)).onmessage=ye,i.id=w++,ie[i.id]=i)})()).userStep=r.step,s.userChunk=r.chunk,s.userComplete=r.complete,s.userError=r.error,r.step=E(r.step),r.chunk=E(r.chunk),r.complete=E(r.complete),r.error=E(r.error),delete r.worker,s.postMessage({input:t,config:r,workerId:s.id})},o.unparse=function(t,r){var s=!1,i=!0,n=",",p=`\r `,L='"',V=L+L,G=!1,m=null,T=!1,d=((()=>{if(typeof r=="object"){if(typeof r.delimiter!="string"||o.BAD_DELIMITERS.filter(function(g){return r.delimiter.indexOf(g)!==-1}).length||(n=r.delimiter),typeof r.quotes!="boolean"&&typeof r.quotes!="function"&&!Array.isArray(r.quotes)||(s=r.quotes),typeof r.skipEmptyLines!="boolean"&&typeof r.skipEmptyLines!="string"||(G=r.skipEmptyLines),typeof r.newline=="string"&&(p=r.newline),typeof r.quoteChar=="string"&&(L=r.quoteChar,V=L+L),typeof r.header=="boolean"&&(i=r.header),Array.isArray(r.columns)){if(r.columns.length===0)throw new Error("Option columns is empty");m=r.columns}r.escapeChar!==void 0&&(V=r.escapeChar+L),r.escapeFormulae instanceof RegExp?T=r.escapeFormulae:typeof r.escapeFormulae=="boolean"&&r.escapeFormulae&&(T=/^[=+\-@\t\r].*$/)}})(),new RegExp(se(L),"g"));if(typeof t=="string"&&(t=JSON.parse(t)),Array.isArray(t)){if(!t.length||Array.isArray(t[0]))return K(null,t,G);if(typeof t[0]=="object")return K(m||Object.keys(t[0]),t,G)}else if(typeof t=="object")return typeof t.data=="string"&&(t.data=JSON.parse(t.data)),Array.isArray(t.data)&&(t.fields||(t.fields=t.meta&&t.meta.fields||m),t.fields||(t.fields=Array.isArray(t.data[0])?t.fields:typeof t.data[0]=="object"?Object.keys(t.data[0]):[]),Array.isArray(t.data[0])||typeof t.data[0]=="object"||(t.data=[t.data])),K(t.fields||[],t.data||[],G);throw new Error("Unable to serialize unrecognized input");function K(g,a,J){var A="",P=(typeof g=="string"&&(g=JSON.parse(g)),typeof a=="string"&&(a=JSON.parse(a)),Array.isArray(g)&&0{for(var x=0;x=1e6?`${k(M/1e6)} km`:`${k(M/1e3,1)} m`}function Be(S){const M=Ke.unparse(S.map(B=>({...B,batteryHealth:JSON.stringify(B.batteryHealth)}))),$=URL.createObjectURL(new Blob([M],{type:"text/csv;charset=utf-8"})),v=document.createElement("a");v.href=$,v.download="fleet-battery-efficiency.csv",v.click(),URL.revokeObjectURL($)}function oe({label:S,value:M,detail:$}){return e.jsxs("div",{className:"surface min-w-0 px-1 py-0.5",children:[e.jsx("div",{className:"text-[0.68rem] text-slate-400",children:S}),e.jsx("div",{className:"truncate text-sm font-semibold text-slate-100",children:M}),$?e.jsx("div",{className:"truncate text-[0.68rem] text-slate-500",children:$}):null]})}function W({field:S,sort:M,onSort:$,children:v}){return e.jsx("th",{children:e.jsxs("button",{type:"button",className:"whitespace-nowrap text-left",onClick:()=>$(S),children:[v,M.key===S?M.descending?" ↓":" ↑":""]})})}function Qe({report:S,refresh:M}){const $=Ue(),v=Ne(b=>b.session?.role||null),B=v==="admin"||v==="lockdown",[z,f]=he.useState({roverId:S.rovers[0]?.roverId||"",chemistry:"unknown",ratedCapacityMah:"",installedDate:new Date().toISOString().slice(0,10),notes:""}),[ie,w]=he.useState("");function o(b){b.preventDefault(),w("Saving…"),$.emit("fleetReports:replaceBattery",{...z,ratedCapacityMah:Number(z.ratedCapacityMah),installedAt:new Date(`${z.installedDate}T12:00:00`).getTime()},(C={})=>{w(C.error||`Registered ${C.battery?.batteryKey||"battery"}`),C.error||M()})}return e.jsxs(de,{title:"Battery identity and baselines",meta:`${S.batteryRegistry.length} records`,bodyClassName:"space-y-0.5 p-0.5",children:[e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full whitespace-nowrap text-left text-xs",children:[e.jsx("thead",{className:"text-slate-400",children:e.jsxs("tr",{children:[e.jsx("th",{children:"Rover"}),e.jsx("th",{children:"Battery"}),e.jsx("th",{children:"Chemistry"}),e.jsx("th",{children:"Rated mAh"}),e.jsx("th",{children:"Installed"}),e.jsx("th",{children:"Retired"}),e.jsx("th",{children:"Learned baseline mAh"}),e.jsx("th",{children:"Notes"})]})}),e.jsx("tbody",{children:S.batteryRegistry.map(b=>e.jsxs("tr",{className:"border-t border-neutral-700/70 text-slate-200",children:[e.jsx("td",{children:b.roverId}),e.jsx("td",{children:b.batteryKey}),e.jsx("td",{children:b.chemistry||"--"}),e.jsx("td",{children:k(b.ratedCapacityMah,0)}),e.jsx("td",{children:xe(b.installedAt)}),e.jsx("td",{children:xe(b.retiredAt)}),e.jsx("td",{children:k(b.healthyBaselineMah,0)}),e.jsx("td",{children:b.notes||"--"})]},b.batteryKey))})]})}),B?e.jsxs("form",{className:"surface grid gap-0.5 p-1 text-xs md:grid-cols-2 xl:grid-cols-6",onSubmit:o,children:[e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Rover"}),e.jsx("select",{className:"w-full bg-neutral-800 p-0.5",value:z.roverId,onChange:b=>f(C=>({...C,roverId:b.target.value})),children:S.rovers.map(b=>e.jsx("option",{value:b.roverId,children:b.name},b.roverId))})]}),e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Chemistry"}),e.jsxs("select",{className:"w-full bg-neutral-800 p-0.5",value:z.chemistry,onChange:b=>f(C=>({...C,chemistry:b.target.value})),children:[e.jsx("option",{value:"unknown",children:"Unknown"}),e.jsx("option",{value:"NiMH",children:"NiMH"}),e.jsx("option",{value:"Li-ion",children:"Li-ion"})]})]}),e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Rated capacity mAh"}),e.jsx("input",{required:!0,min:"1",max:"65535",type:"number",className:"w-full bg-neutral-800 p-0.5",value:z.ratedCapacityMah,onChange:b=>f(C=>({...C,ratedCapacityMah:b.target.value}))})]}),e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Installed"}),e.jsx("input",{required:!0,type:"date",className:"w-full bg-neutral-800 p-0.5",value:z.installedDate,onChange:b=>f(C=>({...C,installedDate:b.target.value}))})]}),e.jsxs("label",{children:[e.jsx("span",{className:"text-slate-400",children:"Notes"}),e.jsx("input",{className:"w-full bg-neutral-800 p-0.5",value:z.notes,onChange:b=>f(C=>({...C,notes:b.target.value}))})]}),e.jsxs("div",{className:"flex items-end gap-0.5",children:[e.jsx("button",{type:"submit",className:"button-dark px-1 py-0.5",children:"Install or replace"}),e.jsx("span",{className:"text-slate-400",children:ie})]})]}):null]})}function Ve(){const[S,M]=he.useState(Ee[1].ms),[$,v]=he.useState(()=>Date.now()),[B,z]=he.useState(""),[f,ie]=he.useState({key:"name",descending:!1}),{report:w,loading:o,error:b,refresh:C}=We({since:$-S,until:$,includeEvents:!1}),re=he.useMemo(()=>[...(w?.rovers||[]).filter(_=>`${_.name} ${_.roverId}`.toLowerCase().includes(B.trim().toLowerCase()))].sort((_,pe)=>{const se=f.key.startsWith("batteryHealth.")?_.batteryHealth?.[f.key.slice(14)]:_[f.key],ce=f.key.startsWith("batteryHealth.")?pe.batteryHealth?.[f.key.slice(14)]:pe[f.key],ye=typeof se=="string"?se.localeCompare(String(ce??"")):(Number(se)||0)-(Number(ce)||0);return f.descending?-ye:ye}),[B,w,f]);function O(l){ie(_=>({key:l,descending:_.key===l?!_.descending:!1}))}return e.jsxs(e.Fragment,{children:[e.jsxs(de,{title:"Fleet battery health and efficiency",meta:w?xe(w.generatedAt):"Loading",bodyClassName:"space-y-0.5 p-0.5",children:[e.jsxs("div",{className:"surface flex flex-wrap items-end gap-0.5 p-0.5 text-xs",children:[e.jsxs("label",{children:[e.jsx("span",{className:"mr-0.5 text-slate-400",children:"Range"}),e.jsx("select",{className:"bg-neutral-800 p-0.5",value:S,onChange:l=>M(Number(l.target.value)),children:Ee.map(l=>e.jsx("option",{value:l.ms,children:l.label},l.ms))})]}),e.jsxs("label",{children:[e.jsx("span",{className:"mr-0.5 text-slate-400",children:"Find rover"}),e.jsx("input",{className:"bg-neutral-800 p-0.5",value:B,onChange:l=>z(l.target.value)})]}),e.jsx("button",{type:"button",className:"button-dark px-1 py-0.5",onClick:()=>{v(Date.now()),C()},children:"Refresh"}),e.jsx(Oe,{className:"button-dark px-1 py-0.5",to:"/",children:"Back"})]}),o&&!w?e.jsx("p",{className:"text-slate-400",children:"Loading fleet metrics…"}):null,b?e.jsx("p",{className:"text-red-300",children:b}):null,w?e.jsxs("div",{className:"grid grid-cols-2 gap-0.5 md:grid-cols-4 xl:grid-cols-8",children:[e.jsx(oe,{label:"Rovers online",value:`${w.totals.onlineRoverCount}/${w.totals.roverCount}`}),e.jsx(oe,{label:"Distance",value:ve(w.totals.distanceMm)}),e.jsx(oe,{label:"Energy used",value:`${k(w.totals.dischargedWh)} Wh`}),e.jsx(oe,{label:"Fleet Wh/km",value:w.totals.overallWhPerKm==null?"--":k(w.totals.overallWhPerKm)}),e.jsx(oe,{label:"Moving Wh/km",value:w.totals.movingWhPerKm==null?"--":k(w.totals.movingWhPerKm)}),e.jsx(oe,{label:"Moving energy",value:`${k(w.totals.movingDischargedWh)} Wh`}),e.jsx(oe,{label:"Stationary energy",value:`${k(w.totals.stationaryDischargedWh)} Wh`}),e.jsx(oe,{label:"Attention",value:k(w.totals.attentionCount,0)})]}):null]}),w?e.jsxs(e.Fragment,{children:[e.jsx(de,{title:"All rovers",meta:`${re.length} visible`,actions:e.jsx("button",{type:"button",className:"button-dark px-1 py-0.25 text-xs",onClick:()=>Be(re),children:"Export CSV"}),bodyClassName:"overflow-x-auto p-0.5",children:e.jsxs("table",{className:"w-full whitespace-nowrap text-left text-xs",children:[e.jsx("thead",{className:"sticky top-0 bg-neutral-900 text-slate-400",children:e.jsxs("tr",{children:[e.jsx(W,{field:"name",sort:f,onSort:O,children:"Rover"}),e.jsx(W,{field:"online",sort:f,onSort:O,children:"State"}),e.jsx(W,{field:"batteryHealth.capacityRetentionPercent",sort:f,onSort:O,children:"Health"}),e.jsx(W,{field:"batteryHealth.measuredUsableMah",sort:f,onSort:O,children:"Usable Ah"}),e.jsx(W,{field:"batteryHealth.measuredUsableWh",sort:f,onSort:O,children:"Usable Wh"}),e.jsx(W,{field:"batteryHealth.confidence",sort:f,onSort:O,children:"Confidence"}),e.jsx(W,{field:"overallWhPerKm",sort:f,onSort:O,children:"Wh/km"}),e.jsx(W,{field:"movingWhPerKm",sort:f,onSort:O,children:"Moving Wh/km"}),e.jsx(W,{field:"distanceMm",sort:f,onSort:O,children:"Distance"}),e.jsx(W,{field:"dischargedWh",sort:f,onSort:O,children:"Used Wh"}),e.jsx(W,{field:"movingDischargedWh",sort:f,onSort:O,children:"Moving Wh"}),e.jsx(W,{field:"stationaryDischargedWh",sort:f,onSort:O,children:"Stationary Wh"}),e.jsx(W,{field:"movingMs",sort:f,onSort:O,children:"Moving time"}),e.jsx(W,{field:"averageSpeedMmPerSecond",sort:f,onSort:O,children:"Average speed"}),e.jsx(W,{field:"maximumSpeedMmPerSecond",sort:f,onSort:O,children:"Maximum speed"}),e.jsx(W,{field:"latestChargeMah",sort:f,onSort:O,children:"Charge"}),e.jsx(W,{field:"averageVoltageMv",sort:f,onSort:O,children:"Voltage"}),e.jsx(W,{field:"averageCurrentMa",sort:f,onSort:O,children:"Current"}),e.jsx(W,{field:"maximumTemperatureC",sort:f,onSort:O,children:"Temperature"}),e.jsx(W,{field:"lastSampleAt",sort:f,onSort:O,children:"Last data"})]})}),e.jsx("tbody",{children:re.map(l=>{const _=l.batteryHealth;return e.jsxs("tr",{className:"border-t border-neutral-700/70 text-slate-200",children:[e.jsx("td",{className:"sticky left-0 bg-neutral-900 font-semibold",children:l.name}),e.jsx("td",{children:l.online?"online":"offline"}),e.jsx("td",{children:_.capacityRetentionPercent==null?"--":`${k(_.capacityRetentionPercent,1)}%`}),e.jsx("td",{children:_.measuredUsableMah==null?"--":k(_.measuredUsableMah/1e3,3)}),e.jsx("td",{children:k(_.measuredUsableWh)}),e.jsx("td",{title:_.confidenceReason,children:_.confidence}),e.jsx("td",{children:l.overallWhPerKm==null?`need ${ve(l.efficiencyDistanceRequiredMm)}`:k(l.overallWhPerKm)}),e.jsx("td",{children:k(l.movingWhPerKm)}),e.jsx("td",{children:ve(l.distanceMm)}),e.jsx("td",{children:k(l.dischargedWh)}),e.jsx("td",{children:k(l.movingDischargedWh)}),e.jsx("td",{children:k(l.stationaryDischargedWh)}),e.jsx("td",{children:qe(l.movingMs)}),e.jsx("td",{children:l.averageSpeedMmPerSecond==null?"--":`${k(l.averageSpeedMmPerSecond)} mm/s`}),e.jsx("td",{children:l.maximumSpeedMmPerSecond==null?"--":`${k(l.maximumSpeedMmPerSecond)} mm/s`}),e.jsxs("td",{children:[k(l.latestChargeMah,0)," mAh"]}),e.jsxs("td",{children:[k(l.averageVoltageMv,0)," mV"]}),e.jsxs("td",{children:[k(l.averageCurrentMa,0)," mA"]}),e.jsxs("td",{children:[k(l.maximumTemperatureC,1)," °C"]}),e.jsx("td",{children:xe(l.lastSampleAt)})]},l.roverId)})})]})}),e.jsx(de,{title:"Battery-health evidence",meta:"All rovers",bodyClassName:"overflow-x-auto p-0.5",children:e.jsxs("table",{className:"w-full whitespace-nowrap text-left text-xs",children:[e.jsx("thead",{className:"text-slate-400",children:e.jsxs("tr",{children:[e.jsx("th",{children:"Rover"}),e.jsx("th",{children:"Battery"}),e.jsx("th",{children:"Reference mAh"}),e.jsx("th",{children:"Estimated usable mAh"}),e.jsx("th",{children:"Observed range floor"}),e.jsx("th",{children:"Retention"}),e.jsx("th",{children:"Observations"}),e.jsx("th",{children:"Average depth"}),e.jsx("th",{children:"Throughput"}),e.jsx("th",{children:"Latest evidence"}),e.jsx("th",{children:"Confidence basis"})]})}),e.jsx("tbody",{children:re.map(l=>{const _=l.batteryHealth;return e.jsxs("tr",{className:"border-t border-neutral-700/70 text-slate-200",children:[e.jsx("td",{children:l.name}),e.jsx("td",{children:_.batteryKey}),e.jsx("td",{children:k(_.referenceMah,0)}),e.jsx("td",{children:k(_.measuredUsableMah,0)}),e.jsx("td",{children:k(_.observedUsableFloorMah,0)}),e.jsx("td",{children:_.capacityRetentionPercent==null?"--":`${k(_.capacityRetentionPercent,1)}%`}),e.jsx("td",{children:k(_.observationCount,0)}),e.jsxs("td",{children:[k(_.averageObservationDepthPercent,1),"%"]}),e.jsxs("td",{children:[k(_.dischargedThroughputMah,0)," mAh"]}),e.jsx("td",{children:xe(_.latestObservationAt)}),e.jsx("td",{children:_.confidenceReason})]},l.roverId)})})]})}),w.attention.length?e.jsx(de,{title:"Attention",meta:w.attention.length,bodyClassName:"p-0.5 text-xs",children:e.jsxs("table",{className:"w-full text-left",children:[e.jsx("thead",{className:"text-slate-400",children:e.jsxs("tr",{children:[e.jsx("th",{children:"Rover"}),e.jsx("th",{children:"Severity"}),e.jsx("th",{children:"Reason"})]})}),e.jsx("tbody",{children:w.attention.map(l=>e.jsxs("tr",{className:"border-t border-neutral-700/70",children:[e.jsx("td",{children:l.roverId}),e.jsx("td",{children:l.severity}),e.jsx("td",{children:l.title})]},l.key))})]})}):null,e.jsx(Qe,{report:w,refresh:C}),e.jsxs(de,{title:"Methodology",bodyClassName:"space-y-0.5 p-1 text-xs text-slate-300",children:[e.jsx("p",{children:"Energy is integrated per sensor interval from OI voltage and signed current. Existing odometer distance and speed are consumed directly; reporting does not calculate a competing speed value."}),e.jsx("p",{children:"Capacity combines partial discharge current with packet 25 charge movement. Every usable observation contributes; deeper observations increase confidence without labeling cycles good or bad. Packet 26 is only a fixed reference."}),e.jsx("p",{children:"Wh/km appears after 25 m of selected-range odometer travel. Existing historical rows predate exact power integration, so their Wh fields remain zero rather than being backfilled with false precision."})]})]}):null]})}function Ge(){Ae({identitySurface:"passive"});const S=Ne($=>De($,"fleetReports")),{value:M}=Ie("page",{backgroundTheme:Le});return e.jsxs("div",{className:`${Te(M?.backgroundTheme)} min-h-screen text-slate-100`,children:[e.jsx(Fe,{}),e.jsx("main",{className:`mx-auto flex min-h-screen w-full max-w-[120rem] flex-col ${Pe} p-1`,children:S?e.jsx(Ve,{}):e.jsxs(de,{title:"Fleet reports unavailable",bodyClassName:"space-y-0.5 p-1 text-sm text-slate-300",children:[e.jsx("p",{children:"This server has not enabled fleet reporting."}),e.jsx(Oe,{className:"button-dark inline-block px-1 py-0.5 text-xs",to:"/",children:"Back to rover page"})]})})]})}export{Ge as default}; -//# sourceMappingURL=FleetReportsApp-_-8hW9hI.js.map +//# sourceMappingURL=FleetReportsApp-B0NfbrpW.js.map diff --git a/server/public/assets/FleetReportsApp-_-8hW9hI.js.map b/server/public/assets/FleetReportsApp-B0NfbrpW.js.map similarity index 99% rename from server/public/assets/FleetReportsApp-_-8hW9hI.js.map rename to server/public/assets/FleetReportsApp-B0NfbrpW.js.map index 43e6eb7b..f5dcebc4 100644 --- a/server/public/assets/FleetReportsApp-_-8hW9hI.js.map +++ b/server/public/assets/FleetReportsApp-B0NfbrpW.js.map @@ -1 +1 @@ -{"version":3,"file":"FleetReportsApp-_-8hW9hI.js","sources":["../../../webui/node_modules/papaparse/papaparse.min.js","../../../webui/src/reports/FleetReportsApp.jsx"],"sourcesContent":["/* @license\nPapa Parse\nv5.5.4\nhttps://github.com/mholt/PapaParse\nLicense: MIT\n*/\n((e,t)=>{\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof module&&\"undefined\"!=typeof exports?module.exports=t():e.Papa=t()})(this,function r(){var n=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==n?n:{};var d,s=!n.document&&!!n.postMessage,a=n.IS_PAPA_WORKER||!1,o={},h=0,v={};function P(e){return 65279===e.charCodeAt(0)?e.slice(1):e}function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine=\"\",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=b(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null);this._handle=new i(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(t,e){var i=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview);if(a)n.postMessage({results:r,workerId:v.WORKER_ID,finished:i});else if(q(this._config.chunk)&&!e){if(this._config.chunk(r,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=r=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(r.data),this._completeResults.errors=this._completeResults.errors.concat(r.errors),this._completeResults.meta=r.meta),this._completed||!i||!q(this._config.complete)||r&&r.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),i||r&&r.meta.paused||this._nextChunk(),r}this._halted=!0},this._sendError=function(e){q(this._config.error)?this._config.error(e):a&&this._config.error&&n.postMessage({workerId:v.WORKER_ID,error:e,finished:!1})}}function f(e){var r;(e=e||{}).chunkSize||(e.chunkSize=v.RemoteChunkSize),u.call(this,e),this._nextChunk=s?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r=new XMLHttpRequest,this._config.withCredentials&&(r.withCredentials=this._config.withCredentials),s||(r.onload=y(this._chunkLoaded,this),r.onerror=y(this._chunkError,this)),r.open(this._config.downloadRequestBody?\"POST\":\"GET\",this._input,!s),this._config.downloadRequestHeaders){var e,t=this._config.downloadRequestHeaders;for(e in t)r.setRequestHeader(e,t[e])}var i;this._config.chunkSize&&(i=this._start+this._config.chunkSize-1,r.setRequestHeader(\"Range\",\"bytes=\"+this._start+\"-\"+i));try{r.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}s&&0===r.status&&this._chunkError()}},this._chunkLoaded=function(){4===r.readyState&&(r.status<200||400<=r.status?this._chunkError():(this._start+=this._config.chunkSize||r.responseText.length,this._finished=!this._config.chunkSize||this._start>=(e=>null!==(e=e.getResponseHeader(\"Content-Range\"))?parseInt(e.substring(e.lastIndexOf(\"/\")+1)):-1)(r),this.parseChunk(r.responseText)))},this._chunkError=function(e){e=r.statusText||e;this._sendError(new Error(e))}}function l(e){(e=e||{}).chunkSize||(e.chunkSize=v.LocalChunkSize),u.call(this,e);var i,r,n=\"undefined\"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((i=new FileReader).onload=y(this._chunkLoaded,this),i.onerror=y(this._chunkError,this)):i=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(i.error)}}function c(e){var i;u.call(this,e=e||{}),this.stream=function(e){return i=e,this._nextChunk()},this._nextChunk=function(){var e,t;if(!this._finished)return e=this._config.chunkSize,i=e?(t=i.substring(0,e),i.substring(e)):(t=i,\"\"),this._finished=!i,this.parseChunk(t)}}function p(e){u.call(this,e=e||{});var t=[],i=!0,r=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on(\"data\",this._streamData),this._input.on(\"end\",this._streamEnd),this._input.on(\"error\",this._streamError)},this._checkIsFinished=function(){r&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i=!0},this._streamData=y(function(e){try{t.push(\"string\"==typeof e?e:e.toString(this._config.encoding)),i&&(i=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=y(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=y(function(){this._streamCleanUp(),r=!0,this._streamData(\"\")},this),this._streamCleanUp=y(function(){this._input.removeListener(\"data\",this._streamData),this._input.removeListener(\"end\",this._streamEnd),this._input.removeListener(\"error\",this._streamError)},this)}function i(m){var n,s,a,t,o=Math.pow(2,53),h=-o,u=/^\\s*-?(\\d+\\.?|\\.\\d+|\\d+\\.\\d+)([eE][-+]?\\d+)?\\s*$/,d=/^((\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)))$/,i=this,r=0,f=0,l=!1,e=!1,c=[],p={data:[],errors:[],meta:{}};function y(e){return\"greedy\"===m.skipEmptyLines?\"\"===e.join(\"\").trim():1===e.length&&0===e[0].length}function g(){if(p&&a&&(k(\"Delimiter\",\"UndetectableDelimiter\",\"Unable to auto-detect delimiting character; defaulted to '\"+v.DefaultDelimiter+\"'\"),a=!1),m.skipEmptyLines&&(p.data=p.data.filter(function(e){return!y(e)})),_()){if(p)if(Array.isArray(p.data[0])){for(var e=0;_()&&e(e=>(m.dynamicTypingFunction&&void 0===m.dynamicTyping[e]&&(m.dynamicTyping[e]=m.dynamicTypingFunction(e)),!0===(m.dynamicTyping[e]||m.dynamicTyping)))(e)?\"true\"===t||\"TRUE\"===t||\"false\"!==t&&\"FALSE\"!==t&&((e=>{if(u.test(e)){e=parseFloat(e);if(h=c.length?\"__parsed_extra\":c[r]:n,s=m.transform?m.transform(s,n):s);\"__parsed_extra\"===n?(i[n]=i[n]||[],i[n].push(s)):i[n]=s}return m.header&&(r>c.length?k(\"FieldMismatch\",\"TooManyFields\",\"Too many fields: expected \"+c.length+\" fields but parsed \"+r,f+t):rm.preview?s.abort():(p.data=p.data[0],t(p,i))))}),this.parse=function(e,t,i){var r=m.quoteChar||'\"',r=(m.newline||(m.newline=this.guessLineEndings(e,r)),a=!1,m.delimiter?q(m.delimiter)&&(m.delimiter=m.delimiter(e),p.meta.delimiter=m.delimiter):((r=((e,t,i,r,n)=>{var s,a,o,h;n=n||[\",\",\"\\t\",\"|\",\";\",v.RECORD_SEP,v.UNIT_SEP];for(var u=0;u=i.length/2?\"\\r\\n\":\"\\r\"}}function U(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function E(C){var S=(C=C||{}).delimiter,O=C.newline,x=C.comments,I=C.step,A=C.preview,T=C.fastMode,D=null,L=!1,F=null==C.quoteChar?'\"':C.quoteChar,j=F;if(void 0!==C.escapeChar&&(j=C.escapeChar),(\"string\"!=typeof S||-1=A)return w(!0);break}u.push({type:\"Quotes\",code:\"InvalidQuotes\",message:\"Trailing quote on quoted field is malformed\",row:h.length,index:z}),m++}}else if(x&&0===d.length&&i.substring(z,z+a)===x){if(-1===g)return w();z=g+s,g=i.indexOf(O,z),p=i.indexOf(S,z)}else if(-1!==p&&(p=A)return w(!0)}return E();function k(e){h.push(e),f=z}function v(e){var t=0;return t=-1!==e&&(e=i.substring(m+1,e))&&\"\"===e.trim()?e.length:t}function E(e){return r||(void 0===e&&(e=i.substring(z)),d.push(e),z=n,k(d),o&&R()),w()}function b(e){z=e,k(d),d=[],g=i.indexOf(O,z)}function w(e){if(C.header&&!t&&h.length&&!L){var s=h[0],a=Object.create(null),o=new Set(s);let n=!1;for(let r=0;r{var e;return!!v.WORKERS_SUPPORTED&&(e=(()=>{var e=n.URL||n.webkitURL||null,t=r.toString();return v.BLOB_URL||(v.BLOB_URL=e.createObjectURL(new Blob([\"var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; \",\"(\",t,\")();\"],{type:\"text/javascript\"})))})(),(e=new n.Worker(e)).onmessage=g,e.id=h++,o[e.id]=e)})()).userStep=t.step,i.userChunk=t.chunk,i.userComplete=t.complete,i.userError=t.error,t.step=q(t.step),t.chunk=q(t.chunk),t.complete=q(t.complete),t.error=q(t.error),delete t.worker,i.postMessage({input:e,config:t,workerId:i.id})},v.unparse=function(e,t){var s=!1,_=!0,m=\",\",y=\"\\r\\n\",a='\"',o=a+a,i=!1,r=null,h=!1,u=((()=>{if(\"object\"==typeof t){if(\"string\"!=typeof t.delimiter||v.BAD_DELIMITERS.filter(function(e){return-1!==t.delimiter.indexOf(e)}).length||(m=t.delimiter),\"boolean\"!=typeof t.quotes&&\"function\"!=typeof t.quotes&&!Array.isArray(t.quotes)||(s=t.quotes),\"boolean\"!=typeof t.skipEmptyLines&&\"string\"!=typeof t.skipEmptyLines||(i=t.skipEmptyLines),\"string\"==typeof t.newline&&(y=t.newline),\"string\"==typeof t.quoteChar&&(a=t.quoteChar,o=a+a),\"boolean\"==typeof t.header&&(_=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error(\"Option columns is empty\");r=t.columns}void 0!==t.escapeChar&&(o=t.escapeChar+a),t.escapeFormulae instanceof RegExp?h=t.escapeFormulae:\"boolean\"==typeof t.escapeFormulae&&t.escapeFormulae&&(h=/^[=+\\-@\\t\\r].*$/)}})(),new RegExp(U(a),\"g\"));\"string\"==typeof e&&(e=JSON.parse(e));if(Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return n(null,e,i);if(\"object\"==typeof e[0])return n(r||Object.keys(e[0]),e,i)}else if(\"object\"==typeof e)return\"string\"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||r),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:\"object\"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||\"object\"==typeof e.data[0]||(e.data=[e.data])),n(e.fields||[],e.data||[],i);throw new Error(\"Unable to serialize unrecognized input\");function n(e,t,i){var r=\"\",n=(\"string\"==typeof e&&(e=JSON.parse(e)),\"string\"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0{for(var i=0;i= 1e6 ? `${number(millimeters / 1e6)} km` : `${number(millimeters / 1000, 1)} m`;\n}\n\nfunction exportCsv(rows) {\n // Papa Parse owns quoting and escaping so new metric columns cannot silently\n // corrupt exports when rover names or confidence explanations contain commas.\n const csv = Papa.unparse(rows.map((rover) => ({\n ...rover,\n batteryHealth: JSON.stringify(rover.batteryHealth),\n })));\n const url = URL.createObjectURL(new Blob([csv], { type: 'text/csv;charset=utf-8' }));\n const anchor = document.createElement('a');\n anchor.href = url;\n anchor.download = 'fleet-battery-efficiency.csv';\n anchor.click();\n URL.revokeObjectURL(url);\n}\n\nfunction Metric({ label, value, detail }) {\n return (\n
\n
{label}
\n
{value}
\n {detail ?
{detail}
: null}\n
\n );\n}\n\nfunction SortHeading({ field, sort, onSort, children }) {\n // Sorting is an explicit table interaction rather than hidden column state;\n // the arrow tells users which fleet comparison currently controls row order.\n return ;\n}\n\nfunction BatteryRegistry({ report, refresh }) {\n const socket = useSocket();\n const role = useSessionSelector((state) => state.session?.role || null);\n const canEdit = role === 'admin' || role === 'lockdown';\n const [draft, setDraft] = useState({\n roverId: report.rovers[0]?.roverId || '',\n chemistry: 'unknown',\n ratedCapacityMah: '',\n installedDate: new Date().toISOString().slice(0, 10),\n notes: '',\n });\n const [status, setStatus] = useState('');\n\n function submit(event) {\n event.preventDefault();\n setStatus('Saving…');\n socket.emit('fleetReports:replaceBattery', {\n ...draft,\n ratedCapacityMah: Number(draft.ratedCapacityMah),\n installedAt: new Date(`${draft.installedDate}T12:00:00`).getTime(),\n }, (response = {}) => {\n setStatus(response.error || `Registered ${response.battery?.batteryKey || 'battery'}`);\n if (!response.error) refresh();\n });\n }\n\n return (\n \n
\n \n \n {report.batteryRegistry.map((battery) => (\n \n \n \n \n \n ))}\n
RoverBatteryChemistryRated mAhInstalledRetiredLearned baseline mAhNotes
{battery.roverId}{battery.batteryKey}{battery.chemistry || '--'}{number(battery.ratedCapacityMah, 0)}{timestamp(battery.installedAt)}{timestamp(battery.retiredAt)}{number(battery.healthyBaselineMah, 0)}{battery.notes || '--'}
\n
\n {canEdit ? (\n
\n \n \n \n \n \n
{status}
\n
\n ) : null}\n
\n );\n}\n\nfunction FullReportContent() {\n const [rangeMs, setRangeMs] = useState(RANGE_OPTIONS[1].ms);\n const [rangeEnd, setRangeEnd] = useState(() => Date.now());\n const [query, setQuery] = useState('');\n const [sort, setSort] = useState({ key: 'name', descending: false });\n const { report, loading, error, refresh } = useFleetReport({\n since: rangeEnd - rangeMs,\n until: rangeEnd,\n includeEvents: false,\n });\n\n const rows = useMemo(() => {\n const filtered = (report?.rovers || []).filter((rover) =>\n `${rover.name} ${rover.roverId}`.toLowerCase().includes(query.trim().toLowerCase()),\n );\n return [...filtered].sort((left, right) => {\n const leftValue = sort.key.startsWith('batteryHealth.')\n ? left.batteryHealth?.[sort.key.slice('batteryHealth.'.length)]\n : left[sort.key];\n const rightValue = sort.key.startsWith('batteryHealth.')\n ? right.batteryHealth?.[sort.key.slice('batteryHealth.'.length)]\n : right[sort.key];\n const result = typeof leftValue === 'string'\n ? leftValue.localeCompare(String(rightValue ?? ''))\n : (Number(leftValue) || 0) - (Number(rightValue) || 0);\n return sort.descending ? -result : result;\n });\n }, [query, report, sort]);\n\n function sortBy(key) {\n setSort((current) => ({ key, descending: current.key === key ? !current.descending : false }));\n }\n\n return (\n <>\n \n
\n \n \n \n Back\n
\n {loading && !report ?

Loading fleet metrics…

: null}\n {error ?

{error}

: null}\n {report ? (\n
\n \n \n \n \n \n \n \n \n
\n ) : null}\n
\n\n {report ? (\n <>\n exportCsv(rows)}>Export CSV}\n bodyClassName=\"overflow-x-auto p-0.5\"\n >\n \n \n RoverState\n HealthUsable Ah\n Usable WhConfidence\n Wh/kmMoving Wh/km\n DistanceUsed Wh\n Moving WhStationary Wh\n Moving timeAverage speed\n Maximum speedCharge\n VoltageCurrent\n TemperatureLast data\n \n {rows.map((rover) => {\n const health = rover.batteryHealth;\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n })}\n
{rover.name}{rover.online ? 'online' : 'offline'}{health.capacityRetentionPercent == null ? '--' : `${number(health.capacityRetentionPercent, 1)}%`}{health.measuredUsableMah == null ? '--' : number(health.measuredUsableMah / 1000, 3)}{number(health.measuredUsableWh)}{health.confidence}{rover.overallWhPerKm == null ? `need ${distance(rover.efficiencyDistanceRequiredMm)}` : number(rover.overallWhPerKm)}{number(rover.movingWhPerKm)}{distance(rover.distanceMm)}{number(rover.dischargedWh)}{number(rover.movingDischargedWh)}{number(rover.stationaryDischargedWh)}{duration(rover.movingMs)}{rover.averageSpeedMmPerSecond == null ? '--' : `${number(rover.averageSpeedMmPerSecond)} mm/s`}{rover.maximumSpeedMmPerSecond == null ? '--' : `${number(rover.maximumSpeedMmPerSecond)} mm/s`}{number(rover.latestChargeMah, 0)} mAh{number(rover.averageVoltageMv, 0)} mV{number(rover.averageCurrentMa, 0)} mA{number(rover.maximumTemperatureC, 1)} °C{timestamp(rover.lastSampleAt)}
\n \n\n \n \n \n {rows.map((rover) => {\n const health = rover.batteryHealth;\n return ;\n })}\n
RoverBatteryReference mAhEstimated usable mAhObserved range floorRetentionObservationsAverage depthThroughputLatest evidenceConfidence basis
{rover.name}{health.batteryKey}{number(health.referenceMah, 0)}{number(health.measuredUsableMah, 0)}{number(health.observedUsableFloorMah, 0)}{health.capacityRetentionPercent == null ? '--' : `${number(health.capacityRetentionPercent, 1)}%`}{number(health.observationCount, 0)}{number(health.averageObservationDepthPercent, 1)}%{number(health.dischargedThroughputMah, 0)} mAh{timestamp(health.latestObservationAt)}{health.confidenceReason}
\n
\n\n {report.attention.length ? (\n \n {report.attention.map((item) => )}
RoverSeverityReason
{item.roverId}{item.severity}{item.title}
\n
\n ) : null}\n\n \n\n \n

Energy is integrated per sensor interval from OI voltage and signed current. Existing odometer distance and speed are consumed directly; reporting does not calculate a competing speed value.

\n

Capacity combines partial discharge current with packet 25 charge movement. Every usable observation contributes; deeper observations increase confidence without labeling cycles good or bad. Packet 26 is only a fixed reference.

\n

Wh/km appears after 25 m of selected-range odometer travel. Existing historical rows predate exact power integration, so their Wh fields remain zero rather than being backfilled with false precision.

\n
\n \n ) : null}\n \n );\n}\n\nexport default function FleetReportsApp() {\n useUserIdentitySync({ identitySurface: 'passive' });\n const enabled = useSessionSelector((state) => isFeatureEnabled(state, 'fleetReports'));\n const { value: pageSettings } = useSettingsNamespace('page', { backgroundTheme: DEFAULT_PAGE_THEME_KEY });\n return (\n
\n \n
\n {enabled ? : (\n \n

This server has not enabled fleet reporting.

\n Back to rover page\n
\n )}\n
\n
\n );\n}\n"],"names":["e","t","module","this","r","n","d","s","a","o","h","v","P","u","b","i","q","f","y","l","c","p","m","g","k","_","E","U","C","S","O","x","I","A","T","D","L","F","j","z","M","w","R","RANGE_OPTIONS","number","value","digits","timestamp","duration","minutes","distance","millimeters","exportCsv","rows","csv","Papa","rover","url","anchor","Metric","label","detail","jsxs","jsx","SortHeading","field","sort","onSort","children","BatteryRegistry","report","refresh","socket","useSocket","role","useSessionSelector","state","canEdit","draft","setDraft","useState","status","setStatus","submit","event","response","CardFrame","battery","FullReportContent","rangeMs","setRangeMs","rangeEnd","setRangeEnd","query","setQuery","setSort","loading","error","useFleetReport","useMemo","left","right","leftValue","rightValue","result","sortBy","key","current","Fragment","option","Link","health","item","FleetReportsApp","useUserIdentitySync","enabled","isFeatureEnabled","pageSettings","useSettingsNamespace","DEFAULT_PAGE_THEME_KEY","getPageThemeClass","SocketConnectionPill","themeGapClass"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"FleetReportsApp-B0NfbrpW.js","sources":["../../../webui/node_modules/papaparse/papaparse.min.js","../../../webui/src/reports/FleetReportsApp.jsx"],"sourcesContent":["/* @license\nPapa Parse\nv5.5.4\nhttps://github.com/mholt/PapaParse\nLicense: MIT\n*/\n((e,t)=>{\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof module&&\"undefined\"!=typeof exports?module.exports=t():e.Papa=t()})(this,function r(){var n=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==n?n:{};var d,s=!n.document&&!!n.postMessage,a=n.IS_PAPA_WORKER||!1,o={},h=0,v={};function P(e){return 65279===e.charCodeAt(0)?e.slice(1):e}function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine=\"\",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=b(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null);this._handle=new i(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(t,e){var i=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0=this._config.preview);if(a)n.postMessage({results:r,workerId:v.WORKER_ID,finished:i});else if(q(this._config.chunk)&&!e){if(this._config.chunk(r,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=r=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(r.data),this._completeResults.errors=this._completeResults.errors.concat(r.errors),this._completeResults.meta=r.meta),this._completed||!i||!q(this._config.complete)||r&&r.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),i||r&&r.meta.paused||this._nextChunk(),r}this._halted=!0},this._sendError=function(e){q(this._config.error)?this._config.error(e):a&&this._config.error&&n.postMessage({workerId:v.WORKER_ID,error:e,finished:!1})}}function f(e){var r;(e=e||{}).chunkSize||(e.chunkSize=v.RemoteChunkSize),u.call(this,e),this._nextChunk=s?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r=new XMLHttpRequest,this._config.withCredentials&&(r.withCredentials=this._config.withCredentials),s||(r.onload=y(this._chunkLoaded,this),r.onerror=y(this._chunkError,this)),r.open(this._config.downloadRequestBody?\"POST\":\"GET\",this._input,!s),this._config.downloadRequestHeaders){var e,t=this._config.downloadRequestHeaders;for(e in t)r.setRequestHeader(e,t[e])}var i;this._config.chunkSize&&(i=this._start+this._config.chunkSize-1,r.setRequestHeader(\"Range\",\"bytes=\"+this._start+\"-\"+i));try{r.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}s&&0===r.status&&this._chunkError()}},this._chunkLoaded=function(){4===r.readyState&&(r.status<200||400<=r.status?this._chunkError():(this._start+=this._config.chunkSize||r.responseText.length,this._finished=!this._config.chunkSize||this._start>=(e=>null!==(e=e.getResponseHeader(\"Content-Range\"))?parseInt(e.substring(e.lastIndexOf(\"/\")+1)):-1)(r),this.parseChunk(r.responseText)))},this._chunkError=function(e){e=r.statusText||e;this._sendError(new Error(e))}}function l(e){(e=e||{}).chunkSize||(e.chunkSize=v.LocalChunkSize),u.call(this,e);var i,r,n=\"undefined\"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((i=new FileReader).onload=y(this._chunkLoaded,this),i.onerror=y(this._chunkError,this)):i=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(i.error)}}function c(e){var i;u.call(this,e=e||{}),this.stream=function(e){return i=e,this._nextChunk()},this._nextChunk=function(){var e,t;if(!this._finished)return e=this._config.chunkSize,i=e?(t=i.substring(0,e),i.substring(e)):(t=i,\"\"),this._finished=!i,this.parseChunk(t)}}function p(e){u.call(this,e=e||{});var t=[],i=!0,r=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on(\"data\",this._streamData),this._input.on(\"end\",this._streamEnd),this._input.on(\"error\",this._streamError)},this._checkIsFinished=function(){r&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i=!0},this._streamData=y(function(e){try{t.push(\"string\"==typeof e?e:e.toString(this._config.encoding)),i&&(i=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=y(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=y(function(){this._streamCleanUp(),r=!0,this._streamData(\"\")},this),this._streamCleanUp=y(function(){this._input.removeListener(\"data\",this._streamData),this._input.removeListener(\"end\",this._streamEnd),this._input.removeListener(\"error\",this._streamError)},this)}function i(m){var n,s,a,t,o=Math.pow(2,53),h=-o,u=/^\\s*-?(\\d+\\.?|\\.\\d+|\\d+\\.\\d+)([eE][-+]?\\d+)?\\s*$/,d=/^((\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z)))$/,i=this,r=0,f=0,l=!1,e=!1,c=[],p={data:[],errors:[],meta:{}};function y(e){return\"greedy\"===m.skipEmptyLines?\"\"===e.join(\"\").trim():1===e.length&&0===e[0].length}function g(){if(p&&a&&(k(\"Delimiter\",\"UndetectableDelimiter\",\"Unable to auto-detect delimiting character; defaulted to '\"+v.DefaultDelimiter+\"'\"),a=!1),m.skipEmptyLines&&(p.data=p.data.filter(function(e){return!y(e)})),_()){if(p)if(Array.isArray(p.data[0])){for(var e=0;_()&&e(e=>(m.dynamicTypingFunction&&void 0===m.dynamicTyping[e]&&(m.dynamicTyping[e]=m.dynamicTypingFunction(e)),!0===(m.dynamicTyping[e]||m.dynamicTyping)))(e)?\"true\"===t||\"TRUE\"===t||\"false\"!==t&&\"FALSE\"!==t&&((e=>{if(u.test(e)){e=parseFloat(e);if(h=c.length?\"__parsed_extra\":c[r]:n,s=m.transform?m.transform(s,n):s);\"__parsed_extra\"===n?(i[n]=i[n]||[],i[n].push(s)):i[n]=s}return m.header&&(r>c.length?k(\"FieldMismatch\",\"TooManyFields\",\"Too many fields: expected \"+c.length+\" fields but parsed \"+r,f+t):rm.preview?s.abort():(p.data=p.data[0],t(p,i))))}),this.parse=function(e,t,i){var r=m.quoteChar||'\"',r=(m.newline||(m.newline=this.guessLineEndings(e,r)),a=!1,m.delimiter?q(m.delimiter)&&(m.delimiter=m.delimiter(e),p.meta.delimiter=m.delimiter):((r=((e,t,i,r,n)=>{var s,a,o,h;n=n||[\",\",\"\\t\",\"|\",\";\",v.RECORD_SEP,v.UNIT_SEP];for(var u=0;u=i.length/2?\"\\r\\n\":\"\\r\"}}function U(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function E(C){var S=(C=C||{}).delimiter,O=C.newline,x=C.comments,I=C.step,A=C.preview,T=C.fastMode,D=null,L=!1,F=null==C.quoteChar?'\"':C.quoteChar,j=F;if(void 0!==C.escapeChar&&(j=C.escapeChar),(\"string\"!=typeof S||-1=A)return w(!0);break}u.push({type:\"Quotes\",code:\"InvalidQuotes\",message:\"Trailing quote on quoted field is malformed\",row:h.length,index:z}),m++}}else if(x&&0===d.length&&i.substring(z,z+a)===x){if(-1===g)return w();z=g+s,g=i.indexOf(O,z),p=i.indexOf(S,z)}else if(-1!==p&&(p=A)return w(!0)}return E();function k(e){h.push(e),f=z}function v(e){var t=0;return t=-1!==e&&(e=i.substring(m+1,e))&&\"\"===e.trim()?e.length:t}function E(e){return r||(void 0===e&&(e=i.substring(z)),d.push(e),z=n,k(d),o&&R()),w()}function b(e){z=e,k(d),d=[],g=i.indexOf(O,z)}function w(e){if(C.header&&!t&&h.length&&!L){var s=h[0],a=Object.create(null),o=new Set(s);let n=!1;for(let r=0;r{var e;return!!v.WORKERS_SUPPORTED&&(e=(()=>{var e=n.URL||n.webkitURL||null,t=r.toString();return v.BLOB_URL||(v.BLOB_URL=e.createObjectURL(new Blob([\"var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; \",\"(\",t,\")();\"],{type:\"text/javascript\"})))})(),(e=new n.Worker(e)).onmessage=g,e.id=h++,o[e.id]=e)})()).userStep=t.step,i.userChunk=t.chunk,i.userComplete=t.complete,i.userError=t.error,t.step=q(t.step),t.chunk=q(t.chunk),t.complete=q(t.complete),t.error=q(t.error),delete t.worker,i.postMessage({input:e,config:t,workerId:i.id})},v.unparse=function(e,t){var s=!1,_=!0,m=\",\",y=\"\\r\\n\",a='\"',o=a+a,i=!1,r=null,h=!1,u=((()=>{if(\"object\"==typeof t){if(\"string\"!=typeof t.delimiter||v.BAD_DELIMITERS.filter(function(e){return-1!==t.delimiter.indexOf(e)}).length||(m=t.delimiter),\"boolean\"!=typeof t.quotes&&\"function\"!=typeof t.quotes&&!Array.isArray(t.quotes)||(s=t.quotes),\"boolean\"!=typeof t.skipEmptyLines&&\"string\"!=typeof t.skipEmptyLines||(i=t.skipEmptyLines),\"string\"==typeof t.newline&&(y=t.newline),\"string\"==typeof t.quoteChar&&(a=t.quoteChar,o=a+a),\"boolean\"==typeof t.header&&(_=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error(\"Option columns is empty\");r=t.columns}void 0!==t.escapeChar&&(o=t.escapeChar+a),t.escapeFormulae instanceof RegExp?h=t.escapeFormulae:\"boolean\"==typeof t.escapeFormulae&&t.escapeFormulae&&(h=/^[=+\\-@\\t\\r].*$/)}})(),new RegExp(U(a),\"g\"));\"string\"==typeof e&&(e=JSON.parse(e));if(Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return n(null,e,i);if(\"object\"==typeof e[0])return n(r||Object.keys(e[0]),e,i)}else if(\"object\"==typeof e)return\"string\"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||r),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:\"object\"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||\"object\"==typeof e.data[0]||(e.data=[e.data])),n(e.fields||[],e.data||[],i);throw new Error(\"Unable to serialize unrecognized input\");function n(e,t,i){var r=\"\",n=(\"string\"==typeof e&&(e=JSON.parse(e)),\"string\"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0{for(var i=0;i= 1e6 ? `${number(millimeters / 1e6)} km` : `${number(millimeters / 1000, 1)} m`;\n}\n\nfunction exportCsv(rows) {\n // Papa Parse owns quoting and escaping so new metric columns cannot silently\n // corrupt exports when rover names or confidence explanations contain commas.\n const csv = Papa.unparse(rows.map((rover) => ({\n ...rover,\n batteryHealth: JSON.stringify(rover.batteryHealth),\n })));\n const url = URL.createObjectURL(new Blob([csv], { type: 'text/csv;charset=utf-8' }));\n const anchor = document.createElement('a');\n anchor.href = url;\n anchor.download = 'fleet-battery-efficiency.csv';\n anchor.click();\n URL.revokeObjectURL(url);\n}\n\nfunction Metric({ label, value, detail }) {\n return (\n
\n
{label}
\n
{value}
\n {detail ?
{detail}
: null}\n
\n );\n}\n\nfunction SortHeading({ field, sort, onSort, children }) {\n // Sorting is an explicit table interaction rather than hidden column state;\n // the arrow tells users which fleet comparison currently controls row order.\n return ;\n}\n\nfunction BatteryRegistry({ report, refresh }) {\n const socket = useSocket();\n const role = useSessionSelector((state) => state.session?.role || null);\n const canEdit = role === 'admin' || role === 'lockdown';\n const [draft, setDraft] = useState({\n roverId: report.rovers[0]?.roverId || '',\n chemistry: 'unknown',\n ratedCapacityMah: '',\n installedDate: new Date().toISOString().slice(0, 10),\n notes: '',\n });\n const [status, setStatus] = useState('');\n\n function submit(event) {\n event.preventDefault();\n setStatus('Saving…');\n socket.emit('fleetReports:replaceBattery', {\n ...draft,\n ratedCapacityMah: Number(draft.ratedCapacityMah),\n installedAt: new Date(`${draft.installedDate}T12:00:00`).getTime(),\n }, (response = {}) => {\n setStatus(response.error || `Registered ${response.battery?.batteryKey || 'battery'}`);\n if (!response.error) refresh();\n });\n }\n\n return (\n \n
\n \n \n {report.batteryRegistry.map((battery) => (\n \n \n \n \n \n ))}\n
RoverBatteryChemistryRated mAhInstalledRetiredLearned baseline mAhNotes
{battery.roverId}{battery.batteryKey}{battery.chemistry || '--'}{number(battery.ratedCapacityMah, 0)}{timestamp(battery.installedAt)}{timestamp(battery.retiredAt)}{number(battery.healthyBaselineMah, 0)}{battery.notes || '--'}
\n
\n {canEdit ? (\n
\n \n \n \n \n \n
{status}
\n
\n ) : null}\n
\n );\n}\n\nfunction FullReportContent() {\n const [rangeMs, setRangeMs] = useState(RANGE_OPTIONS[1].ms);\n const [rangeEnd, setRangeEnd] = useState(() => Date.now());\n const [query, setQuery] = useState('');\n const [sort, setSort] = useState({ key: 'name', descending: false });\n const { report, loading, error, refresh } = useFleetReport({\n since: rangeEnd - rangeMs,\n until: rangeEnd,\n includeEvents: false,\n });\n\n const rows = useMemo(() => {\n const filtered = (report?.rovers || []).filter((rover) =>\n `${rover.name} ${rover.roverId}`.toLowerCase().includes(query.trim().toLowerCase()),\n );\n return [...filtered].sort((left, right) => {\n const leftValue = sort.key.startsWith('batteryHealth.')\n ? left.batteryHealth?.[sort.key.slice('batteryHealth.'.length)]\n : left[sort.key];\n const rightValue = sort.key.startsWith('batteryHealth.')\n ? right.batteryHealth?.[sort.key.slice('batteryHealth.'.length)]\n : right[sort.key];\n const result = typeof leftValue === 'string'\n ? leftValue.localeCompare(String(rightValue ?? ''))\n : (Number(leftValue) || 0) - (Number(rightValue) || 0);\n return sort.descending ? -result : result;\n });\n }, [query, report, sort]);\n\n function sortBy(key) {\n setSort((current) => ({ key, descending: current.key === key ? !current.descending : false }));\n }\n\n return (\n <>\n \n
\n \n \n \n Back\n
\n {loading && !report ?

Loading fleet metrics…

: null}\n {error ?

{error}

: null}\n {report ? (\n
\n \n \n \n \n \n \n \n \n
\n ) : null}\n
\n\n {report ? (\n <>\n exportCsv(rows)}>Export CSV}\n bodyClassName=\"overflow-x-auto p-0.5\"\n >\n \n \n RoverState\n HealthUsable Ah\n Usable WhConfidence\n Wh/kmMoving Wh/km\n DistanceUsed Wh\n Moving WhStationary Wh\n Moving timeAverage speed\n Maximum speedCharge\n VoltageCurrent\n TemperatureLast data\n \n {rows.map((rover) => {\n const health = rover.batteryHealth;\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n })}\n
{rover.name}{rover.online ? 'online' : 'offline'}{health.capacityRetentionPercent == null ? '--' : `${number(health.capacityRetentionPercent, 1)}%`}{health.measuredUsableMah == null ? '--' : number(health.measuredUsableMah / 1000, 3)}{number(health.measuredUsableWh)}{health.confidence}{rover.overallWhPerKm == null ? `need ${distance(rover.efficiencyDistanceRequiredMm)}` : number(rover.overallWhPerKm)}{number(rover.movingWhPerKm)}{distance(rover.distanceMm)}{number(rover.dischargedWh)}{number(rover.movingDischargedWh)}{number(rover.stationaryDischargedWh)}{duration(rover.movingMs)}{rover.averageSpeedMmPerSecond == null ? '--' : `${number(rover.averageSpeedMmPerSecond)} mm/s`}{rover.maximumSpeedMmPerSecond == null ? '--' : `${number(rover.maximumSpeedMmPerSecond)} mm/s`}{number(rover.latestChargeMah, 0)} mAh{number(rover.averageVoltageMv, 0)} mV{number(rover.averageCurrentMa, 0)} mA{number(rover.maximumTemperatureC, 1)} °C{timestamp(rover.lastSampleAt)}
\n \n\n \n \n \n {rows.map((rover) => {\n const health = rover.batteryHealth;\n return ;\n })}\n
RoverBatteryReference mAhEstimated usable mAhObserved range floorRetentionObservationsAverage depthThroughputLatest evidenceConfidence basis
{rover.name}{health.batteryKey}{number(health.referenceMah, 0)}{number(health.measuredUsableMah, 0)}{number(health.observedUsableFloorMah, 0)}{health.capacityRetentionPercent == null ? '--' : `${number(health.capacityRetentionPercent, 1)}%`}{number(health.observationCount, 0)}{number(health.averageObservationDepthPercent, 1)}%{number(health.dischargedThroughputMah, 0)} mAh{timestamp(health.latestObservationAt)}{health.confidenceReason}
\n
\n\n {report.attention.length ? (\n \n {report.attention.map((item) => )}
RoverSeverityReason
{item.roverId}{item.severity}{item.title}
\n
\n ) : null}\n\n \n\n \n

Energy is integrated per sensor interval from OI voltage and signed current. Existing odometer distance and speed are consumed directly; reporting does not calculate a competing speed value.

\n

Capacity combines partial discharge current with packet 25 charge movement. Every usable observation contributes; deeper observations increase confidence without labeling cycles good or bad. Packet 26 is only a fixed reference.

\n

Wh/km appears after 25 m of selected-range odometer travel. Existing historical rows predate exact power integration, so their Wh fields remain zero rather than being backfilled with false precision.

\n
\n \n ) : null}\n \n );\n}\n\nexport default function FleetReportsApp() {\n useUserIdentitySync({ identitySurface: 'passive' });\n const enabled = useSessionSelector((state) => isFeatureEnabled(state, 'fleetReports'));\n const { value: pageSettings } = useSettingsNamespace('page', { backgroundTheme: DEFAULT_PAGE_THEME_KEY });\n return (\n
\n \n
\n {enabled ? : (\n \n

This server has not enabled fleet reporting.

\n Back to rover page\n
\n )}\n
\n
\n );\n}\n"],"names":["e","t","module","this","r","n","d","s","a","o","h","v","P","u","b","i","q","f","y","l","c","p","m","g","k","_","E","U","C","S","O","x","I","A","T","D","L","F","j","z","M","w","R","RANGE_OPTIONS","number","value","digits","timestamp","duration","minutes","distance","millimeters","exportCsv","rows","csv","Papa","rover","url","anchor","Metric","label","detail","jsxs","jsx","SortHeading","field","sort","onSort","children","BatteryRegistry","report","refresh","socket","useSocket","role","useSessionSelector","state","canEdit","draft","setDraft","useState","status","setStatus","submit","event","response","CardFrame","battery","FullReportContent","rangeMs","setRangeMs","rangeEnd","setRangeEnd","query","setQuery","setSort","loading","error","useFleetReport","useMemo","left","right","leftValue","rightValue","result","sortBy","key","current","Fragment","option","Link","health","item","FleetReportsApp","useUserIdentitySync","enabled","isFeatureEnabled","pageSettings","useSettingsNamespace","DEFAULT_PAGE_THEME_KEY","getPageThemeClass","SocketConnectionPill","themeGapClass"],"mappings":"gPAMC,CAACA,EAAEC,IAAI,CAAyGC,EAAA,QAAeD,EAAC,CAAa,GAAGE,GAAK,SAASC,GAAG,CAAC,IAAIC,EAAe,OAAO,KAApB,IAAyB,KAAkB,OAAO,OAApB,IAA2B,OAAgBA,IAAT,OAAWA,EAAE,CAAA,EAAOC,EAAEC,EAAE,CAACF,EAAE,UAAU,CAAC,CAACA,EAAE,YAAYG,EAAEH,EAAE,gBAAgB,GAAGI,GAAE,CAAA,EAAGC,EAAE,EAAEC,EAAE,CAAA,EAAG,SAASC,EAAEZ,EAAE,CAAC,OAAeA,EAAE,WAAW,CAAC,IAAtB,MAAwBA,EAAE,MAAM,CAAC,EAAEA,CAAC,CAAC,SAASa,EAAEb,EAAE,CAAC,KAAK,QAAQ,KAAK,KAAK,UAAU,GAAG,KAAK,WAAW,GAAG,KAAK,QAAQ,GAAG,KAAK,OAAO,KAAK,KAAK,WAAW,EAAE,KAAK,aAAa,GAAG,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,KAAK,KAAK,aAAa,GAAG,KAAK,iBAAiB,CAAC,KAAK,CAAA,EAAG,OAAO,CAAA,EAAG,KAAK,CAAA,CAAE,GAAE,SAASA,EAAE,CAAC,IAAIC,EAAEa,GAAEd,CAAC,EAAEC,EAAE,UAAU,SAASA,EAAE,SAAS,EAAED,EAAE,MAAMA,EAAE,QAAQC,EAAE,UAAU,MAAM,KAAK,QAAQ,IAAIc,GAAEd,CAAC,GAAG,KAAK,QAAQ,SAAS,MAAM,QAAQA,CAAC,GAAE,KAAK,KAAKD,CAAC,EAAE,KAAK,WAAW,SAASC,EAAED,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,QAAQ,eAAe,GAAG,EAAE,GAAG,KAAK,cAAc,EAAE,EAAE,CAAC,IAAIA,EAAE,KAAK,QAAQ,QAAQA,IAAII,EAAE,KAAK,QAAQ,WAAW,IAAIJ,EAAE,KAAK,QAAQ,iBAAiBC,EAAEG,CAAC,GAAGH,EAAE,CAAC,GAAGA,EAAE,MAAMD,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,KAAKA,CAAC,CAAC,CAAC,KAAK,cAAcgB,EAAE,KAAK,QAAQ,gBAAgB,IAAaZ,EAAE,KAAK,QAAQ,iBAAiBH,CAAC,KAA3C,SAAgDA,EAAEG,GAAG,KAAK,aAAa,GAAG,KAAK,QAAQ,GAAG,IAAI,EAAE,KAAK,aAAaH,EAAEG,GAAG,KAAK,aAAa,GAAG,KAAK,QAAQ,MAAM,EAAE,KAAK,WAAW,CAAC,KAAK,SAAS,GAAG,GAAG,CAAC,KAAK,QAAQ,OAAM,GAAI,CAAC,KAAK,QAAQ,QAAO,EAAG,CAAgO,GAA/NH,EAAEG,EAAE,KAAK,OAAO,GAAG,KAAK,YAAY,KAAK,aAAa,EAAE,UAAUH,EAAE,KAAK,UAAU,EAAE,KAAK,WAAWA,GAAGG,GAAGA,EAAE,OAAO,KAAK,WAAWA,EAAE,KAAK,QAAQ,KAAK,WAAW,KAAK,QAAQ,SAAS,KAAK,WAAW,KAAK,QAAQ,SAAYI,EAAEH,EAAE,YAAY,CAAC,QAAQD,EAAE,SAASO,EAAE,UAAU,SAAS,CAAC,CAAC,UAAUK,EAAE,KAAK,QAAQ,KAAK,GAAG,CAAChB,EAAE,CAAC,GAAG,KAAK,QAAQ,MAAMI,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,OAAM,GAAI,KAAK,QAAQ,QAAO,EAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,iBAAiBA,EAAE,MAAM,CAAC,OAAO,KAAK,QAAQ,MAAM,KAAK,QAAQ,QAAQ,KAAK,iBAAiB,KAAK,KAAK,iBAAiB,KAAK,OAAOA,EAAE,IAAI,EAAE,KAAK,iBAAiB,OAAO,KAAK,iBAAiB,OAAO,OAAOA,EAAE,MAAM,EAAE,KAAK,iBAAiB,KAAKA,EAAE,MAAM,KAAK,YAAY,CAAC,GAAG,CAACY,EAAE,KAAK,QAAQ,QAAQ,GAAGZ,GAAGA,EAAE,KAAK,UAAU,KAAK,QAAQ,SAAS,KAAK,iBAAiB,KAAK,MAAM,EAAE,KAAK,WAAW,IAAI,GAAGA,GAAGA,EAAE,KAAK,QAAQ,KAAK,WAAU,EAAGA,CAAC,CAAC,KAAK,QAAQ,EAAE,EAAE,KAAK,WAAW,SAASJ,EAAE,CAACgB,EAAE,KAAK,QAAQ,KAAK,EAAE,KAAK,QAAQ,MAAMhB,CAAC,EAAEQ,GAAG,KAAK,QAAQ,OAAOH,EAAE,YAAY,CAAC,SAASM,EAAE,UAAU,MAAMX,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,SAASiB,GAAEjB,EAAE,CAAC,IAAI,GAAGA,EAAEA,GAAG,CAAA,GAAI,YAAYA,EAAE,UAAUW,EAAE,iBAAiBE,EAAE,KAAK,KAAKb,CAAC,EAAE,KAAK,WAAWO,EAAE,UAAU,CAAC,KAAK,aAAa,KAAK,aAAY,CAAE,EAAE,UAAU,CAAC,KAAK,WAAU,CAAE,EAAE,KAAK,OAAO,SAASP,EAAE,CAAC,KAAK,OAAOA,EAAE,KAAK,WAAU,CAAE,EAAE,KAAK,WAAW,UAAU,CAAC,GAAG,KAAK,UAAU,KAAK,aAAY,MAAO,CAAC,GAAG,EAAE,IAAI,eAAe,KAAK,QAAQ,kBAAkB,EAAE,gBAAgB,KAAK,QAAQ,iBAAiBO,IAAI,EAAE,OAAOW,GAAE,KAAK,aAAa,IAAI,EAAE,EAAE,QAAQA,GAAE,KAAK,YAAY,IAAI,GAAG,EAAE,KAAK,KAAK,QAAQ,oBAAoB,OAAO,MAAM,KAAK,OAAO,CAACX,CAAC,EAAE,KAAK,QAAQ,uBAAuB,CAAC,IAAIP,EAAEC,EAAE,KAAK,QAAQ,uBAAuB,IAAID,KAAKC,EAAE,EAAE,iBAAiBD,EAAEC,EAAED,CAAC,CAAC,CAAC,CAAC,IAAIe,EAAE,KAAK,QAAQ,YAAYA,EAAE,KAAK,OAAO,KAAK,QAAQ,UAAU,EAAE,EAAE,iBAAiB,QAAQ,SAAS,KAAK,OAAO,IAAIA,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,KAAK,QAAQ,mBAAmB,CAAC,OAAOf,EAAE,CAAC,KAAK,YAAYA,EAAE,OAAO,CAAC,CAACO,GAAO,EAAE,SAAN,GAAc,KAAK,YAAW,CAAE,CAAC,EAAE,KAAK,aAAa,UAAU,CAAK,EAAE,aAAN,IAAmB,EAAE,OAAO,KAAK,KAAK,EAAE,OAAO,KAAK,YAAW,GAAI,KAAK,QAAQ,KAAK,QAAQ,WAAW,EAAE,aAAa,OAAO,KAAK,UAAU,CAAC,KAAK,QAAQ,WAAW,KAAK,SAASP,IAAWA,EAAEA,EAAE,kBAAkB,eAAe,KAA7C,KAAgD,SAASA,EAAE,UAAUA,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE,YAAY,GAAG,EAAE,KAAK,YAAY,SAASA,EAAE,CAACA,EAAE,EAAE,YAAYA,EAAE,KAAK,WAAW,IAAI,MAAMA,CAAC,CAAC,CAAC,CAAC,CAAC,SAASmB,EAAEnB,EAAE,EAAEA,EAAEA,GAAG,CAAA,GAAI,YAAYA,EAAE,UAAUW,EAAE,gBAAgBE,EAAE,KAAK,KAAKb,CAAC,EAAE,IAAIe,EAAEX,EAAEC,EAAe,OAAO,WAApB,IAA+B,KAAK,OAAO,SAASL,EAAE,CAAC,KAAK,OAAOA,EAAEI,EAAEJ,EAAE,OAAOA,EAAE,aAAaA,EAAE,SAASK,IAAIU,EAAE,IAAI,YAAY,OAAOG,GAAE,KAAK,aAAa,IAAI,EAAEH,EAAE,QAAQG,GAAE,KAAK,YAAY,IAAI,GAAGH,EAAE,IAAI,eAAe,KAAK,WAAU,CAAE,EAAE,KAAK,WAAW,UAAU,CAAC,KAAK,WAAW,KAAK,QAAQ,SAAS,EAAE,KAAK,UAAU,KAAK,QAAQ,UAAU,KAAK,WAAU,CAAE,EAAE,KAAK,WAAW,UAAU,CAAC,IAAIf,EAAE,KAAK,OAAOC,GAAG,KAAK,QAAQ,YAAYA,EAAE,KAAK,IAAI,KAAK,OAAO,KAAK,QAAQ,UAAU,KAAK,OAAO,IAAI,EAAED,EAAEI,EAAE,KAAKJ,EAAE,KAAK,OAAOC,CAAC,GAAGc,EAAE,WAAWf,EAAE,KAAK,QAAQ,QAAQ,GAAGK,GAAG,KAAK,aAAa,CAAC,OAAO,CAAC,OAAOJ,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,SAASD,EAAE,CAAC,KAAK,QAAQ,KAAK,QAAQ,UAAU,KAAK,UAAU,CAAC,KAAK,QAAQ,WAAW,KAAK,QAAQ,KAAK,OAAO,KAAK,KAAK,WAAWA,EAAE,OAAO,MAAM,CAAC,EAAE,KAAK,YAAY,UAAU,CAAC,KAAK,WAAWe,EAAE,KAAK,CAAC,CAAC,CAAC,SAASK,EAAEpB,EAAE,CAAC,IAAIe,EAAEF,EAAE,KAAK,KAAKb,EAAEA,GAAG,CAAA,CAAE,EAAE,KAAK,OAAO,SAASA,EAAE,CAAC,OAAOe,EAAEf,EAAE,KAAK,WAAU,CAAE,EAAE,KAAK,WAAW,UAAU,CAAC,IAAIA,EAAEC,EAAE,GAAG,CAAC,KAAK,UAAU,OAAOD,EAAE,KAAK,QAAQ,UAAUe,EAAEf,GAAGC,EAAEc,EAAE,UAAU,EAAEf,CAAC,EAAEe,EAAE,UAAUf,CAAC,IAAIC,EAAEc,EAAE,IAAI,KAAK,UAAU,CAACA,EAAE,KAAK,WAAWd,CAAC,CAAC,CAAC,CAAC,SAASoB,EAAErB,EAAE,CAACa,EAAE,KAAK,KAAKb,EAAEA,GAAG,CAAA,CAAE,EAAE,IAAIC,EAAE,CAAA,EAAGc,EAAE,GAAGX,EAAE,GAAG,KAAK,MAAM,UAAU,CAACS,EAAE,UAAU,MAAM,MAAM,KAAK,SAAS,EAAE,KAAK,OAAO,MAAK,CAAE,EAAE,KAAK,OAAO,UAAU,CAACA,EAAE,UAAU,OAAO,MAAM,KAAK,SAAS,EAAE,KAAK,OAAO,OAAM,CAAE,EAAE,KAAK,OAAO,SAASb,EAAE,CAAC,KAAK,OAAOA,EAAE,KAAK,OAAO,GAAG,OAAO,KAAK,WAAW,EAAE,KAAK,OAAO,GAAG,MAAM,KAAK,UAAU,EAAE,KAAK,OAAO,GAAG,QAAQ,KAAK,YAAY,CAAC,EAAE,KAAK,iBAAiB,UAAU,CAACI,GAAOH,EAAE,SAAN,IAAe,KAAK,UAAU,GAAG,EAAE,KAAK,WAAW,UAAU,CAAC,KAAK,iBAAgB,EAAGA,EAAE,OAAO,KAAK,WAAWA,EAAE,MAAK,CAAE,EAAEc,EAAE,EAAE,EAAE,KAAK,YAAYG,GAAE,SAASlB,EAAE,CAAC,GAAG,CAACC,EAAE,KAAe,OAAOD,GAAjB,SAAmBA,EAAEA,EAAE,SAAS,KAAK,QAAQ,QAAQ,CAAC,EAAEe,IAAIA,EAAE,GAAG,KAAK,iBAAgB,EAAG,KAAK,WAAWd,EAAE,MAAK,CAAE,EAAE,OAAOD,EAAE,CAAC,KAAK,aAAaA,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,aAAakB,GAAE,SAASlB,EAAE,CAAC,KAAK,eAAc,EAAG,KAAK,WAAWA,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,WAAWkB,GAAE,UAAU,CAAC,KAAK,eAAc,EAAGd,EAAE,GAAG,KAAK,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,eAAec,GAAE,UAAU,CAAC,KAAK,OAAO,eAAe,OAAO,KAAK,WAAW,EAAE,KAAK,OAAO,eAAe,MAAM,KAAK,UAAU,EAAE,KAAK,OAAO,eAAe,QAAQ,KAAK,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC,SAASH,GAAEO,EAAE,CAAC,IAAIjB,EAAE,EAAEG,EAAEP,EAAEQ,EAAE,KAAK,IAAI,EAAE,EAAE,EAAEC,EAAE,CAACD,EAAEI,EAAE,mDAAmDP,EAAE,qNAAqNS,EAAE,KAAKX,EAAE,EAAEa,EAAE,EAAEE,EAAE,GAAGnB,EAAE,GAAGoB,EAAE,CAAA,EAAGC,EAAE,CAAC,KAAK,CAAA,EAAG,OAAO,CAAA,EAAG,KAAK,CAAA,CAAE,EAAE,SAASH,EAAElB,EAAE,CAAC,OAAiBsB,EAAE,iBAAb,SAAiCtB,EAAE,KAAK,EAAE,EAAE,KAAI,IAApB,GAA2BA,EAAE,SAAN,GAAkBA,EAAE,CAAC,EAAE,SAAT,CAAe,CAAC,SAASuB,GAAG,CAAC,GAAGF,GAAGb,IAAIgB,EAAE,YAAY,wBAAwB,6DAA6Db,EAAE,iBAAiB,GAAG,EAAEH,EAAE,IAAIc,EAAE,iBAAiBD,EAAE,KAAKA,EAAE,KAAK,OAAO,SAASrB,EAAE,CAAC,MAAM,CAACkB,EAAElB,CAAC,CAAC,CAAC,GAAGyB,EAAC,EAAG,CAAuI,IAASxB,EAAT,SAAWD,EAAEC,EAAE,CAACD,EAAEY,EAAEZ,CAAC,EAAEgB,EAAEM,EAAE,eAAe,IAAItB,EAAEsB,EAAE,gBAAgBtB,EAAEC,CAAC,GAAGmB,EAAE,KAAKpB,CAAC,CAAC,EAAvN,GAAGqB,EAAE,GAAG,MAAM,QAAQA,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQrB,EAAE,EAAEyB,EAAC,GAAIzB,EAAEqB,EAAE,KAAK,OAAOrB,IAAIqB,EAAE,KAAKrB,CAAC,EAAE,QAAQC,CAAC,EAAEoB,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC,MAAMA,EAAE,KAAK,QAAQpB,CAAC,CAAoF,CAAC,SAASc,EAAEf,EAAEC,EAAE,CAAC,QAAQc,EAAEO,EAAE,OAAO,CAAA,EAAG,CAAA,EAAGlB,EAAE,EAAEA,EAAEJ,EAAE,OAAOI,IAAI,CAAC,IAAIC,EAAED,EAAEG,EAAEP,EAAEI,CAAC,EAAEG,GAAG,CAACP,EAAEC,KAAKD,IAAIsB,EAAE,uBAAgCA,EAAE,cAActB,CAAC,IAA1B,SAA8BsB,EAAE,cAActB,CAAC,EAAEsB,EAAE,sBAAsBtB,CAAC,IAASsB,EAAE,cAActB,CAAC,GAAGsB,EAAE,iBAA5B,KAA6CtB,CAAC,EAAWC,IAAT,QAAqBA,IAAT,QAAsBA,IAAV,SAAuBA,IAAV,WAAeD,GAAG,CAAC,GAAGa,EAAE,KAAKb,CAAC,IAAGA,EAAE,WAAWA,CAAC,EAAKU,EAAEV,GAAGA,EAAES,GAAE,MAAO,EAAE,GAAGR,CAAC,EAAE,WAAWA,CAAC,EAAEK,EAAE,KAAKL,CAAC,EAAE,IAAI,KAAKA,CAAC,EAAOA,IAAL,GAAO,KAAKA,GAAGA,GAAGI,EAAEiB,EAAE,OAAOlB,GAAGgB,EAAE,OAAO,iBAAiBA,EAAEhB,CAAC,EAAEC,EAAEE,EAAEe,EAAE,UAAUA,EAAE,UAAUf,EAAEF,CAAC,EAAEE,CAAC,EAAqBF,IAAnB,kBAAsBU,EAAEV,CAAC,EAAEU,EAAEV,CAAC,GAAG,GAAGU,EAAEV,CAAC,EAAE,KAAKE,CAAC,GAAGQ,EAAEV,CAAC,EAAEE,CAAC,CAAC,OAAOe,EAAE,SAASlB,EAAEgB,EAAE,OAAOI,EAAE,gBAAgB,gBAAgB,6BAA6BJ,EAAE,OAAO,sBAAsBhB,EAAEa,EAAEhB,CAAC,EAAEG,EAAEgB,EAAE,QAAQI,EAAE,gBAAgB,eAAe,4BAA4BJ,EAAE,OAAO,sBAAsBhB,EAAEa,EAAEhB,CAAC,GAAGc,CAAC,CAAC,IAAIX,EAAEiB,IAAIC,EAAE,QAAQA,EAAE,eAAeA,EAAE,aAAalB,EAAE,EAAE,CAACiB,EAAE,KAAK,QAAQ,MAAM,QAAQA,EAAE,KAAK,CAAC,CAAC,GAAGA,EAAE,KAAKA,EAAE,KAAK,IAAIN,CAAC,EAAEX,EAAEiB,EAAE,KAAK,QAAQA,EAAE,KAAKN,EAAEM,EAAE,KAAK,CAAC,EAAEC,EAAE,QAAQD,EAAE,OAAOA,EAAE,KAAK,OAAOD,GAAGH,GAAGb,EAAE,CAAC,SAASqB,GAAG,CAAC,OAAOH,EAAE,QAAYF,EAAE,SAAN,CAAY,CAAC,SAASI,EAAExB,EAAEC,EAAEc,EAAEX,EAAE,CAACJ,EAAE,CAAC,KAAKA,EAAE,KAAKC,EAAE,QAAQc,CAAC,EAAWX,IAAT,SAAaJ,EAAE,IAAII,GAAGiB,EAAE,OAAO,KAAKrB,CAAC,CAAC,CAACgB,EAAEM,EAAE,IAAI,IAAIrB,EAAEqB,EAAE,KAAKA,EAAE,KAAK,SAAStB,EAAE,CAACqB,EAAErB,EAAEyB,EAAC,EAAGF,EAAC,GAAIA,EAAC,EAAOF,EAAE,KAAK,SAAX,IAAoBjB,GAAGJ,EAAE,KAAK,OAAOsB,EAAE,SAASlB,EAAEkB,EAAE,QAAQ,EAAE,MAAK,GAAID,EAAE,KAAKA,EAAE,KAAK,CAAC,EAAEpB,EAAEoB,EAAEN,CAAC,IAAI,GAAG,KAAK,MAAM,SAASf,EAAEC,EAAEc,EAAE,CAAC,IAAIX,EAAEkB,EAAE,WAAW,IAAIlB,GAAGkB,EAAE,UAAUA,EAAE,QAAQ,KAAK,iBAAiBtB,EAAEI,CAAC,GAAGI,EAAE,GAAGc,EAAE,UAAUN,EAAEM,EAAE,SAAS,IAAIA,EAAE,UAAUA,EAAE,UAAUtB,CAAC,EAAEqB,EAAE,KAAK,UAAUC,EAAE,aAAalB,GAAG,CAACJ,EAAEC,EAAEc,EAAEX,EAAEC,IAAI,CAAC,IAAIE,EAAEC,EAAEC,EAAEC,GAAEL,EAAEA,GAAG,CAAC,IAAI,IAAK,IAAI,IAAIM,EAAE,WAAWA,EAAE,QAAQ,EAAE,QAAQE,GAAE,EAAEA,GAAER,EAAE,OAAOQ,KAAI,CAAC,QAAQP,EAAEW,GAAEZ,EAAEQ,EAAC,EAAEM,EAAE,EAAEC,GAAE,EAAEC,EAAE,EAAEE,GAAGd,EAAE,OAAO,IAAIiB,GAAE,CAAC,SAAStB,EAAE,UAAUa,GAAE,QAAQhB,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAMD,CAAC,GAAGyB,GAAE,EAAEA,GAAEF,EAAE,KAAK,OAAOE,KAAIV,GAAGG,EAAEK,EAAE,KAAKE,EAAC,CAAC,EAAEJ,KAAKf,EAAEiB,EAAE,KAAKE,EAAC,EAAE,OAAOL,IAAGd,EAAWG,IAAT,OAAWA,EAAEH,EAAE,EAAEA,IAAIa,GAAG,KAAK,IAAIb,EAAEG,CAAC,EAAEA,EAAEH,IAAI,EAAEiB,EAAE,KAAK,SAASH,IAAGG,EAAE,KAAK,OAAOF,IAAab,IAAT,QAAYW,GAAGX,KAAcE,KAAT,QAAYA,GAAEU,KAAI,KAAKA,KAAIZ,EAAEW,EAAEZ,EAAEU,GAAEP,GAAEU,GAAE,CAAC,MAAM,CAAC,WAAW,CAAC,EAAEE,EAAE,UAAUf,GAAG,cAAcA,CAAC,CAAC,GAAGP,EAAEsB,EAAE,QAAQA,EAAE,eAAeA,EAAE,SAASA,EAAE,iBAAiB,GAAG,WAAWA,EAAE,UAAUlB,EAAE,eAAeI,EAAE,GAAGc,EAAE,UAAUX,EAAE,kBAAkBU,EAAE,KAAK,UAAUC,EAAE,WAAWR,GAAEQ,CAAC,GAAG,OAAOA,EAAE,SAASA,EAAE,QAAQlB,EAAE,UAAUC,EAAEL,EAAE,EAAE,IAAI0B,GAAEtB,CAAC,EAAEiB,EAAE,EAAE,MAAMhB,EAAEJ,EAAEc,CAAC,EAAEQ,EAAC,EAAGJ,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAEE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,OAAO,UAAU,CAAC,OAAOF,CAAC,EAAE,KAAK,MAAM,UAAU,CAACA,EAAE,GAAG,EAAE,MAAK,EAAGd,EAAEW,EAAEM,EAAE,KAAK,EAAE,GAAGjB,EAAE,UAAU,EAAE,aAAY,CAAE,CAAC,EAAE,KAAK,OAAO,UAAU,CAACU,EAAE,SAAS,SAASI,EAAE,GAAGJ,EAAE,SAAS,WAAWV,EAAE,EAAE,GAAG,WAAWU,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,UAAU,CAAC,OAAOf,CAAC,EAAE,KAAK,MAAM,UAAU,CAACA,EAAE,GAAG,EAAE,MAAK,EAAGqB,EAAE,KAAK,QAAQ,GAAGL,EAAEM,EAAE,QAAQ,GAAGA,EAAE,SAASD,CAAC,EAAEhB,EAAE,EAAE,EAAE,KAAK,iBAAiB,SAASL,EAAEC,EAAE,CAACD,EAAEA,EAAE,UAAU,EAAE,OAAO,EAAE,IAAIC,EAAE,IAAI,OAAO0B,GAAE1B,CAAC,EAAE,UAAU0B,GAAE1B,CAAC,EAAE,IAAI,EAAEc,GAAGf,EAAEA,EAAE,QAAQC,EAAE,EAAE,GAAG,MAAM,IAAI,EAAEA,EAAED,EAAE,MAAM;AAAA,CAAI,EAAEA,EAAE,EAAEC,EAAE,QAAQA,EAAE,CAAC,EAAE,OAAOc,EAAE,CAAC,EAAE,OAAO,GAAOA,EAAE,SAAN,GAAcf,EAAE,MAAM;AAAA,EAAK,QAAQI,EAAE,EAAEC,EAAE,EAAEA,EAAEU,EAAE,OAAOV,IAAWU,EAAEV,CAAC,EAAE,CAAC,IAAb;AAAA,GAAgBD,IAAI,OAAOA,GAAGW,EAAE,OAAO,EAAE;AAAA,EAAO,IAAI,CAAC,CAAC,SAASY,GAAE3B,EAAE,CAAC,OAAOA,EAAE,QAAQ,sBAAsB,MAAM,CAAC,CAAC,SAAS0B,GAAEE,EAAE,CAAC,IAAIC,GAAGD,EAAEA,GAAG,CAAA,GAAI,UAAUE,EAAEF,EAAE,QAAQG,EAAEH,EAAE,SAASI,EAAEJ,EAAE,KAAKK,EAAEL,EAAE,QAAQM,EAAEN,EAAE,SAASO,EAAE,KAAKC,EAAE,GAAGC,EAAQT,EAAE,WAAR,KAAkB,IAAIA,EAAE,UAAUU,EAAED,EAAE,GAAYT,EAAE,aAAX,SAAwBU,EAAEV,EAAE,aAAuB,OAAOC,GAAjB,UAAoB,GAAGlB,EAAE,eAAe,QAAQkB,CAAC,KAAKA,EAAE,KAAKE,IAAIF,EAAE,MAAM,IAAI,MAAM,qCAAqC,EAAOE,IAAL,GAAOA,EAAE,KAAe,OAAOA,GAAjB,UAAoB,GAAGpB,EAAE,eAAe,QAAQoB,CAAC,KAAKA,EAAE,IAAWD,IAAP;AAAA,GAAiBA,IAAP,MAAmBA,IAAT;AAAA,IAAaA,EAAE;AAAA,GAAM,IAAIS,EAAE,EAAEC,EAAE,GAAG,KAAK,MAAM,SAASzB,EAAEd,EAAEG,EAAE,CAAC,GAAa,OAAOW,GAAjB,SAAmB,MAAM,IAAI,MAAM,wBAAwB,EAAE,IAAIV,EAAEU,EAAE,OAAOf,EAAE6B,EAAE,OAAOtB,EAAEuB,EAAE,OAAOtB,EAAEuB,EAAE,OAAOtB,EAAEO,EAAEgB,CAAC,EAAEtB,EAAE,CAAA,EAAGG,EAAE,CAAA,EAAGP,EAAE,CAAA,EAAGW,EAAEsB,EAAE,EAAE,GAAG,CAACxB,EAAE,OAAO0B,EAAC,EAAG,GAAGP,GAAQA,IAAL,IAAanB,EAAE,QAAQsB,CAAC,IAAhB,GAAkB,CAAC,QAAQlB,EAAEJ,EAAE,MAAMe,CAAC,EAAEV,EAAE,EAAEA,EAAED,EAAE,OAAOC,IAAI,CAAC,GAAGd,EAAEa,EAAEC,CAAC,EAAEmB,GAAGjC,EAAE,OAAOc,IAAID,EAAE,OAAO,EAAEoB,GAAGT,EAAE,eAAe1B,EAAE,OAAOqC,EAAC,EAAG,GAAG,CAACV,GAAGzB,EAAE,UAAU,EAAEE,CAAC,IAAIuB,EAAE,CAAC,GAAGtB,GAAG,GAAGC,EAAE,CAAA,EAAGc,GAAElB,EAAE,MAAMuB,CAAC,CAAC,EAAEa,KAAIF,EAAE,OAAOC,EAAC,OAAQjB,GAAElB,EAAE,MAAMuB,CAAC,CAAC,EAAE,GAAGI,GAAGA,GAAGb,EAAE,OAAOV,EAAEA,EAAE,MAAM,EAAEuB,CAAC,EAAEQ,EAAE,EAAE,CAAC,CAAC,CAAC,OAAOA,GAAG,CAAC,QAAQpB,EAAEN,EAAE,QAAQc,EAAEU,CAAC,EAAEhB,EAAER,EAAE,QAAQe,EAAES,CAAC,EAAEd,EAAE,IAAI,OAAOE,GAAEW,CAAC,EAAEX,GAAEU,CAAC,EAAE,GAAG,EAAEf,EAAEP,EAAE,QAAQsB,EAAEE,CAAC,IAAI,GAAGxB,EAAEwB,CAAC,IAAIF,EAAE,IAAIf,EAAEiB,EAAEA,MAAM,CAAC,IAASjB,EAAEP,EAAE,QAAQsB,EAAEf,EAAE,CAAC,KAAvB,GAA0B,OAAOlB,GAAGS,EAAE,KAAK,CAAC,KAAK,SAAS,KAAK,gBAAgB,QAAQ,4BAA4B,IAAIH,EAAE,OAAO,MAAM6B,CAAC,CAAC,EAAEb,EAAC,EAAG,GAAGJ,IAAIjB,EAAE,EAAE,OAAOqB,EAAEX,EAAE,UAAUwB,EAAEjB,CAAC,EAAE,QAAQG,EAAEY,CAAC,CAAC,EAAE,GAAGA,IAAIC,GAAGvB,EAAEO,EAAE,CAAC,IAAIgB,EAAEhB,YAAYe,IAAIC,GAAOhB,IAAJ,GAAOP,EAAEO,EAAE,CAAC,IAAIgB,EAAE,CAAMjB,IAAL,IAAQA,EAAEC,EAAE,IAAID,EAAEN,EAAE,QAAQc,EAAEP,EAAE,CAAC,GAAG,IAAIJ,EAAEP,IAAQY,EAAOA,IAAL,IAAQA,EAAED,EAAE,EAAEP,EAAE,QAAQe,EAAER,EAAE,CAAC,EAAEC,KAAvC,GAA0CF,EAAE,KAAK,IAAIA,EAAEE,CAAC,CAAC,EAAE,GAAGR,EAAE,OAAOO,EAAE,EAAEJ,EAAElB,CAAC,IAAI6B,EAAE,CAACvB,EAAE,KAAKS,EAAE,UAAUwB,EAAEjB,CAAC,EAAE,QAAQG,EAAEY,CAAC,CAAC,EAAEtB,EAAEwB,EAAEjB,EAAE,EAAEJ,EAAElB,CAAC,IAAIqC,IAAIf,EAAEP,EAAE,QAAQsB,EAAEE,CAAC,GAAGlB,EAAEN,EAAE,QAAQc,EAAEU,CAAC,EAAEhB,EAAER,EAAE,QAAQe,EAAES,CAAC,EAAE,KAAK,CAAQ,GAAPrB,EAAEP,GAAEY,CAAC,EAAKR,EAAE,UAAUO,EAAE,EAAEJ,EAAEI,EAAE,EAAEJ,EAAEX,CAAC,IAAIuB,EAAE,CAAC,GAAGxB,EAAE,KAAKS,EAAE,UAAUwB,EAAEjB,CAAC,EAAE,QAAQG,EAAEY,CAAC,CAAC,EAAEvB,GAAEQ,EAAE,EAAEJ,EAAEX,CAAC,EAAEc,EAAEN,EAAE,QAAQc,EAAEU,CAAC,EAAEjB,EAAEP,EAAE,QAAQsB,EAAEE,CAAC,EAAE9B,IAAIiC,GAAC,EAAGF,GAAG,OAAOC,EAAC,EAAG,GAAGR,GAAGvB,EAAE,QAAQuB,EAAE,OAAOQ,EAAE,EAAE,EAAE,KAAK,CAAC5B,EAAE,KAAK,CAAC,KAAK,SAAS,KAAK,gBAAgB,QAAQ,8CAA8C,IAAIH,EAAE,OAAO,MAAM6B,CAAC,CAAC,EAAEjB,GAAG,CAAC,SAASS,GAAOzB,EAAE,SAAN,GAAcS,EAAE,UAAUwB,EAAEA,EAAE/B,CAAC,IAAIuB,EAAE,CAAC,GAAQR,IAAL,GAAO,OAAOkB,EAAC,EAAGF,EAAEhB,EAAEhB,EAAEgB,EAAER,EAAE,QAAQe,EAAES,CAAC,EAAElB,EAAEN,EAAE,QAAQc,EAAEU,CAAC,CAAC,SAAclB,IAAL,KAASA,EAAEE,GAAQA,IAAL,IAAQjB,EAAE,KAAKS,EAAE,UAAUwB,EAAElB,CAAC,CAAC,EAAEkB,EAAElB,EAAErB,EAAEqB,EAAEN,EAAE,QAAQc,EAAEU,CAAC,MAAM,CAAC,GAAQhB,IAAL,GAAO,MAAM,GAAGjB,EAAE,KAAKS,EAAE,UAAUwB,EAAEhB,CAAC,CAAC,EAAET,GAAES,EAAEhB,CAAC,EAAEE,IAAIiC,GAAC,EAAGF,GAAG,OAAOC,EAAC,EAAG,GAAGR,GAAGvB,EAAE,QAAQuB,EAAE,OAAOQ,EAAE,EAAE,CAAC,CAAC,OAAOf,EAAC,EAAG,SAASF,GAAExB,EAAE,CAACU,EAAE,KAAKV,CAAC,EAAEiB,EAAEsB,CAAC,CAAC,SAAS5B,GAAEX,EAAE,CAAC,IAAIC,EAAE,EAAE,OAAOA,EAAOD,IAAL,KAASA,EAAEe,EAAE,UAAUO,EAAE,EAAEtB,CAAC,IAASA,EAAE,KAAI,IAAX,GAAcA,EAAE,OAAOC,CAAC,CAAC,SAASyB,EAAE1B,EAAE,CAAC,OAAOI,IAAaJ,IAAT,SAAaA,EAAEe,EAAE,UAAUwB,CAAC,GAAGjC,EAAE,KAAKN,CAAC,EAAEuC,EAAElC,EAAEmB,GAAElB,CAAC,EAAEG,GAAGiC,GAAC,GAAID,EAAC,CAAE,CAAC,SAAS3B,GAAEd,EAAE,CAACuC,EAAEvC,EAAEwB,GAAElB,CAAC,EAAEA,EAAE,CAAA,EAAGiB,EAAER,EAAE,QAAQe,EAAES,CAAC,CAAC,CAAC,SAASE,EAAEzC,EAAE,CAAC,GAAG4B,EAAE,QAAQ,CAAC3B,GAAGS,EAAE,QAAQ,CAAC0B,EAAE,CAAC,IAAI7B,EAAEG,EAAE,CAAC,EAAEF,GAAE,OAAO,OAAO,IAAI,EAAEC,GAAE,IAAI,IAAIF,CAAC,EAAE,IAAIF,GAAE,GAAG,QAAQD,GAAE,EAAEA,GAAEG,EAAE,OAAOH,KAAI,CAAC,IAAIW,GAAEH,EAAEL,EAAEH,EAAC,CAAC,EAAE,GAAGI,GAAEO,GAAEC,EAAEY,EAAE,eAAe,EAAEA,EAAE,gBAAgBb,GAAEX,EAAC,EAAEW,EAAC,EAAE,CAAC,IAAIf,GAAEC,GAAEO,GAAEO,EAAC,EAAE,KAAKf,GAAEe,GAAE,IAAId,GAAEA,KAAIQ,GAAE,IAAIT,EAAC,GAAG,CAACS,GAAE,IAAIT,EAAC,EAAEO,EAAEH,EAAC,EAAEJ,GAAEQ,GAAEO,EAAC,IAAIV,GAAE,IAAI8B,EAASA,IAAP,KAAS,CAAA,EAAGA,GAAGnC,EAAC,EAAEe,EAAC,MAAMP,GAAEO,EAAC,EAAE,EAAER,EAAEH,EAAC,EAAEW,GAAEN,GAAE,IAAIM,EAAC,CAAC,CAACV,IAAG,QAAQ,KAAK,sCAAsC,EAAE+B,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK1B,EAAE,OAAOG,EAAE,KAAK,CAAC,UAAUgB,EAAE,UAAUC,EAAE,QAAQU,EAAE,UAAU,CAAC,CAACxC,EAAE,OAAOiB,GAAGhB,GAAG,GAAG,eAAekC,CAAC,CAAC,CAAC,CAAC,SAASO,IAAG,CAACV,EAAES,EAAC,CAAE,EAAE/B,EAAE,CAAA,EAAGG,EAAE,CAAA,CAAE,CAAC,EAAE,KAAK,MAAM,UAAU,CAAC2B,EAAE,EAAE,EAAE,KAAK,aAAa,UAAU,CAAC,OAAOD,CAAC,CAAC,CAAC,SAAShB,GAAEvB,EAAE,CAAC,IAAIC,EAAED,EAAE,KAAKe,EAAEN,GAAER,EAAE,QAAQ,EAAEG,EAAE,GAAG,GAAGH,EAAE,MAAMc,EAAE,UAAUd,EAAE,MAAMA,EAAE,IAAI,UAAUA,EAAE,SAASA,EAAE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,UAAU,CAACG,EAAE,GAAGqB,GAAExB,EAAE,SAAS,CAAC,KAAK,CAAA,EAAG,OAAO,CAAA,EAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,MAAMqB,GAAE,OAAOA,EAAC,EAAE,GAAGN,EAAED,EAAE,QAAQ,EAAE,CAAC,QAAQR,EAAE,EAAEA,EAAEN,EAAE,QAAQ,KAAK,SAASc,EAAE,SAAS,CAAC,KAAKd,EAAE,QAAQ,KAAKM,CAAC,EAAE,OAAON,EAAE,QAAQ,OAAO,KAAKA,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,CAACG,GAAGG,IAAI,CAAC,OAAON,EAAE,OAAO,MAAMe,EAAED,EAAE,SAAS,IAAIA,EAAE,UAAUd,EAAE,QAAQ,EAAEA,EAAE,IAAI,EAAE,OAAOA,EAAE,QAAQ,CAACA,EAAE,UAAU,CAACG,GAAGqB,GAAExB,EAAE,SAASA,EAAE,OAAO,CAAC,CAAC,SAASwB,GAAEzB,EAAEC,EAAE,CAAC,IAAIc,EAAEN,GAAET,CAAC,EAAEgB,EAAED,EAAE,YAAY,GAAGA,EAAE,aAAad,CAAC,EAAEc,EAAE,UAAS,EAAG,OAAON,GAAET,CAAC,CAAC,CAAC,SAASsB,IAAG,CAAC,MAAM,IAAI,MAAM,kBAAkB,CAAC,CAAC,SAASR,GAAEd,EAAE,CAAC,GAAa,OAAOA,GAAjB,UAA2BA,IAAP,KAAS,OAAOA,EAAE,IAAIC,EAAEc,EAAE,MAAM,QAAQf,CAAC,EAAE,CAAA,EAAG,CAAA,EAAG,IAAIC,KAAKD,EAAEe,EAAEd,CAAC,EAAEa,GAAEd,EAAEC,CAAC,CAAC,EAAE,OAAOc,CAAC,CAAC,SAASG,GAAElB,EAAEC,EAAE,CAAC,OAAO,UAAU,CAACD,EAAE,MAAMC,EAAE,SAAS,CAAC,CAAC,CAAC,SAASe,EAAEhB,EAAE,CAAC,OAAkB,OAAOA,GAAnB,UAAoB,CAAC,OAAOW,EAAE,MAAM,SAASX,EAAEC,EAAE,CAAC,IAAIc,GAAGd,EAAEA,GAAG,CAAA,GAAI,eAAe,GAA0C,GAAvCe,EAAED,CAAC,IAAId,EAAE,sBAAsBc,EAAEA,EAAE,CAAA,GAAOd,EAAE,cAAcc,EAAEd,EAAE,UAAU,CAAC,CAACe,EAAEf,EAAE,SAAS,GAAGA,EAAE,UAAU,CAACA,EAAE,QAAQ,CAACU,EAAE,kBAAkB,OAAOI,EAAE,KAAKJ,EAAE,kBAA4B,OAAOX,GAAjB,UAAoBA,EAAEY,EAAEZ,CAAC,EAAEe,EAAE,IAAId,EAAE,SAASgB,GAAEG,GAAGnB,CAAC,GAAQD,EAAE,WAAP,IAAiBgB,EAAEhB,EAAE,IAAI,GAAGgB,EAAEhB,EAAE,EAAE,EAAEe,EAAE,IAAIM,EAAEpB,CAAC,GAAGI,EAAE,MAAML,aAAa,MAAMA,aAAa,UAAUe,EAAE,IAAII,EAAElB,CAAC,GAAGc,EAAE,OAAOf,CAAC,GAAGe,GAAG,IAAI,CAAC,IAAIf,EAAE,MAAM,CAAC,CAACW,EAAE,oBAAoBX,GAAG,IAAI,CAAC,IAAIA,EAAEK,EAAE,KAAKA,EAAE,WAAW,KAAKJ,EAAEG,EAAE,SAAQ,EAAG,OAAOO,EAAE,WAAWA,EAAE,SAASX,EAAE,gBAAgB,IAAI,KAAK,CAAC,yOAAyO,IAAIC,EAAE,MAAM,EAAE,CAAC,KAAK,iBAAiB,CAAC,CAAC,EAAE,GAAC,GAAKD,EAAE,IAAIK,EAAE,OAAOL,CAAC,GAAG,UAAUuB,GAAEvB,EAAE,GAAGU,IAAID,GAAET,EAAE,EAAE,EAAEA,EAAE,GAAC,GAAK,SAASC,EAAE,KAAKc,EAAE,UAAUd,EAAE,MAAMc,EAAE,aAAad,EAAE,SAASc,EAAE,UAAUd,EAAE,MAAMA,EAAE,KAAKe,EAAEf,EAAE,IAAI,EAAEA,EAAE,MAAMe,EAAEf,EAAE,KAAK,EAAEA,EAAE,SAASe,EAAEf,EAAE,QAAQ,EAAEA,EAAE,MAAMe,EAAEf,EAAE,KAAK,EAAE,OAAOA,EAAE,OAAOc,EAAE,YAAY,CAAC,MAAMf,EAAE,OAAOC,EAAE,SAASc,EAAE,EAAE,CAAC,CAAC,EAAEJ,EAAE,QAAQ,SAASX,EAAEC,EAAE,CAAC,IAAI,EAAE,GAAGwB,EAAE,GAAGH,EAAE,IAAIJ,EAAE;AAAA,EAAOV,EAAE,IAAIC,EAAED,EAAEA,EAAEO,EAAE,GAAGX,EAAE,KAAKM,EAAE,GAAGG,IAAI,IAAI,CAAC,GAAa,OAAOZ,GAAjB,SAAmB,CAAC,GAAa,OAAOA,EAAE,WAAnB,UAA8BU,EAAE,eAAe,OAAO,SAASX,EAAE,CAAC,OAAWC,EAAE,UAAU,QAAQD,CAAC,IAA1B,EAA2B,CAAC,EAAE,SAASsB,EAAErB,EAAE,WAAsB,OAAOA,EAAE,QAApB,WAAwC,OAAOA,EAAE,QAArB,YAA6B,CAAC,MAAM,QAAQA,EAAE,MAAM,IAAI,EAAEA,EAAE,QAAmB,OAAOA,EAAE,gBAApB,WAA8C,OAAOA,EAAE,gBAAnB,WAAoCc,EAAEd,EAAE,gBAA0B,OAAOA,EAAE,SAAnB,WAA6BiB,EAAEjB,EAAE,SAAmB,OAAOA,EAAE,WAAnB,WAA+BO,EAAEP,EAAE,UAAUQ,EAAED,EAAEA,GAAc,OAAOP,EAAE,QAApB,YAA6BwB,EAAExB,EAAE,QAAQ,MAAM,QAAQA,EAAE,OAAO,EAAE,CAAC,GAAOA,EAAE,QAAQ,SAAd,EAAqB,MAAM,IAAI,MAAM,yBAAyB,EAAEG,EAAEH,EAAE,OAAO,CAAUA,EAAE,aAAX,SAAwBQ,EAAER,EAAE,WAAWO,GAAGP,EAAE,0BAA0B,OAAOS,EAAET,EAAE,eAA0B,OAAOA,EAAE,gBAApB,WAAoCA,EAAE,iBAAiBS,EAAE,kBAAkB,CAAC,GAAC,EAAI,IAAI,OAAOiB,GAAEnB,CAAC,EAAE,GAAG,GAAyC,GAA5B,OAAOR,GAAjB,WAAqBA,EAAE,KAAK,MAAMA,CAAC,GAAM,MAAM,QAAQA,CAAC,EAAE,CAAC,GAAG,CAACA,EAAE,QAAQ,MAAM,QAAQA,EAAE,CAAC,CAAC,EAAE,OAAOK,EAAE,KAAKL,EAAEe,CAAC,EAAE,GAAa,OAAOf,EAAE,CAAC,GAApB,SAAsB,OAAOK,EAAED,GAAG,OAAO,KAAKJ,EAAE,CAAC,CAAC,EAAEA,EAAEe,CAAC,CAAC,SAAmB,OAAOf,GAAjB,SAAmB,OAAgB,OAAOA,EAAE,MAAnB,WAA0BA,EAAE,KAAK,KAAK,MAAMA,EAAE,IAAI,GAAG,MAAM,QAAQA,EAAE,IAAI,IAAIA,EAAE,SAASA,EAAE,OAAOA,EAAE,MAAMA,EAAE,KAAK,QAAQI,GAAGJ,EAAE,SAASA,EAAE,OAAO,MAAM,QAAQA,EAAE,KAAK,CAAC,CAAC,EAAEA,EAAE,OAAiB,OAAOA,EAAE,KAAK,CAAC,GAAzB,SAA2B,OAAO,KAAKA,EAAE,KAAK,CAAC,CAAC,EAAE,CAAA,GAAI,MAAM,QAAQA,EAAE,KAAK,CAAC,CAAC,GAAa,OAAOA,EAAE,KAAK,CAAC,GAAzB,WAA6BA,EAAE,KAAK,CAACA,EAAE,IAAI,IAAIK,EAAEL,EAAE,QAAQ,CAAA,EAAGA,EAAE,MAAM,CAAA,EAAGe,CAAC,EAAE,MAAM,IAAI,MAAM,wCAAwC,EAAE,SAASV,EAAEL,EAAEC,EAAEc,EAAE,CAAC,IAAIX,EAAE,GAAGC,GAAa,OAAOL,GAAjB,WAAqBA,EAAE,KAAK,MAAMA,CAAC,GAAa,OAAOC,GAAjB,WAAqBA,EAAE,KAAK,MAAMA,CAAC,GAAG,MAAM,QAAQD,CAAC,GAAG,EAAEA,EAAE,QAAQO,EAAE,CAAC,MAAM,QAAQN,EAAE,CAAC,CAAC,EAAE,GAAGI,GAAGoB,EAAE,CAAC,QAAQjB,EAAE,EAAEA,EAAER,EAAE,OAAOQ,IAAI,EAAEA,IAAIJ,GAAGkB,GAAGlB,GAAGoB,EAAExB,EAAEQ,CAAC,EAAEA,CAAC,EAAE,EAAEP,EAAE,SAASG,GAAGc,EAAE,CAAC,QAAQT,EAAE,EAAEA,EAAER,EAAE,OAAOQ,IAAI,CAAC,IAAIC,GAAGL,EAAEL,EAAEC,EAAEQ,CAAC,GAAG,OAAOI,EAAE,GAAGP,EAAED,EAAM,OAAO,KAAKJ,EAAEQ,CAAC,CAAC,EAAE,SAAtB,EAAiCR,EAAEQ,CAAC,EAAE,SAAT,EAAgB,GAAGM,GAAG,CAACV,IAAIQ,EAAaE,IAAX,SAAkBd,EAAEQ,CAAC,EAAE,KAAK,EAAE,EAAE,KAAI,IAAvB,GAA8BR,EAAEQ,CAAC,EAAE,SAAT,GAAqBR,EAAEQ,CAAC,EAAE,CAAC,EAAE,SAAZ,GAA+BM,IAAX,UAAcV,EAAE,CAAC,QAAQY,EAAE,CAAA,EAAGE,EAAE,EAAEA,EAAET,EAAES,IAAI,CAAC,IAAIC,EAAEb,EAAEP,EAAEmB,CAAC,EAAEA,EAAEF,EAAE,KAAKhB,EAAEQ,CAAC,EAAEW,CAAC,CAAC,CAAC,CAACP,EAAOI,EAAE,KAAK,EAAE,EAAE,KAAI,IAApB,EAAsB,CAAC,GAAG,CAACJ,EAAE,CAAC,QAAQQ,EAAE,EAAEA,EAAEX,EAAEW,IAAI,CAAC,EAAEA,GAAG,CAACf,IAAIF,GAAGkB,GAAG,IAAIC,EAAElB,GAAGE,EAAEP,EAAEqB,CAAC,EAAEA,EAAEjB,GAAGoB,EAAEvB,EAAEQ,CAAC,EAAEc,CAAC,EAAEF,CAAC,CAAC,CAACZ,EAAER,EAAE,OAAO,IAAI,CAACc,GAAG,EAAEL,GAAG,CAACJ,KAAKF,GAAGc,EAAE,CAAC,CAAC,OAAOd,CAAC,CAAC,SAASoB,EAAExB,EAAEC,EAAE,CAAC,IAAIc,EAAEX,EAAEC,EAAE,OAAaL,GAAN,KAAQ,GAAGA,EAAE,cAAc,KAAK,KAAK,UAAUA,CAAC,EAAE,MAAM,EAAE,EAAE,GAAGK,EAAE,GAAGK,GAAa,OAAOV,GAAjB,UAAoBU,EAAE,KAAKV,CAAC,IAAIA,EAAE,IAAIA,EAAEK,EAAE,IAAID,GAAGW,EAAEf,EAAE,SAAQ,GAAI,QAAQa,EAAEJ,CAAC,GAAGJ,EAAEA,GAAQ,IAAL,IAAoB,OAAO,GAAnB,YAAsB,EAAEL,EAAEC,CAAC,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAEA,CAAC,IAAI,CAACD,EAAEC,IAAI,CAAC,QAAQc,EAAE,EAAEA,EAAEd,EAAE,OAAOc,IAAI,GAAG,GAAGf,EAAE,QAAQC,EAAEc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAGX,EAAEO,EAAE,cAAc,GAAG,GAAGP,EAAE,QAAQkB,CAAC,GAAG,GAAGP,EAAE,QAAQP,CAAC,GAASJ,EAAE,OAAO,CAAC,IAAhB,KAAyBA,EAAE,OAAOA,EAAE,OAAO,CAAC,IAAzB,KAA4BI,EAAEJ,EAAEI,EAAEJ,EAAE,CAAC,EAAEO,EAAE,WAAW,IAAwBA,EAAE,SAAS,IAAwBA,EAAE,gBAAgB,SAASA,EAAE,eAAe,CAAC,KAAK;AAAA,EAAK,IAAIA,EAAE,eAAe,EAAEA,EAAE,kBAAkB,CAACJ,GAAG,CAAC,CAACF,EAAE,OAAOM,EAAE,kBAAkB,EAAEA,EAAE,eAAe,SAASA,EAAE,gBAAgB,QAAQA,EAAE,iBAAiB,IAAIA,EAAE,OAAOe,GAAEf,EAAE,aAAaI,GAAEJ,EAAE,gBAAgBM,GAAEN,EAAE,aAAaQ,EAAER,EAAE,eAAeS,EAAET,EAAE,uBAAuBU,EAAEhB,EAAE,UAAUC,EAAED,EAAE,QAAQ,GAAG,MAAM,SAASI,EAAE,CAAC,IAAIM,EAAEN,EAAE,QAAQ,GAAGC,EAAE,CAAA,EAAG,OAAO,KAAK,KAAK,SAASV,EAAE,CAAC,GAAG,EAAYM,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,YAAW,IAA7C,SAA0DA,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,YAAW,IAAzC,QAA6CD,EAAE,aAAa,CAAC,KAAK,OAAW,KAAK,MAAM,SAAf,EAAsB,MAAM,GAAG,QAAQJ,EAAE,EAAEA,EAAE,KAAK,MAAM,OAAOA,IAAIS,EAAE,KAAK,CAAC,KAAK,KAAK,MAAMT,CAAC,EAAE,UAAU,KAAK,eAAeK,EAAE,OAAO,CAAA,EAAGS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEf,EAAC,EAAG,KAAK,SAASA,GAAG,CAAC,GAAOU,EAAE,SAAN,EAAaM,EAAEP,EAAE,QAAQ,GAAGA,EAAE,SAAQ,MAAO,CAAC,IAAIT,EAAEC,EAAEc,EAAEX,EAAEC,EAAEK,EAAE,CAAC,EAAE,GAAGM,EAAEP,EAAE,MAAM,EAAE,CAAC,IAAIF,EAAEE,EAAE,OAAOJ,EAAE,KAAKA,EAAE,SAAS,EAAE,GAAa,OAAOE,GAAjB,SAAmB,CAAC,GAAaA,EAAE,SAAZ,QAAmB,OAAOP,EAAE,aAAaC,EAAEI,EAAE,KAAKU,EAAEV,EAAE,UAAUD,EAAEG,EAAE,OAAO,KAAKS,EAAEP,EAAE,KAAK,GAAGA,EAAE,MAAM,CAAC,KAAKT,CAAC,EAAEC,EAAEc,EAAEX,CAAC,GAAG,GAAYG,EAAE,SAAX,OAAkB,OAAO,KAAKM,EAAC,EAAa,OAAON,EAAE,QAAnB,WAA4BF,EAAE,eAAeC,EAAE,OAAOD,EAAE,eAAeE,EAAE,MAAM,EAAE,SAAkBA,IAAT,OAAW,OAAO,KAAKM,EAAC,CAAE,CAAC,IAAIL,EAAEH,EAAE,eAAe,SAASA,EAAE,eAAe,SAAS,SAASL,EAAE,CAACgB,EAAER,CAAC,GAAGA,EAAER,EAAEK,EAAE,KAAKA,EAAE,SAAS,EAAEQ,EAAC,CAAE,EAAEF,EAAE,MAAMN,EAAE,KAAKA,EAAE,cAAc,CAAC,CAAC,CAAC,SAASQ,GAAG,CAACH,EAAE,OAAO,EAAE,CAAC,EAAEV,EAAC,CAAE,CAAC,GAAGQ,IAAIH,EAAE,UAAU,SAASL,EAAE,CAACA,EAAEA,EAAE,KAAcW,EAAE,YAAX,QAAsBX,IAAIW,EAAE,UAAUX,EAAE,UAAoB,OAAOA,EAAE,OAAnB,SAAyBK,EAAE,YAAY,CAAC,SAASM,EAAE,UAAU,QAAQA,EAAE,MAAMX,EAAE,MAAMA,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAGK,EAAE,MAAML,EAAE,iBAAiB,MAAMA,EAAE,iBAAiB,UAAUA,EAAEW,EAAE,MAAMX,EAAE,MAAMA,EAAE,MAAM,IAAIK,EAAE,YAAY,CAAC,SAASM,EAAE,UAAU,QAAQX,EAAE,SAAS,EAAE,CAAC,CAAC,IAAIiB,GAAE,UAAU,OAAO,OAAOJ,EAAE,SAAS,GAAG,YAAYI,IAAGE,EAAE,UAAU,OAAO,OAAON,EAAE,SAAS,GAAG,YAAYM,GAAGC,EAAE,UAAU,OAAO,OAAOA,EAAE,SAAS,GAAG,YAAYA,GAAGC,EAAE,UAAU,OAAO,OAAOR,EAAE,SAAS,GAAG,YAAYQ,EAAEV,CAAC,CAAC,gDCU37lBgC,GAAgB,CACpB,CAAE,MAAO,WAAY,GAAI,KAAU,GAAK,GAAA,EACxC,CAAE,MAAO,SAAU,GAAI,MAAc,GAAK,GAAA,EAC1C,CAAE,MAAO,UAAW,GAAI,IAAU,GAAK,GAAK,GAAA,EAC5C,CAAE,MAAO,UAAW,GAAI,KAAU,GAAK,GAAK,GAAA,EAC5C,CAAE,MAAO,SAAU,GAAI,IAAM,GAAK,GAAK,GAAK,GAAA,CAC9C,EAEA,SAASC,EAAOC,EAAOC,EAAS,EAAG,CACjC,OAAOD,GAAU,MAA+B,OAAO,SAAS,OAAOA,CAAK,CAAC,EACzE,OAAOA,CAAK,EAAE,eAAe,OAAW,CAAE,sBAAuBC,CAAA,CAAQ,EACzE,IACN,CAEA,SAASC,GAAUF,EAAO,CACxB,OAAO,OAAO,SAAS,OAAOA,CAAK,CAAC,EAAI,IAAI,KAAK,OAAOA,CAAK,CAAC,EAAE,iBAAmB,IACrF,CAEA,SAASG,GAASH,EAAO,CACvB,MAAMI,EAAU,KAAK,OAAO,OAAOJ,CAAK,GAAK,GAAK,GAAK,EACvD,OAAII,EAAU,GAAW,GAAGA,CAAO,IAC5B,GAAG,KAAK,MAAMA,EAAU,EAAE,CAAC,KAAKA,EAAU,EAAE,GACrD,CAEA,SAASC,GAASL,EAAO,CACvB,MAAMM,EAAc,OAAON,CAAK,GAAK,EACrC,OAAOM,GAAe,IAAM,GAAGP,EAAOO,EAAc,GAAG,CAAC,MAAQ,GAAGP,EAAOO,EAAc,IAAM,CAAC,CAAC,IAClG,CAEA,SAASC,GAAUC,EAAM,CAGvB,MAAMC,EAAMC,GAAK,QAAQF,EAAK,IAAKG,IAAW,CAC5C,GAAGA,EACH,cAAe,KAAK,UAAUA,EAAM,aAAa,CAAA,EACjD,CAAC,EACGC,EAAM,IAAI,gBAAgB,IAAI,KAAK,CAACH,CAAG,EAAG,CAAE,KAAM,wBAAA,CAA0B,CAAC,EAC7EI,EAAS,SAAS,cAAc,GAAG,EACzCA,EAAO,KAAOD,EACdC,EAAO,SAAW,+BAClBA,EAAO,MAAA,EACP,IAAI,gBAAgBD,CAAG,CACzB,CAEA,SAASE,GAAO,CAAE,MAAAC,EAAO,MAAAf,EAAO,OAAAgB,GAAU,CACxC,OACEC,EAAAA,KAAC,MAAA,CAAI,UAAU,8BACb,SAAA,CAAAC,EAAAA,IAAC,MAAA,CAAI,UAAU,gCAAiC,SAAAH,EAAM,EACtDG,EAAAA,IAAC,MAAA,CAAI,UAAU,gDAAiD,SAAAlB,EAAM,EACrEgB,EAASE,EAAAA,IAAC,MAAA,CAAI,UAAU,yCAA0C,WAAO,EAAS,IAAA,EACrF,CAEJ,CAEA,SAASC,EAAY,CAAE,MAAAC,EAAO,KAAAC,EAAM,OAAAC,EAAQ,SAAAC,GAAY,CAGtD,OAAOL,EAAAA,IAAC,KAAA,CAAG,SAAAD,EAAAA,KAAC,SAAA,CAAO,KAAK,SAAS,UAAU,8BAA8B,QAAS,IAAMK,EAAOF,CAAK,EAAI,SAAA,CAAAG,EAAUF,EAAK,MAAQD,EAASC,EAAK,WAAa,KAAO,KAAQ,EAAA,CAAA,CAAG,CAAA,CAAS,CACvL,CAEA,SAASG,GAAgB,CAAE,OAAAC,EAAQ,QAAAC,GAAW,CAC5C,MAAMC,EAASC,GAAA,EACTC,EAAOC,GAAoBC,GAAUA,EAAM,SAAS,MAAQ,IAAI,EAChEC,EAAUH,IAAS,SAAWA,IAAS,WACvC,CAACI,EAAOC,CAAQ,EAAIC,YAAS,CACjC,QAASV,EAAO,OAAO,CAAC,GAAG,SAAW,GACtC,UAAW,UACX,iBAAkB,GAClB,kBAAmB,KAAA,EAAO,cAAc,MAAM,EAAG,EAAE,EACnD,MAAO,EAAA,CACR,EACK,CAACW,GAAQC,CAAS,EAAIF,GAAAA,SAAS,EAAE,EAEvC,SAASG,EAAOC,EAAO,CACrBA,EAAM,eAAA,EACNF,EAAU,SAAS,EACnBV,EAAO,KAAK,8BAA+B,CACzC,GAAGM,EACH,iBAAkB,OAAOA,EAAM,gBAAgB,EAC/C,gBAAiB,KAAK,GAAGA,EAAM,aAAa,WAAW,EAAE,QAAA,CAAQ,EAChE,CAACO,EAAW,KAAO,CACpBH,EAAUG,EAAS,OAAS,cAAcA,EAAS,SAAS,YAAc,SAAS,EAAE,EAChFA,EAAS,OAAOd,EAAA,CACvB,CAAC,CACH,CAEA,OACET,EAAAA,KAACwB,GAAA,CAAU,MAAM,iCAAiC,KAAM,GAAGhB,EAAO,gBAAgB,MAAM,WAAY,cAAc,oBAChH,SAAA,CAAAP,EAAAA,IAAC,OAAI,UAAU,kBACb,SAAAD,EAAAA,KAAC,QAAA,CAAM,UAAU,6CACf,SAAA,CAAAC,MAAC,QAAA,CAAM,UAAU,iBAAiB,SAAAD,EAAAA,KAAC,KAAA,CAAG,SAAA,CAAAC,EAAAA,IAAC,MAAG,SAAA,OAAA,CAAK,EAAKA,EAAAA,IAAC,MAAG,SAAA,SAAA,CAAO,EAAKA,EAAAA,IAAC,MAAG,SAAA,WAAA,CAAS,EAAKA,EAAAA,IAAC,MAAG,SAAA,WAAA,CAAS,EAAKA,EAAAA,IAAC,MAAG,SAAA,WAAA,CAAS,EAAKA,EAAAA,IAAC,MAAG,SAAA,SAAA,CAAO,EAAKA,EAAAA,IAAC,MAAG,SAAA,sBAAA,CAAoB,EAAKA,EAAAA,IAAC,MAAG,SAAA,OAAA,CAAK,CAAA,CAAA,CAAK,CAAA,CAAK,EAC1LA,EAAAA,IAAC,QAAA,CAAO,SAAAO,EAAO,gBAAgB,IAAKiB,GAClCzB,EAAAA,KAAC,KAAA,CAA4B,UAAU,gDACrC,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAI,WAAQ,OAAA,CAAQ,EAAKA,EAAAA,IAAC,KAAA,CAAI,SAAAwB,EAAQ,UAAA,CAAW,EAAKxB,EAAAA,IAAC,KAAA,CAAI,SAAAwB,EAAQ,WAAa,KAAK,QACrF,KAAA,CAAI,SAAA3C,EAAO2C,EAAQ,iBAAkB,CAAC,EAAE,EAAKxB,EAAAA,IAAC,KAAA,CAAI,SAAAhB,GAAUwC,EAAQ,WAAW,EAAE,EAClFxB,EAAAA,IAAC,KAAA,CAAI,SAAAhB,GAAUwC,EAAQ,SAAS,EAAE,QAAM,KAAA,CAAI,SAAA3C,EAAO2C,EAAQ,mBAAoB,CAAC,EAAE,EAAKxB,EAAAA,IAAC,KAAA,CAAI,SAAAwB,EAAQ,OAAS,IAAA,CAAK,CAAA,GAH3GA,EAAQ,UAIjB,CACD,CAAA,CAAE,CAAA,CAAA,CACL,CAAA,CACF,EACCV,EACCf,EAAAA,KAAC,OAAA,CAAK,UAAU,iEAAiE,SAAUqB,EACzF,SAAA,CAAArB,OAAC,QAAA,CAAM,SAAA,CAAAC,EAAAA,IAAC,OAAA,CAAK,UAAU,iBAAiB,SAAA,QAAK,QAAQ,SAAA,CAAO,UAAU,8BAA8B,MAAOe,EAAM,QAAS,SAAWM,GAAUL,EAAUlC,IAAW,CAAE,GAAGA,EAAO,QAASuC,EAAM,OAAO,KAAA,EAAQ,EAAI,SAAAd,EAAO,OAAO,IAAKd,GAAUO,EAAAA,IAAC,SAAA,CAA2B,MAAOP,EAAM,QAAU,SAAAA,EAAM,MAA5CA,EAAM,OAA2C,CAAS,CAAA,CAAE,CAAA,EAAS,SAChU,QAAA,CAAM,SAAA,CAAAO,EAAAA,IAAC,OAAA,CAAK,UAAU,iBAAiB,SAAA,YAAS,EAAOD,OAAC,UAAO,UAAU,8BAA8B,MAAOgB,EAAM,UAAW,SAAWM,GAAUL,EAAUlC,IAAW,CAAE,GAAGA,EAAO,UAAWuC,EAAM,OAAO,KAAA,EAAQ,EAAG,SAAA,CAAArB,EAAAA,IAAC,SAAA,CAAO,MAAM,UAAU,SAAA,UAAO,EAASA,EAAAA,IAAC,SAAA,CAAO,MAAM,OAAO,SAAA,OAAI,EAASA,EAAAA,IAAC,SAAA,CAAO,MAAM,SAAS,SAAA,QAAA,CAAM,CAAA,CAAA,CAAS,CAAA,EAAS,SACjV,QAAA,CAAM,SAAA,CAAAA,EAAAA,IAAC,OAAA,CAAK,UAAU,iBAAiB,SAAA,qBAAkB,EAAOA,EAAAA,IAAC,QAAA,CAAM,SAAQ,GAAC,IAAI,IAAI,IAAI,QAAQ,KAAK,SAAS,UAAU,8BAA8B,MAAOe,EAAM,iBAAkB,SAAWM,GAAUL,EAAUlC,IAAW,CAAE,GAAGA,EAAO,iBAAkBuC,EAAM,OAAO,KAAA,EAAQ,CAAA,CAAG,CAAA,EAAE,SAC3R,QAAA,CAAM,SAAA,CAAArB,EAAAA,IAAC,OAAA,CAAK,UAAU,iBAAiB,SAAA,YAAS,EAAOA,EAAAA,IAAC,QAAA,CAAM,SAAQ,GAAC,KAAK,OAAO,UAAU,8BAA8B,MAAOe,EAAM,cAAe,SAAWM,GAAUL,EAAUlC,IAAW,CAAE,GAAGA,EAAO,cAAeuC,EAAM,OAAO,KAAA,EAAQ,CAAA,CAAG,CAAA,EAAE,SACtP,QAAA,CAAM,SAAA,CAAArB,EAAAA,IAAC,OAAA,CAAK,UAAU,iBAAiB,SAAA,QAAK,EAAOA,MAAC,SAAM,UAAU,8BAA8B,MAAOe,EAAM,MAAO,SAAWM,GAAUL,EAAUlC,IAAW,CAAE,GAAGA,EAAO,MAAOuC,EAAM,OAAO,KAAA,EAAQ,CAAA,CAAG,CAAA,EAAE,EAC9MtB,EAAAA,KAAC,MAAA,CAAI,UAAU,yBAAyB,SAAA,CAAAC,MAAC,SAAA,CAAO,KAAK,SAAS,UAAU,0BAA0B,SAAA,qBAAkB,EAASA,EAAAA,IAAC,OAAA,CAAK,UAAU,iBAAkB,SAAAkB,EAAA,CAAO,CAAA,CAAA,CAAO,CAAA,CAAA,CAC/K,EACE,IAAA,EACN,CAEJ,CAEA,SAASO,IAAoB,CAC3B,KAAM,CAACC,EAASC,CAAU,EAAIV,GAAAA,SAASrC,GAAc,CAAC,EAAE,EAAE,EACpD,CAACgD,EAAUC,CAAW,EAAIZ,GAAAA,SAAS,IAAM,KAAK,KAAK,EACnD,CAACa,EAAOC,CAAQ,EAAId,GAAAA,SAAS,EAAE,EAC/B,CAACd,EAAM6B,EAAO,EAAIf,GAAAA,SAAS,CAAE,IAAK,OAAQ,WAAY,GAAO,EAC7D,CAAE,OAAAV,EAAQ,QAAA0B,EAAS,MAAAC,EAAO,QAAA1B,CAAA,EAAY2B,GAAe,CACzD,MAAOP,EAAWF,EAClB,MAAOE,EACP,cAAe,EAAA,CAChB,EAEKtC,GAAO8C,GAAAA,QAAQ,IAIZ,CAAC,IAHU7B,GAAQ,QAAU,CAAA,GAAI,OAAQd,GAC9C,GAAGA,EAAM,IAAI,IAAIA,EAAM,OAAO,GAAG,YAAA,EAAc,SAASqC,EAAM,KAAA,EAAO,aAAa,CAAA,CAEjE,EAAE,KAAK,CAACO,EAAMC,KAAU,CACzC,MAAMC,GAAYpC,EAAK,IAAI,WAAW,gBAAgB,EAClDkC,EAAK,gBAAgBlC,EAAK,IAAI,MAAM,EAAuB,CAAC,EAC5DkC,EAAKlC,EAAK,GAAG,EACXqC,GAAarC,EAAK,IAAI,WAAW,gBAAgB,EACnDmC,GAAM,gBAAgBnC,EAAK,IAAI,MAAM,EAAuB,CAAC,EAC7DmC,GAAMnC,EAAK,GAAG,EACZsC,GAAS,OAAOF,IAAc,SAChCA,GAAU,cAAc,OAAOC,IAAc,EAAE,CAAC,GAC/C,OAAOD,EAAS,GAAK,IAAM,OAAOC,EAAU,GAAK,GACtD,OAAOrC,EAAK,WAAa,CAACsC,GAASA,EACrC,CAAC,EACA,CAACX,EAAOvB,EAAQJ,CAAI,CAAC,EAExB,SAASuC,EAAOC,EAAK,CACnBX,GAASY,IAAa,CAAE,IAAAD,EAAK,WAAYC,EAAQ,MAAQD,EAAM,CAACC,EAAQ,WAAa,EAAA,EAAQ,CAC/F,CAEA,OACE7C,EAAAA,KAAA8C,WAAA,CACE,SAAA,CAAA9C,EAAAA,KAACwB,GAAA,CAAU,MAAM,sCAAsC,KAAMhB,EAASvB,GAAUuB,EAAO,WAAW,EAAI,UAAW,cAAc,oBAC7H,SAAA,CAAAR,EAAAA,KAAC,MAAA,CAAI,UAAU,yDACb,SAAA,CAAAA,OAAC,QAAA,CAAM,SAAA,CAAAC,EAAAA,IAAC,OAAA,CAAK,UAAU,wBAAwB,SAAA,QAAK,EAAOA,EAAAA,IAAC,SAAA,CAAO,UAAU,uBAAuB,MAAO0B,EAAS,SAAWL,GAAUM,EAAW,OAAON,EAAM,OAAO,KAAK,CAAC,EAAI,SAAAzC,GAAc,IAAKkE,GAAW9C,EAAAA,IAAC,SAAA,CAAuB,MAAO8C,EAAO,GAAK,SAAAA,EAAO,KAAA,EAArCA,EAAO,EAAoC,CAAS,CAAA,CAAE,CAAA,EAAS,SAC3R,QAAA,CAAM,SAAA,CAAA9C,EAAAA,IAAC,OAAA,CAAK,UAAU,wBAAwB,SAAA,aAAU,EAAOA,EAAAA,IAAC,QAAA,CAAM,UAAU,uBAAuB,MAAO8B,EAAO,SAAWT,GAAUU,EAASV,EAAM,OAAO,KAAK,CAAA,CAAG,CAAA,EAAE,QAC1K,SAAA,CAAO,KAAK,SAAS,UAAU,0BAA0B,QAAS,IAAM,CAAEQ,EAAY,KAAK,KAAK,EAAGrB,EAAA,CAAW,EAAG,SAAA,UAAO,QACxHuC,GAAA,CAAK,UAAU,0BAA0B,GAAG,IAAI,SAAA,MAAA,CAAI,CAAA,EACvD,EACCd,GAAW,CAAC1B,EAASP,EAAAA,IAAC,KAAE,UAAU,iBAAiB,kCAAsB,EAAO,KAChFkC,EAAQlC,EAAAA,IAAC,IAAA,CAAE,UAAU,eAAgB,WAAM,EAAO,KAClDO,EACCR,EAAAA,KAAC,MAAA,CAAI,UAAU,yDACb,SAAA,CAAAC,EAAAA,IAACJ,GAAA,CAAO,MAAM,gBAAgB,MAAO,GAAGW,EAAO,OAAO,gBAAgB,IAAIA,EAAO,OAAO,UAAU,GAAI,EACtGP,EAAAA,IAACJ,IAAO,MAAM,WAAW,MAAOT,GAASoB,EAAO,OAAO,UAAU,EAAG,EACpEP,EAAAA,IAACJ,GAAA,CAAO,MAAM,cAAc,MAAO,GAAGf,EAAO0B,EAAO,OAAO,YAAY,CAAC,KAAA,CAAO,EAC/EP,EAAAA,IAACJ,GAAA,CAAO,MAAM,cAAc,MAAOW,EAAO,OAAO,gBAAkB,KAAO,KAAO1B,EAAO0B,EAAO,OAAO,cAAc,EAAG,EACvHP,EAAAA,IAACJ,GAAA,CAAO,MAAM,eAAe,MAAOW,EAAO,OAAO,eAAiB,KAAO,KAAO1B,EAAO0B,EAAO,OAAO,aAAa,EAAG,EACtHP,EAAAA,IAACJ,GAAA,CAAO,MAAM,gBAAgB,MAAO,GAAGf,EAAO0B,EAAO,OAAO,kBAAkB,CAAC,KAAA,CAAO,EACvFP,EAAAA,IAACJ,GAAA,CAAO,MAAM,oBAAoB,MAAO,GAAGf,EAAO0B,EAAO,OAAO,sBAAsB,CAAC,KAAA,CAAO,EAC/FP,EAAAA,IAACJ,GAAA,CAAO,MAAM,YAAY,MAAOf,EAAO0B,EAAO,OAAO,eAAgB,CAAC,CAAA,CAAG,CAAA,CAAA,CAC5E,EACE,IAAA,EACN,EAECA,EACCR,EAAAA,KAAA8C,WAAA,CACE,SAAA,CAAA7C,EAAAA,IAACuB,GAAA,CACC,MAAM,aACN,KAAM,GAAGjC,GAAK,MAAM,WACpB,QAASU,EAAAA,IAAC,SAAA,CAAO,KAAK,SAAS,UAAU,mCAAmC,QAAS,IAAMX,GAAUC,EAAI,EAAG,SAAA,YAAA,CAAU,EACtH,cAAc,wBAEd,SAAAS,EAAAA,KAAC,QAAA,CAAM,UAAU,6CACf,SAAA,CAAAC,MAAC,QAAA,CAAM,UAAU,6CAA6C,SAAAD,EAAAA,KAAC,KAAA,CAC7D,SAAA,CAAAC,MAACC,GAAY,MAAM,OAAO,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,QAAK,QAAezC,EAAA,CAAY,MAAM,SAAS,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,QAAK,QACrIzC,EAAA,CAAY,MAAM,yCAAyC,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,SAAM,QAAezC,EAAA,CAAY,MAAM,kCAAkC,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,YAAS,QACrMzC,EAAA,CAAY,MAAM,iCAAiC,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,YAAS,QAAezC,EAAA,CAAY,MAAM,2BAA2B,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,aAAU,QAC1LzC,EAAA,CAAY,MAAM,iBAAiB,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,QAAK,QAAezC,EAAA,CAAY,MAAM,gBAAgB,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,eAAY,QAC7JzC,EAAA,CAAY,MAAM,aAAa,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,WAAQ,QAAezC,EAAA,CAAY,MAAM,eAAe,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,UAAO,QACtJzC,EAAA,CAAY,MAAM,qBAAqB,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,YAAS,QAAezC,EAAA,CAAY,MAAM,yBAAyB,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,gBAAa,QAC/KzC,EAAA,CAAY,MAAM,WAAW,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,cAAW,QAAezC,EAAA,CAAY,MAAM,0BAA0B,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,gBAAa,QACxKzC,EAAA,CAAY,MAAM,0BAA0B,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,gBAAa,QAAezC,EAAA,CAAY,MAAM,kBAAkB,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,SAAM,QAC1KzC,EAAA,CAAY,MAAM,mBAAmB,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,UAAO,QAAezC,EAAA,CAAY,MAAM,mBAAmB,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,UAAO,QAC/JzC,EAAA,CAAY,MAAM,sBAAsB,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,cAAW,QAAezC,EAAA,CAAY,MAAM,eAAe,KAAAE,EAAY,OAAQuC,EAAQ,SAAA,WAAA,CAAS,CAAA,CAAA,CACvK,CAAA,CAAK,EACL1C,EAAAA,IAAC,QAAA,CAAO,SAAAV,GAAK,IAAKG,GAAU,CAC1B,MAAMuD,EAASvD,EAAM,cACrB,OACEM,EAAAA,KAAC,KAAA,CAAuB,UAAU,gDAChC,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAG,UAAU,6CAA8C,SAAAP,EAAM,KAAK,EAAKO,EAAAA,IAAC,KAAA,CAAI,SAAAP,EAAM,OAAS,SAAW,UAAU,EACrHO,EAAAA,IAAC,KAAA,CAAI,SAAAgD,EAAO,0BAA4B,KAAO,KAAO,GAAGnE,EAAOmE,EAAO,yBAA0B,CAAC,CAAC,IAAI,EACvGhD,EAAAA,IAAC,KAAA,CAAI,SAAAgD,EAAO,mBAAqB,KAAO,KAAOnE,EAAOmE,EAAO,kBAAoB,IAAM,CAAC,CAAA,CAAE,EAC1FhD,EAAAA,IAAC,KAAA,CAAI,SAAAnB,EAAOmE,EAAO,gBAAgB,EAAE,QAAM,KAAA,CAAG,MAAOA,EAAO,iBAAmB,WAAO,WAAW,EACjGhD,EAAAA,IAAC,KAAA,CAAI,SAAAP,EAAM,gBAAkB,KAAO,QAAQN,GAASM,EAAM,4BAA4B,CAAC,GAAKZ,EAAOY,EAAM,cAAc,EAAE,EAC1HO,EAAAA,IAAC,KAAA,CAAI,SAAAnB,EAAOY,EAAM,aAAa,EAAE,EAAKO,EAAAA,IAAC,KAAA,CAAI,SAAAb,GAASM,EAAM,UAAU,EAAE,EAAKO,EAAAA,IAAC,KAAA,CAAI,SAAAnB,EAAOY,EAAM,YAAY,EAAE,EAC3GO,EAAAA,IAAC,KAAA,CAAI,SAAAnB,EAAOY,EAAM,kBAAkB,EAAE,EAAKO,EAAAA,IAAC,KAAA,CAAI,SAAAnB,EAAOY,EAAM,sBAAsB,EAAE,EAAKO,EAAAA,IAAC,KAAA,CAAI,SAAAf,GAASQ,EAAM,QAAQ,EAAE,EACxHO,EAAAA,IAAC,KAAA,CAAI,SAAAP,EAAM,yBAA2B,KAAO,KAAO,GAAGZ,EAAOY,EAAM,uBAAuB,CAAC,OAAA,CAAQ,EACpGO,EAAAA,IAAC,KAAA,CAAI,SAAAP,EAAM,yBAA2B,KAAO,KAAO,GAAGZ,EAAOY,EAAM,uBAAuB,CAAC,OAAA,CAAQ,SACnG,KAAA,CAAI,SAAA,CAAAZ,EAAOY,EAAM,gBAAiB,CAAC,EAAE,MAAA,EAAI,SAAM,KAAA,CAAI,SAAA,CAAAZ,EAAOY,EAAM,iBAAkB,CAAC,EAAE,KAAA,EAAG,SACxF,KAAA,CAAI,SAAA,CAAAZ,EAAOY,EAAM,iBAAkB,CAAC,EAAE,KAAA,EAAG,SAAM,KAAA,CAAI,SAAA,CAAAZ,EAAOY,EAAM,oBAAqB,CAAC,EAAE,KAAA,EAAG,EAAKO,EAAAA,IAAC,KAAA,CAAI,SAAAhB,GAAUS,EAAM,YAAY,CAAA,CAAE,CAAA,CAAA,EAX7HA,EAAM,OAYf,CAEJ,CAAC,CAAA,CAAE,CAAA,CAAA,CACL,CAAA,CAAA,EAGFO,EAAAA,IAACuB,GAAA,CAAU,MAAM,0BAA0B,KAAK,aAAa,cAAc,wBACzE,SAAAxB,EAAAA,KAAC,QAAA,CAAM,UAAU,6CACf,SAAA,CAAAC,MAAC,QAAA,CAAM,UAAU,iBAAiB,SAAAD,EAAAA,KAAC,KAAA,CAAG,SAAA,CAAAC,EAAAA,IAAC,MAAG,SAAA,OAAA,CAAK,EAAKA,EAAAA,IAAC,MAAG,SAAA,SAAA,CAAO,EAAKA,EAAAA,IAAC,MAAG,SAAA,eAAA,CAAa,EAAKA,EAAAA,IAAC,MAAG,SAAA,sBAAA,CAAoB,EAAKA,EAAAA,IAAC,MAAG,SAAA,sBAAA,CAAoB,EAAKA,EAAAA,IAAC,MAAG,SAAA,WAAA,CAAS,EAAKA,EAAAA,IAAC,MAAG,SAAA,cAAA,CAAY,EAAKA,EAAAA,IAAC,MAAG,SAAA,eAAA,CAAa,EAAKA,EAAAA,IAAC,MAAG,SAAA,YAAA,CAAU,EAAKA,EAAAA,IAAC,MAAG,SAAA,iBAAA,CAAe,EAAKA,EAAAA,IAAC,MAAG,SAAA,kBAAA,CAAgB,CAAA,CAAA,CAAK,CAAA,CAAK,EAC1RA,EAAAA,IAAC,QAAA,CAAO,SAAAV,GAAK,IAAKG,GAAU,CAC1B,MAAMuD,EAASvD,EAAM,cACrB,OAAOM,EAAAA,KAAC,KAAA,CAAuB,UAAU,gDAAgD,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAI,WAAM,IAAA,CAAK,EAAKA,EAAAA,IAAC,KAAA,CAAI,SAAAgD,EAAO,UAAA,CAAW,QAAM,KAAA,CAAI,SAAAnE,EAAOmE,EAAO,aAAc,CAAC,EAAE,QAAM,KAAA,CAAI,SAAAnE,EAAOmE,EAAO,kBAAmB,CAAC,EAAE,QAAM,KAAA,CAAI,SAAAnE,EAAOmE,EAAO,uBAAwB,CAAC,EAAE,EAAKhD,EAAAA,IAAC,KAAA,CAAI,SAAAgD,EAAO,0BAA4B,KAAO,KAAO,GAAGnE,EAAOmE,EAAO,yBAA0B,CAAC,CAAC,IAAI,QAAM,KAAA,CAAI,SAAAnE,EAAOmE,EAAO,iBAAkB,CAAC,EAAE,SAAM,KAAA,CAAI,SAAA,CAAAnE,EAAOmE,EAAO,+BAAgC,CAAC,EAAE,GAAA,EAAC,SAAM,KAAA,CAAI,SAAA,CAAAnE,EAAOmE,EAAO,wBAAyB,CAAC,EAAE,MAAA,EAAI,EAAKhD,EAAAA,IAAC,KAAA,CAAI,SAAAhB,GAAUgE,EAAO,mBAAmB,EAAE,EAAKhD,EAAAA,IAAC,KAAA,CAAI,SAAAgD,EAAO,gBAAA,CAAiB,CAAA,CAAA,EAA9lBvD,EAAM,OAA6lB,CACrnB,CAAC,CAAA,CAAE,CAAA,CAAA,CACL,CAAA,CACF,EAECc,EAAO,UAAU,OAChBP,EAAAA,IAACuB,GAAA,CAAU,MAAM,YAAY,KAAMhB,EAAO,UAAU,OAAQ,cAAc,gBACxE,SAAAR,EAAAA,KAAC,QAAA,CAAM,UAAU,mBAAmB,SAAA,CAAAC,MAAC,QAAA,CAAM,UAAU,iBAAiB,SAAAD,EAAAA,KAAC,KAAA,CAAG,SAAA,CAAAC,EAAAA,IAAC,MAAG,SAAA,OAAA,CAAK,EAAKA,EAAAA,IAAC,MAAG,SAAA,UAAA,CAAQ,EAAKA,EAAAA,IAAC,MAAG,SAAA,QAAA,CAAM,CAAA,CAAA,CAAK,CAAA,CAAK,EAAQA,EAAAA,IAAC,QAAA,CAAO,SAAAO,EAAO,UAAU,IAAK0C,GAASlD,EAAAA,KAAC,KAAA,CAAkB,UAAU,iCAAiC,SAAA,CAAAC,EAAAA,IAAC,KAAA,CAAI,WAAK,OAAA,CAAQ,EAAKA,EAAAA,IAAC,KAAA,CAAI,SAAAiD,EAAK,QAAA,CAAS,EAAKjD,EAAAA,IAAC,KAAA,CAAI,SAAAiD,EAAK,KAAA,CAAM,CAAA,GAApHA,EAAK,GAAoH,CAAK,CAAA,CAAE,CAAA,CAAA,CAAQ,EAC/T,EACE,KAEJjD,EAAAA,IAACM,GAAA,CAAgB,OAAAC,EAAgB,QAAAC,CAAA,CAAkB,EAEnDT,EAAAA,KAACwB,GAAA,CAAU,MAAM,cAAc,cAAc,yCAC3C,SAAA,CAAAvB,EAAAA,IAAC,KAAE,SAAA,gMAAA,CAA8L,EACjMA,EAAAA,IAAC,KAAE,SAAA,qOAAA,CAAmO,EACtOA,EAAAA,IAAC,KAAE,SAAA,yMAAA,CAAuM,CAAA,CAAA,CAC5M,CAAA,CAAA,CACF,EACE,IAAA,EACN,CAEJ,CAEA,SAAwBkD,IAAkB,CACxCC,GAAoB,CAAE,gBAAiB,UAAW,EAClD,MAAMC,EAAUxC,GAAoBC,GAAUwC,GAAiBxC,EAAO,cAAc,CAAC,EAC/E,CAAE,MAAOyC,GAAiBC,GAAqB,OAAQ,CAAE,gBAAiBC,GAAwB,EACxG,OACEzD,OAAC,OAAI,UAAW,GAAG0D,GAAkBH,GAAc,eAAe,CAAC,+BACjE,SAAA,CAAAtD,EAAAA,IAAC0D,GAAA,EAAqB,EACtB1D,MAAC,OAAA,CAAK,UAAW,4DAA4D2D,EAAa,OACvF,SAAAP,EAAUpD,EAAAA,IAACyB,GAAA,CAAA,CAAkB,EAC5B1B,EAAAA,KAACwB,GAAA,CAAU,MAAM,4BAA4B,cAAc,yCACzD,SAAA,CAAAvB,EAAAA,IAAC,KAAE,SAAA,8CAAA,CAA4C,QAC9C+C,GAAA,CAAK,UAAU,+CAA+C,GAAG,IAAI,SAAA,oBAAA,CAAkB,CAAA,CAAA,CAC1F,CAAA,CAEJ,CAAA,EACF,CAEJ","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/server/public/assets/index-KnOn2V1J.js b/server/public/assets/index-KnOn2V1J.js deleted file mode 100644 index 745ce62d..00000000 --- a/server/public/assets/index-KnOn2V1J.js +++ /dev/null @@ -1,148 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/OrbitControls-BJ-UXxdt.js","assets/three.module--MGUDD-H.js"])))=>i.map(i=>d[i]); -(function(){const c=document.createElement("link").relList;if(c&&c.supports&&c.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const u of o)if(u.type==="childList")for(const d of u.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&l(d)}).observe(document,{childList:!0,subtree:!0});function n(o){const u={};return o.integrity&&(u.integrity=o.integrity),o.referrerPolicy&&(u.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?u.credentials="include":o.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function l(o){if(o.ep)return;o.ep=!0;const u=n(o);fetch(o.href,u)}})();const fp="modulepreload",mp=function(t){return"/"+t},Gs={},xa=function(c,n,l){let o=Promise.resolve();if(n&&n.length>0){let p=function(g){return Promise.all(g.map(x=>Promise.resolve(x).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};document.getElementsByTagName("link");const d=document.querySelector("meta[property=csp-nonce]"),m=d?.nonce||d?.getAttribute("nonce");o=p(n.map(g=>{if(g=mp(g),g in Gs)return;Gs[g]=!0;const x=g.endsWith(".css"),b=x?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${g}"]${b}`))return;const M=document.createElement("link");if(M.rel=x?"stylesheet":fp,x||(M.as="script"),M.crossOrigin="",M.href=g,m&&M.setAttribute("nonce",m),document.head.appendChild(M),x)return new Promise((y,H)=>{M.addEventListener("load",y),M.addEventListener("error",()=>H(new Error(`Unable to preload CSS for ${g}`)))})}))}function u(d){const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=d,window.dispatchEvent(m),!m.defaultPrevented)throw d}return o.then(d=>{for(const m of d||[])m.status==="rejected"&&u(m.reason);return c().catch(u)})};function vp(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Sc={exports:{}},I8={};var Ys;function pp(){if(Ys)return I8;Ys=1;var t=Symbol.for("react.transitional.element"),c=Symbol.for("react.fragment");function n(l,o,u){var d=null;if(u!==void 0&&(d=""+u),o.key!==void 0&&(d=""+o.key),"key"in o){u={};for(var m in o)m!=="key"&&(u[m]=o[m])}else u=o;return o=u.ref,{$$typeof:t,type:l,key:d,ref:o!==void 0?o:null,props:u}}return I8.Fragment=c,I8.jsx=n,I8.jsxs=n,I8}var Ks;function xp(){return Ks||(Ks=1,Sc.exports=pp()),Sc.exports}var r=xp(),Ac={exports:{}},$1={};var Qs;function gp(){if(Qs)return $1;Qs=1;var t=Symbol.for("react.transitional.element"),c=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),u=Symbol.for("react.consumer"),d=Symbol.for("react.context"),m=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),M=Symbol.iterator;function y(q){return q===null||typeof q!="object"?null:(q=M&&q[M]||q["@@iterator"],typeof q=="function"?q:null)}var H={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},L=Object.assign,w={};function B(q,G,l1){this.props=q,this.context=G,this.refs=w,this.updater=l1||H}B.prototype.isReactComponent={},B.prototype.setState=function(q,G){if(typeof q!="object"&&typeof q!="function"&&q!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,q,G,"setState")},B.prototype.forceUpdate=function(q){this.updater.enqueueForceUpdate(this,q,"forceUpdate")};function S(){}S.prototype=B.prototype;function C(q,G,l1){this.props=q,this.context=G,this.refs=w,this.updater=l1||H}var j=C.prototype=new S;j.constructor=C,L(j,B.prototype),j.isPureReactComponent=!0;var E=Array.isArray;function F(){}var R={H:null,A:null,T:null,S:null},V=Object.prototype.hasOwnProperty;function N(q,G,l1){var X=l1.ref;return{$$typeof:t,type:q,key:G,ref:X!==void 0?X:null,props:l1}}function D(q,G){return N(q.type,G,q.props)}function _(q){return typeof q=="object"&&q!==null&&q.$$typeof===t}function Z(q){var G={"=":"=0",":":"=2"};return"$"+q.replace(/[=:]/g,function(l1){return G[l1]})}var a1=/\/+/g;function K(q,G){return typeof q=="object"&&q!==null&&q.key!=null?Z(""+q.key):G.toString(36)}function P(q){switch(q.status){case"fulfilled":return q.value;case"rejected":throw q.reason;default:switch(typeof q.status=="string"?q.then(F,F):(q.status="pending",q.then(function(G){q.status==="pending"&&(q.status="fulfilled",q.value=G)},function(G){q.status==="pending"&&(q.status="rejected",q.reason=G)})),q.status){case"fulfilled":return q.value;case"rejected":throw q.reason}}throw q}function T(q,G,l1,X,c1){var i1=typeof q;(i1==="undefined"||i1==="boolean")&&(q=null);var t1=!1;if(q===null)t1=!0;else switch(i1){case"bigint":case"string":case"number":t1=!0;break;case"object":switch(q.$$typeof){case t:case c:t1=!0;break;case x:return t1=q._init,T(t1(q._payload),G,l1,X,c1)}}if(t1)return c1=c1(q),t1=X===""?"."+K(q,0):X,E(c1)?(l1="",t1!=null&&(l1=t1.replace(a1,"$&/")+"/"),T(c1,G,l1,"",function(A1){return A1})):c1!=null&&(_(c1)&&(c1=D(c1,l1+(c1.key==null||q&&q.key===c1.key?"":(""+c1.key).replace(a1,"$&/")+"/")+t1)),G.push(c1)),1;t1=0;var y1=X===""?".":X+":";if(E(q))for(var z1=0;z1>>1,p1=T[r1];if(0>>1;r1o(l1,I))Xo(c1,l1)?(T[r1]=c1,T[X]=I,r1=X):(T[r1]=l1,T[G]=I,r1=G);else if(Xo(c1,I))T[r1]=c1,T[X]=I,r1=X;else break t}}return U}function o(T,U){var I=T.sortIndex-U.sortIndex;return I!==0?I:T.id-U.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var u=performance;t.unstable_now=function(){return u.now()}}else{var d=Date,m=d.now();t.unstable_now=function(){return d.now()-m}}var p=[],g=[],x=1,b=null,M=3,y=!1,H=!1,L=!1,w=!1,B=typeof setTimeout=="function"?setTimeout:null,S=typeof clearTimeout=="function"?clearTimeout:null,C=typeof setImmediate<"u"?setImmediate:null;function j(T){for(var U=n(g);U!==null;){if(U.callback===null)l(g);else if(U.startTime<=T)l(g),U.sortIndex=U.expirationTime,c(p,U);else break;U=n(g)}}function E(T){if(L=!1,j(T),!H)if(n(p)!==null)H=!0,F||(F=!0,Z());else{var U=n(g);U!==null&&P(E,U.startTime-T)}}var F=!1,R=-1,V=5,N=-1;function D(){return w?!0:!(t.unstable_now()-NT&&D());){var r1=b.callback;if(typeof r1=="function"){b.callback=null,M=b.priorityLevel;var p1=r1(b.expirationTime<=T);if(T=t.unstable_now(),typeof p1=="function"){b.callback=p1,j(T),U=!0;break e}b===n(p)&&l(p),j(T)}else l(p);b=n(p)}if(b!==null)U=!0;else{var q=n(g);q!==null&&P(E,q.startTime-T),U=!1}}break t}finally{b=null,M=I,y=!1}U=void 0}}finally{U?Z():F=!1}}}var Z;if(typeof C=="function")Z=function(){C(_)};else if(typeof MessageChannel<"u"){var a1=new MessageChannel,K=a1.port2;a1.port1.onmessage=_,Z=function(){K.postMessage(null)}}else Z=function(){B(_,0)};function P(T,U){R=B(function(){T(t.unstable_now())},U)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(T){T.callback=null},t.unstable_forceFrameRate=function(T){0>T||125r1?(T.sortIndex=I,c(g,T),n(p)===null&&T===n(g)&&(L?(S(R),R=-1):L=!0,P(E,I-r1))):(T.sortIndex=p1,c(p,T),H||y||(H=!0,F||(F=!0,Z()))),T},t.unstable_shouldYield=D,t.unstable_wrapCallback=function(T){var U=M;return function(){var I=M;M=U;try{return T.apply(this,arguments)}finally{M=I}}}})(Vc)),Vc}var Js;function bp(){return Js||(Js=1,Lc.exports=zp()),Lc.exports}var Bc={exports:{}},J2={};var to;function yp(){if(to)return J2;to=1;var t=nn();function c(p){var g="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(c){console.error(c)}}return t(),Bc.exports=yp(),Bc.exports}var co;function Mp(){if(co)return P8;co=1;var t=bp(),c=nn(),n=lh();function l(e){var a="https://react.dev/errors/"+e;if(1p1||(e.current=r1[p1],r1[p1]=null,p1--)}function l1(e,a){p1++,r1[p1]=e.current,e.current=a}var X=q(null),c1=q(null),i1=q(null),t1=q(null);function y1(e,a){switch(l1(i1,a),l1(c1,e),l1(X,null),a.nodeType){case 9:case 11:e=(e=a.documentElement)&&(e=e.namespaceURI)?ps(e):0;break;default:if(e=a.tagName,a=a.namespaceURI)a=ps(a),e=xs(a,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}G(X),l1(X,e)}function z1(){G(X),G(c1),G(i1)}function A1(e){e.memoizedState!==null&&l1(t1,e);var a=X.current,i=xs(a,e.type);a!==i&&(l1(c1,e),l1(X,i))}function I1(e){c1.current===e&&(G(X),G(c1)),t1.current===e&&(G(t1),D8._currentValue=I)}var D1,W1;function _1(e){if(D1===void 0)try{throw Error()}catch(i){var a=i.stack.trim().match(/\n( *(at )?)/);D1=a&&a[1]||"",W1=-1)":-1v||O[h]!==J[v]){var u1=` -`+O[h].replace(" at new "," at ");return e.displayName&&u1.includes("")&&(u1=u1.replace("",e.displayName)),u1}while(1<=h&&0<=v);break}}}finally{a2=!1,Error.prepareStackTrace=i}return(i=e?e.displayName||e.name:"")?_1(i):""}function M1(e,a){switch(e.tag){case 26:case 27:case 5:return _1(e.type);case 16:return _1("Lazy");case 13:return e.child!==a&&a!==null?_1("Suspense Fallback"):_1("Suspense");case 19:return _1("SuspenseList");case 0:case 15:return d1(e.type,!1);case 11:return d1(e.type.render,!1);case 1:return d1(e.type,!0);case 31:return _1("Activity");default:return""}}function F1(e){try{var a="",i=null;do a+=M1(e,i),i=e,e=e.return;while(e);return a}catch(h){return` -Error generating stack: `+h.message+` -`+h.stack}}var P1=Object.prototype.hasOwnProperty,C1=t.unstable_scheduleCallback,O1=t.unstable_cancelCallback,x1=t.unstable_shouldYield,H1=t.unstable_requestPaint,n1=t.unstable_now,b1=t.unstable_getCurrentPriorityLevel,g1=t.unstable_ImmediatePriority,S1=t.unstable_UserBlockingPriority,Z1=t.unstable_NormalPriority,o1=t.unstable_LowPriority,f1=t.unstable_IdlePriority,k1=t.log,J1=t.unstable_setDisableYieldValue,z2=null,V1=null;function S2(e){if(typeof k1=="function"&&J1(e),V1&&typeof V1.setStrictMode=="function")try{V1.setStrictMode(z2,e)}catch{}}var p2=Math.clz32?Math.clz32:v1,q4=Math.log,L3=Math.LN2;function v1(e){return e>>>=0,e===0?32:31-(q4(e)/L3|0)|0}var B1=256,E1=262144,a4=4194304;function j1(e){var a=e&42;if(a!==0)return a;switch(e&-e){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function d2(e,a,i){var h=e.pendingLanes;if(h===0)return 0;var v=0,z=e.suspendedLanes,A=e.pingedLanes;e=e.warmLanes;var k=h&134217727;return k!==0?(h=k&~z,h!==0?v=j1(h):(A&=k,A!==0?v=j1(A):i||(i=k&~e,i!==0&&(v=j1(i))))):(k=h&~z,k!==0?v=j1(k):A!==0?v=j1(A):i||(i=h&~e,i!==0&&(v=j1(i)))),v===0?0:a!==0&&a!==v&&(a&z)===0&&(z=v&-v,i=a&-a,z>=i||z===32&&(i&4194048)!==0)?a:v}function o2(e,a){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&a)===0}function n2(e,a){switch(e){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32: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 a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function x2(){var e=a4;return a4<<=1,(a4&62914560)===0&&(a4=4194304),e}function d4(e){for(var a=[],i=0;31>i;i++)a.push(e);return a}function D4(e,a){e.pendingLanes|=a,a!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function I6(e,a,i,h,v,z){var A=e.pendingLanes;e.pendingLanes=i,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=i,e.entangledLanes&=i,e.errorRecoveryDisabledLanes&=i,e.shellSuspendCounter=0;var k=e.entanglements,O=e.expirationTimes,J=e.hiddenUpdates;for(i=A&~i;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var im=/[\n"\\]/g;function y4(e){return e.replace(im,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function z7(e,a,i,h,v,z,A,k){e.name="",A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"?e.type=A:e.removeAttribute("type"),a!=null?A==="number"?(a===0&&e.value===""||e.value!=a)&&(e.value=""+b4(a)):e.value!==""+b4(a)&&(e.value=""+b4(a)):A!=="submit"&&A!=="reset"||e.removeAttribute("value"),a!=null?b7(e,A,b4(a)):i!=null?b7(e,A,b4(i)):h!=null&&e.removeAttribute("value"),v==null&&z!=null&&(e.defaultChecked=!!z),v!=null&&(e.checked=v&&typeof v!="function"&&typeof v!="symbol"),k!=null&&typeof k!="function"&&typeof k!="symbol"&&typeof k!="boolean"?e.name=""+b4(k):e.removeAttribute("name")}function ur(e,a,i,h,v,z,A,k){if(z!=null&&typeof z!="function"&&typeof z!="symbol"&&typeof z!="boolean"&&(e.type=z),a!=null||i!=null){if(!(z!=="submit"&&z!=="reset"||a!=null)){g7(e);return}i=i!=null?""+b4(i):"",a=a!=null?""+b4(a):i,k||a===e.value||(e.value=a),e.defaultValue=a}h=h??v,h=typeof h!="function"&&typeof h!="symbol"&&!!h,e.checked=k?e.checked:!!h,e.defaultChecked=!!h,A!=null&&typeof A!="function"&&typeof A!="symbol"&&typeof A!="boolean"&&(e.name=A),g7(e)}function b7(e,a,i){a==="number"&&E5(e.ownerDocument)===e||e.defaultValue===""+i||(e.defaultValue=""+i)}function K6(e,a,i,h){if(e=e.options,a){a={};for(var v=0;v"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),S7=!1;if(n3)try{var a8={};Object.defineProperty(a8,"passive",{get:function(){S7=!0}}),window.addEventListener("test",a8,a8),window.removeEventListener("test",a8,a8)}catch{S7=!1}var j3=null,A7=null,q5=null;function xr(){if(q5)return q5;var e,a=A7,i=a.length,h,v="value"in j3?j3.value:j3.textContent,z=v.length;for(e=0;e=l8),wr=" ",Cr=!1;function Sr(e,a){switch(e){case"keyup":return Rm.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ar(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var J6=!1;function Tm(e,a){switch(e){case"compositionend":return Ar(a);case"keypress":return a.which!==32?null:(Cr=!0,wr);case"textInput":return e=a.data,e===wr&&Cr?null:e;default:return null}}function qm(e,a){if(J6)return e==="compositionend"||!j7&&Sr(e,a)?(e=xr(),q5=A7=j3=null,J6=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1=a)return{node:i,offset:a-e};e=h}t:{for(;i;){if(i.nextSibling){i=i.nextSibling;break t}i=i.parentNode}i=void 0}i=Fr(i)}}function Er(e,a){return e&&a?e===a?!0:e&&e.nodeType===3?!1:a&&a.nodeType===3?Er(e,a.parentNode):"contains"in e?e.contains(a):e.compareDocumentPosition?!!(e.compareDocumentPosition(a)&16):!1:!1}function Tr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var a=E5(e.document);a instanceof e.HTMLIFrameElement;){try{var i=typeof a.contentWindow.location.href=="string"}catch{i=!1}if(i)e=a.contentWindow;else break;a=E5(e.document)}return a}function F7(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a&&(a==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||a==="textarea"||e.contentEditable==="true")}var Zm=n3&&"documentMode"in document&&11>=document.documentMode,t0=null,R7=null,u8=null,E7=!1;function qr(e,a,i){var h=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;E7||t0==null||t0!==E5(h)||(h=t0,"selectionStart"in h&&F7(h)?h={start:h.selectionStart,end:h.selectionEnd}:(h=(h.ownerDocument&&h.ownerDocument.defaultView||window).getSelection(),h={anchorNode:h.anchorNode,anchorOffset:h.anchorOffset,focusNode:h.focusNode,focusOffset:h.focusOffset}),u8&&o8(u8,h)||(u8=h,h=jt(R7,"onSelect"),0>=A,v-=A,K4=1<<32-p2(a)+v|i<Y1?(e2=N1,N1=null):e2=N1.sibling;var l2=e1(Y,N1,W[Y1],h1);if(l2===null){N1===null&&(N1=e2);break}e&&N1&&l2.alternate===null&&a(Y,N1),$=z(l2,$,Y1),r2===null?R1=l2:r2.sibling=l2,r2=l2,N1=e2}if(Y1===W.length)return i(Y,N1),c2&&l3(Y,Y1),R1;if(N1===null){for(;Y1Y1?(e2=N1,N1=null):e2=N1.sibling;var J3=e1(Y,N1,l2.value,h1);if(J3===null){N1===null&&(N1=e2);break}e&&N1&&J3.alternate===null&&a(Y,N1),$=z(J3,$,Y1),r2===null?R1=J3:r2.sibling=J3,r2=J3,N1=e2}if(l2.done)return i(Y,N1),c2&&l3(Y,Y1),R1;if(N1===null){for(;!l2.done;Y1++,l2=W.next())l2=m1(Y,l2.value,h1),l2!==null&&($=z(l2,$,Y1),r2===null?R1=l2:r2.sibling=l2,r2=l2);return c2&&l3(Y,Y1),R1}for(N1=h(N1);!l2.done;Y1++,l2=W.next())l2=s1(N1,Y,Y1,l2.value,h1),l2!==null&&(e&&l2.alternate!==null&&N1.delete(l2.key===null?Y1:l2.key),$=z(l2,$,Y1),r2===null?R1=l2:r2.sibling=l2,r2=l2);return e&&N1.forEach(function(dp){return a(Y,dp)}),c2&&l3(Y,Y1),R1}function v2(Y,$,W,h1){if(typeof W=="object"&&W!==null&&W.type===L&&W.key===null&&(W=W.props.children),typeof W=="object"&&W!==null){switch(W.$$typeof){case y:t:{for(var R1=W.key;$!==null;){if($.key===R1){if(R1=W.type,R1===L){if($.tag===7){i(Y,$.sibling),h1=v($,W.props.children),h1.return=Y,Y=h1;break t}}else if($.elementType===R1||typeof R1=="object"&&R1!==null&&R1.$$typeof===V&&x6(R1)===$.type){i(Y,$.sibling),h1=v($,W.props),p8(h1,W),h1.return=Y,Y=h1;break t}i(Y,$);break}else a(Y,$);$=$.sibling}W.type===L?(h1=d6(W.props.children,Y.mode,h1,W.key),h1.return=Y,Y=h1):(h1=Y5(W.type,W.key,W.props,null,Y.mode,h1),p8(h1,W),h1.return=Y,Y=h1)}return A(Y);case H:t:{for(R1=W.key;$!==null;){if($.key===R1)if($.tag===4&&$.stateNode.containerInfo===W.containerInfo&&$.stateNode.implementation===W.implementation){i(Y,$.sibling),h1=v($,W.children||[]),h1.return=Y,Y=h1;break t}else{i(Y,$);break}else a(Y,$);$=$.sibling}h1=I7(W,Y.mode,h1),h1.return=Y,Y=h1}return A(Y);case V:return W=x6(W),v2(Y,$,W,h1)}if(P(W))return L1(Y,$,W,h1);if(Z(W)){if(R1=Z(W),typeof R1!="function")throw Error(l(150));return W=R1.call(W),q1(Y,$,W,h1)}if(typeof W.then=="function")return v2(Y,$,et(W),h1);if(W.$$typeof===C)return v2(Y,$,X5(Y,W),h1);ct(Y,W)}return typeof W=="string"&&W!==""||typeof W=="number"||typeof W=="bigint"?(W=""+W,$!==null&&$.tag===6?(i(Y,$.sibling),h1=v($,W),h1.return=Y,Y=h1):(i(Y,$),h1=U7(W,Y.mode,h1),h1.return=Y,Y=h1),A(Y)):i(Y,$)}return function(Y,$,W,h1){try{v8=0;var R1=v2(Y,$,W,h1);return h0=null,R1}catch(N1){if(N1===u0||N1===J5)throw N1;var r2=m4(29,N1,null,Y.mode);return r2.lanes=h1,r2.return=Y,r2}finally{}}}var z6=il(!0),sl=il(!1),E3=!1;function e9(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function c9(e,a){e=e.updateQueue,a.updateQueue===e&&(a.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function T3(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function q3(e,a,i){var h=e.updateQueue;if(h===null)return null;if(h=h.shared,(s2&2)!==0){var v=h.pending;return v===null?a.next=a:(a.next=v.next,v.next=a),h.pending=a,a=G5(e),$r(e,null,i),a}return Z5(e,h,a,i),G5(e)}function x8(e,a,i){if(a=a.updateQueue,a!==null&&(a=a.shared,(i&4194048)!==0)){var h=a.lanes;h&=e.pendingLanes,i|=h,a.lanes=i,V3(e,i)}}function a9(e,a){var i=e.updateQueue,h=e.alternate;if(h!==null&&(h=h.updateQueue,i===h)){var v=null,z=null;if(i=i.firstBaseUpdate,i!==null){do{var A={lane:i.lane,tag:i.tag,payload:i.payload,callback:null,next:null};z===null?v=z=A:z=z.next=A,i=i.next}while(i!==null);z===null?v=z=a:z=z.next=a}else v=z=a;i={baseState:h.baseState,firstBaseUpdate:v,lastBaseUpdate:z,shared:h.shared,callbacks:h.callbacks},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=a:e.next=a,i.lastBaseUpdate=a}var n9=!1;function g8(){if(n9){var e=o0;if(e!==null)throw e}}function z8(e,a,i,h){n9=!1;var v=e.updateQueue;E3=!1;var z=v.firstBaseUpdate,A=v.lastBaseUpdate,k=v.shared.pending;if(k!==null){v.shared.pending=null;var O=k,J=O.next;O.next=null,A===null?z=J:A.next=J,A=O;var u1=e.alternate;u1!==null&&(u1=u1.updateQueue,k=u1.lastBaseUpdate,k!==A&&(k===null?u1.firstBaseUpdate=J:k.next=J,u1.lastBaseUpdate=O))}if(z!==null){var m1=v.baseState;A=0,u1=J=O=null,k=z;do{var e1=k.lane&-536870913,s1=e1!==k.lane;if(s1?(t2&e1)===e1:(h&e1)===e1){e1!==0&&e1===s0&&(n9=!0),u1!==null&&(u1=u1.next={lane:0,tag:k.tag,payload:k.payload,callback:null,next:null});t:{var L1=e,q1=k;e1=a;var v2=i;switch(q1.tag){case 1:if(L1=q1.payload,typeof L1=="function"){m1=L1.call(v2,m1,e1);break t}m1=L1;break t;case 3:L1.flags=L1.flags&-65537|128;case 0:if(L1=q1.payload,e1=typeof L1=="function"?L1.call(v2,m1,e1):L1,e1==null)break t;m1=b({},m1,e1);break t;case 2:E3=!0}}e1=k.callback,e1!==null&&(e.flags|=64,s1&&(e.flags|=8192),s1=v.callbacks,s1===null?v.callbacks=[e1]:s1.push(e1))}else s1={lane:e1,tag:k.tag,payload:k.payload,callback:k.callback,next:null},u1===null?(J=u1=s1,O=m1):u1=u1.next=s1,A|=e1;if(k=k.next,k===null){if(k=v.shared.pending,k===null)break;s1=k,k=s1.next,s1.next=null,v.lastBaseUpdate=s1,v.shared.pending=null}}while(!0);u1===null&&(O=m1),v.baseState=O,v.firstBaseUpdate=J,v.lastBaseUpdate=u1,z===null&&(v.shared.lanes=0),I3|=A,e.lanes=A,e.memoizedState=m1}}function ol(e,a){if(typeof e!="function")throw Error(l(191,e));e.call(a)}function ul(e,a){var i=e.callbacks;if(i!==null)for(e.callbacks=null,e=0;ez?z:8;var A=T.T,k={};T.T=k,w9(e,!1,a,i);try{var O=v(),J=T.S;if(J!==null&&J(k,O),O!==null&&typeof O=="object"&&typeof O.then=="function"){var u1=ev(O,h);M8(e,a,u1,z4(e))}else M8(e,a,h,z4(e))}catch(m1){M8(e,a,{then:function(){},status:"rejected",reason:m1},z4())}finally{U.p=z,A!==null&&k.types!==null&&(A.types=k.types),T.T=A}}function iv(){}function y9(e,a,i,h){if(e.tag!==5)throw Error(l(476));var v=Ul(e).queue;Ol(e,v,a,I,i===null?iv:function(){return Il(e),i(h)})}function Ul(e){var a=e.memoizedState;if(a!==null)return a;a={memoizedState:I,baseState:I,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:u3,lastRenderedState:I},next:null};var i={};return a.next={memoizedState:i,baseState:i,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:u3,lastRenderedState:i},next:null},e.memoizedState=a,e=e.alternate,e!==null&&(e.memoizedState=a),a}function Il(e){var a=Ul(e);a.next===null&&(a=e.alternate.memoizedState),M8(e,a.next.queue,{},z4())}function M9(){return Q2(D8)}function Pl(){return N2().memoizedState}function $l(){return N2().memoizedState}function sv(e){for(var a=e.return;a!==null;){switch(a.tag){case 24:case 3:var i=z4();e=T3(i);var h=q3(a,e,i);h!==null&&(u4(h,a,i),x8(h,a,i)),a={cache:X7()},e.payload=a;return}a=a.return}}function ov(e,a,i){var h=z4();i={lane:h,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},dt(e)?Gl(a,i):(i=_7(e,a,i,h),i!==null&&(u4(i,e,h),Yl(i,a,h)))}function Zl(e,a,i){var h=z4();M8(e,a,i,h)}function M8(e,a,i,h){var v={lane:h,revertLane:0,gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null};if(dt(e))Gl(a,v);else{var z=e.alternate;if(e.lanes===0&&(z===null||z.lanes===0)&&(z=a.lastRenderedReducer,z!==null))try{var A=a.lastRenderedState,k=z(A,i);if(v.hasEagerState=!0,v.eagerState=k,f4(k,A))return Z5(e,a,v,0),g2===null&&$5(),!1}catch{}finally{}if(i=_7(e,a,v,h),i!==null)return u4(i,e,h),Yl(i,a,h),!0}return!1}function w9(e,a,i,h){if(h={lane:2,revertLane:ec(),gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null},dt(e)){if(a)throw Error(l(479))}else a=_7(e,i,h,2),a!==null&&u4(a,e,2)}function dt(e){var a=e.alternate;return e===G1||a!==null&&a===G1}function Gl(e,a){f0=rt=!0;var i=e.pending;i===null?a.next=a:(a.next=i.next,i.next=a),e.pending=a}function Yl(e,a,i){if((i&4194048)!==0){var h=a.lanes;h&=e.pendingLanes,i|=h,a.lanes=i,V3(e,i)}}var w8={readContext:Q2,use:st,useCallback:V2,useContext:V2,useEffect:V2,useImperativeHandle:V2,useLayoutEffect:V2,useInsertionEffect:V2,useMemo:V2,useReducer:V2,useRef:V2,useState:V2,useDebugValue:V2,useDeferredValue:V2,useTransition:V2,useSyncExternalStore:V2,useId:V2,useHostTransitionStatus:V2,useFormState:V2,useActionState:V2,useOptimistic:V2,useMemoCache:V2,useCacheRefresh:V2};w8.useEffectEvent=V2;var Kl={readContext:Q2,use:st,useCallback:function(e,a){return e4().memoizedState=[e,a===void 0?null:a],e},useContext:Q2,useEffect:Nl,useImperativeHandle:function(e,a,i){i=i!=null?i.concat([e]):null,ut(4194308,4,El.bind(null,a,e),i)},useLayoutEffect:function(e,a){return ut(4194308,4,e,a)},useInsertionEffect:function(e,a){ut(4,2,e,a)},useMemo:function(e,a){var i=e4();a=a===void 0?null:a;var h=e();if(b6){S2(!0);try{e()}finally{S2(!1)}}return i.memoizedState=[h,a],h},useReducer:function(e,a,i){var h=e4();if(i!==void 0){var v=i(a);if(b6){S2(!0);try{i(a)}finally{S2(!1)}}}else v=a;return h.memoizedState=h.baseState=v,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:v},h.queue=e,e=e.dispatch=ov.bind(null,G1,e),[h.memoizedState,e]},useRef:function(e){var a=e4();return e={current:e},a.memoizedState=e},useState:function(e){e=p9(e);var a=e.queue,i=Zl.bind(null,G1,a);return a.dispatch=i,[e.memoizedState,i]},useDebugValue:z9,useDeferredValue:function(e,a){var i=e4();return b9(i,e,a)},useTransition:function(){var e=p9(!1);return e=Ol.bind(null,G1,e.queue,!0,!1),e4().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,a,i){var h=G1,v=e4();if(c2){if(i===void 0)throw Error(l(407));i=i()}else{if(i=a(),g2===null)throw Error(l(349));(t2&127)!==0||pl(h,a,i)}v.memoizedState=i;var z={value:i,getSnapshot:a};return v.queue=z,Nl(gl.bind(null,h,z,e),[e]),h.flags|=2048,v0(9,{destroy:void 0},xl.bind(null,h,z,i,a),null),i},useId:function(){var e=e4(),a=g2.identifierPrefix;if(c2){var i=Q4,h=K4;i=(h&~(1<<32-p2(h)-1)).toString(32)+i,a="_"+a+"R_"+i,i=lt++,0<\/script>",z=z.removeChild(z.firstChild);break;case"select":z=typeof h.is=="string"?A.createElement("select",{is:h.is}):A.createElement("select"),h.multiple?z.multiple=!0:h.size&&(z.size=h.size);break;default:z=typeof h.is=="string"?A.createElement(v,{is:h.is}):A.createElement(v)}}z[Y2]=a,z[n4]=h;t:for(A=a.child;A!==null;){if(A.tag===5||A.tag===6)z.appendChild(A.stateNode);else if(A.tag!==4&&A.tag!==27&&A.child!==null){A.child.return=A,A=A.child;continue}if(A===a)break t;for(;A.sibling===null;){if(A.return===null||A.return===a)break t;A=A.return}A.sibling.return=A.return,A=A.sibling}a.stateNode=z;t:switch(W2(z,v,h),v){case"button":case"input":case"select":case"textarea":h=!!h.autoFocus;break t;case"img":h=!0;break t;default:h=!1}h&&d3(a)}}return y2(a),T9(a,a.type,e===null?null:e.memoizedProps,a.pendingProps,i),null;case 6:if(e&&a.stateNode!=null)e.memoizedProps!==h&&d3(a);else{if(typeof h!="string"&&a.stateNode===null)throw Error(l(166));if(e=i1.current,l0(a)){if(e=a.stateNode,i=a.memoizedProps,h=null,v=K2,v!==null)switch(v.tag){case 27:case 5:h=v.memoizedProps}e[Y2]=a,e=!!(e.nodeValue===i||h!==null&&h.suppressHydrationWarning===!0||ms(e.nodeValue,i)),e||F3(a,!0)}else e=Nt(e).createTextNode(h),e[Y2]=a,a.stateNode=e}return y2(a),null;case 31:if(i=a.memoizedState,e===null||e.memoizedState!==null){if(h=l0(a),i!==null){if(e===null){if(!h)throw Error(l(318));if(e=a.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(l(557));e[Y2]=a}else f6(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;y2(a),e=!1}else i=G7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),e=!0;if(!e)return a.flags&256?(p4(a),a):(p4(a),null);if((a.flags&128)!==0)throw Error(l(558))}return y2(a),null;case 13:if(h=a.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(v=l0(a),h!==null&&h.dehydrated!==null){if(e===null){if(!v)throw Error(l(318));if(v=a.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(l(317));v[Y2]=a}else f6(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;y2(a),v=!1}else v=G7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=v),v=!0;if(!v)return a.flags&256?(p4(a),a):(p4(a),null)}return p4(a),(a.flags&128)!==0?(a.lanes=i,a):(i=h!==null,e=e!==null&&e.memoizedState!==null,i&&(h=a.child,v=null,h.alternate!==null&&h.alternate.memoizedState!==null&&h.alternate.memoizedState.cachePool!==null&&(v=h.alternate.memoizedState.cachePool.pool),z=null,h.memoizedState!==null&&h.memoizedState.cachePool!==null&&(z=h.memoizedState.cachePool.pool),z!==v&&(h.flags|=2048)),i!==e&&i&&(a.child.flags|=8192),xt(a,a.updateQueue),y2(a),null);case 4:return z1(),e===null&&rc(a.stateNode.containerInfo),y2(a),null;case 10:return s3(a.type),y2(a),null;case 19:if(G(j2),h=a.memoizedState,h===null)return y2(a),null;if(v=(a.flags&128)!==0,z=h.rendering,z===null)if(v)S8(h,!1);else{if(B2!==0||e!==null&&(e.flags&128)!==0)for(e=a.child;e!==null;){if(z=nt(e),z!==null){for(a.flags|=128,S8(h,!1),e=z.updateQueue,a.updateQueue=e,xt(a,e),a.subtreeFlags=0,e=i,i=a.child;i!==null;)Zr(i,e),i=i.sibling;return l1(j2,j2.current&1|2),c2&&l3(a,h.treeForkCount),a.child}e=e.sibling}h.tail!==null&&n1()>Mt&&(a.flags|=128,v=!0,S8(h,!1),a.lanes=4194304)}else{if(!v)if(e=nt(z),e!==null){if(a.flags|=128,v=!0,e=e.updateQueue,a.updateQueue=e,xt(a,e),S8(h,!0),h.tail===null&&h.tailMode==="hidden"&&!z.alternate&&!c2)return y2(a),null}else 2*n1()-h.renderingStartTime>Mt&&i!==536870912&&(a.flags|=128,v=!0,S8(h,!1),a.lanes=4194304);h.isBackwards?(z.sibling=a.child,a.child=z):(e=h.last,e!==null?e.sibling=z:a.child=z,h.last=z)}return h.tail!==null?(e=h.tail,h.rendering=e,h.tail=e.sibling,h.renderingStartTime=n1(),e.sibling=null,i=j2.current,l1(j2,v?i&1|2:i&1),c2&&l3(a,h.treeForkCount),e):(y2(a),null);case 22:case 23:return p4(a),l9(),h=a.memoizedState!==null,e!==null?e.memoizedState!==null!==h&&(a.flags|=8192):h&&(a.flags|=8192),h?(i&536870912)!==0&&(a.flags&128)===0&&(y2(a),a.subtreeFlags&6&&(a.flags|=8192)):y2(a),i=a.updateQueue,i!==null&&xt(a,i.retryQueue),i=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(i=e.memoizedState.cachePool.pool),h=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(h=a.memoizedState.cachePool.pool),h!==i&&(a.flags|=2048),e!==null&&G(p6),null;case 24:return i=null,e!==null&&(i=e.memoizedState.cache),a.memoizedState.cache!==i&&(a.flags|=2048),s3(T2),y2(a),null;case 25:return null;case 30:return null}throw Error(l(156,a.tag))}function mv(e,a){switch($7(a),a.tag){case 1:return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 3:return s3(T2),z1(),e=a.flags,(e&65536)!==0&&(e&128)===0?(a.flags=e&-65537|128,a):null;case 26:case 27:case 5:return I1(a),null;case 31:if(a.memoizedState!==null){if(p4(a),a.alternate===null)throw Error(l(340));f6()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 13:if(p4(a),e=a.memoizedState,e!==null&&e.dehydrated!==null){if(a.alternate===null)throw Error(l(340));f6()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 19:return G(j2),null;case 4:return z1(),null;case 10:return s3(a.type),null;case 22:case 23:return p4(a),l9(),e!==null&&G(p6),e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 24:return s3(T2),null;case 25:return null;default:return null}}function zi(e,a){switch($7(a),a.tag){case 3:s3(T2),z1();break;case 26:case 27:case 5:I1(a);break;case 4:z1();break;case 31:a.memoizedState!==null&&p4(a);break;case 13:p4(a);break;case 19:G(j2);break;case 10:s3(a.type);break;case 22:case 23:p4(a),l9(),e!==null&&G(p6);break;case 24:s3(T2)}}function A8(e,a){try{var i=a.updateQueue,h=i!==null?i.lastEffect:null;if(h!==null){var v=h.next;i=v;do{if((i.tag&e)===e){h=void 0;var z=i.create,A=i.inst;h=z(),A.destroy=h}i=i.next}while(i!==v)}}catch(k){h2(a,a.return,k)}}function O3(e,a,i){try{var h=a.updateQueue,v=h!==null?h.lastEffect:null;if(v!==null){var z=v.next;h=z;do{if((h.tag&e)===e){var A=h.inst,k=A.destroy;if(k!==void 0){A.destroy=void 0,v=a;var O=i,J=k;try{J()}catch(u1){h2(v,O,u1)}}}h=h.next}while(h!==z)}}catch(u1){h2(a,a.return,u1)}}function bi(e){var a=e.updateQueue;if(a!==null){var i=e.stateNode;try{ul(a,i)}catch(h){h2(e,e.return,h)}}}function yi(e,a,i){i.props=y6(e.type,e.memoizedProps),i.state=e.memoizedState;try{i.componentWillUnmount()}catch(h){h2(e,a,h)}}function H8(e,a){try{var i=e.ref;if(i!==null){switch(e.tag){case 26:case 27:case 5:var h=e.stateNode;break;case 30:h=e.stateNode;break;default:h=e.stateNode}typeof i=="function"?e.refCleanup=i(h):i.current=h}}catch(v){h2(e,a,v)}}function X4(e,a){var i=e.ref,h=e.refCleanup;if(i!==null)if(typeof h=="function")try{h()}catch(v){h2(e,a,v)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof i=="function")try{i(null)}catch(v){h2(e,a,v)}else i.current=null}function Mi(e){var a=e.type,i=e.memoizedProps,h=e.stateNode;try{t:switch(a){case"button":case"input":case"select":case"textarea":i.autoFocus&&h.focus();break t;case"img":i.src?h.src=i.src:i.srcSet&&(h.srcset=i.srcSet)}}catch(v){h2(e,e.return,v)}}function q9(e,a,i){try{var h=e.stateNode;Ev(h,e.type,i,a),h[n4]=a}catch(v){h2(e,e.return,v)}}function wi(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Y3(e.type)||e.tag===4}function D9(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||wi(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Y3(e.type)||e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function _9(e,a,i){var h=e.tag;if(h===5||h===6)e=e.stateNode,a?(i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i).insertBefore(e,a):(a=i.nodeType===9?i.body:i.nodeName==="HTML"?i.ownerDocument.body:i,a.appendChild(e),i=i._reactRootContainer,i!=null||a.onclick!==null||(a.onclick=a3));else if(h!==4&&(h===27&&Y3(e.type)&&(i=e.stateNode,a=null),e=e.child,e!==null))for(_9(e,a,i),e=e.sibling;e!==null;)_9(e,a,i),e=e.sibling}function gt(e,a,i){var h=e.tag;if(h===5||h===6)e=e.stateNode,a?i.insertBefore(e,a):i.appendChild(e);else if(h!==4&&(h===27&&Y3(e.type)&&(i=e.stateNode),e=e.child,e!==null))for(gt(e,a,i),e=e.sibling;e!==null;)gt(e,a,i),e=e.sibling}function Ci(e){var a=e.stateNode,i=e.memoizedProps;try{for(var h=e.type,v=a.attributes;v.length;)a.removeAttributeNode(v[0]);W2(a,h,i),a[Y2]=e,a[n4]=i}catch(z){h2(e,e.return,z)}}var f3=!1,_2=!1,O9=!1,Si=typeof WeakSet=="function"?WeakSet:Set,G2=null;function vv(e,a){if(e=e.containerInfo,sc=Dt,e=Tr(e),F7(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else t:{i=(i=e.ownerDocument)&&i.defaultView||window;var h=i.getSelection&&i.getSelection();if(h&&h.rangeCount!==0){i=h.anchorNode;var v=h.anchorOffset,z=h.focusNode;h=h.focusOffset;try{i.nodeType,z.nodeType}catch{i=null;break t}var A=0,k=-1,O=-1,J=0,u1=0,m1=e,e1=null;e:for(;;){for(var s1;m1!==i||v!==0&&m1.nodeType!==3||(k=A+v),m1!==z||h!==0&&m1.nodeType!==3||(O=A+h),m1.nodeType===3&&(A+=m1.nodeValue.length),(s1=m1.firstChild)!==null;)e1=m1,m1=s1;for(;;){if(m1===e)break e;if(e1===i&&++J===v&&(k=A),e1===z&&++u1===h&&(O=A),(s1=m1.nextSibling)!==null)break;m1=e1,e1=m1.parentNode}m1=s1}i=k===-1||O===-1?null:{start:k,end:O}}else i=null}i=i||{start:0,end:0}}else i=null;for(oc={focusedElem:e,selectionRange:i},Dt=!1,G2=a;G2!==null;)if(a=G2,e=a.child,(a.subtreeFlags&1028)!==0&&e!==null)e.return=a,G2=e;else for(;G2!==null;){switch(a=G2,z=a.alternate,e=a.flags,a.tag){case 0:if((e&4)!==0&&(e=a.updateQueue,e=e!==null?e.events:null,e!==null))for(i=0;i title"))),W2(z,h,i),z[Y2]=e,Z2(z),h=z;break t;case"link":var A=js("link","href",v).get(h+(i.href||""));if(A){for(var k=0;kv2&&(A=v2,v2=q1,q1=A);var Y=Rr(k,q1),$=Rr(k,v2);if(Y&&$&&(s1.rangeCount!==1||s1.anchorNode!==Y.node||s1.anchorOffset!==Y.offset||s1.focusNode!==$.node||s1.focusOffset!==$.offset)){var W=m1.createRange();W.setStart(Y.node,Y.offset),s1.removeAllRanges(),q1>v2?(s1.addRange(W),s1.extend($.node,$.offset)):(W.setEnd($.node,$.offset),s1.addRange(W))}}}}for(m1=[],s1=k;s1=s1.parentNode;)s1.nodeType===1&&m1.push({element:s1,left:s1.scrollLeft,top:s1.scrollTop});for(typeof k.focus=="function"&&k.focus(),k=0;ki?32:i,T.T=null,i=Y9,Y9=null;var z=$3,A=g3;if(P2=0,b0=$3=null,g3=0,(s2&6)!==0)throw Error(l(331));var k=s2;if(s2|=4,Ei(z.current),ki(z,z.current,A,i),s2=k,k8(0,!1),V1&&typeof V1.onPostCommitFiberRoot=="function")try{V1.onPostCommitFiberRoot(z2,z)}catch{}return!0}finally{U.p=v,T.T=h,ts(e,a)}}function cs(e,a,i){a=w4(i,a),a=H9(e.stateNode,a,2),e=q3(e,a,2),e!==null&&(D4(e,2),W4(e))}function h2(e,a,i){if(e.tag===3)cs(e,e,i);else for(;a!==null;){if(a.tag===3){cs(a,e,i);break}else if(a.tag===1){var h=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof h.componentDidCatch=="function"&&(P3===null||!P3.has(h))){e=w4(i,e),i=ai(2),h=q3(a,i,2),h!==null&&(ni(i,h,a,e),D4(h,2),W4(h));break}}a=a.return}}function W9(e,a,i){var h=e.pingCache;if(h===null){h=e.pingCache=new gv;var v=new Set;h.set(a,v)}else v=h.get(a),v===void 0&&(v=new Set,h.set(a,v));v.has(i)||(P9=!0,v.add(i),e=wv.bind(null,e,a,i),a.then(e,e))}function wv(e,a,i){var h=e.pingCache;h!==null&&h.delete(a),e.pingedLanes|=e.suspendedLanes&i,e.warmLanes&=~i,g2===e&&(t2&i)===i&&(B2===4||B2===3&&(t2&62914560)===t2&&300>n1()-yt?(s2&2)===0&&y0(e,0):$9|=i,z0===t2&&(z0=0)),W4(e)}function as(e,a){a===0&&(a=x2()),e=h6(e,a),e!==null&&(D4(e,a),W4(e))}function Cv(e){var a=e.memoizedState,i=0;a!==null&&(i=a.retryLane),as(e,i)}function Sv(e,a){var i=0;switch(e.tag){case 31:case 13:var h=e.stateNode,v=e.memoizedState;v!==null&&(i=v.retryLane);break;case 19:h=e.stateNode;break;case 22:h=e.stateNode._retryCache;break;default:throw Error(l(314))}h!==null&&h.delete(a),as(e,i)}function Av(e,a){return C1(e,a)}var Lt=null,w0=null,J9=!1,Vt=!1,tc=!1,G3=0;function W4(e){e!==w0&&e.next===null&&(w0===null?Lt=w0=e:w0=w0.next=e),Vt=!0,J9||(J9=!0,Lv())}function k8(e,a){if(!tc&&Vt){tc=!0;do for(var i=!1,h=Lt;h!==null;){if(e!==0){var v=h.pendingLanes;if(v===0)var z=0;else{var A=h.suspendedLanes,k=h.pingedLanes;z=(1<<31-p2(42|e)+1)-1,z&=v&~(A&~k),z=z&201326741?z&201326741|1:z?z|2:0}z!==0&&(i=!0,is(h,z))}else z=t2,z=d2(h,h===g2?z:0,h.cancelPendingCommit!==null||h.timeoutHandle!==-1),(z&3)===0||o2(h,z)||(i=!0,is(h,z));h=h.next}while(i);tc=!1}}function Hv(){ns()}function ns(){Vt=J9=!1;var e=0;G3!==0&&qv()&&(e=G3);for(var a=n1(),i=null,h=Lt;h!==null;){var v=h.next,z=rs(h,a);z===0?(h.next=null,i===null?Lt=v:i.next=v,v===null&&(w0=i)):(i=h,(e!==0||(z&3)!==0)&&(Vt=!0)),h=v}P2!==0&&P2!==5||k8(e),G3!==0&&(G3=0)}function rs(e,a){for(var i=e.suspendedLanes,h=e.pingedLanes,v=e.expirationTimes,z=e.pendingLanes&-62914561;0k)break;var u1=O.transferSize,m1=O.initiatorType;u1&&vs(m1)&&(O=O.responseEnd,A+=u1*(O"u"?null:document;function Hs(e,a,i){var h=C0;if(h&&typeof a=="string"&&a){var v=y4(a);v='link[rel="'+e+'"][href="'+v+'"]',typeof i=="string"&&(v+='[crossorigin="'+i+'"]'),As.has(v)||(As.add(v),e={rel:e,crossOrigin:i,href:a},h.querySelector(v)===null&&(a=h.createElement("link"),W2(a,"link",e),Z2(a),h.head.appendChild(a)))}}function Gv(e){z3.D(e),Hs("dns-prefetch",e,null)}function Yv(e,a){z3.C(e,a),Hs("preconnect",e,a)}function Kv(e,a,i){z3.L(e,a,i);var h=C0;if(h&&e&&a){var v='link[rel="preload"][as="'+y4(a)+'"]';a==="image"&&i&&i.imageSrcSet?(v+='[imagesrcset="'+y4(i.imageSrcSet)+'"]',typeof i.imageSizes=="string"&&(v+='[imagesizes="'+y4(i.imageSizes)+'"]')):v+='[href="'+y4(e)+'"]';var z=v;switch(a){case"style":z=S0(e);break;case"script":z=A0(e)}V4.has(z)||(e=b({rel:"preload",href:a==="image"&&i&&i.imageSrcSet?void 0:e,as:a},i),V4.set(z,e),h.querySelector(v)!==null||a==="style"&&h.querySelector(T8(z))||a==="script"&&h.querySelector(q8(z))||(a=h.createElement("link"),W2(a,"link",e),Z2(a),h.head.appendChild(a)))}}function Qv(e,a){z3.m(e,a);var i=C0;if(i&&e){var h=a&&typeof a.as=="string"?a.as:"script",v='link[rel="modulepreload"][as="'+y4(h)+'"][href="'+y4(e)+'"]',z=v;switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":z=A0(e)}if(!V4.has(z)&&(e=b({rel:"modulepreload",href:e},a),V4.set(z,e),i.querySelector(v)===null)){switch(h){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(i.querySelector(q8(z)))return}h=i.createElement("link"),W2(h,"link",e),Z2(h),i.head.appendChild(h)}}}function Xv(e,a,i){z3.S(e,a,i);var h=C0;if(h&&e){var v=G6(h).hoistableStyles,z=S0(e);a=a||"default";var A=v.get(z);if(!A){var k={loading:0,preload:null};if(A=h.querySelector(T8(z)))k.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":a},i),(i=V4.get(z))&&pc(e,i);var O=A=h.createElement("link");Z2(O),W2(O,"link",e),O._p=new Promise(function(J,u1){O.onload=J,O.onerror=u1}),O.addEventListener("load",function(){k.loading|=1}),O.addEventListener("error",function(){k.loading|=2}),k.loading|=4,Ft(A,a,h)}A={type:"stylesheet",instance:A,count:1,state:k},v.set(z,A)}}}function Wv(e,a){z3.X(e,a);var i=C0;if(i&&e){var h=G6(i).hoistableScripts,v=A0(e),z=h.get(v);z||(z=i.querySelector(q8(v)),z||(e=b({src:e,async:!0},a),(a=V4.get(v))&&xc(e,a),z=i.createElement("script"),Z2(z),W2(z,"link",e),i.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},h.set(v,z))}}function Jv(e,a){z3.M(e,a);var i=C0;if(i&&e){var h=G6(i).hoistableScripts,v=A0(e),z=h.get(v);z||(z=i.querySelector(q8(v)),z||(e=b({src:e,async:!0,type:"module"},a),(a=V4.get(v))&&xc(e,a),z=i.createElement("script"),Z2(z),W2(z,"link",e),i.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},h.set(v,z))}}function Ls(e,a,i,h){var v=(v=i1.current)?kt(v):null;if(!v)throw Error(l(446));switch(e){case"meta":case"title":return null;case"style":return typeof i.precedence=="string"&&typeof i.href=="string"?(a=S0(i.href),i=G6(v).hoistableStyles,h=i.get(a),h||(h={type:"style",instance:null,count:0,state:null},i.set(a,h)),h):{type:"void",instance:null,count:0,state:null};case"link":if(i.rel==="stylesheet"&&typeof i.href=="string"&&typeof i.precedence=="string"){e=S0(i.href);var z=G6(v).hoistableStyles,A=z.get(e);if(A||(v=v.ownerDocument||v,A={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},z.set(e,A),(z=v.querySelector(T8(e)))&&!z._p&&(A.instance=z,A.state.loading=5),V4.has(e)||(i={rel:"preload",as:"style",href:i.href,crossOrigin:i.crossOrigin,integrity:i.integrity,media:i.media,hrefLang:i.hrefLang,referrerPolicy:i.referrerPolicy},V4.set(e,i),z||tp(v,e,i,A.state))),a&&h===null)throw Error(l(528,""));return A}if(a&&h!==null)throw Error(l(529,""));return null;case"script":return a=i.async,i=i.src,typeof i=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=A0(i),i=G6(v).hoistableScripts,h=i.get(a),h||(h={type:"script",instance:null,count:0,state:null},i.set(a,h)),h):{type:"void",instance:null,count:0,state:null};default:throw Error(l(444,e))}}function S0(e){return'href="'+y4(e)+'"'}function T8(e){return'link[rel="stylesheet"]['+e+"]"}function Vs(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function tp(e,a,i,h){e.querySelector('link[rel="preload"][as="style"]['+a+"]")?h.loading=1:(a=e.createElement("link"),h.preload=a,a.addEventListener("load",function(){return h.loading|=1}),a.addEventListener("error",function(){return h.loading|=2}),W2(a,"link",i),Z2(a),e.head.appendChild(a))}function A0(e){return'[src="'+y4(e)+'"]'}function q8(e){return"script[async]"+e}function Bs(e,a,i){if(a.count++,a.instance===null)switch(a.type){case"style":var h=e.querySelector('style[data-href~="'+y4(i.href)+'"]');if(h)return a.instance=h,Z2(h),h;var v=b({},i,{"data-href":i.href,"data-precedence":i.precedence,href:null,precedence:null});return h=(e.ownerDocument||e).createElement("style"),Z2(h),W2(h,"style",v),Ft(h,i.precedence,e),a.instance=h;case"stylesheet":v=S0(i.href);var z=e.querySelector(T8(v));if(z)return a.state.loading|=4,a.instance=z,Z2(z),z;h=Vs(i),(v=V4.get(v))&&pc(h,v),z=(e.ownerDocument||e).createElement("link"),Z2(z);var A=z;return A._p=new Promise(function(k,O){A.onload=k,A.onerror=O}),W2(z,"link",h),a.state.loading|=4,Ft(z,i.precedence,e),a.instance=z;case"script":return z=A0(i.src),(v=e.querySelector(q8(z)))?(a.instance=v,Z2(v),v):(h=i,(v=V4.get(z))&&(h=b({},i),xc(h,v)),e=e.ownerDocument||e,v=e.createElement("script"),Z2(v),W2(v,"link",h),e.head.appendChild(v),a.instance=v);case"void":return null;default:throw Error(l(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(h=a.instance,a.state.loading|=4,Ft(h,i.precedence,e));return a.instance}function Ft(e,a,i){for(var h=i.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),v=h.length?h[h.length-1]:null,z=v,A=0;A title"):null)}function ep(e,a,i){if(i===1||a.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;switch(a.rel){case"stylesheet":return e=a.disabled,typeof a.precedence=="string"&&e==null;default:return!0}case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function ks(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function cp(e,a,i,h){if(i.type==="stylesheet"&&(typeof h.media!="string"||matchMedia(h.media).matches!==!1)&&(i.state.loading&4)===0){if(i.instance===null){var v=S0(h.href),z=a.querySelector(T8(v));if(z){a=z._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(e.count++,e=Et.bind(e),a.then(e,e)),i.state.loading|=4,i.instance=z,Z2(z);return}z=a.ownerDocument||a,h=Vs(h),(v=V4.get(v))&&pc(h,v),z=z.createElement("link"),Z2(z);var A=z;A._p=new Promise(function(k,O){A.onload=k,A.onerror=O}),W2(z,"link",h),i.instance=z}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(i,a),(a=i.state.preload)&&(i.state.loading&3)===0&&(e.count++,i=Et.bind(e),a.addEventListener("load",i),a.addEventListener("error",i))}}var gc=0;function ap(e,a){return e.stylesheets&&e.count===0&&qt(e,e.stylesheets),0gc?50:800)+a);return e.unsuspend=i,function(){e.unsuspend=null,clearTimeout(h),clearTimeout(v)}}:null}function Et(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)qt(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Tt=null;function qt(e,a){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Tt=new Map,a.forEach(np,e),Tt=null,Et.call(e))}function np(e,a){if(!(a.state.loading&4)){var i=Tt.get(e);if(i)var h=i.get(null);else{i=new Map,Tt.set(e,i);for(var v=e.querySelectorAll("link[data-precedence],style[data-precedence]"),z=0;z"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(c){console.error(c)}}return t(),Hc.exports=Mp(),Hc.exports}var Cp=wp();var no="popstate";function Sp(t={}){function c(l,o){let{pathname:u,search:d,hash:m}=l.location;return ga("",{pathname:u,search:d,hash:m},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function n(l,o){return typeof o=="string"?o:u5(o)}return Hp(c,n,null,t)}function H2(t,c){if(t===!1||t===null||typeof t>"u")throw new Error(c)}function G4(t,c){if(!t){typeof console<"u"&&console.warn(c);try{throw new Error(c)}catch{}}}function Ap(){return Math.random().toString(36).substring(2,10)}function ro(t,c){return{usr:t.state,key:t.key,idx:c}}function ga(t,c,n=null,l){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof c=="string"?Y0(c):c,state:n,key:c&&c.key||l||Ap()}}function u5({pathname:t="/",search:c="",hash:n=""}){return c&&c!=="?"&&(t+=c.charAt(0)==="?"?c:"?"+c),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function Y0(t){let c={};if(t){let n=t.indexOf("#");n>=0&&(c.hash=t.substring(n),t=t.substring(0,n));let l=t.indexOf("?");l>=0&&(c.search=t.substring(l),t=t.substring(0,l)),t&&(c.pathname=t)}return c}function Hp(t,c,n,l={}){let{window:o=document.defaultView,v5Compat:u=!1}=l,d=o.history,m="POP",p=null,g=x();g==null&&(g=0,d.replaceState({...d.state,idx:g},""));function x(){return(d.state||{idx:null}).idx}function b(){m="POP";let w=x(),B=w==null?null:w-g;g=w,p&&p({action:m,location:L.location,delta:B})}function M(w,B){m="PUSH";let S=ga(L.location,w,B);g=x()+1;let C=ro(S,g),j=L.createHref(S);try{d.pushState(C,"",j)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;o.location.assign(j)}u&&p&&p({action:m,location:L.location,delta:1})}function y(w,B){m="REPLACE";let S=ga(L.location,w,B);g=x();let C=ro(S,g),j=L.createHref(S);d.replaceState(C,"",j),u&&p&&p({action:m,location:L.location,delta:0})}function H(w){return Lp(w)}let L={get action(){return m},get location(){return t(o,d)},listen(w){if(p)throw new Error("A history only accepts one active listener");return o.addEventListener(no,b),p=w,()=>{o.removeEventListener(no,b),p=null}},createHref(w){return c(o,w)},createURL:H,encodeLocation(w){let B=H(w);return{pathname:B.pathname,search:B.search,hash:B.hash}},push:M,replace:y,go(w){return d.go(w)}};return L}function Lp(t,c=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),H2(n,"No window.location.(origin|href) available to create URL");let l=typeof t=="string"?t:u5(t);return l=l.replace(/ $/,"%20"),!c&&l.startsWith("//")&&(l=n+l),new URL(l,n)}function ih(t,c,n="/"){return Vp(t,c,n,!1)}function Vp(t,c,n,l){let o=typeof c=="string"?Y0(c):c,u=S3(o.pathname||"/",n);if(u==null)return null;let d=sh(t);Bp(d);let m=null;for(let p=0;m==null&&p{let x={relativePath:g===void 0?d.path||"":g,caseSensitive:d.caseSensitive===!0,childrenIndex:m,route:d};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(l)&&p)return;H2(x.relativePath.startsWith(l),`Absolute route path "${x.relativePath}" nested under path "${l}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(l.length)}let b=C3([l,x.relativePath]),M=n.concat(x);d.children&&d.children.length>0&&(H2(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),sh(d.children,c,M,b,p)),!(d.path==null&&!d.index)&&c.push({path:b,score:Tp(b,d.index),routesMeta:M})};return t.forEach((d,m)=>{if(d.path===""||!d.path?.includes("?"))u(d,m);else for(let p of oh(d.path))u(d,m,!0,p)}),c}function oh(t){let c=t.split("/");if(c.length===0)return[];let[n,...l]=c,o=n.endsWith("?"),u=n.replace(/\?$/,"");if(l.length===0)return o?[u,""]:[u];let d=oh(l.join("/")),m=[];return m.push(...d.map(p=>p===""?u:[u,p].join("/"))),o&&m.push(...d),m.map(p=>t.startsWith("/")&&p===""?"/":p)}function Bp(t){t.sort((c,n)=>c.score!==n.score?n.score-c.score:qp(c.routesMeta.map(l=>l.childrenIndex),n.routesMeta.map(l=>l.childrenIndex)))}var jp=/^:[\w-]+$/,Np=3,kp=2,Fp=1,Rp=10,Ep=-2,lo=t=>t==="*";function Tp(t,c){let n=t.split("/"),l=n.length;return n.some(lo)&&(l+=Ep),c&&(l+=kp),n.filter(o=>!lo(o)).reduce((o,u)=>o+(jp.test(u)?Np:u===""?Fp:Rp),l)}function qp(t,c){return t.length===c.length&&t.slice(0,-1).every((l,o)=>l===c[o])?t[t.length-1]-c[c.length-1]:0}function Dp(t,c,n=!1){let{routesMeta:l}=t,o={},u="/",d=[];for(let m=0;m{if(x==="*"){let H=m[M]||"";d=u.slice(0,u.length-H.length).replace(/(.)\/+$/,"$1")}const y=m[M];return b&&!y?g[x]=void 0:g[x]=(y||"").replace(/%2F/g,"/"),g},{}),pathname:u,pathnameBase:d,pattern:t}}function _p(t,c=!1,n=!0){G4(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let l=[],o="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,m,p)=>(l.push({paramName:m,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(l.push({paramName:"*"}),o+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":t!==""&&t!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,c?void 0:"i"),l]}function Op(t){try{return t.split("/").map(c=>decodeURIComponent(c).replace(/\//g,"%2F")).join("/")}catch(c){return G4(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${c}).`),t}}function S3(t,c){if(c==="/")return t;if(!t.toLowerCase().startsWith(c.toLowerCase()))return null;let n=c.endsWith("/")?c.length-1:c.length,l=t.charAt(n);return l&&l!=="/"?null:t.slice(n)||"/"}var Up=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ip=t=>Up.test(t);function Pp(t,c="/"){let{pathname:n,search:l="",hash:o=""}=typeof t=="string"?Y0(t):t,u;if(n)if(Ip(n))u=n;else{if(n.includes("//")){let d=n;n=n.replace(/\/\/+/g,"/"),G4(!1,`Pathnames cannot have embedded double slashes - normalizing ${d} -> ${n}`)}n.startsWith("/")?u=io(n.substring(1),"/"):u=io(n,c)}else u=c;return{pathname:u,search:Gp(l),hash:Yp(o)}}function io(t,c){let n=c.replace(/\/+$/,"").split("/");return t.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function jc(t,c,n,l){return`Cannot include a '${t}' character in a manually specified \`to.${c}\` field [${JSON.stringify(l)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function $p(t){return t.filter((c,n)=>n===0||c.route.path&&c.route.path.length>0)}function uh(t){let c=$p(t);return c.map((n,l)=>l===c.length-1?n.pathname:n.pathnameBase)}function hh(t,c,n,l=!1){let o;typeof t=="string"?o=Y0(t):(o={...t},H2(!o.pathname||!o.pathname.includes("?"),jc("?","pathname","search",o)),H2(!o.pathname||!o.pathname.includes("#"),jc("#","pathname","hash",o)),H2(!o.search||!o.search.includes("#"),jc("#","search","hash",o)));let u=t===""||o.pathname==="",d=u?"/":o.pathname,m;if(d==null)m=n;else{let b=c.length-1;if(!l&&d.startsWith("..")){let M=d.split("/");for(;M[0]==="..";)M.shift(),b-=1;o.pathname=M.join("/")}m=b>=0?c[b]:"/"}let p=Pp(o,m),g=d&&d!=="/"&&d.endsWith("/"),x=(u||d===".")&&n.endsWith("/");return!p.pathname.endsWith("/")&&(g||x)&&(p.pathname+="/"),p}var C3=t=>t.join("/").replace(/\/\/+/g,"/"),Zp=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),Gp=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Yp=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function Kp(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var dh=["POST","PUT","PATCH","DELETE"];new Set(dh);var Qp=["GET",...dh];new Set(Qp);var K0=f.createContext(null);K0.displayName="DataRouter";var Ke=f.createContext(null);Ke.displayName="DataRouterState";f.createContext(!1);var fh=f.createContext({isTransitioning:!1});fh.displayName="ViewTransition";var Xp=f.createContext(new Map);Xp.displayName="Fetchers";var Wp=f.createContext(null);Wp.displayName="Await";var e3=f.createContext(null);e3.displayName="Navigation";var w5=f.createContext(null);w5.displayName="Location";var A3=f.createContext({outlet:null,matches:[],isDataRoute:!1});A3.displayName="Route";var rn=f.createContext(null);rn.displayName="RouteError";function Jp(t,{relative:c}={}){H2(C5(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:l}=f.useContext(e3),{hash:o,pathname:u,search:d}=S5(t,{relative:c}),m=u;return n!=="/"&&(m=u==="/"?n:C3([n,u])),l.createHref({pathname:m,search:d,hash:o})}function C5(){return f.useContext(w5)!=null}function R6(){return H2(C5(),"useLocation() may be used only in the context of a component."),f.useContext(w5).location}var mh="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function vh(t){f.useContext(e3).static||f.useLayoutEffect(t)}function ln(){let{isDataRoute:t}=f.useContext(A3);return t?dx():tx()}function tx(){H2(C5(),"useNavigate() may be used only in the context of a component.");let t=f.useContext(K0),{basename:c,navigator:n}=f.useContext(e3),{matches:l}=f.useContext(A3),{pathname:o}=R6(),u=JSON.stringify(uh(l)),d=f.useRef(!1);return vh(()=>{d.current=!0}),f.useCallback((p,g={})=>{if(G4(d.current,mh),!d.current)return;if(typeof p=="number"){n.go(p);return}let x=hh(p,JSON.parse(u),o,g.relative==="path");t==null&&c!=="/"&&(x.pathname=x.pathname==="/"?c:C3([c,x.pathname])),(g.replace?n.replace:n.push)(x,g.state,g)},[c,n,u,o,t])}f.createContext(null);function S5(t,{relative:c}={}){let{matches:n}=f.useContext(A3),{pathname:l}=R6(),o=JSON.stringify(uh(n));return f.useMemo(()=>hh(t,JSON.parse(o),l,c==="path"),[t,o,l,c])}function ex(t,c){return ph(t,c)}function ph(t,c,n,l,o){H2(C5(),"useRoutes() may be used only in the context of a component.");let{navigator:u}=f.useContext(e3),{matches:d}=f.useContext(A3),m=d[d.length-1],p=m?m.params:{},g=m?m.pathname:"/",x=m?m.pathnameBase:"/",b=m&&m.route;{let S=b&&b.path||"";xh(g,!b||S.endsWith("*")||S.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${g}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. - -Please change the parent to .`)}let M=R6(),y;if(c){let S=typeof c=="string"?Y0(c):c;H2(x==="/"||S.pathname?.startsWith(x),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${x}" but pathname "${S.pathname}" was given in the \`location\` prop.`),y=S}else y=M;let H=y.pathname||"/",L=H;if(x!=="/"){let S=x.replace(/^\//,"").split("/");L="/"+H.replace(/^\//,"").split("/").slice(S.length).join("/")}let w=ih(t,{pathname:L});G4(b||w!=null,`No routes matched location "${y.pathname}${y.search}${y.hash}" `),G4(w==null||w[w.length-1].route.element!==void 0||w[w.length-1].route.Component!==void 0||w[w.length-1].route.lazy!==void 0,`Matched leaf route at location "${y.pathname}${y.search}${y.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let B=lx(w&&w.map(S=>Object.assign({},S,{params:Object.assign({},p,S.params),pathname:C3([x,u.encodeLocation?u.encodeLocation(S.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:S.pathname]),pathnameBase:S.pathnameBase==="/"?x:C3([x,u.encodeLocation?u.encodeLocation(S.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:S.pathnameBase])})),d,n,l,o);return c&&B?f.createElement(w5.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...y},navigationType:"POP"}},B):B}function cx(){let t=hx(),c=Kp(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),n=t instanceof Error?t.stack:null,l="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:l},u={padding:"2px 4px",backgroundColor:l},d=null;return console.error("Error handled by React Router default ErrorBoundary:",t),d=f.createElement(f.Fragment,null,f.createElement("p",null,"💿 Hey developer 👋"),f.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",f.createElement("code",{style:u},"ErrorBoundary")," or"," ",f.createElement("code",{style:u},"errorElement")," prop on your route.")),f.createElement(f.Fragment,null,f.createElement("h2",null,"Unexpected Application Error!"),f.createElement("h3",{style:{fontStyle:"italic"}},c),n?f.createElement("pre",{style:o},n):null,d)}var ax=f.createElement(cx,null),nx=class extends f.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,c){return c.location!==t.location||c.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:c.error,location:c.location,revalidation:t.revalidation||c.revalidation}}componentDidCatch(t,c){this.props.onError?this.props.onError(t,c):console.error("React Router caught the following error during render",t)}render(){return this.state.error!==void 0?f.createElement(A3.Provider,{value:this.props.routeContext},f.createElement(rn.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function rx({routeContext:t,match:c,children:n}){let l=f.useContext(K0);return l&&l.static&&l.staticContext&&(c.route.errorElement||c.route.ErrorBoundary)&&(l.staticContext._deepestRenderedBoundaryId=c.route.id),f.createElement(A3.Provider,{value:t},n)}function lx(t,c=[],n=null,l=null,o=null){if(t==null){if(!n)return null;if(n.errors)t=n.matches;else if(c.length===0&&!n.initialized&&n.matches.length>0)t=n.matches;else return null}let u=t,d=n?.errors;if(d!=null){let x=u.findIndex(b=>b.route.id&&d?.[b.route.id]!==void 0);H2(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(d).join(",")}`),u=u.slice(0,Math.min(u.length,x+1))}let m=!1,p=-1;if(n)for(let x=0;x=0?u=u.slice(0,p+1):u=[u[0]];break}}}let g=n&&l?(x,b)=>{l(x,{location:n.location,params:n.matches?.[0]?.params??{},errorInfo:b})}:void 0;return u.reduceRight((x,b,M)=>{let y,H=!1,L=null,w=null;n&&(y=d&&b.route.id?d[b.route.id]:void 0,L=b.route.errorElement||ax,m&&(p<0&&M===0?(xh("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),H=!0,w=null):p===M&&(H=!0,w=b.route.hydrateFallbackElement||null)));let B=c.concat(u.slice(0,M+1)),S=()=>{let C;return y?C=L:H?C=w:b.route.Component?C=f.createElement(b.route.Component,null):b.route.element?C=b.route.element:C=x,f.createElement(rx,{match:b,routeContext:{outlet:x,matches:B,isDataRoute:n!=null},children:C})};return n&&(b.route.ErrorBoundary||b.route.errorElement||M===0)?f.createElement(nx,{location:n.location,revalidation:n.revalidation,component:L,error:y,children:S(),routeContext:{outlet:null,matches:B,isDataRoute:!0},onError:g}):S()},null)}function sn(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function ix(t){let c=f.useContext(K0);return H2(c,sn(t)),c}function sx(t){let c=f.useContext(Ke);return H2(c,sn(t)),c}function ox(t){let c=f.useContext(A3);return H2(c,sn(t)),c}function on(t){let c=ox(t),n=c.matches[c.matches.length-1];return H2(n.route.id,`${t} can only be used on routes that contain a unique "id"`),n.route.id}function ux(){return on("useRouteId")}function hx(){let t=f.useContext(rn),c=sx("useRouteError"),n=on("useRouteError");return t!==void 0?t:c.errors?.[n]}function dx(){let{router:t}=ix("useNavigate"),c=on("useNavigate"),n=f.useRef(!1);return vh(()=>{n.current=!0}),f.useCallback(async(o,u={})=>{G4(n.current,mh),n.current&&(typeof o=="number"?t.navigate(o):await t.navigate(o,{fromRouteId:c,...u}))},[t,c])}var so={};function xh(t,c,n){!c&&!so[t]&&(so[t]=!0,G4(!1,n))}f.memo(fx);function fx({routes:t,future:c,state:n,unstable_onError:l}){return ph(t,void 0,n,l,c)}function b3(t){H2(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function mx({basename:t="/",children:c=null,location:n,navigationType:l="POP",navigator:o,static:u=!1}){H2(!C5(),"You cannot render a inside another . You should never have more than one in your app.");let d=t.replace(/^\/*/,"/"),m=f.useMemo(()=>({basename:d,navigator:o,static:u,future:{}}),[d,o,u]);typeof n=="string"&&(n=Y0(n));let{pathname:p="/",search:g="",hash:x="",state:b=null,key:M="default"}=n,y=f.useMemo(()=>{let H=S3(p,d);return H==null?null:{location:{pathname:H,search:g,hash:x,state:b,key:M},navigationType:l}},[d,p,g,x,b,M,l]);return G4(y!=null,` is not able to match the URL "${p}${g}${x}" because it does not start with the basename, so the won't render anything.`),y==null?null:f.createElement(e3.Provider,{value:m},f.createElement(w5.Provider,{children:c,value:y}))}function vx({children:t,location:c}){return ex(za(t),c)}function za(t,c=[]){let n=[];return f.Children.forEach(t,(l,o)=>{if(!f.isValidElement(l))return;let u=[...c,o];if(l.type===f.Fragment){n.push.apply(n,za(l.props.children,u));return}H2(l.type===b3,`[${typeof l.type=="string"?l.type:l.type.name}] is not a component. All component children of must be a or `),H2(!l.props.index||!l.props.children,"An index route cannot have child routes.");let d={id:l.props.id||u.join("-"),caseSensitive:l.props.caseSensitive,element:l.props.element,Component:l.props.Component,index:l.props.index,path:l.props.path,middleware:l.props.middleware,loader:l.props.loader,action:l.props.action,hydrateFallbackElement:l.props.hydrateFallbackElement,HydrateFallback:l.props.HydrateFallback,errorElement:l.props.errorElement,ErrorBoundary:l.props.ErrorBoundary,hasErrorBoundary:l.props.hasErrorBoundary===!0||l.props.ErrorBoundary!=null||l.props.errorElement!=null,shouldRevalidate:l.props.shouldRevalidate,handle:l.props.handle,lazy:l.props.lazy};l.props.children&&(d.children=za(l.props.children,u)),n.push(d)}),n}var xe="get",ge="application/x-www-form-urlencoded";function Qe(t){return t!=null&&typeof t.tagName=="string"}function px(t){return Qe(t)&&t.tagName.toLowerCase()==="button"}function xx(t){return Qe(t)&&t.tagName.toLowerCase()==="form"}function gx(t){return Qe(t)&&t.tagName.toLowerCase()==="input"}function zx(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function bx(t,c){return t.button===0&&(!c||c==="_self")&&!zx(t)}var Zt=null;function yx(){if(Zt===null)try{new FormData(document.createElement("form"),0),Zt=!1}catch{Zt=!0}return Zt}var Mx=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Nc(t){return t!=null&&!Mx.has(t)?(G4(!1,`"${t}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${ge}"`),null):t}function wx(t,c){let n,l,o,u,d;if(xx(t)){let m=t.getAttribute("action");l=m?S3(m,c):null,n=t.getAttribute("method")||xe,o=Nc(t.getAttribute("enctype"))||ge,u=new FormData(t)}else if(px(t)||gx(t)&&(t.type==="submit"||t.type==="image")){let m=t.form;if(m==null)throw new Error('Cannot submit a