diff --git a/dist/hornverifier b/dist/hornverifier index 902818eb..7e51fbf8 100755 Binary files a/dist/hornverifier and b/dist/hornverifier differ diff --git a/dist/roverd b/dist/roverd index 6429d20b..4b69216d 100755 Binary files a/dist/roverd and b/dist/roverd differ diff --git a/dist/servoverifier b/dist/servoverifier index c6b97a21..01e8bea8 100755 Binary files a/dist/servoverifier and b/dist/servoverifier differ diff --git a/pi/roverd/config.go b/pi/roverd/config.go index 81199b58..2a2768ce 100644 --- a/pi/roverd/config.go +++ b/pi/roverd/config.go @@ -66,13 +66,14 @@ type AudioConfig struct { } type HornConfig struct { - Enabled bool `yaml:"enabled" json:"enabled"` - Volume float64 `yaml:"volume" json:"-"` - SampleRate int `yaml:"sampleRate" json:"-"` - Channels int `yaml:"channels" json:"-"` - Device string `yaml:"device" json:"-"` - SineGain float64 `yaml:"sineGain" json:"-"` - SawGain float64 `yaml:"sawGain" json:"-"` + Enabled bool `yaml:"enabled" json:"enabled"` + Volume float64 `yaml:"volume" json:"-"` + SampleRate int `yaml:"sampleRate" json:"-"` + Channels int `yaml:"channels" json:"-"` + Device string `yaml:"device" json:"-"` + SineGain float64 `yaml:"sineGain" json:"-"` + SawGain float64 `yaml:"sawGain" json:"-"` + MaxDuration Duration `yaml:"maxDuration" json:"-"` } type MediaConfig struct { @@ -172,12 +173,13 @@ func LoadConfig(path string) (*Config, error) { DefaultPitch: 50, }, Horn: HornConfig{ - Enabled: false, - Volume: 0.25, - SampleRate: 48000, - Channels: 1, - SineGain: 1.0, - SawGain: 0.7, + Enabled: false, + Volume: 0.25, + SampleRate: 48000, + Channels: 1, + SineGain: 1.0, + SawGain: 0.7, + MaxDuration: Duration{Duration: 1200 * time.Millisecond}, }, NightVision: NightVisionConfig{ Enabled: true, @@ -330,6 +332,9 @@ func validateHornConfig(cfg *HornConfig) { if cfg.SawGain <= 0 { cfg.SawGain = 0.7 } + if cfg.MaxDuration.Duration <= 0 { + cfg.MaxDuration = Duration{Duration: 1200 * time.Millisecond} + } } func validateNightVisionConfig(cfg *NightVisionConfig) error { diff --git a/pi/roverd/horn.go b/pi/roverd/horn.go index c31127ae..d7e3996b 100644 --- a/pi/roverd/horn.go +++ b/pi/roverd/horn.go @@ -135,7 +135,11 @@ func (h *HornSynth) run(waveform string, freqs []float64, stop <-chan struct{}) h.mu.Unlock() writer := bufio.NewWriterSize(stdin, 32*1024) - if err := h.synthLoop(writer, waveform, freqs, rate, channels, volume, stop); err != nil { + maxFrames := 0 + if h.cfg.MaxDuration.Duration > 0 { + maxFrames = int(float64(rate) * h.cfg.MaxDuration.Duration.Seconds()) + } + if err := h.synthLoop(writer, waveform, freqs, rate, channels, volume, maxFrames, stop); err != nil { h.log.Printf("horn: synth failed: %v", err) } _ = writer.Flush() @@ -151,7 +155,7 @@ func (h *HornSynth) run(waveform string, freqs []float64, stop <-chan struct{}) h.mu.Unlock() } -func (h *HornSynth) synthLoop(writer *bufio.Writer, waveform string, freqs []float64, rate, channels int, volume float64, stop <-chan struct{}) error { +func (h *HornSynth) synthLoop(writer *bufio.Writer, waveform string, freqs []float64, rate, channels int, volume float64, maxFrames int, stop <-chan struct{}) error { phase := make([]float64, len(freqs)) increment := make([]float64, len(freqs)) for i, f := range freqs { @@ -182,6 +186,10 @@ func (h *HornSynth) synthLoop(writer *bufio.Writer, waveform string, freqs []flo } } for i := 0; i < framesPerChunk; i++ { + if maxFrames > 0 && sampleIndex >= maxFrames && !stopRequested { + stopRequested = true + releaseStart = sampleIndex + } env := 1.0 if attackFrames > 0 && sampleIndex < attackFrames { env = float64(sampleIndex) / float64(attackFrames) diff --git a/pi/roverd/roverd.sample.yaml b/pi/roverd/roverd.sample.yaml index 586fcc58..5f1f7512 100644 --- a/pi/roverd/roverd.sample.yaml +++ b/pi/roverd/roverd.sample.yaml @@ -52,6 +52,7 @@ horn: channels: 1 sineGain: 1.0 sawGain: 0.7 + maxDuration: 1.2s nightVision: enabled: true gpioPin: 22 diff --git a/server/public/assets/index-CoJQOHy3.js b/server/public/assets/index-CoJQOHy3.js new file mode 100644 index 00000000..ba52ce3a --- /dev/null +++ b/server/public/assets/index-CoJQOHy3.js @@ -0,0 +1,119 @@ +(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))r(f);new MutationObserver(f=>{for(const d of f)if(d.type==="childList")for(const h of d.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&r(h)}).observe(document,{childList:!0,subtree:!0});function i(f){const d={};return f.integrity&&(d.integrity=f.integrity),f.referrerPolicy&&(d.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?d.credentials="include":f.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(f){if(f.ep)return;f.ep=!0;const d=i(f);fetch(f.href,d)}})();function jy(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var hu={exports:{}},_s={};var zp;function Ny(){if(zp)return _s;zp=1;var a=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function i(r,f,d){var h=null;if(d!==void 0&&(h=""+d),f.key!==void 0&&(h=""+f.key),"key"in f){d={};for(var x in f)x!=="key"&&(d[x]=f[x])}else d=f;return f=d.ref,{$$typeof:a,type:r,key:h,ref:f!==void 0?f:null,props:d}}return _s.Fragment=l,_s.jsx=i,_s.jsxs=i,_s}var Lp;function wy(){return Lp||(Lp=1,hu.exports=Ny()),hu.exports}var o=wy(),pu={exports:{}},ye={};var Up;function Cy(){if(Up)return ye;Up=1;var a=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),h=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),C=Symbol.iterator;function M(q){return q===null||typeof q!="object"?null:(q=C&&q[C]||q["@@iterator"],typeof q=="function"?q:null)}var N={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},E=Object.assign,A={};function j(q,$,ee){this.props=q,this.context=$,this.refs=A,this.updater=ee||N}j.prototype.isReactComponent={},j.prototype.setState=function(q,$){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,$,"setState")},j.prototype.forceUpdate=function(q){this.updater.enqueueForceUpdate(this,q,"forceUpdate")};function w(){}w.prototype=j.prototype;function k(q,$,ee){this.props=q,this.context=$,this.refs=A,this.updater=ee||N}var B=k.prototype=new w;B.constructor=k,E(B,j.prototype),B.isPureReactComponent=!0;var H=Array.isArray;function Z(){}var D={H:null,A:null,T:null,S:null},G=Object.prototype.hasOwnProperty;function Y(q,$,ee){var ae=ee.ref;return{$$typeof:a,type:q,key:$,ref:ae!==void 0?ae:null,props:ee}}function Q(q,$){return Y(q.type,$,q.props)}function z(q){return typeof q=="object"&&q!==null&&q.$$typeof===a}function F(q){var $={"=":"=0",":":"=2"};return"$"+q.replace(/[=:]/g,function(ee){return $[ee]})}var P=/\/+/g;function re(q,$){return typeof q=="object"&&q!==null&&q.key!=null?F(""+q.key):$.toString(36)}function se(q){switch(q.status){case"fulfilled":return q.value;case"rejected":throw q.reason;default:switch(typeof q.status=="string"?q.then(Z,Z):(q.status="pending",q.then(function($){q.status==="pending"&&(q.status="fulfilled",q.value=$)},function($){q.status==="pending"&&(q.status="rejected",q.reason=$)})),q.status){case"fulfilled":return q.value;case"rejected":throw q.reason}}throw q}function _(q,$,ee,ae,le){var ie=typeof q;(ie==="undefined"||ie==="boolean")&&(q=null);var oe=!1;if(q===null)oe=!0;else switch(ie){case"bigint":case"string":case"number":oe=!0;break;case"object":switch(q.$$typeof){case a:case l:oe=!0;break;case S:return oe=q._init,_(oe(q._payload),$,ee,ae,le)}}if(oe)return le=le(q),oe=ae===""?"."+re(q,0):ae,H(le)?(ee="",oe!=null&&(ee=oe.replace(P,"$&/")+"/"),_(le,$,ee,"",function(te){return te})):le!=null&&(z(le)&&(le=Q(le,ee+(le.key==null||q&&q.key===le.key?"":(""+le.key).replace(P,"$&/")+"/")+oe)),$.push(le)),1;oe=0;var he=ae===""?".":ae+":";if(H(q))for(var pe=0;pe>>1,ve=_[fe];if(0>>1;fef(ee,ne))aef(le,ee)?(_[fe]=le,_[ae]=ne,fe=ae):(_[fe]=ee,_[$]=ne,fe=$);else if(aef(le,ne))_[fe]=le,_[ae]=ne,fe=ae;else break e}}return J}function f(_,J){var ne=_.sortIndex-J.sortIndex;return ne!==0?ne:_.id-J.id}if(a.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;a.unstable_now=function(){return d.now()}}else{var h=Date,x=h.now();a.unstable_now=function(){return h.now()-x}}var p=[],v=[],S=1,b=null,C=3,M=!1,N=!1,E=!1,A=!1,j=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;function B(_){for(var J=i(v);J!==null;){if(J.callback===null)r(v);else if(J.startTime<=_)r(v),J.sortIndex=J.expirationTime,l(p,J);else break;J=i(v)}}function H(_){if(E=!1,B(_),!N)if(i(p)!==null)N=!0,Z||(Z=!0,F());else{var J=i(v);J!==null&&se(H,J.startTime-_)}}var Z=!1,D=-1,G=5,Y=-1;function Q(){return A?!0:!(a.unstable_now()-Y_&&Q());){var fe=b.callback;if(typeof fe=="function"){b.callback=null,C=b.priorityLevel;var ve=fe(b.expirationTime<=_);if(_=a.unstable_now(),typeof ve=="function"){b.callback=ve,B(_),J=!0;break t}b===i(p)&&r(p),B(_)}else r(p);b=i(p)}if(b!==null)J=!0;else{var q=i(v);q!==null&&se(H,q.startTime-_),J=!1}}break e}finally{b=null,C=ne,M=!1}J=void 0}}finally{J?F():Z=!1}}}var F;if(typeof k=="function")F=function(){k(z)};else if(typeof MessageChannel<"u"){var P=new MessageChannel,re=P.port2;P.port1.onmessage=z,F=function(){re.postMessage(null)}}else F=function(){j(z,0)};function se(_,J){D=j(function(){_(a.unstable_now())},J)}a.unstable_IdlePriority=5,a.unstable_ImmediatePriority=1,a.unstable_LowPriority=4,a.unstable_NormalPriority=3,a.unstable_Profiling=null,a.unstable_UserBlockingPriority=2,a.unstable_cancelCallback=function(_){_.callback=null},a.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):G=0<_?Math.floor(1e3/_):5},a.unstable_getCurrentPriorityLevel=function(){return C},a.unstable_next=function(_){switch(C){case 1:case 2:case 3:var J=3;break;default:J=C}var ne=C;C=J;try{return _()}finally{C=ne}},a.unstable_requestPaint=function(){A=!0},a.unstable_runWithPriority=function(_,J){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var ne=C;C=_;try{return J()}finally{C=ne}},a.unstable_scheduleCallback=function(_,J,ne){var fe=a.unstable_now();switch(typeof ne=="object"&&ne!==null?(ne=ne.delay,ne=typeof ne=="number"&&0fe?(_.sortIndex=ne,l(v,_),i(p)===null&&_===i(v)&&(E?(w(D),D=-1):E=!0,se(H,ne-fe))):(_.sortIndex=ve,l(p,_),N||M||(N=!0,Z||(Z=!0,F()))),_},a.unstable_shouldYield=Q,a.unstable_wrapCallback=function(_){var J=C;return function(){var ne=C;C=J;try{return _.apply(this,arguments)}finally{C=ne}}}})(vu)),vu}var Yp;function qy(){return Yp||(Yp=1,xu.exports=Ey()),xu.exports}var yu={exports:{}},xt={};var $p;function My(){if($p)return xt;$p=1;var a=of();function l(p){var v="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(l){console.error(l)}}return a(),yu.exports=My(),yu.exports}var Xp;function Ry(){if(Xp)return Ds;Xp=1;var a=qy(),l=of(),i=Ty();function r(e){var t="https://react.dev/errors/"+e;if(1ve||(e.current=fe[ve],fe[ve]=null,ve--)}function ee(e,t){ve++,fe[ve]=e.current,e.current=t}var ae=q(null),le=q(null),ie=q(null),oe=q(null);function he(e,t){switch(ee(ie,t),ee(le,e),ee(ae,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?ip(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=ip(t),e=rp(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}$(ae),ee(ae,e)}function pe(){$(ae),$(le),$(ie)}function te(e){e.memoizedState!==null&&ee(oe,e);var t=ae.current,n=rp(t,e.type);t!==n&&(ee(le,e),ee(ae,n))}function ue(e){le.current===e&&($(ae),$(le)),oe.current===e&&($(oe),Ms._currentValue=ne)}var ge,Qe;function Ke(e){if(ge===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);ge=t&&t[1]||"",Qe=-1)":-1c||T[s]!==U[c]){var K=` +`+T[s].replace(" at new "," at ");return e.displayName&&K.includes("")&&(K=K.replace("",e.displayName)),K}while(1<=s&&0<=c);break}}}finally{ut=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Ke(n):""}function ni(e,t){switch(e.tag){case 26:case 27:case 5:return Ke(e.type);case 16:return Ke("Lazy");case 13:return e.child!==t&&t!==null?Ke("Suspense Fallback"):Ke("Suspense");case 19:return Ke("SuspenseList");case 0:case 15:return Dt(e.type,!1);case 11:return Dt(e.type.render,!1);case 1:return Dt(e.type,!0);case 31:return Ke("Activity");default:return""}}function za(e){try{var t="",n=null;do t+=ni(e,n),n=e,e=e.return;while(e);return t}catch(s){return` +Error generating stack: `+s.message+` +`+s.stack}}var Ll=Object.prototype.hasOwnProperty,ua=a.unstable_scheduleCallback,dn=a.unstable_cancelCallback,La=a.unstable_shouldYield,Ul=a.unstable_requestPaint,it=a.unstable_now,Hl=a.unstable_getCurrentPriorityLevel,fa=a.unstable_ImmediatePriority,Vl=a.unstable_UserBlockingPriority,Ua=a.unstable_NormalPriority,Pr=a.unstable_LowPriority,ai=a.unstable_IdlePriority,li=a.log,Kt=a.unstable_setDisableYieldValue,Ae=null,_e=null;function Je(e){if(typeof li=="function"&&Kt(e),_e&&typeof _e.setStrictMode=="function")try{_e.setStrictMode(Ae,e)}catch{}}var je=Math.clz32?Math.clz32:eo,et=Math.log,Ve=Math.LN2;function eo(e){return e>>>=0,e===0?32:31-(et(e)/Ve|0)|0}var si=256,ii=262144,ri=4194304;function da(e){var t=e&42;if(t!==0)return t;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 oi(e,t,n){var s=e.pendingLanes;if(s===0)return 0;var c=0,u=e.suspendedLanes,g=e.pingedLanes;e=e.warmLanes;var y=s&134217727;return y!==0?(s=y&~u,s!==0?c=da(s):(g&=y,g!==0?c=da(g):n||(n=y&~e,n!==0&&(c=da(n))))):(y=s&~u,y!==0?c=da(y):g!==0?c=da(g):n||(n=s&~e,n!==0&&(c=da(n)))),c===0?0:t!==0&&t!==c&&(t&u)===0&&(u=c&-c,n=t&-t,u>=n||u===32&&(n&4194048)!==0)?t:c}function Yl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ux(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 Vf(){var e=ri;return ri<<=1,(ri&62914560)===0&&(ri=4194304),e}function to(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function $l(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function fx(e,t,n,s,c,u){var g=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var y=e.entanglements,T=e.expirationTimes,U=e.hiddenUpdates;for(n=g&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var xx=/[\n"\\]/g;function Bt(e){return e.replace(xx,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function ro(e,t,n,s,c,u,g,y){e.name="",g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?e.type=g:e.removeAttribute("type"),t!=null?g==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Ot(t)):e.value!==""+Ot(t)&&(e.value=""+Ot(t)):g!=="submit"&&g!=="reset"||e.removeAttribute("value"),t!=null?oo(e,g,Ot(t)):n!=null?oo(e,g,Ot(n)):s!=null&&e.removeAttribute("value"),c==null&&u!=null&&(e.defaultChecked=!!u),c!=null&&(e.checked=c&&typeof c!="function"&&typeof c!="symbol"),y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.name=""+Ot(y):e.removeAttribute("name")}function ed(e,t,n,s,c,u,g,y){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.type=u),t!=null||n!=null){if(!(u!=="submit"&&u!=="reset"||t!=null)){io(e);return}n=n!=null?""+Ot(n):"",t=t!=null?""+Ot(t):n,y||t===e.value||(e.value=t),e.defaultValue=t}s=s??c,s=typeof s!="function"&&typeof s!="symbol"&&!!s,e.checked=y?e.checked:!!s,e.defaultChecked=!!s,g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(e.name=g),io(e)}function oo(e,t,n){t==="number"&&fi(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Xa(e,t,n,s){if(e=e.options,t){t={};for(var c=0;c"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ho=!1;if(pn)try{var Kl={};Object.defineProperty(Kl,"passive",{get:function(){ho=!0}}),window.addEventListener("test",Kl,Kl),window.removeEventListener("test",Kl,Kl)}catch{ho=!1}var Un=null,po=null,mi=null;function rd(){if(mi)return mi;var e,t=po,n=t.length,s,c="value"in Un?Un.value:Un.textContent,u=c.length;for(e=0;e=Jl),md=" ",hd=!1;function pd(e,t){switch(e){case"keyup":return Xx.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function gd(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Fa=!1;function Kx(e,t){switch(e){case"compositionend":return gd(t);case"keypress":return t.which!==32?null:(hd=!0,md);case"textInput":return e=t.data,e===md&&hd?null:e;default:return null}}function Zx(e,t){if(Fa)return e==="compositionend"||!bo&&pd(e,t)?(e=rd(),mi=po=Un=null,Fa=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=s}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Nd(n)}}function Cd(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Cd(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ed(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=fi(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=fi(e.document)}return t}function jo(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var nv=pn&&"documentMode"in document&&11>=document.documentMode,Ja=null,No=null,es=null,wo=!1;function qd(e,t,n){var s=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;wo||Ja==null||Ja!==fi(s)||(s=Ja,"selectionStart"in s&&jo(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),es&&Pl(es,s)||(es=s,s=ir(No,"onSelect"),0>=g,c-=g,tn=1<<32-je(t)+c|n<Se?(Ee=de,de=null):Ee=de.sibling;var Re=V(O,de,L[Se],I);if(Re===null){de===null&&(de=Ee);break}e&&de&&Re.alternate===null&&t(O,de),R=u(Re,R,Se),Te===null?me=Re:Te.sibling=Re,Te=Re,de=Ee}if(Se===L.length)return n(O,de),qe&&xn(O,Se),me;if(de===null){for(;SeSe?(Ee=de,de=null):Ee=de.sibling;var ra=V(O,de,Re.value,I);if(ra===null){de===null&&(de=Ee);break}e&&de&&ra.alternate===null&&t(O,de),R=u(ra,R,Se),Te===null?me=ra:Te.sibling=ra,Te=ra,de=Ee}if(Re.done)return n(O,de),qe&&xn(O,Se),me;if(de===null){for(;!Re.done;Se++,Re=L.next())Re=W(O,Re.value,I),Re!==null&&(R=u(Re,R,Se),Te===null?me=Re:Te.sibling=Re,Te=Re);return qe&&xn(O,Se),me}for(de=s(de);!Re.done;Se++,Re=L.next())Re=X(de,O,Se,Re.value,I),Re!==null&&(e&&Re.alternate!==null&&de.delete(Re.key===null?Se:Re.key),R=u(Re,R,Se),Te===null?me=Re:Te.sibling=Re,Te=Re);return e&&de.forEach(function(Ay){return t(O,Ay)}),qe&&xn(O,Se),me}function Ue(O,R,L,I){if(typeof L=="object"&&L!==null&&L.type===E&&L.key===null&&(L=L.props.children),typeof L=="object"&&L!==null){switch(L.$$typeof){case M:e:{for(var me=L.key;R!==null;){if(R.key===me){if(me=L.type,me===E){if(R.tag===7){n(O,R.sibling),I=c(R,L.props.children),I.return=O,O=I;break e}}else if(R.elementType===me||typeof me=="object"&&me!==null&&me.$$typeof===G&&ja(me)===R.type){n(O,R.sibling),I=c(R,L.props),is(I,L),I.return=O,O=I;break e}n(O,R);break}else t(O,R);R=R.sibling}L.type===E?(I=va(L.props.children,O.mode,I,L.key),I.return=O,O=I):(I=ji(L.type,L.key,L.props,null,O.mode,I),is(I,L),I.return=O,O=I)}return g(O);case N:e:{for(me=L.key;R!==null;){if(R.key===me)if(R.tag===4&&R.stateNode.containerInfo===L.containerInfo&&R.stateNode.implementation===L.implementation){n(O,R.sibling),I=c(R,L.children||[]),I.return=O,O=I;break e}else{n(O,R);break}else t(O,R);R=R.sibling}I=ko(L,O.mode,I),I.return=O,O=I}return g(O);case G:return L=ja(L),Ue(O,R,L,I)}if(se(L))return ce(O,R,L,I);if(F(L)){if(me=F(L),typeof me!="function")throw Error(r(150));return L=me.call(L),xe(O,R,L,I)}if(typeof L.then=="function")return Ue(O,R,Ti(L),I);if(L.$$typeof===k)return Ue(O,R,Ci(O,L),I);Ri(O,L)}return typeof L=="string"&&L!==""||typeof L=="number"||typeof L=="bigint"?(L=""+L,R!==null&&R.tag===6?(n(O,R.sibling),I=c(R,L),I.return=O,O=I):(n(O,R),I=Ro(L,O.mode,I),I.return=O,O=I),g(O)):n(O,R)}return function(O,R,L,I){try{ss=0;var me=Ue(O,R,L,I);return rl=null,me}catch(de){if(de===il||de===qi)throw de;var Te=qt(29,de,null,O.mode);return Te.lanes=I,Te.return=O,Te}finally{}}}var wa=Id(!0),Wd=Id(!1),Gn=!1;function Go(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Xo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Xn(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Qn(e,t,n){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(ke&2)!==0){var c=s.pending;return c===null?t.next=t:(t.next=c.next,c.next=t),s.pending=t,t=Ai(e),Od(e,null,n),t}return Si(e,s,t,n),Ai(e)}function rs(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,$f(e,n)}}function Qo(e,t){var n=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,n===s)){var c=null,u=null;if(n=n.firstBaseUpdate,n!==null){do{var g={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};u===null?c=u=g:u=u.next=g,n=n.next}while(n!==null);u===null?c=u=t:u=u.next=t}else c=u=t;n={baseState:s.baseState,firstBaseUpdate:c,lastBaseUpdate:u,shared:s.shared,callbacks:s.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ko=!1;function os(){if(Ko){var e=sl;if(e!==null)throw e}}function cs(e,t,n,s){Ko=!1;var c=e.updateQueue;Gn=!1;var u=c.firstBaseUpdate,g=c.lastBaseUpdate,y=c.shared.pending;if(y!==null){c.shared.pending=null;var T=y,U=T.next;T.next=null,g===null?u=U:g.next=U,g=T;var K=e.alternate;K!==null&&(K=K.updateQueue,y=K.lastBaseUpdate,y!==g&&(y===null?K.firstBaseUpdate=U:y.next=U,K.lastBaseUpdate=T))}if(u!==null){var W=c.baseState;g=0,K=U=T=null,y=u;do{var V=y.lane&-536870913,X=V!==y.lane;if(X?(Ce&V)===V:(s&V)===V){V!==0&&V===ll&&(Ko=!0),K!==null&&(K=K.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var ce=e,xe=y;V=t;var Ue=n;switch(xe.tag){case 1:if(ce=xe.payload,typeof ce=="function"){W=ce.call(Ue,W,V);break e}W=ce;break e;case 3:ce.flags=ce.flags&-65537|128;case 0:if(ce=xe.payload,V=typeof ce=="function"?ce.call(Ue,W,V):ce,V==null)break e;W=b({},W,V);break e;case 2:Gn=!0}}V=y.callback,V!==null&&(e.flags|=64,X&&(e.flags|=8192),X=c.callbacks,X===null?c.callbacks=[V]:X.push(V))}else X={lane:V,tag:y.tag,payload:y.payload,callback:y.callback,next:null},K===null?(U=K=X,T=W):K=K.next=X,g|=V;if(y=y.next,y===null){if(y=c.shared.pending,y===null)break;X=y,y=X.next,X.next=null,c.lastBaseUpdate=X,c.shared.pending=null}}while(!0);K===null&&(T=W),c.baseState=T,c.firstBaseUpdate=U,c.lastBaseUpdate=K,u===null&&(c.shared.lanes=0),In|=g,e.lanes=g,e.memoizedState=W}}function Pd(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function em(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;eu?u:8;var g=_.T,y={};_.T=y,dc(e,!1,t,n);try{var T=c(),U=_.S;if(U!==null&&U(y,T),T!==null&&typeof T=="object"&&typeof T.then=="function"){var K=fv(T,s);ds(e,t,K,_t(e))}else ds(e,t,s,_t(e))}catch(W){ds(e,t,{then:function(){},status:"rejected",reason:W},_t())}finally{J.p=u,g!==null&&y.types!==null&&(g.types=y.types),_.T=g}}function xv(){}function uc(e,t,n,s){if(e.tag!==5)throw Error(r(476));var c=km(e).queue;Rm(e,c,t,ne,n===null?xv:function(){return _m(e),n(s)})}function km(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sn,lastRenderedState:ne},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Sn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function _m(e){var t=km(e);t.next===null&&(t=e.alternate.memoizedState),ds(e,t.next.queue,{},_t())}function fc(){return mt(Ms)}function Dm(){return We().memoizedState}function Om(){return We().memoizedState}function vv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=_t();e=Xn(n);var s=Qn(t,e,n);s!==null&&(Ct(s,t,n),rs(s,t,n)),t={cache:Ho()},e.payload=t;return}t=t.return}}function yv(e,t,n){var s=_t();n={lane:s,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Vi(e)?zm(t,n):(n=Mo(e,t,n,s),n!==null&&(Ct(n,e,s),Lm(n,t,s)))}function Bm(e,t,n){var s=_t();ds(e,t,n,s)}function ds(e,t,n,s){var c={lane:s,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Vi(e))zm(t,c);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var g=t.lastRenderedState,y=u(g,n);if(c.hasEagerState=!0,c.eagerState=y,Et(y,g))return Si(e,t,c,0),He===null&&bi(),!1}catch{}finally{}if(n=Mo(e,t,c,s),n!==null)return Ct(n,e,s),Lm(n,t,s),!0}return!1}function dc(e,t,n,s){if(s={lane:2,revertLane:Gc(),gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},Vi(e)){if(t)throw Error(r(479))}else t=Mo(e,n,s,2),t!==null&&Ct(t,e,2)}function Vi(e){var t=e.alternate;return e===be||t!==null&&t===be}function zm(e,t){cl=Di=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Lm(e,t,n){if((n&4194048)!==0){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,$f(e,n)}}var ms={readContext:mt,use:zi,useCallback:Ze,useContext:Ze,useEffect:Ze,useImperativeHandle:Ze,useLayoutEffect:Ze,useInsertionEffect:Ze,useMemo:Ze,useReducer:Ze,useRef:Ze,useState:Ze,useDebugValue:Ze,useDeferredValue:Ze,useTransition:Ze,useSyncExternalStore:Ze,useId:Ze,useHostTransitionStatus:Ze,useFormState:Ze,useActionState:Ze,useOptimistic:Ze,useMemoCache:Ze,useCacheRefresh:Ze};ms.useEffectEvent=Ze;var Um={readContext:mt,use:zi,useCallback:function(e,t){return vt().memoizedState=[e,t===void 0?null:t],e},useContext:mt,useEffect:Am,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Ui(4194308,4,Cm.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ui(4194308,4,e,t)},useInsertionEffect:function(e,t){Ui(4,2,e,t)},useMemo:function(e,t){var n=vt();t=t===void 0?null:t;var s=e();if(Ca){Je(!0);try{e()}finally{Je(!1)}}return n.memoizedState=[s,t],s},useReducer:function(e,t,n){var s=vt();if(n!==void 0){var c=n(t);if(Ca){Je(!0);try{n(t)}finally{Je(!1)}}}else c=t;return s.memoizedState=s.baseState=c,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:c},s.queue=e,e=e.dispatch=yv.bind(null,be,e),[s.memoizedState,e]},useRef:function(e){var t=vt();return e={current:e},t.memoizedState=e},useState:function(e){e=sc(e);var t=e.queue,n=Bm.bind(null,be,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:oc,useDeferredValue:function(e,t){var n=vt();return cc(n,e,t)},useTransition:function(){var e=sc(!1);return e=Rm.bind(null,be,e.queue,!0,!1),vt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var s=be,c=vt();if(qe){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),He===null)throw Error(r(349));(Ce&127)!==0||im(s,t,n)}c.memoizedState=n;var u={value:n,getSnapshot:t};return c.queue=u,Am(om.bind(null,s,u,e),[e]),s.flags|=2048,fl(9,{destroy:void 0},rm.bind(null,s,u,n,t),null),n},useId:function(){var e=vt(),t=He.identifierPrefix;if(qe){var n=nn,s=tn;n=(s&~(1<<32-je(s)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Oi++,0<\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof s.is=="string"?g.createElement("select",{is:s.is}):g.createElement("select"),s.multiple?u.multiple=!0:s.size&&(u.size=s.size);break;default:u=typeof s.is=="string"?g.createElement(c,{is:s.is}):g.createElement(c)}}u[ft]=t,u[bt]=s;e:for(g=t.child;g!==null;){if(g.tag===5||g.tag===6)u.appendChild(g.stateNode);else if(g.tag!==4&&g.tag!==27&&g.child!==null){g.child.return=g,g=g.child;continue}if(g===t)break e;for(;g.sibling===null;){if(g.return===null||g.return===t)break e;g=g.return}g.sibling.return=g.return,g=g.sibling}t.stateNode=u;e:switch(pt(u,c,s),c){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}s&&jn(t)}}return $e(t),Cc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==s&&jn(t);else{if(typeof s!="string"&&t.stateNode===null)throw Error(r(166));if(e=ie.current,nl(t)){if(e=t.stateNode,n=t.memoizedProps,s=null,c=dt,c!==null)switch(c.tag){case 27:case 5:s=c.memoizedProps}e[ft]=t,e=!!(e.nodeValue===n||s!==null&&s.suppressHydrationWarning===!0||lp(e.nodeValue,n)),e||Yn(t,!0)}else e=rr(e).createTextNode(s),e[ft]=t,t.stateNode=e}return $e(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(s=nl(t),n!==null){if(e===null){if(!s)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[ft]=t}else ya(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$e(t),e=!1}else n=Bo(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Tt(t),t):(Tt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return $e(t),null;case 13:if(s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(c=nl(t),s!==null&&s.dehydrated!==null){if(e===null){if(!c)throw Error(r(318));if(c=t.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(r(317));c[ft]=t}else ya(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$e(t),c=!1}else c=Bo(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=c),c=!0;if(!c)return t.flags&256?(Tt(t),t):(Tt(t),null)}return Tt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=s!==null,e=e!==null&&e.memoizedState!==null,n&&(s=t.child,c=null,s.alternate!==null&&s.alternate.memoizedState!==null&&s.alternate.memoizedState.cachePool!==null&&(c=s.alternate.memoizedState.cachePool.pool),u=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(u=s.memoizedState.cachePool.pool),u!==c&&(s.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Qi(t,t.updateQueue),$e(t),null);case 4:return pe(),e===null&&Zc(t.stateNode.containerInfo),$e(t),null;case 10:return yn(t.type),$e(t),null;case 19:if($(Ie),s=t.memoizedState,s===null)return $e(t),null;if(c=(t.flags&128)!==0,u=s.rendering,u===null)if(c)ps(s,!1);else{if(Fe!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(u=_i(e),u!==null){for(t.flags|=128,ps(s,!1),e=u.updateQueue,t.updateQueue=e,Qi(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Bd(n,e),n=n.sibling;return ee(Ie,Ie.current&1|2),qe&&xn(t,s.treeForkCount),t.child}e=e.sibling}s.tail!==null&&it()>Ii&&(t.flags|=128,c=!0,ps(s,!1),t.lanes=4194304)}else{if(!c)if(e=_i(u),e!==null){if(t.flags|=128,c=!0,e=e.updateQueue,t.updateQueue=e,Qi(t,e),ps(s,!0),s.tail===null&&s.tailMode==="hidden"&&!u.alternate&&!qe)return $e(t),null}else 2*it()-s.renderingStartTime>Ii&&n!==536870912&&(t.flags|=128,c=!0,ps(s,!1),t.lanes=4194304);s.isBackwards?(u.sibling=t.child,t.child=u):(e=s.last,e!==null?e.sibling=u:t.child=u,s.last=u)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=it(),e.sibling=null,n=Ie.current,ee(Ie,c?n&1|2:n&1),qe&&xn(t,s.treeForkCount),e):($e(t),null);case 22:case 23:return Tt(t),Fo(),s=t.memoizedState!==null,e!==null?e.memoizedState!==null!==s&&(t.flags|=8192):s&&(t.flags|=8192),s?(n&536870912)!==0&&(t.flags&128)===0&&($e(t),t.subtreeFlags&6&&(t.flags|=8192)):$e(t),n=t.updateQueue,n!==null&&Qi(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),s=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),s!==n&&(t.flags|=2048),e!==null&&$(Aa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),yn(tt),$e(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Nv(e,t){switch(Do(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return yn(tt),pe(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ue(t),null;case 31:if(t.memoizedState!==null){if(Tt(t),t.alternate===null)throw Error(r(340));ya()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Tt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));ya()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return $(Ie),null;case 4:return pe(),null;case 10:return yn(t.type),null;case 22:case 23:return Tt(t),Fo(),e!==null&&$(Aa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return yn(tt),null;case 25:return null;default:return null}}function ch(e,t){switch(Do(t),t.tag){case 3:yn(tt),pe();break;case 26:case 27:case 5:ue(t);break;case 4:pe();break;case 31:t.memoizedState!==null&&Tt(t);break;case 13:Tt(t);break;case 19:$(Ie);break;case 10:yn(t.type);break;case 22:case 23:Tt(t),Fo(),e!==null&&$(Aa);break;case 24:yn(tt)}}function gs(e,t){try{var n=t.updateQueue,s=n!==null?n.lastEffect:null;if(s!==null){var c=s.next;n=c;do{if((n.tag&e)===e){s=void 0;var u=n.create,g=n.inst;s=u(),g.destroy=s}n=n.next}while(n!==c)}}catch(y){Oe(t,t.return,y)}}function Fn(e,t,n){try{var s=t.updateQueue,c=s!==null?s.lastEffect:null;if(c!==null){var u=c.next;s=u;do{if((s.tag&e)===e){var g=s.inst,y=g.destroy;if(y!==void 0){g.destroy=void 0,c=t;var T=n,U=y;try{U()}catch(K){Oe(c,T,K)}}}s=s.next}while(s!==u)}}catch(K){Oe(t,t.return,K)}}function uh(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{em(t,n)}catch(s){Oe(e,e.return,s)}}}function fh(e,t,n){n.props=Ea(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(s){Oe(e,t,s)}}function xs(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var s=e.stateNode;break;case 30:s=e.stateNode;break;default:s=e.stateNode}typeof n=="function"?e.refCleanup=n(s):n.current=s}}catch(c){Oe(e,t,c)}}function an(e,t){var n=e.ref,s=e.refCleanup;if(n!==null)if(typeof s=="function")try{s()}catch(c){Oe(e,t,c)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(c){Oe(e,t,c)}else n.current=null}function dh(e){var t=e.type,n=e.memoizedProps,s=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&s.focus();break e;case"img":n.src?s.src=n.src:n.srcSet&&(s.srcset=n.srcSet)}}catch(c){Oe(e,e.return,c)}}function Ec(e,t,n){try{var s=e.stateNode;Qv(s,e.type,n,t),s[bt]=t}catch(c){Oe(e,e.return,c)}}function mh(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&na(e.type)||e.tag===4}function qc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||mh(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&&na(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Mc(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=hn));else if(s!==4&&(s===27&&na(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Mc(e,t,n),e=e.sibling;e!==null;)Mc(e,t,n),e=e.sibling}function Ki(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(s!==4&&(s===27&&na(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Ki(e,t,n),e=e.sibling;e!==null;)Ki(e,t,n),e=e.sibling}function hh(e){var t=e.stateNode,n=e.memoizedProps;try{for(var s=e.type,c=t.attributes;c.length;)t.removeAttributeNode(c[0]);pt(t,s,n),t[ft]=e,t[bt]=n}catch(u){Oe(e,e.return,u)}}var Nn=!1,lt=!1,Tc=!1,ph=typeof WeakSet=="function"?WeakSet:Set,ct=null;function wv(e,t){if(e=e.containerInfo,Ic=hr,e=Ed(e),jo(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var s=n.getSelection&&n.getSelection();if(s&&s.rangeCount!==0){n=s.anchorNode;var c=s.anchorOffset,u=s.focusNode;s=s.focusOffset;try{n.nodeType,u.nodeType}catch{n=null;break e}var g=0,y=-1,T=-1,U=0,K=0,W=e,V=null;t:for(;;){for(var X;W!==n||c!==0&&W.nodeType!==3||(y=g+c),W!==u||s!==0&&W.nodeType!==3||(T=g+s),W.nodeType===3&&(g+=W.nodeValue.length),(X=W.firstChild)!==null;)V=W,W=X;for(;;){if(W===e)break t;if(V===n&&++U===c&&(y=g),V===u&&++K===s&&(T=g),(X=W.nextSibling)!==null)break;W=V,V=W.parentNode}W=X}n=y===-1||T===-1?null:{start:y,end:T}}else n=null}n=n||{start:0,end:0}}else n=null;for(Wc={focusedElem:e,selectionRange:n},hr=!1,ct=t;ct!==null;)if(t=ct,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ct=e;else for(;ct!==null;){switch(t=ct,u=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),pt(u,s,n),u[ft]=e,ot(u),s=u;break e;case"link":var g=Sp("link","href",c).get(s+(n.href||""));if(g){for(var y=0;yUe&&(g=Ue,Ue=xe,xe=g);var O=wd(y,xe),R=wd(y,Ue);if(O&&R&&(X.rangeCount!==1||X.anchorNode!==O.node||X.anchorOffset!==O.offset||X.focusNode!==R.node||X.focusOffset!==R.offset)){var L=W.createRange();L.setStart(O.node,O.offset),X.removeAllRanges(),xe>Ue?(X.addRange(L),X.extend(R.node,R.offset)):(L.setEnd(R.node,R.offset),X.addRange(L))}}}}for(W=[],X=y;X=X.parentNode;)X.nodeType===1&&W.push({element:X,left:X.scrollLeft,top:X.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;yn?32:n,_.T=null,n=zc,zc=null;var u=Pn,g=Mn;if(rt=0,gl=Pn=null,Mn=0,(ke&6)!==0)throw Error(r(331));var y=ke;if(ke|=4,Ch(u.current),jh(u,u.current,g,n),ke=y,js(0,!1),_e&&typeof _e.onPostCommitFiberRoot=="function")try{_e.onPostCommitFiberRoot(Ae,u)}catch{}return!0}finally{J.p=c,_.T=s,Gh(e,t)}}function Qh(e,t,n){t=Lt(n,t),t=gc(e.stateNode,t,2),e=Qn(e,t,2),e!==null&&($l(e,2),ln(e))}function Oe(e,t,n){if(e.tag===3)Qh(e,e,n);else for(;t!==null;){if(t.tag===3){Qh(t,e,n);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(Wn===null||!Wn.has(s))){e=Lt(n,e),n=Km(2),s=Qn(t,n,2),s!==null&&(Zm(n,s,t,e),$l(s,2),ln(s));break}}t=t.return}}function Vc(e,t,n){var s=e.pingCache;if(s===null){s=e.pingCache=new qv;var c=new Set;s.set(t,c)}else c=s.get(t),c===void 0&&(c=new Set,s.set(t,c));c.has(n)||(_c=!0,c.add(n),e=_v.bind(null,e,t,n),t.then(e,e))}function _v(e,t,n){var s=e.pingCache;s!==null&&s.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,He===e&&(Ce&n)===n&&(Fe===4||Fe===3&&(Ce&62914560)===Ce&&300>it()-Ji?(ke&2)===0&&xl(e,0):Dc|=n,pl===Ce&&(pl=0)),ln(e)}function Kh(e,t){t===0&&(t=Vf()),e=xa(e,t),e!==null&&($l(e,t),ln(e))}function Dv(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Kh(e,n)}function Ov(e,t){var n=0;switch(e.tag){case 31:case 13:var s=e.stateNode,c=e.memoizedState;c!==null&&(n=c.retryLane);break;case 19:s=e.stateNode;break;case 22:s=e.stateNode._retryCache;break;default:throw Error(r(314))}s!==null&&s.delete(t),Kh(e,n)}function Bv(e,t){return ua(e,t)}var ar=null,yl=null,Yc=!1,lr=!1,$c=!1,ta=0;function ln(e){e!==yl&&e.next===null&&(yl===null?ar=yl=e:yl=yl.next=e),lr=!0,Yc||(Yc=!0,Lv())}function js(e,t){if(!$c&&lr){$c=!0;do for(var n=!1,s=ar;s!==null;){if(e!==0){var c=s.pendingLanes;if(c===0)var u=0;else{var g=s.suspendedLanes,y=s.pingedLanes;u=(1<<31-je(42|e)+1)-1,u&=c&~(g&~y),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(n=!0,Ih(s,u))}else u=Ce,u=oi(s,s===He?u:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),(u&3)===0||Yl(s,u)||(n=!0,Ih(s,u));s=s.next}while(n);$c=!1}}function zv(){Zh()}function Zh(){lr=Yc=!1;var e=0;ta!==0&&Zv()&&(e=ta);for(var t=it(),n=null,s=ar;s!==null;){var c=s.next,u=Fh(s,t);u===0?(s.next=null,n===null?ar=c:n.next=c,c===null&&(yl=n)):(n=s,(e!==0||(u&3)!==0)&&(lr=!0)),s=c}rt!==0&&rt!==5||js(e),ta!==0&&(ta=0)}function Fh(e,t){for(var n=e.suspendedLanes,s=e.pingedLanes,c=e.expirationTimes,u=e.pendingLanes&-62914561;0y)break;var K=T.transferSize,W=T.initiatorType;K&&sp(W)&&(T=T.responseEnd,g+=K*(T"u"?null:document;function xp(e,t,n){var s=bl;if(s&&typeof t=="string"&&t){var c=Bt(t);c='link[rel="'+e+'"][href="'+c+'"]',typeof n=="string"&&(c+='[crossorigin="'+n+'"]'),gp.has(c)||(gp.add(c),e={rel:e,crossOrigin:n,href:t},s.querySelector(c)===null&&(t=s.createElement("link"),pt(t,"link",e),ot(t),s.head.appendChild(t)))}}function ay(e){Tn.D(e),xp("dns-prefetch",e,null)}function ly(e,t){Tn.C(e,t),xp("preconnect",e,t)}function sy(e,t,n){Tn.L(e,t,n);var s=bl;if(s&&e&&t){var c='link[rel="preload"][as="'+Bt(t)+'"]';t==="image"&&n&&n.imageSrcSet?(c+='[imagesrcset="'+Bt(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(c+='[imagesizes="'+Bt(n.imageSizes)+'"]')):c+='[href="'+Bt(e)+'"]';var u=c;switch(t){case"style":u=Sl(e);break;case"script":u=Al(e)}Gt.has(u)||(e=b({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Gt.set(u,e),s.querySelector(c)!==null||t==="style"&&s.querySelector(Es(u))||t==="script"&&s.querySelector(qs(u))||(t=s.createElement("link"),pt(t,"link",e),ot(t),s.head.appendChild(t)))}}function iy(e,t){Tn.m(e,t);var n=bl;if(n&&e){var s=t&&typeof t.as=="string"?t.as:"script",c='link[rel="modulepreload"][as="'+Bt(s)+'"][href="'+Bt(e)+'"]',u=c;switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Al(e)}if(!Gt.has(u)&&(e=b({rel:"modulepreload",href:e},t),Gt.set(u,e),n.querySelector(c)===null)){switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(qs(u)))return}s=n.createElement("link"),pt(s,"link",e),ot(s),n.head.appendChild(s)}}}function ry(e,t,n){Tn.S(e,t,n);var s=bl;if(s&&e){var c=$a(s).hoistableStyles,u=Sl(e);t=t||"default";var g=c.get(u);if(!g){var y={loading:0,preload:null};if(g=s.querySelector(Es(u)))y.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Gt.get(u))&&su(e,n);var T=g=s.createElement("link");ot(T),pt(T,"link",e),T._p=new Promise(function(U,K){T.onload=U,T.onerror=K}),T.addEventListener("load",function(){y.loading|=1}),T.addEventListener("error",function(){y.loading|=2}),y.loading|=4,cr(g,t,s)}g={type:"stylesheet",instance:g,count:1,state:y},c.set(u,g)}}}function oy(e,t){Tn.X(e,t);var n=bl;if(n&&e){var s=$a(n).hoistableScripts,c=Al(e),u=s.get(c);u||(u=n.querySelector(qs(c)),u||(e=b({src:e,async:!0},t),(t=Gt.get(c))&&iu(e,t),u=n.createElement("script"),ot(u),pt(u,"link",e),n.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},s.set(c,u))}}function cy(e,t){Tn.M(e,t);var n=bl;if(n&&e){var s=$a(n).hoistableScripts,c=Al(e),u=s.get(c);u||(u=n.querySelector(qs(c)),u||(e=b({src:e,async:!0,type:"module"},t),(t=Gt.get(c))&&iu(e,t),u=n.createElement("script"),ot(u),pt(u,"link",e),n.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},s.set(c,u))}}function vp(e,t,n,s){var c=(c=ie.current)?or(c):null;if(!c)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Sl(n.href),n=$a(c).hoistableStyles,s=n.get(t),s||(s={type:"style",instance:null,count:0,state:null},n.set(t,s)),s):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Sl(n.href);var u=$a(c).hoistableStyles,g=u.get(e);if(g||(c=c.ownerDocument||c,g={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(e,g),(u=c.querySelector(Es(e)))&&!u._p&&(g.instance=u,g.state.loading=5),Gt.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Gt.set(e,n),u||uy(c,e,n,g.state))),t&&s===null)throw Error(r(528,""));return g}if(t&&s!==null)throw Error(r(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Al(n),n=$a(c).hoistableScripts,s=n.get(t),s||(s={type:"script",instance:null,count:0,state:null},n.set(t,s)),s):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function Sl(e){return'href="'+Bt(e)+'"'}function Es(e){return'link[rel="stylesheet"]['+e+"]"}function yp(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function uy(e,t,n,s){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?s.loading=1:(t=e.createElement("link"),s.preload=t,t.addEventListener("load",function(){return s.loading|=1}),t.addEventListener("error",function(){return s.loading|=2}),pt(t,"link",n),ot(t),e.head.appendChild(t))}function Al(e){return'[src="'+Bt(e)+'"]'}function qs(e){return"script[async]"+e}function bp(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var s=e.querySelector('style[data-href~="'+Bt(n.href)+'"]');if(s)return t.instance=s,ot(s),s;var c=b({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return s=(e.ownerDocument||e).createElement("style"),ot(s),pt(s,"style",c),cr(s,n.precedence,e),t.instance=s;case"stylesheet":c=Sl(n.href);var u=e.querySelector(Es(c));if(u)return t.state.loading|=4,t.instance=u,ot(u),u;s=yp(n),(c=Gt.get(c))&&su(s,c),u=(e.ownerDocument||e).createElement("link"),ot(u);var g=u;return g._p=new Promise(function(y,T){g.onload=y,g.onerror=T}),pt(u,"link",s),t.state.loading|=4,cr(u,n.precedence,e),t.instance=u;case"script":return u=Al(n.src),(c=e.querySelector(qs(u)))?(t.instance=c,ot(c),c):(s=n,(c=Gt.get(u))&&(s=b({},n),iu(s,c)),e=e.ownerDocument||e,c=e.createElement("script"),ot(c),pt(c,"link",s),e.head.appendChild(c),t.instance=c);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(s=t.instance,t.state.loading|=4,cr(s,n.precedence,e));return t.instance}function cr(e,t,n){for(var s=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),c=s.length?s[s.length-1]:null,u=c,g=0;g title"):null)}function fy(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function jp(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function dy(e,t,n,s){if(n.type==="stylesheet"&&(typeof s.media!="string"||matchMedia(s.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var c=Sl(s.href),u=t.querySelector(Es(c));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=fr.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=u,ot(u);return}u=t.ownerDocument||t,s=yp(s),(c=Gt.get(c))&&su(s,c),u=u.createElement("link"),ot(u);var g=u;g._p=new Promise(function(y,T){g.onload=y,g.onerror=T}),pt(u,"link",s),n.instance=u}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=fr.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ru=0;function my(e,t){return e.stylesheets&&e.count===0&&mr(e,e.stylesheets),0ru?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(s),clearTimeout(c)}}:null}function fr(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)mr(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var dr=null;function mr(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,dr=new Map,t.forEach(hy,e),dr=null,fr.call(e))}function hy(e,t){if(!(t.state.loading&4)){var n=dr.get(e);if(n)var s=n.get(null);else{n=new Map,dr.set(e,n);for(var c=e.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(l){console.error(l)}}return a(),gu.exports=Ry(),gu.exports}var _y=ky();var Kp="popstate";function Dy(a={}){function l(r,f){let{pathname:d,search:h,hash:x}=r.location;return Gu("",{pathname:d,search:h,hash:x},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function i(r,f){return typeof f=="string"?f:Xs(f)}return By(l,i,null,a)}function Xe(a,l){if(a===!1||a===null||typeof a>"u")throw new Error(l)}function en(a,l){if(!a){typeof console<"u"&&console.warn(l);try{throw new Error(l)}catch{}}}function Oy(){return Math.random().toString(36).substring(2,10)}function Zp(a,l){return{usr:a.state,key:a.key,idx:l}}function Gu(a,l,i=null,r){return{pathname:typeof a=="string"?a:a.pathname,search:"",hash:"",...typeof l=="string"?Dl(l):l,state:i,key:l&&l.key||r||Oy()}}function Xs({pathname:a="/",search:l="",hash:i=""}){return l&&l!=="?"&&(a+=l.charAt(0)==="?"?l:"?"+l),i&&i!=="#"&&(a+=i.charAt(0)==="#"?i:"#"+i),a}function Dl(a){let l={};if(a){let i=a.indexOf("#");i>=0&&(l.hash=a.substring(i),a=a.substring(0,i));let r=a.indexOf("?");r>=0&&(l.search=a.substring(r),a=a.substring(0,r)),a&&(l.pathname=a)}return l}function By(a,l,i,r={}){let{window:f=document.defaultView,v5Compat:d=!1}=r,h=f.history,x="POP",p=null,v=S();v==null&&(v=0,h.replaceState({...h.state,idx:v},""));function S(){return(h.state||{idx:null}).idx}function b(){x="POP";let A=S(),j=A==null?null:A-v;v=A,p&&p({action:x,location:E.location,delta:j})}function C(A,j){x="PUSH";let w=Gu(E.location,A,j);v=S()+1;let k=Zp(w,v),B=E.createHref(w);try{h.pushState(k,"",B)}catch(H){if(H instanceof DOMException&&H.name==="DataCloneError")throw H;f.location.assign(B)}d&&p&&p({action:x,location:E.location,delta:1})}function M(A,j){x="REPLACE";let w=Gu(E.location,A,j);v=S();let k=Zp(w,v),B=E.createHref(w);h.replaceState(k,"",B),d&&p&&p({action:x,location:E.location,delta:0})}function N(A){return zy(A)}let E={get action(){return x},get location(){return a(f,h)},listen(A){if(p)throw new Error("A history only accepts one active listener");return f.addEventListener(Kp,b),p=A,()=>{f.removeEventListener(Kp,b),p=null}},createHref(A){return l(f,A)},createURL:N,encodeLocation(A){let j=N(A);return{pathname:j.pathname,search:j.search,hash:j.hash}},push:C,replace:M,go(A){return h.go(A)}};return E}function zy(a,l=!1){let i="http://localhost";typeof window<"u"&&(i=window.location.origin!=="null"?window.location.origin:window.location.href),Xe(i,"No window.location.(origin|href) available to create URL");let r=typeof a=="string"?a:Xs(a);return r=r.replace(/ $/,"%20"),!l&&r.startsWith("//")&&(r=i+r),new URL(r,i)}function U0(a,l,i="/"){return Ly(a,l,i,!1)}function Ly(a,l,i,r){let f=typeof l=="string"?Dl(l):l,d=Bn(f.pathname||"/",i);if(d==null)return null;let h=H0(a);Uy(h);let x=null;for(let p=0;x==null&&p{let S={relativePath:v===void 0?h.path||"":v,caseSensitive:h.caseSensitive===!0,childrenIndex:x,route:h};if(S.relativePath.startsWith("/")){if(!S.relativePath.startsWith(r)&&p)return;Xe(S.relativePath.startsWith(r),`Absolute route path "${S.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),S.relativePath=S.relativePath.slice(r.length)}let b=On([r,S.relativePath]),C=i.concat(S);h.children&&h.children.length>0&&(Xe(h.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),H0(h.children,l,C,b,p)),!(h.path==null&&!h.index)&&l.push({path:b,score:Qy(b,h.index),routesMeta:C})};return a.forEach((h,x)=>{if(h.path===""||!h.path?.includes("?"))d(h,x);else for(let p of V0(h.path))d(h,x,!0,p)}),l}function V0(a){let l=a.split("/");if(l.length===0)return[];let[i,...r]=l,f=i.endsWith("?"),d=i.replace(/\?$/,"");if(r.length===0)return f?[d,""]:[d];let h=V0(r.join("/")),x=[];return x.push(...h.map(p=>p===""?d:[d,p].join("/"))),f&&x.push(...h),x.map(p=>a.startsWith("/")&&p===""?"/":p)}function Uy(a){a.sort((l,i)=>l.score!==i.score?i.score-l.score:Ky(l.routesMeta.map(r=>r.childrenIndex),i.routesMeta.map(r=>r.childrenIndex)))}var Hy=/^:[\w-]+$/,Vy=3,Yy=2,$y=1,Gy=10,Xy=-2,Fp=a=>a==="*";function Qy(a,l){let i=a.split("/"),r=i.length;return i.some(Fp)&&(r+=Xy),l&&(r+=Yy),i.filter(f=>!Fp(f)).reduce((f,d)=>f+(Hy.test(d)?Vy:d===""?$y:Gy),r)}function Ky(a,l){return a.length===l.length&&a.slice(0,-1).every((r,f)=>r===l[f])?a[a.length-1]-l[l.length-1]:0}function Zy(a,l,i=!1){let{routesMeta:r}=a,f={},d="/",h=[];for(let x=0;x{if(S==="*"){let N=x[C]||"";h=d.slice(0,d.length-N.length).replace(/(.)\/+$/,"$1")}const M=x[C];return b&&!M?v[S]=void 0:v[S]=(M||"").replace(/%2F/g,"/"),v},{}),pathname:d,pathnameBase:h,pattern:a}}function Fy(a,l=!1,i=!0){en(a==="*"||!a.endsWith("*")||a.endsWith("/*"),`Route path "${a}" will be treated as if it were "${a.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${a.replace(/\*$/,"/*")}".`);let r=[],f="^"+a.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(h,x,p)=>(r.push({paramName:x,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return a.endsWith("*")?(r.push({paramName:"*"}),f+=a==="*"||a==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):i?f+="\\/*$":a!==""&&a!=="/"&&(f+="(?:(?=\\/|$))"),[new RegExp(f,l?void 0:"i"),r]}function Jy(a){try{return a.split("/").map(l=>decodeURIComponent(l).replace(/\//g,"%2F")).join("/")}catch(l){return en(!1,`The URL path "${a}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${l}).`),a}}function Bn(a,l){if(l==="/")return a;if(!a.toLowerCase().startsWith(l.toLowerCase()))return null;let i=l.endsWith("/")?l.length-1:l.length,r=a.charAt(i);return r&&r!=="/"?null:a.slice(i)||"/"}var Iy=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Wy=a=>Iy.test(a);function Py(a,l="/"){let{pathname:i,search:r="",hash:f=""}=typeof a=="string"?Dl(a):a,d;if(i)if(Wy(i))d=i;else{if(i.includes("//")){let h=i;i=i.replace(/\/\/+/g,"/"),en(!1,`Pathnames cannot have embedded double slashes - normalizing ${h} -> ${i}`)}i.startsWith("/")?d=Jp(i.substring(1),"/"):d=Jp(i,l)}else d=l;return{pathname:d,search:nb(r),hash:ab(f)}}function Jp(a,l){let i=l.replace(/\/+$/,"").split("/");return a.split("/").forEach(f=>{f===".."?i.length>1&&i.pop():f!=="."&&i.push(f)}),i.length>1?i.join("/"):"/"}function bu(a,l,i,r){return`Cannot include a '${a}' character in a manually specified \`to.${l}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${i}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function eb(a){return a.filter((l,i)=>i===0||l.route.path&&l.route.path.length>0)}function Y0(a){let l=eb(a);return l.map((i,r)=>r===l.length-1?i.pathname:i.pathnameBase)}function $0(a,l,i,r=!1){let f;typeof a=="string"?f=Dl(a):(f={...a},Xe(!f.pathname||!f.pathname.includes("?"),bu("?","pathname","search",f)),Xe(!f.pathname||!f.pathname.includes("#"),bu("#","pathname","hash",f)),Xe(!f.search||!f.search.includes("#"),bu("#","search","hash",f)));let d=a===""||f.pathname==="",h=d?"/":f.pathname,x;if(h==null)x=i;else{let b=l.length-1;if(!r&&h.startsWith("..")){let C=h.split("/");for(;C[0]==="..";)C.shift(),b-=1;f.pathname=C.join("/")}x=b>=0?l[b]:"/"}let p=Py(f,x),v=h&&h!=="/"&&h.endsWith("/"),S=(d||h===".")&&i.endsWith("/");return!p.pathname.endsWith("/")&&(v||S)&&(p.pathname+="/"),p}var On=a=>a.join("/").replace(/\/\/+/g,"/"),tb=a=>a.replace(/\/+$/,"").replace(/^\/*/,"/"),nb=a=>!a||a==="?"?"":a.startsWith("?")?a:"?"+a,ab=a=>!a||a==="#"?"":a.startsWith("#")?a:"#"+a;function lb(a){return a!=null&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.internal=="boolean"&&"data"in a}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var G0=["POST","PUT","PATCH","DELETE"];new Set(G0);var sb=["GET",...G0];new Set(sb);var Ol=m.createContext(null);Ol.displayName="DataRouter";var $r=m.createContext(null);$r.displayName="DataRouterState";m.createContext(!1);var X0=m.createContext({isTransitioning:!1});X0.displayName="ViewTransition";var ib=m.createContext(new Map);ib.displayName="Fetchers";var rb=m.createContext(null);rb.displayName="Await";var un=m.createContext(null);un.displayName="Navigation";var Ws=m.createContext(null);Ws.displayName="Location";var zn=m.createContext({outlet:null,matches:[],isDataRoute:!1});zn.displayName="Route";var cf=m.createContext(null);cf.displayName="RouteError";function ob(a,{relative:l}={}){Xe(Ps(),"useHref() may be used only in the context of a component.");let{basename:i,navigator:r}=m.useContext(un),{hash:f,pathname:d,search:h}=ei(a,{relative:l}),x=d;return i!=="/"&&(x=d==="/"?i:On([i,d])),r.createHref({pathname:x,search:h,hash:f})}function Ps(){return m.useContext(Ws)!=null}function Ba(){return Xe(Ps(),"useLocation() may be used only in the context of a component."),m.useContext(Ws).location}var Q0="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function K0(a){m.useContext(un).static||m.useLayoutEffect(a)}function cb(){let{isDataRoute:a}=m.useContext(zn);return a?Ab():ub()}function ub(){Xe(Ps(),"useNavigate() may be used only in the context of a component.");let a=m.useContext(Ol),{basename:l,navigator:i}=m.useContext(un),{matches:r}=m.useContext(zn),{pathname:f}=Ba(),d=JSON.stringify(Y0(r)),h=m.useRef(!1);return K0(()=>{h.current=!0}),m.useCallback((p,v={})=>{if(en(h.current,Q0),!h.current)return;if(typeof p=="number"){i.go(p);return}let S=$0(p,JSON.parse(d),f,v.relative==="path");a==null&&l!=="/"&&(S.pathname=S.pathname==="/"?l:On([l,S.pathname])),(v.replace?i.replace:i.push)(S,v.state,v)},[l,i,d,f,a])}m.createContext(null);function ei(a,{relative:l}={}){let{matches:i}=m.useContext(zn),{pathname:r}=Ba(),f=JSON.stringify(Y0(i));return m.useMemo(()=>$0(a,JSON.parse(f),r,l==="path"),[a,f,r,l])}function fb(a,l){return Z0(a,l)}function Z0(a,l,i,r,f){Xe(Ps(),"useRoutes() may be used only in the context of a component.");let{navigator:d}=m.useContext(un),{matches:h}=m.useContext(zn),x=h[h.length-1],p=x?x.params:{},v=x?x.pathname:"/",S=x?x.pathnameBase:"/",b=x&&x.route;{let w=b&&b.path||"";F0(v,!b||w.endsWith("*")||w.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${v}" (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 C=Ba(),M;if(l){let w=typeof l=="string"?Dl(l):l;Xe(S==="/"||w.pathname?.startsWith(S),`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 "${S}" but pathname "${w.pathname}" was given in the \`location\` prop.`),M=w}else M=C;let N=M.pathname||"/",E=N;if(S!=="/"){let w=S.replace(/^\//,"").split("/");E="/"+N.replace(/^\//,"").split("/").slice(w.length).join("/")}let A=U0(a,{pathname:E});en(b||A!=null,`No routes matched location "${M.pathname}${M.search}${M.hash}" `),en(A==null||A[A.length-1].route.element!==void 0||A[A.length-1].route.Component!==void 0||A[A.length-1].route.lazy!==void 0,`Matched leaf route at location "${M.pathname}${M.search}${M.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 j=gb(A&&A.map(w=>Object.assign({},w,{params:Object.assign({},p,w.params),pathname:On([S,d.encodeLocation?d.encodeLocation(w.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?S:On([S,d.encodeLocation?d.encodeLocation(w.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),h,i,r,f);return l&&j?m.createElement(Ws.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...M},navigationType:"POP"}},j):j}function db(){let a=Sb(),l=lb(a)?`${a.status} ${a.statusText}`:a instanceof Error?a.message:JSON.stringify(a),i=a instanceof Error?a.stack:null,r="rgba(200,200,200, 0.5)",f={padding:"0.5rem",backgroundColor:r},d={padding:"2px 4px",backgroundColor:r},h=null;return console.error("Error handled by React Router default ErrorBoundary:",a),h=m.createElement(m.Fragment,null,m.createElement("p",null,"💿 Hey developer 👋"),m.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",m.createElement("code",{style:d},"ErrorBoundary")," or"," ",m.createElement("code",{style:d},"errorElement")," prop on your route.")),m.createElement(m.Fragment,null,m.createElement("h2",null,"Unexpected Application Error!"),m.createElement("h3",{style:{fontStyle:"italic"}},l),i?m.createElement("pre",{style:f},i):null,h)}var mb=m.createElement(db,null),hb=class extends m.Component{constructor(a){super(a),this.state={location:a.location,revalidation:a.revalidation,error:a.error}}static getDerivedStateFromError(a){return{error:a}}static getDerivedStateFromProps(a,l){return l.location!==a.location||l.revalidation!=="idle"&&a.revalidation==="idle"?{error:a.error,location:a.location,revalidation:a.revalidation}:{error:a.error!==void 0?a.error:l.error,location:l.location,revalidation:a.revalidation||l.revalidation}}componentDidCatch(a,l){this.props.onError?this.props.onError(a,l):console.error("React Router caught the following error during render",a)}render(){return this.state.error!==void 0?m.createElement(zn.Provider,{value:this.props.routeContext},m.createElement(cf.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function pb({routeContext:a,match:l,children:i}){let r=m.useContext(Ol);return r&&r.static&&r.staticContext&&(l.route.errorElement||l.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=l.route.id),m.createElement(zn.Provider,{value:a},i)}function gb(a,l=[],i=null,r=null,f=null){if(a==null){if(!i)return null;if(i.errors)a=i.matches;else if(l.length===0&&!i.initialized&&i.matches.length>0)a=i.matches;else return null}let d=a,h=i?.errors;if(h!=null){let S=d.findIndex(b=>b.route.id&&h?.[b.route.id]!==void 0);Xe(S>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(h).join(",")}`),d=d.slice(0,Math.min(d.length,S+1))}let x=!1,p=-1;if(i)for(let S=0;S=0?d=d.slice(0,p+1):d=[d[0]];break}}}let v=i&&r?(S,b)=>{r(S,{location:i.location,params:i.matches?.[0]?.params??{},errorInfo:b})}:void 0;return d.reduceRight((S,b,C)=>{let M,N=!1,E=null,A=null;i&&(M=h&&b.route.id?h[b.route.id]:void 0,E=b.route.errorElement||mb,x&&(p<0&&C===0?(F0("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),N=!0,A=null):p===C&&(N=!0,A=b.route.hydrateFallbackElement||null)));let j=l.concat(d.slice(0,C+1)),w=()=>{let k;return M?k=E:N?k=A:b.route.Component?k=m.createElement(b.route.Component,null):b.route.element?k=b.route.element:k=S,m.createElement(pb,{match:b,routeContext:{outlet:S,matches:j,isDataRoute:i!=null},children:k})};return i&&(b.route.ErrorBoundary||b.route.errorElement||C===0)?m.createElement(hb,{location:i.location,revalidation:i.revalidation,component:E,error:M,children:w(),routeContext:{outlet:null,matches:j,isDataRoute:!0},onError:v}):w()},null)}function uf(a){return`${a} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function xb(a){let l=m.useContext(Ol);return Xe(l,uf(a)),l}function vb(a){let l=m.useContext($r);return Xe(l,uf(a)),l}function yb(a){let l=m.useContext(zn);return Xe(l,uf(a)),l}function ff(a){let l=yb(a),i=l.matches[l.matches.length-1];return Xe(i.route.id,`${a} can only be used on routes that contain a unique "id"`),i.route.id}function bb(){return ff("useRouteId")}function Sb(){let a=m.useContext(cf),l=vb("useRouteError"),i=ff("useRouteError");return a!==void 0?a:l.errors?.[i]}function Ab(){let{router:a}=xb("useNavigate"),l=ff("useNavigate"),i=m.useRef(!1);return K0(()=>{i.current=!0}),m.useCallback(async(f,d={})=>{en(i.current,Q0),i.current&&(typeof f=="number"?a.navigate(f):await a.navigate(f,{fromRouteId:l,...d}))},[a,l])}var Ip={};function F0(a,l,i){!l&&!Ip[a]&&(Ip[a]=!0,en(!1,i))}m.memo(jb);function jb({routes:a,future:l,state:i,unstable_onError:r}){return Z0(a,void 0,i,r,l)}function Cr(a){Xe(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function Nb({basename:a="/",children:l=null,location:i,navigationType:r="POP",navigator:f,static:d=!1}){Xe(!Ps(),"You cannot render a inside another . You should never have more than one in your app.");let h=a.replace(/^\/*/,"/"),x=m.useMemo(()=>({basename:h,navigator:f,static:d,future:{}}),[h,f,d]);typeof i=="string"&&(i=Dl(i));let{pathname:p="/",search:v="",hash:S="",state:b=null,key:C="default"}=i,M=m.useMemo(()=>{let N=Bn(p,h);return N==null?null:{location:{pathname:N,search:v,hash:S,state:b,key:C},navigationType:r}},[h,p,v,S,b,C,r]);return en(M!=null,` is not able to match the URL "${p}${v}${S}" because it does not start with the basename, so the won't render anything.`),M==null?null:m.createElement(un.Provider,{value:x},m.createElement(Ws.Provider,{children:l,value:M}))}function wb({children:a,location:l}){return fb(Xu(a),l)}function Xu(a,l=[]){let i=[];return m.Children.forEach(a,(r,f)=>{if(!m.isValidElement(r))return;let d=[...l,f];if(r.type===m.Fragment){i.push.apply(i,Xu(r.props.children,d));return}Xe(r.type===Cr,`[${typeof r.type=="string"?r.type:r.type.name}] is not a component. All component children of must be a or `),Xe(!r.props.index||!r.props.children,"An index route cannot have child routes.");let h={id:r.props.id||d.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(h.children=Xu(r.props.children,d)),i.push(h)}),i}var Er="get",qr="application/x-www-form-urlencoded";function Gr(a){return a!=null&&typeof a.tagName=="string"}function Cb(a){return Gr(a)&&a.tagName.toLowerCase()==="button"}function Eb(a){return Gr(a)&&a.tagName.toLowerCase()==="form"}function qb(a){return Gr(a)&&a.tagName.toLowerCase()==="input"}function Mb(a){return!!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)}function Tb(a,l){return a.button===0&&(!l||l==="_self")&&!Mb(a)}var Sr=null;function Rb(){if(Sr===null)try{new FormData(document.createElement("form"),0),Sr=!1}catch{Sr=!0}return Sr}var kb=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Su(a){return a!=null&&!kb.has(a)?(en(!1,`"${a}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${qr}"`),null):a}function _b(a,l){let i,r,f,d,h;if(Eb(a)){let x=a.getAttribute("action");r=x?Bn(x,l):null,i=a.getAttribute("method")||Er,f=Su(a.getAttribute("enctype"))||qr,d=new FormData(a)}else if(Cb(a)||qb(a)&&(a.type==="submit"||a.type==="image")){let x=a.form;if(x==null)throw new Error('Cannot submit a