diff --git a/server/public/assets/index-DoNH_msu.css b/server/public/assets/index-DoNH_msu.css deleted file mode 100644 index e588916d..00000000 --- a/server/public/assets/index-DoNH_msu.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mt-4{margin-top:1rem}.flex{display:flex}.grid{display:grid}.h-64{height:16rem}.max-h-64{max-height:16rem}.min-h-screen{min-height:100vh}.max-w-6xl{max-width:72rem}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-3{gap:.75rem}.gap-6{gap:1.5rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity))}.bg-red-500\/20{background-color:#ef444433}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-slate-800\/80{background-color:#1e293bcc}.bg-slate-900\/60{background-color:#0f172a99}.bg-slate-900\/70{background-color:#0f172ab3}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity))}.bg-slate-950\/40{background-color:#02061766}.bg-slate-950\/60{background-color:#02061799}.p-3{padding:.75rem}.p-4{padding:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-\[0\.2em\]{letter-spacing:.2em}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity))}.text-pink-300{--tw-text-opacity: 1;color:rgb(249 168 212 / var(--tw-text-opacity))}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-teal-200{--tw-text-opacity: 1;color:rgb(153 246 228 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background-color:#f8fafc}body{margin:0;min-height:100vh;background-color:#0f172a}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}} diff --git a/server/public/assets/index-JJWJQzRI.css b/server/public/assets/index-JJWJQzRI.css new file mode 100644 index 00000000..da9f2eb4 --- /dev/null +++ b/server/public/assets/index-JJWJQzRI.css @@ -0,0 +1 @@ +*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.col-span-full{grid-column:1 / -1}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.flex{display:flex}.grid{display:grid}.aspect-video{aspect-ratio:16 / 9}.h-60{height:15rem}.h-64{height:16rem}.max-h-64{max-height:16rem}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-y-auto{overflow-y:auto}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.border-slate-800\/80{border-color:#1e293bcc}.bg-black\/60{background-color:#0009}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.bg-blue-600\/40{background-color:#2563eb66}.bg-emerald-500\/20{background-color:#10b98133}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity))}.bg-red-500\/20{background-color:#ef444433}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-slate-800\/80{background-color:#1e293bcc}.bg-slate-900\/60{background-color:#0f172a99}.bg-slate-900\/70{background-color:#0f172ab3}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity))}.bg-slate-950\/40{background-color:#02061766}.bg-slate-950\/50{background-color:#02061780}.bg-slate-950\/60{background-color:#02061799}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-\[0\.3em\]{letter-spacing:.3em}.text-blue-100{--tw-text-opacity: 1;color:rgb(219 234 254 / var(--tw-text-opacity))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity))}.text-pink-300{--tw-text-opacity: 1;color:rgb(249 168 212 / var(--tw-text-opacity))}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-teal-200{--tw-text-opacity: 1;color:rgb(153 246 228 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background-color:#f8fafc}body{margin:0;min-height:100vh;background-color:#0f172a}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}} diff --git a/server/public/assets/index-OlyDvT3F.js b/server/public/assets/index-OlyDvT3F.js deleted file mode 100644 index 96e2ab93..00000000 --- a/server/public/assets/index-OlyDvT3F.js +++ /dev/null @@ -1,9 +0,0 @@ -(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const m of document.querySelectorAll('link[rel="modulepreload"]'))s(m);new MutationObserver(m=>{for(const E of m)if(E.type==="childList")for(const R of E.addedNodes)R.tagName==="LINK"&&R.rel==="modulepreload"&&s(R)}).observe(document,{childList:!0,subtree:!0});function f(m){const E={};return m.integrity&&(E.integrity=m.integrity),m.referrerPolicy&&(E.referrerPolicy=m.referrerPolicy),m.crossOrigin==="use-credentials"?E.credentials="include":m.crossOrigin==="anonymous"?E.credentials="omit":E.credentials="same-origin",E}function s(m){if(m.ep)return;m.ep=!0;const E=f(m);fetch(m.href,E)}})();var Af={exports:{}},Ra={};var kh;function km(){if(kh)return Ra;kh=1;var o=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function f(s,m,E){var R=null;if(E!==void 0&&(R=""+E),m.key!==void 0&&(R=""+m.key),"key"in m){E={};for(var B in m)B!=="key"&&(E[B]=m[B])}else E=m;return m=E.ref,{$$typeof:o,type:s,key:R,ref:m!==void 0?m:null,props:E}}return Ra.Fragment=i,Ra.jsx=f,Ra.jsxs=f,Ra}var Wh;function Wm(){return Wh||(Wh=1,Af.exports=km()),Af.exports}var Y=Wm(),zf={exports:{}},G={};var $h;function $m(){if($h)return G;$h=1;var o=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),f=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),m=Symbol.for("react.profiler"),E=Symbol.for("react.consumer"),R=Symbol.for("react.context"),B=Symbol.for("react.forward_ref"),M=Symbol.for("react.suspense"),A=Symbol.for("react.memo"),Q=Symbol.for("react.lazy"),x=Symbol.for("react.activity"),K=Symbol.iterator;function Yt(y){return y===null||typeof y!="object"?null:(y=K&&y[K]||y["@@iterator"],typeof y=="function"?y:null)}var _t={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ut=Object.assign,qe={};function It(y,N,U){this.props=y,this.context=N,this.refs=qe,this.updater=U||_t}It.prototype.isReactComponent={},It.prototype.setState=function(y,N){if(typeof y!="object"&&typeof y!="function"&&y!=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,y,N,"setState")},It.prototype.forceUpdate=function(y){this.updater.enqueueForceUpdate(this,y,"forceUpdate")};function el(){}el.prototype=It.prototype;function jt(y,N,U){this.props=y,this.context=N,this.refs=qe,this.updater=U||_t}var se=jt.prototype=new el;se.constructor=jt,Ut(se,It.prototype),se.isPureReactComponent=!0;var Oe=Array.isArray;function Gt(){}var I={H:null,A:null,T:null,S:null},Vt=Object.prototype.hasOwnProperty;function Ne(y,N,U){var q=U.ref;return{$$typeof:o,type:y,key:N,ref:q!==void 0?q:null,props:U}}function kl(y,N){return Ne(y.type,N,y.props)}function Me(y){return typeof y=="object"&&y!==null&&y.$$typeof===o}function Zt(y){var N={"=":"=0",":":"=2"};return"$"+y.replace(/[=:]/g,function(U){return N[U]})}var Ml=/\/+/g;function He(y,N){return typeof y=="object"&&y!==null&&y.key!=null?Zt(""+y.key):N.toString(36)}function _e(y){switch(y.status){case"fulfilled":return y.value;case"rejected":throw y.reason;default:switch(typeof y.status=="string"?y.then(Gt,Gt):(y.status="pending",y.then(function(N){y.status==="pending"&&(y.status="fulfilled",y.value=N)},function(N){y.status==="pending"&&(y.status="rejected",y.reason=N)})),y.status){case"fulfilled":return y.value;case"rejected":throw y.reason}}throw y}function T(y,N,U,q,V){var J=typeof y;(J==="undefined"||J==="boolean")&&(y=null);var at=!1;if(y===null)at=!0;else switch(J){case"bigint":case"string":case"number":at=!0;break;case"object":switch(y.$$typeof){case o:case i:at=!0;break;case Q:return at=y._init,T(at(y._payload),N,U,q,V)}}if(at)return V=V(y),at=q===""?"."+He(y,0):q,Oe(V)?(U="",at!=null&&(U=at.replace(Ml,"$&/")+"/"),T(V,N,U,"",function(Hn){return Hn})):V!=null&&(Me(V)&&(V=kl(V,U+(V.key==null||y&&y.key===V.key?"":(""+V.key).replace(Ml,"$&/")+"/")+at)),N.push(V)),1;at=0;var Xt=q===""?".":q+":";if(Oe(y))for(var pt=0;pt>>1,rt=T[ct];if(0>>1;ctm(U,X))qm(V,U)?(T[ct]=V,T[q]=X,ct=q):(T[ct]=U,T[N]=X,ct=N);else if(qm(V,X))T[ct]=V,T[q]=X,ct=q;else break t}}return D}function m(T,D){var X=T.sortIndex-D.sortIndex;return X!==0?X:T.id-D.id}if(o.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var E=performance;o.unstable_now=function(){return E.now()}}else{var R=Date,B=R.now();o.unstable_now=function(){return R.now()-B}}var M=[],A=[],Q=1,x=null,K=3,Yt=!1,_t=!1,Ut=!1,qe=!1,It=typeof setTimeout=="function"?setTimeout:null,el=typeof clearTimeout=="function"?clearTimeout:null,jt=typeof setImmediate<"u"?setImmediate:null;function se(T){for(var D=f(A);D!==null;){if(D.callback===null)s(A);else if(D.startTime<=T)s(A),D.sortIndex=D.expirationTime,i(M,D);else break;D=f(A)}}function Oe(T){if(Ut=!1,se(T),!_t)if(f(M)!==null)_t=!0,Gt||(Gt=!0,Zt());else{var D=f(A);D!==null&&_e(Oe,D.startTime-T)}}var Gt=!1,I=-1,Vt=5,Ne=-1;function kl(){return qe?!0:!(o.unstable_now()-NeT&&kl());){var ct=x.callback;if(typeof ct=="function"){x.callback=null,K=x.priorityLevel;var rt=ct(x.expirationTime<=T);if(T=o.unstable_now(),typeof rt=="function"){x.callback=rt,se(T),D=!0;break e}x===f(M)&&s(M),se(T)}else s(M);x=f(M)}if(x!==null)D=!0;else{var y=f(A);y!==null&&_e(Oe,y.startTime-T),D=!1}}break t}finally{x=null,K=X,Yt=!1}D=void 0}}finally{D?Zt():Gt=!1}}}var Zt;if(typeof jt=="function")Zt=function(){jt(Me)};else if(typeof MessageChannel<"u"){var Ml=new MessageChannel,He=Ml.port2;Ml.port1.onmessage=Me,Zt=function(){He.postMessage(null)}}else Zt=function(){It(Me,0)};function _e(T,D){I=It(function(){T(o.unstable_now())},D)}o.unstable_IdlePriority=5,o.unstable_ImmediatePriority=1,o.unstable_LowPriority=4,o.unstable_NormalPriority=3,o.unstable_Profiling=null,o.unstable_UserBlockingPriority=2,o.unstable_cancelCallback=function(T){T.callback=null},o.unstable_forceFrameRate=function(T){0>T||125ct?(T.sortIndex=X,i(A,T),f(M)===null&&T===f(A)&&(Ut?(el(I),I=-1):Ut=!0,_e(Oe,X-ct))):(T.sortIndex=rt,i(M,T),_t||Yt||(_t=!0,Gt||(Gt=!0,Zt()))),T},o.unstable_shouldYield=kl,o.unstable_wrapCallback=function(T){var D=K;return function(){var X=K;K=D;try{return T.apply(this,arguments)}finally{K=X}}}})(Mf)),Mf}var Ph;function Im(){return Ph||(Ph=1,Nf.exports=Fm()),Nf.exports}var Rf={exports:{}},Lt={};var td;function Pm(){if(td)return Lt;td=1;var o=Lf();function i(M){var A="https://react.dev/errors/"+M;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(o)}catch(i){console.error(i)}}return o(),Rf.exports=Pm(),Rf.exports}var ld;function e0(){if(ld)return Da;ld=1;var o=Im(),i=Lf(),f=t0();function s(t){var e="https://react.dev/errors/"+t;if(1rt||(t.current=ct[rt],ct[rt]=null,rt--)}function U(t,e){rt++,ct[rt]=t.current,t.current=e}var q=y(null),V=y(null),J=y(null),at=y(null);function Xt(t,e){switch(U(J,e),U(V,t),U(q,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?gh(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=gh(e),t=ph(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}N(q),U(q,t)}function pt(){N(q),N(V),N(J)}function Hn(t){t.memoizedState!==null&&U(at,t);var e=q.current,l=ph(e,t.type);e!==l&&(U(V,t),U(q,l))}function Ca(t){V.current===t&&(N(q),N(V)),at.current===t&&(N(at),za._currentValue=X)}var ui,Kf;function Rl(t){if(ui===void 0)try{throw Error()}catch(l){var e=l.stack.trim().match(/\n( *(at )?)/);ui=e&&e[1]||"",Kf=-1)":-1a||h[n]!==p[a]){var _=` -`+h[n].replace(" at new "," at ");return t.displayName&&_.includes("")&&(_=_.replace("",t.displayName)),_}while(1<=n&&0<=a);break}}}finally{ii=!1,Error.prepareStackTrace=l}return(l=t?t.displayName||t.name:"")?Rl(l):""}function zd(t,e){switch(t.tag){case 26:case 27:case 5:return Rl(t.type);case 16:return Rl("Lazy");case 13:return t.child!==e&&e!==null?Rl("Suspense Fallback"):Rl("Suspense");case 19:return Rl("SuspenseList");case 0:case 15:return ci(t.type,!1);case 11:return ci(t.type.render,!1);case 1:return ci(t.type,!0);case 31:return Rl("Activity");default:return""}}function Jf(t){try{var e="",l=null;do e+=zd(t,l),l=t,t=t.return;while(t);return e}catch(n){return` -Error generating stack: `+n.message+` -`+n.stack}}var fi=Object.prototype.hasOwnProperty,si=o.unstable_scheduleCallback,oi=o.unstable_cancelCallback,Od=o.unstable_shouldYield,Nd=o.unstable_requestPaint,Pt=o.unstable_now,Md=o.unstable_getCurrentPriorityLevel,kf=o.unstable_ImmediatePriority,Wf=o.unstable_UserBlockingPriority,Ba=o.unstable_NormalPriority,Rd=o.unstable_LowPriority,$f=o.unstable_IdlePriority,Dd=o.log,Ud=o.unstable_setDisableYieldValue,Yn=null,te=null;function ll(t){if(typeof Dd=="function"&&Ud(t),te&&typeof te.setStrictMode=="function")try{te.setStrictMode(Yn,t)}catch{}}var ee=Math.clz32?Math.clz32:Bd,xd=Math.log,Cd=Math.LN2;function Bd(t){return t>>>=0,t===0?32:31-(xd(t)/Cd|0)|0}var qa=256,Ha=262144,Ya=4194304;function Dl(t){var e=t&42;if(e!==0)return e;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function ja(t,e,l){var n=t.pendingLanes;if(n===0)return 0;var a=0,u=t.suspendedLanes,c=t.pingedLanes;t=t.warmLanes;var r=n&134217727;return r!==0?(n=r&~u,n!==0?a=Dl(n):(c&=r,c!==0?a=Dl(c):l||(l=r&~t,l!==0&&(a=Dl(l))))):(r=n&~u,r!==0?a=Dl(r):c!==0?a=Dl(c):l||(l=n&~t,l!==0&&(a=Dl(l)))),a===0?0:e!==0&&e!==a&&(e&u)===0&&(u=a&-a,l=e&-e,u>=l||u===32&&(l&4194048)!==0)?e:a}function jn(t,e){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&e)===0}function qd(t,e){switch(t){case 1:case 2:case 4:case 8:case 64:return e+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 e+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 Ff(){var t=Ya;return Ya<<=1,(Ya&62914560)===0&&(Ya=4194304),t}function ri(t){for(var e=[],l=0;31>l;l++)e.push(t);return e}function Ln(t,e){t.pendingLanes|=e,e!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Hd(t,e,l,n,a,u){var c=t.pendingLanes;t.pendingLanes=l,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=l,t.entangledLanes&=l,t.errorRecoveryDisabledLanes&=l,t.shellSuspendCounter=0;var r=t.entanglements,h=t.expirationTimes,p=t.hiddenUpdates;for(l=c&~l;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Gd=/[\n"\\]/g;function re(t){return t.replace(Gd,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function gi(t,e,l,n,a,u,c,r){t.name="",c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?t.type=c:t.removeAttribute("type"),e!=null?c==="number"?(e===0&&t.value===""||t.value!=e)&&(t.value=""+oe(e)):t.value!==""+oe(e)&&(t.value=""+oe(e)):c!=="submit"&&c!=="reset"||t.removeAttribute("value"),e!=null?pi(t,c,oe(e)):l!=null?pi(t,c,oe(l)):n!=null&&t.removeAttribute("value"),a==null&&u!=null&&(t.defaultChecked=!!u),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),r!=null&&typeof r!="function"&&typeof r!="symbol"&&typeof r!="boolean"?t.name=""+oe(r):t.removeAttribute("name")}function os(t,e,l,n,a,u,c,r){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(t.type=u),e!=null||l!=null){if(!(u!=="submit"&&u!=="reset"||e!=null)){vi(t);return}l=l!=null?""+oe(l):"",e=e!=null?""+oe(e):l,r||e===t.value||(t.value=e),t.defaultValue=e}n=n??a,n=typeof n!="function"&&typeof n!="symbol"&&!!n,t.checked=r?t.checked:!!n,t.defaultChecked=!!n,c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"&&(t.name=c),vi(t)}function pi(t,e,l){e==="number"&&Qa(t.ownerDocument)===t||t.defaultValue===""+l||(t.defaultValue=""+l)}function tn(t,e,l,n){if(t=t.options,e){e={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ti=!1;if(Le)try{var Vn={};Object.defineProperty(Vn,"passive",{get:function(){Ti=!0}}),window.addEventListener("test",Vn,Vn),window.removeEventListener("test",Vn,Vn)}catch{Ti=!1}var al=null,Ai=null,Va=null;function gs(){if(Va)return Va;var t,e=Ai,l=e.length,n,a="value"in al?al.value:al.textContent,u=a.length;for(t=0;t=Kn),Ts=" ",As=!1;function zs(t,e){switch(t){case"keyup":return vy.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Os(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var an=!1;function py(t,e){switch(t){case"compositionend":return Os(e);case"keypress":return e.which!==32?null:(As=!0,Ts);case"textInput":return t=e.data,t===Ts&&As?null:t;default:return null}}function by(t,e){if(an)return t==="compositionend"||!Ri&&zs(t,e)?(t=gs(),Va=Ai=al=null,an=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:l,offset:e-t};t=n}t:{for(;l;){if(l.nextSibling){l=l.nextSibling;break t}l=l.parentNode}l=void 0}l=Bs(l)}}function Hs(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?Hs(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function Ys(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var e=Qa(t.document);e instanceof t.HTMLIFrameElement;){try{var l=typeof e.contentWindow.location.href=="string"}catch{l=!1}if(l)t=e.contentWindow;else break;e=Qa(t.document)}return e}function xi(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}var Ny=Le&&"documentMode"in document&&11>=document.documentMode,un=null,Ci=null,$n=null,Bi=!1;function js(t,e,l){var n=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;Bi||un==null||un!==Qa(n)||(n=un,"selectionStart"in n&&xi(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),$n&&Wn($n,n)||($n=n,n=Hu(Ci,"onSelect"),0>=c,a-=c,Re=1<<32-ee(e)+a|l<w?(F=H,H=null):F=H.sibling;var lt=b(v,H,g[w],z);if(lt===null){H===null&&(H=F);break}t&&H&<.alternate===null&&e(v,H),d=u(lt,d,w),et===null?j=lt:et.sibling=lt,et=lt,H=F}if(w===g.length)return l(v,H),P&&Qe(v,w),j;if(H===null){for(;ww?(F=H,H=null):F=H.sibling;var Ol=b(v,H,lt.value,z);if(Ol===null){H===null&&(H=F);break}t&&H&&Ol.alternate===null&&e(v,H),d=u(Ol,d,w),et===null?j=Ol:et.sibling=Ol,et=Ol,H=F}if(lt.done)return l(v,H),P&&Qe(v,w),j;if(H===null){for(;!lt.done;w++,lt=g.next())lt=O(v,lt.value,z),lt!==null&&(d=u(lt,d,w),et===null?j=lt:et.sibling=lt,et=lt);return P&&Qe(v,w),j}for(H=n(H);!lt.done;w++,lt=g.next())lt=S(H,v,w,lt.value,z),lt!==null&&(t&<.alternate!==null&&H.delete(lt.key===null?w:lt.key),d=u(lt,d,w),et===null?j=lt:et.sibling=lt,et=lt);return t&&H.forEach(function(Jm){return e(v,Jm)}),P&&Qe(v,w),j}function ot(v,d,g,z){if(typeof g=="object"&&g!==null&&g.type===Ut&&g.key===null&&(g=g.props.children),typeof g=="object"&&g!==null){switch(g.$$typeof){case Yt:t:{for(var j=g.key;d!==null;){if(d.key===j){if(j=g.type,j===Ut){if(d.tag===7){l(v,d.sibling),z=a(d,g.props.children),z.return=v,v=z;break t}}else if(d.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===Vt&&Ql(j)===d.type){l(v,d.sibling),z=a(d,g.props),la(z,g),z.return=v,v=z;break t}l(v,d);break}else e(v,d);d=d.sibling}g.type===Ut?(z=Hl(g.props.children,v.mode,z,g.key),z.return=v,v=z):(z=Pa(g.type,g.key,g.props,null,v.mode,z),la(z,g),z.return=v,v=z)}return c(v);case _t:t:{for(j=g.key;d!==null;){if(d.key===j)if(d.tag===4&&d.stateNode.containerInfo===g.containerInfo&&d.stateNode.implementation===g.implementation){l(v,d.sibling),z=a(d,g.children||[]),z.return=v,v=z;break t}else{l(v,d);break}else e(v,d);d=d.sibling}z=Qi(g,v.mode,z),z.return=v,v=z}return c(v);case Vt:return g=Ql(g),ot(v,d,g,z)}if(_e(g))return C(v,d,g,z);if(Zt(g)){if(j=Zt(g),typeof j!="function")throw Error(s(150));return g=j.call(g),L(v,d,g,z)}if(typeof g.then=="function")return ot(v,d,iu(g),z);if(g.$$typeof===jt)return ot(v,d,lu(v,g),z);cu(v,g)}return typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint"?(g=""+g,d!==null&&d.tag===6?(l(v,d.sibling),z=a(d,g),z.return=v,v=z):(l(v,d),z=Xi(g,v.mode,z),z.return=v,v=z),c(v)):l(v,d)}return function(v,d,g,z){try{ea=0;var j=ot(v,d,g,z);return gn=null,j}catch(H){if(H===vn||H===au)throw H;var et=ne(29,H,null,v.mode);return et.lanes=z,et.return=v,et}finally{}}}var Vl=co(!0),fo=co(!1),sl=!1;function Pi(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function tc(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function ol(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function rl(t,e,l){var n=t.updateQueue;if(n===null)return null;if(n=n.shared,(nt&2)!==0){var a=n.pending;return a===null?e.next=e:(e.next=a.next,a.next=e),n.pending=e,e=Ia(t),ws(t,null,l),e}return Fa(t,n,e,l),Ia(t)}function na(t,e,l){if(e=e.updateQueue,e!==null&&(e=e.shared,(l&4194048)!==0)){var n=e.lanes;n&=t.pendingLanes,l|=n,e.lanes=l,Pf(t,l)}}function ec(t,e){var l=t.updateQueue,n=t.alternate;if(n!==null&&(n=n.updateQueue,l===n)){var a=null,u=null;if(l=l.firstBaseUpdate,l!==null){do{var c={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};u===null?a=u=c:u=u.next=c,l=l.next}while(l!==null);u===null?a=u=e:u=u.next=e}else a=u=e;l={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:u,shared:n.shared,callbacks:n.callbacks},t.updateQueue=l;return}t=l.lastBaseUpdate,t===null?l.firstBaseUpdate=e:t.next=e,l.lastBaseUpdate=e}var lc=!1;function aa(){if(lc){var t=mn;if(t!==null)throw t}}function ua(t,e,l,n){lc=!1;var a=t.updateQueue;sl=!1;var u=a.firstBaseUpdate,c=a.lastBaseUpdate,r=a.shared.pending;if(r!==null){a.shared.pending=null;var h=r,p=h.next;h.next=null,c===null?u=p:c.next=p,c=h;var _=t.alternate;_!==null&&(_=_.updateQueue,r=_.lastBaseUpdate,r!==c&&(r===null?_.firstBaseUpdate=p:r.next=p,_.lastBaseUpdate=h))}if(u!==null){var O=a.baseState;c=0,_=p=h=null,r=u;do{var b=r.lane&-536870913,S=b!==r.lane;if(S?($&b)===b:(n&b)===b){b!==0&&b===yn&&(lc=!0),_!==null&&(_=_.next={lane:0,tag:r.tag,payload:r.payload,callback:null,next:null});t:{var C=t,L=r;b=e;var ot=l;switch(L.tag){case 1:if(C=L.payload,typeof C=="function"){O=C.call(ot,O,b);break t}O=C;break t;case 3:C.flags=C.flags&-65537|128;case 0:if(C=L.payload,b=typeof C=="function"?C.call(ot,O,b):C,b==null)break t;O=x({},O,b);break t;case 2:sl=!0}}b=r.callback,b!==null&&(t.flags|=64,S&&(t.flags|=8192),S=a.callbacks,S===null?a.callbacks=[b]:S.push(b))}else S={lane:b,tag:r.tag,payload:r.payload,callback:r.callback,next:null},_===null?(p=_=S,h=O):_=_.next=S,c|=b;if(r=r.next,r===null){if(r=a.shared.pending,r===null)break;S=r,r=S.next,S.next=null,a.lastBaseUpdate=S,a.shared.pending=null}}while(!0);_===null&&(h=O),a.baseState=h,a.firstBaseUpdate=p,a.lastBaseUpdate=_,u===null&&(a.shared.lanes=0),vl|=c,t.lanes=c,t.memoizedState=O}}function so(t,e){if(typeof t!="function")throw Error(s(191,t));t.call(e)}function oo(t,e){var l=t.callbacks;if(l!==null)for(t.callbacks=null,t=0;tu?u:8;var c=T.T,r={};T.T=r,_c(t,!1,e,l);try{var h=a(),p=T.S;if(p!==null&&p(r,h),h!==null&&typeof h=="object"&&typeof h.then=="function"){var _=Hy(h,n);fa(t,e,_,fe(t))}else fa(t,e,n,fe(t))}catch(O){fa(t,e,{then:function(){},status:"rejected",reason:O},fe())}finally{D.p=u,c!==null&&r.types!==null&&(c.types=r.types),T.T=c}}function Gy(){}function bc(t,e,l,n){if(t.tag!==5)throw Error(s(476));var a=Vo(t).queue;Go(t,a,e,X,l===null?Gy:function(){return Zo(t),l(n)})}function Vo(t){var e=t.memoizedState;if(e!==null)return e;e={memoizedState:X,baseState:X,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:we,lastRenderedState:X},next:null};var l={};return e.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:we,lastRenderedState:l},next:null},t.memoizedState=e,t=t.alternate,t!==null&&(t.memoizedState=e),e}function Zo(t){var e=Vo(t);e.next===null&&(e=t.alternate.memoizedState),fa(t,e.next.queue,{},fe())}function Sc(){return Bt(za)}function wo(){return St().memoizedState}function Ko(){return St().memoizedState}function Vy(t){for(var e=t.return;e!==null;){switch(e.tag){case 24:case 3:var l=fe();t=ol(l);var n=rl(e,t,l);n!==null&&(Ft(n,e,l),na(n,e,l)),e={cache:Wi()},t.payload=e;return}e=e.return}}function Zy(t,e,l){var n=fe();l={lane:n,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},gu(t)?ko(e,l):(l=ji(t,e,l,n),l!==null&&(Ft(l,t,n),Wo(l,e,n)))}function Jo(t,e,l){var n=fe();fa(t,e,l,n)}function fa(t,e,l,n){var a={lane:n,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(gu(t))ko(e,a);else{var u=t.alternate;if(t.lanes===0&&(u===null||u.lanes===0)&&(u=e.lastRenderedReducer,u!==null))try{var c=e.lastRenderedState,r=u(c,l);if(a.hasEagerState=!0,a.eagerState=r,le(r,c))return Fa(t,e,a,0),ht===null&&$a(),!1}catch{}finally{}if(l=ji(t,e,a,n),l!==null)return Ft(l,t,n),Wo(l,e,n),!0}return!1}function _c(t,e,l,n){if(n={lane:2,revertLane:Pc(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},gu(t)){if(e)throw Error(s(479))}else e=ji(t,l,n,2),e!==null&&Ft(e,t,2)}function gu(t){var e=t.alternate;return t===Z||e!==null&&e===Z}function ko(t,e){bn=ou=!0;var l=t.pending;l===null?e.next=e:(e.next=l.next,l.next=e),t.pending=e}function Wo(t,e,l){if((l&4194048)!==0){var n=e.lanes;n&=t.pendingLanes,l|=n,e.lanes=l,Pf(t,l)}}var sa={readContext:Bt,use:du,useCallback:vt,useContext:vt,useEffect:vt,useImperativeHandle:vt,useLayoutEffect:vt,useInsertionEffect:vt,useMemo:vt,useReducer:vt,useRef:vt,useState:vt,useDebugValue:vt,useDeferredValue:vt,useTransition:vt,useSyncExternalStore:vt,useId:vt,useHostTransitionStatus:vt,useFormState:vt,useActionState:vt,useOptimistic:vt,useMemoCache:vt,useCacheRefresh:vt};sa.useEffectEvent=vt;var $o={readContext:Bt,use:du,useCallback:function(t,e){return Qt().memoizedState=[t,e===void 0?null:e],t},useContext:Bt,useEffect:Co,useImperativeHandle:function(t,e,l){l=l!=null?l.concat([t]):null,mu(4194308,4,Yo.bind(null,e,t),l)},useLayoutEffect:function(t,e){return mu(4194308,4,t,e)},useInsertionEffect:function(t,e){mu(4,2,t,e)},useMemo:function(t,e){var l=Qt();e=e===void 0?null:e;var n=t();if(Zl){ll(!0);try{t()}finally{ll(!1)}}return l.memoizedState=[n,e],n},useReducer:function(t,e,l){var n=Qt();if(l!==void 0){var a=l(e);if(Zl){ll(!0);try{l(e)}finally{ll(!1)}}}else a=e;return n.memoizedState=n.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},n.queue=t,t=t.dispatch=Zy.bind(null,Z,t),[n.memoizedState,t]},useRef:function(t){var e=Qt();return t={current:t},e.memoizedState=t},useState:function(t){t=yc(t);var e=t.queue,l=Jo.bind(null,Z,e);return e.dispatch=l,[t.memoizedState,l]},useDebugValue:gc,useDeferredValue:function(t,e){var l=Qt();return pc(l,t,e)},useTransition:function(){var t=yc(!1);return t=Go.bind(null,Z,t.queue,!0,!1),Qt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,e,l){var n=Z,a=Qt();if(P){if(l===void 0)throw Error(s(407));l=l()}else{if(l=e(),ht===null)throw Error(s(349));($&127)!==0||go(n,e,l)}a.memoizedState=l;var u={value:l,getSnapshot:e};return a.queue=u,Co(bo.bind(null,n,u,t),[t]),n.flags|=2048,_n(9,{destroy:void 0},po.bind(null,n,u,l,e),null),l},useId:function(){var t=Qt(),e=ht.identifierPrefix;if(P){var l=De,n=Re;l=(n&~(1<<32-ee(n)-1)).toString(32)+l,e="_"+e+"R_"+l,l=ru++,0<\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof n.is=="string"?c.createElement("select",{is:n.is}):c.createElement("select"),n.multiple?u.multiple=!0:n.size&&(u.size=n.size);break;default:u=typeof n.is=="string"?c.createElement(a,{is:n.is}):c.createElement(a)}}u[xt]=e,u[wt]=n;t:for(c=e.child;c!==null;){if(c.tag===5||c.tag===6)u.appendChild(c.stateNode);else if(c.tag!==4&&c.tag!==27&&c.child!==null){c.child.return=c,c=c.child;continue}if(c===e)break t;for(;c.sibling===null;){if(c.return===null||c.return===e)break t;c=c.return}c.sibling.return=c.return,c=c.sibling}e.stateNode=u;t:switch(Ht(u,a,n),a){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break t;case"img":n=!0;break t;default:n=!1}n&&Je(e)}}return yt(e),qc(e,e.type,t===null?null:t.memoizedProps,e.pendingProps,l),null;case 6:if(t&&e.stateNode!=null)t.memoizedProps!==n&&Je(e);else{if(typeof n!="string"&&e.stateNode===null)throw Error(s(166));if(t=J.current,hn(e)){if(t=e.stateNode,l=e.memoizedProps,n=null,a=Ct,a!==null)switch(a.tag){case 27:case 5:n=a.memoizedProps}t[xt]=e,t=!!(t.nodeValue===l||n!==null&&n.suppressHydrationWarning===!0||mh(t.nodeValue,l)),t||cl(e,!0)}else t=Yu(t).createTextNode(n),t[xt]=e,e.stateNode=t}return yt(e),null;case 31:if(l=e.memoizedState,t===null||t.memoizedState!==null){if(n=hn(e),l!==null){if(t===null){if(!n)throw Error(s(318));if(t=e.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(s(557));t[xt]=e}else Yl(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;yt(e),t=!1}else l=wi(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=l),t=!0;if(!t)return e.flags&256?(ue(e),e):(ue(e),null);if((e.flags&128)!==0)throw Error(s(558))}return yt(e),null;case 13:if(n=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=hn(e),n!==null&&n.dehydrated!==null){if(t===null){if(!a)throw Error(s(318));if(a=e.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(s(317));a[xt]=e}else Yl(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;yt(e),a=!1}else a=wi(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return e.flags&256?(ue(e),e):(ue(e),null)}return ue(e),(e.flags&128)!==0?(e.lanes=l,e):(l=n!==null,t=t!==null&&t.memoizedState!==null,l&&(n=e.child,a=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(a=n.alternate.memoizedState.cachePool.pool),u=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(u=n.memoizedState.cachePool.pool),u!==a&&(n.flags|=2048)),l!==t&&l&&(e.child.flags|=8192),Eu(e,e.updateQueue),yt(e),null);case 4:return pt(),t===null&&nf(e.stateNode.containerInfo),yt(e),null;case 10:return Ve(e.type),yt(e),null;case 19:if(N(bt),n=e.memoizedState,n===null)return yt(e),null;if(a=(e.flags&128)!==0,u=n.rendering,u===null)if(a)ra(n,!1);else{if(gt!==0||t!==null&&(t.flags&128)!==0)for(t=e.child;t!==null;){if(u=su(t),u!==null){for(e.flags|=128,ra(n,!1),t=u.updateQueue,e.updateQueue=t,Eu(e,t),e.subtreeFlags=0,t=l,l=e.child;l!==null;)Ks(l,t),l=l.sibling;return U(bt,bt.current&1|2),P&&Qe(e,n.treeForkCount),e.child}t=t.sibling}n.tail!==null&&Pt()>Nu&&(e.flags|=128,a=!0,ra(n,!1),e.lanes=4194304)}else{if(!a)if(t=su(u),t!==null){if(e.flags|=128,a=!0,t=t.updateQueue,e.updateQueue=t,Eu(e,t),ra(n,!0),n.tail===null&&n.tailMode==="hidden"&&!u.alternate&&!P)return yt(e),null}else 2*Pt()-n.renderingStartTime>Nu&&l!==536870912&&(e.flags|=128,a=!0,ra(n,!1),e.lanes=4194304);n.isBackwards?(u.sibling=e.child,e.child=u):(t=n.last,t!==null?t.sibling=u:e.child=u,n.last=u)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=Pt(),t.sibling=null,l=bt.current,U(bt,a?l&1|2:l&1),P&&Qe(e,n.treeForkCount),t):(yt(e),null);case 22:case 23:return ue(e),ac(),n=e.memoizedState!==null,t!==null?t.memoizedState!==null!==n&&(e.flags|=8192):n&&(e.flags|=8192),n?(l&536870912)!==0&&(e.flags&128)===0&&(yt(e),e.subtreeFlags&6&&(e.flags|=8192)):yt(e),l=e.updateQueue,l!==null&&Eu(e,l.retryQueue),l=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),n=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),n!==l&&(e.flags|=2048),t!==null&&N(Xl),null;case 24:return l=null,t!==null&&(l=t.memoizedState.cache),e.memoizedState.cache!==l&&(e.flags|=2048),Ve(Et),yt(e),null;case 25:return null;case 30:return null}throw Error(s(156,e.tag))}function Wy(t,e){switch(Vi(e),e.tag){case 1:return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Ve(Et),pt(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 26:case 27:case 5:return Ca(e),null;case 31:if(e.memoizedState!==null){if(ue(e),e.alternate===null)throw Error(s(340));Yl()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 13:if(ue(e),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(s(340));Yl()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return N(bt),null;case 4:return pt(),null;case 10:return Ve(e.type),null;case 22:case 23:return ue(e),ac(),t!==null&&N(Xl),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 24:return Ve(Et),null;case 25:return null;default:return null}}function Sr(t,e){switch(Vi(e),e.tag){case 3:Ve(Et),pt();break;case 26:case 27:case 5:Ca(e);break;case 4:pt();break;case 31:e.memoizedState!==null&&ue(e);break;case 13:ue(e);break;case 19:N(bt);break;case 10:Ve(e.type);break;case 22:case 23:ue(e),ac(),t!==null&&N(Xl);break;case 24:Ve(Et)}}function ha(t,e){try{var l=e.updateQueue,n=l!==null?l.lastEffect:null;if(n!==null){var a=n.next;l=a;do{if((l.tag&t)===t){n=void 0;var u=l.create,c=l.inst;n=u(),c.destroy=n}l=l.next}while(l!==a)}}catch(r){it(e,e.return,r)}}function yl(t,e,l){try{var n=e.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var u=a.next;n=u;do{if((n.tag&t)===t){var c=n.inst,r=c.destroy;if(r!==void 0){c.destroy=void 0,a=e;var h=l,p=r;try{p()}catch(_){it(a,h,_)}}}n=n.next}while(n!==u)}}catch(_){it(e,e.return,_)}}function _r(t){var e=t.updateQueue;if(e!==null){var l=t.stateNode;try{oo(e,l)}catch(n){it(t,t.return,n)}}}function Er(t,e,l){l.props=wl(t.type,t.memoizedProps),l.state=t.memoizedState;try{l.componentWillUnmount()}catch(n){it(t,e,n)}}function da(t,e){try{var l=t.ref;if(l!==null){switch(t.tag){case 26:case 27:case 5:var n=t.stateNode;break;case 30:n=t.stateNode;break;default:n=t.stateNode}typeof l=="function"?t.refCleanup=l(n):l.current=n}}catch(a){it(t,e,a)}}function Ue(t,e){var l=t.ref,n=t.refCleanup;if(l!==null)if(typeof n=="function")try{n()}catch(a){it(t,e,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(a){it(t,e,a)}else l.current=null}function Tr(t){var e=t.type,l=t.memoizedProps,n=t.stateNode;try{t:switch(e){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break t;case"img":l.src?n.src=l.src:l.srcSet&&(n.srcset=l.srcSet)}}catch(a){it(t,t.return,a)}}function Hc(t,e,l){try{var n=t.stateNode;gm(n,t.type,l,e),n[wt]=e}catch(a){it(t,t.return,a)}}function Ar(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&_l(t.type)||t.tag===4}function Yc(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||Ar(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&_l(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function jc(t,e,l){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(t,e):(e=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,e.appendChild(t),l=l._reactRootContainer,l!=null||e.onclick!==null||(e.onclick=je));else if(n!==4&&(n===27&&_l(t.type)&&(l=t.stateNode,e=null),t=t.child,t!==null))for(jc(t,e,l),t=t.sibling;t!==null;)jc(t,e,l),t=t.sibling}function Tu(t,e,l){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?l.insertBefore(t,e):l.appendChild(t);else if(n!==4&&(n===27&&_l(t.type)&&(l=t.stateNode),t=t.child,t!==null))for(Tu(t,e,l),t=t.sibling;t!==null;)Tu(t,e,l),t=t.sibling}function zr(t){var e=t.stateNode,l=t.memoizedProps;try{for(var n=t.type,a=e.attributes;a.length;)e.removeAttributeNode(a[0]);Ht(e,n,l),e[xt]=t,e[wt]=l}catch(u){it(t,t.return,u)}}var ke=!1,zt=!1,Lc=!1,Or=typeof WeakSet=="function"?WeakSet:Set,Dt=null;function $y(t,e){if(t=t.containerInfo,cf=Zu,t=Ys(t),xi(t)){if("selectionStart"in t)var l={start:t.selectionStart,end:t.selectionEnd};else t:{l=(l=t.ownerDocument)&&l.defaultView||window;var n=l.getSelection&&l.getSelection();if(n&&n.rangeCount!==0){l=n.anchorNode;var a=n.anchorOffset,u=n.focusNode;n=n.focusOffset;try{l.nodeType,u.nodeType}catch{l=null;break t}var c=0,r=-1,h=-1,p=0,_=0,O=t,b=null;e:for(;;){for(var S;O!==l||a!==0&&O.nodeType!==3||(r=c+a),O!==u||n!==0&&O.nodeType!==3||(h=c+n),O.nodeType===3&&(c+=O.nodeValue.length),(S=O.firstChild)!==null;)b=O,O=S;for(;;){if(O===t)break e;if(b===l&&++p===a&&(r=c),b===u&&++_===n&&(h=c),(S=O.nextSibling)!==null)break;O=b,b=O.parentNode}O=S}l=r===-1||h===-1?null:{start:r,end:h}}else l=null}l=l||{start:0,end:0}}else l=null;for(ff={focusedElem:t,selectionRange:l},Zu=!1,Dt=e;Dt!==null;)if(e=Dt,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Dt=t;else for(;Dt!==null;){switch(e=Dt,u=e.alternate,t=e.flags,e.tag){case 0:if((t&4)!==0&&(t=e.updateQueue,t=t!==null?t.events:null,t!==null))for(l=0;l title"))),Ht(u,n,l),u[xt]=t,Rt(u),n=u;break t;case"link":var c=xh("link","href",a).get(n+(l.href||""));if(c){for(var r=0;rot&&(c=ot,ot=L,L=c);var v=qs(r,L),d=qs(r,ot);if(v&&d&&(S.rangeCount!==1||S.anchorNode!==v.node||S.anchorOffset!==v.offset||S.focusNode!==d.node||S.focusOffset!==d.offset)){var g=O.createRange();g.setStart(v.node,v.offset),S.removeAllRanges(),L>ot?(S.addRange(g),S.extend(d.node,d.offset)):(g.setEnd(d.node,d.offset),S.addRange(g))}}}}for(O=[],S=r;S=S.parentNode;)S.nodeType===1&&O.push({element:S,left:S.scrollLeft,top:S.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;rl?32:l,T.T=null,l=Kc,Kc=null;var u=pl,c=Pe;if(Nt=0,On=pl=null,Pe=0,(nt&6)!==0)throw Error(s(331));var r=nt;if(nt|=4,Yr(u.current),Br(u,u.current,c,l),nt=r,ba(0,!1),te&&typeof te.onPostCommitFiberRoot=="function")try{te.onPostCommitFiberRoot(Yn,u)}catch{}return!0}finally{D.p=a,T.T=n,eh(t,e)}}function nh(t,e,l){e=de(l,e),e=zc(t.stateNode,e,2),t=rl(t,e,2),t!==null&&(Ln(t,2),xe(t))}function it(t,e,l){if(t.tag===3)nh(t,t,l);else for(;e!==null;){if(e.tag===3){nh(e,t,l);break}else if(e.tag===1){var n=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(gl===null||!gl.has(n))){t=de(l,t),l=ar(2),n=rl(e,l,2),n!==null&&(ur(l,n,e,t),Ln(n,2),xe(n));break}}e=e.return}}function $c(t,e,l){var n=t.pingCache;if(n===null){n=t.pingCache=new Py;var a=new Set;n.set(e,a)}else a=n.get(e),a===void 0&&(a=new Set,n.set(e,a));a.has(l)||(Gc=!0,a.add(l),t=am.bind(null,t,e,l),e.then(t,t))}function am(t,e,l){var n=t.pingCache;n!==null&&n.delete(e),t.pingedLanes|=t.suspendedLanes&l,t.warmLanes&=~l,ht===t&&($&l)===l&&(gt===4||gt===3&&($&62914560)===$&&300>Pt()-Ou?(nt&2)===0&&Nn(t,0):Vc|=l,zn===$&&(zn=0)),xe(t)}function ah(t,e){e===0&&(e=Ff()),t=ql(t,e),t!==null&&(Ln(t,e),xe(t))}function um(t){var e=t.memoizedState,l=0;e!==null&&(l=e.retryLane),ah(t,l)}function im(t,e){var l=0;switch(t.tag){case 31:case 13:var n=t.stateNode,a=t.memoizedState;a!==null&&(l=a.retryLane);break;case 19:n=t.stateNode;break;case 22:n=t.stateNode._retryCache;break;default:throw Error(s(314))}n!==null&&n.delete(e),ah(t,l)}function cm(t,e){return si(t,e)}var Cu=null,Rn=null,Fc=!1,Bu=!1,Ic=!1,Sl=0;function xe(t){t!==Rn&&t.next===null&&(Rn===null?Cu=Rn=t:Rn=Rn.next=t),Bu=!0,Fc||(Fc=!0,sm())}function ba(t,e){if(!Ic&&Bu){Ic=!0;do for(var l=!1,n=Cu;n!==null;){if(t!==0){var a=n.pendingLanes;if(a===0)var u=0;else{var c=n.suspendedLanes,r=n.pingedLanes;u=(1<<31-ee(42|t)+1)-1,u&=a&~(c&~r),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(l=!0,fh(n,u))}else u=$,u=ja(n,n===ht?u:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(u&3)===0||jn(n,u)||(l=!0,fh(n,u));n=n.next}while(l);Ic=!1}}function fm(){uh()}function uh(){Bu=Fc=!1;var t=0;Sl!==0&&bm()&&(t=Sl);for(var e=Pt(),l=null,n=Cu;n!==null;){var a=n.next,u=ih(n,e);u===0?(n.next=null,l===null?Cu=a:l.next=a,a===null&&(Rn=l)):(l=n,(t!==0||(u&3)!==0)&&(Bu=!0)),n=a}Nt!==0&&Nt!==5||ba(t),Sl!==0&&(Sl=0)}function ih(t,e){for(var l=t.suspendedLanes,n=t.pingedLanes,a=t.expirationTimes,u=t.pendingLanes&-62914561;0r)break;var _=h.transferSize,O=h.initiatorType;_&&vh(O)&&(h=h.responseEnd,c+=_*(h"u"?null:document;function Mh(t,e,l){var n=Dn;if(n&&typeof e=="string"&&e){var a=re(e);a='link[rel="'+t+'"][href="'+a+'"]',typeof l=="string"&&(a+='[crossorigin="'+l+'"]'),Nh.has(a)||(Nh.add(a),t={rel:t,crossOrigin:l,href:e},n.querySelector(a)===null&&(e=n.createElement("link"),Ht(e,"link",t),Rt(e),n.head.appendChild(e)))}}function Mm(t){tl.D(t),Mh("dns-prefetch",t,null)}function Rm(t,e){tl.C(t,e),Mh("preconnect",t,e)}function Dm(t,e,l){tl.L(t,e,l);var n=Dn;if(n&&t&&e){var a='link[rel="preload"][as="'+re(e)+'"]';e==="image"&&l&&l.imageSrcSet?(a+='[imagesrcset="'+re(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(a+='[imagesizes="'+re(l.imageSizes)+'"]')):a+='[href="'+re(t)+'"]';var u=a;switch(e){case"style":u=Un(t);break;case"script":u=xn(t)}be.has(u)||(t=x({rel:"preload",href:e==="image"&&l&&l.imageSrcSet?void 0:t,as:e},l),be.set(u,t),n.querySelector(a)!==null||e==="style"&&n.querySelector(Ta(u))||e==="script"&&n.querySelector(Aa(u))||(e=n.createElement("link"),Ht(e,"link",t),Rt(e),n.head.appendChild(e)))}}function Um(t,e){tl.m(t,e);var l=Dn;if(l&&t){var n=e&&typeof e.as=="string"?e.as:"script",a='link[rel="modulepreload"][as="'+re(n)+'"][href="'+re(t)+'"]',u=a;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=xn(t)}if(!be.has(u)&&(t=x({rel:"modulepreload",href:t},e),be.set(u,t),l.querySelector(a)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(Aa(u)))return}n=l.createElement("link"),Ht(n,"link",t),Rt(n),l.head.appendChild(n)}}}function xm(t,e,l){tl.S(t,e,l);var n=Dn;if(n&&t){var a=Il(n).hoistableStyles,u=Un(t);e=e||"default";var c=a.get(u);if(!c){var r={loading:0,preload:null};if(c=n.querySelector(Ta(u)))r.loading=5;else{t=x({rel:"stylesheet",href:t,"data-precedence":e},l),(l=be.get(u))&&mf(t,l);var h=c=n.createElement("link");Rt(h),Ht(h,"link",t),h._p=new Promise(function(p,_){h.onload=p,h.onerror=_}),h.addEventListener("load",function(){r.loading|=1}),h.addEventListener("error",function(){r.loading|=2}),r.loading|=4,Lu(c,e,n)}c={type:"stylesheet",instance:c,count:1,state:r},a.set(u,c)}}}function Cm(t,e){tl.X(t,e);var l=Dn;if(l&&t){var n=Il(l).hoistableScripts,a=xn(t),u=n.get(a);u||(u=l.querySelector(Aa(a)),u||(t=x({src:t,async:!0},e),(e=be.get(a))&&vf(t,e),u=l.createElement("script"),Rt(u),Ht(u,"link",t),l.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},n.set(a,u))}}function Bm(t,e){tl.M(t,e);var l=Dn;if(l&&t){var n=Il(l).hoistableScripts,a=xn(t),u=n.get(a);u||(u=l.querySelector(Aa(a)),u||(t=x({src:t,async:!0,type:"module"},e),(e=be.get(a))&&vf(t,e),u=l.createElement("script"),Rt(u),Ht(u,"link",t),l.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},n.set(a,u))}}function Rh(t,e,l,n){var a=(a=J.current)?ju(a):null;if(!a)throw Error(s(446));switch(t){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(e=Un(l.href),l=Il(a).hoistableStyles,n=l.get(e),n||(n={type:"style",instance:null,count:0,state:null},l.set(e,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){t=Un(l.href);var u=Il(a).hoistableStyles,c=u.get(t);if(c||(a=a.ownerDocument||a,c={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(t,c),(u=a.querySelector(Ta(t)))&&!u._p&&(c.instance=u,c.state.loading=5),be.has(t)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},be.set(t,l),u||qm(a,t,l,c.state))),e&&n===null)throw Error(s(528,""));return c}if(e&&n!==null)throw Error(s(529,""));return null;case"script":return e=l.async,l=l.src,typeof l=="string"&&e&&typeof e!="function"&&typeof e!="symbol"?(e=xn(l),l=Il(a).hoistableScripts,n=l.get(e),n||(n={type:"script",instance:null,count:0,state:null},l.set(e,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,t))}}function Un(t){return'href="'+re(t)+'"'}function Ta(t){return'link[rel="stylesheet"]['+t+"]"}function Dh(t){return x({},t,{"data-precedence":t.precedence,precedence:null})}function qm(t,e,l,n){t.querySelector('link[rel="preload"][as="style"]['+e+"]")?n.loading=1:(e=t.createElement("link"),n.preload=e,e.addEventListener("load",function(){return n.loading|=1}),e.addEventListener("error",function(){return n.loading|=2}),Ht(e,"link",l),Rt(e),t.head.appendChild(e))}function xn(t){return'[src="'+re(t)+'"]'}function Aa(t){return"script[async]"+t}function Uh(t,e,l){if(e.count++,e.instance===null)switch(e.type){case"style":var n=t.querySelector('style[data-href~="'+re(l.href)+'"]');if(n)return e.instance=n,Rt(n),n;var a=x({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return n=(t.ownerDocument||t).createElement("style"),Rt(n),Ht(n,"style",a),Lu(n,l.precedence,t),e.instance=n;case"stylesheet":a=Un(l.href);var u=t.querySelector(Ta(a));if(u)return e.state.loading|=4,e.instance=u,Rt(u),u;n=Dh(l),(a=be.get(a))&&mf(n,a),u=(t.ownerDocument||t).createElement("link"),Rt(u);var c=u;return c._p=new Promise(function(r,h){c.onload=r,c.onerror=h}),Ht(u,"link",n),e.state.loading|=4,Lu(u,l.precedence,t),e.instance=u;case"script":return u=xn(l.src),(a=t.querySelector(Aa(u)))?(e.instance=a,Rt(a),a):(n=l,(a=be.get(u))&&(n=x({},l),vf(n,a)),t=t.ownerDocument||t,a=t.createElement("script"),Rt(a),Ht(a,"link",n),t.head.appendChild(a),e.instance=a);case"void":return null;default:throw Error(s(443,e.type))}else e.type==="stylesheet"&&(e.state.loading&4)===0&&(n=e.instance,e.state.loading|=4,Lu(n,l.precedence,t));return e.instance}function Lu(t,e,l){for(var n=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=n.length?n[n.length-1]:null,u=a,c=0;c title"):null)}function Hm(t,e,l){if(l===1||e.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof e.precedence!="string"||typeof e.href!="string"||e.href==="")break;return!0;case"link":if(typeof e.rel!="string"||typeof e.href!="string"||e.href===""||e.onLoad||e.onError)break;switch(e.rel){case"stylesheet":return t=e.disabled,typeof e.precedence=="string"&&t==null;default:return!0}case"script":if(e.async&&typeof e.async!="function"&&typeof e.async!="symbol"&&!e.onLoad&&!e.onError&&e.src&&typeof e.src=="string")return!0}return!1}function Bh(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function Ym(t,e,l,n){if(l.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var a=Un(n.href),u=e.querySelector(Ta(a));if(u){e=u._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(t.count++,t=Qu.bind(t),e.then(t,t)),l.state.loading|=4,l.instance=u,Rt(u);return}u=e.ownerDocument||e,n=Dh(n),(a=be.get(a))&&mf(n,a),u=u.createElement("link"),Rt(u);var c=u;c._p=new Promise(function(r,h){c.onload=r,c.onerror=h}),Ht(u,"link",n),l.instance=u}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(l,e),(e=l.state.preload)&&(l.state.loading&3)===0&&(t.count++,l=Qu.bind(t),e.addEventListener("load",l),e.addEventListener("error",l))}}var gf=0;function jm(t,e){return t.stylesheets&&t.count===0&&Vu(t,t.stylesheets),0gf?50:800)+e);return t.unsuspend=l,function(){t.unsuspend=null,clearTimeout(n),clearTimeout(a)}}:null}function Qu(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Vu(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var Gu=null;function Vu(t,e){t.stylesheets=null,t.unsuspend!==null&&(t.count++,Gu=new Map,e.forEach(Lm,t),Gu=null,Qu.call(t))}function Lm(t,e){if(!(e.state.loading&4)){var l=Gu.get(t);if(l)var n=l.get(null);else{l=new Map,Gu.set(t,l);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(o)}catch(i){console.error(i)}}return o(),Of.exports=e0(),Of.exports}var n0=l0();const Be=Object.create(null);Be.open="0";Be.close="1";Be.ping="2";Be.pong="3";Be.message="4";Be.upgrade="5";Be.noop="6";const Pu=Object.create(null);Object.keys(Be).forEach(o=>{Pu[Be[o]]=o});const Cf={type:"error",data:"parser error"},sd=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",od=typeof ArrayBuffer=="function",rd=o=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(o):o&&o.buffer instanceof ArrayBuffer,Xf=({type:o,data:i},f,s)=>sd&&i instanceof Blob?f?s(i):ad(i,s):od&&(i instanceof ArrayBuffer||rd(i))?f?s(i):ad(new Blob([i]),s):s(Be[o]+(i||"")),ad=(o,i)=>{const f=new FileReader;return f.onload=function(){const s=f.result.split(",")[1];i("b"+(s||""))},f.readAsDataURL(o)};function ud(o){return o instanceof Uint8Array?o:o instanceof ArrayBuffer?new Uint8Array(o):new Uint8Array(o.buffer,o.byteOffset,o.byteLength)}let Df;function a0(o,i){if(sd&&o.data instanceof Blob)return o.data.arrayBuffer().then(ud).then(i);if(od&&(o.data instanceof ArrayBuffer||rd(o.data)))return i(ud(o.data));Xf(o,!1,f=>{Df||(Df=new TextEncoder),i(Df.encode(f))})}const id="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",xa=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let o=0;o{let i=o.length*.75,f=o.length,s,m=0,E,R,B,M;o[o.length-1]==="="&&(i--,o[o.length-2]==="="&&i--);const A=new ArrayBuffer(i),Q=new Uint8Array(A);for(s=0;s>4,Q[m++]=(R&15)<<4|B>>2,Q[m++]=(B&3)<<6|M&63;return A},i0=typeof ArrayBuffer=="function",Qf=(o,i)=>{if(typeof o!="string")return{type:"message",data:hd(o,i)};const f=o.charAt(0);return f==="b"?{type:"message",data:c0(o.substring(1),i)}:Pu[f]?o.length>1?{type:Pu[f],data:o.substring(1)}:{type:Pu[f]}:Cf},c0=(o,i)=>{if(i0){const f=u0(o);return hd(f,i)}else return{base64:!0,data:o}},hd=(o,i)=>{switch(i){case"blob":return o instanceof Blob?o:new Blob([o]);case"arraybuffer":default:return o instanceof ArrayBuffer?o:o.buffer}},dd="",f0=(o,i)=>{const f=o.length,s=new Array(f);let m=0;o.forEach((E,R)=>{Xf(E,!1,B=>{s[R]=B,++m===f&&i(s.join(dd))})})},s0=(o,i)=>{const f=o.split(dd),s=[];for(let m=0;m{const s=f.length;let m;if(s<126)m=new Uint8Array(1),new DataView(m.buffer).setUint8(0,s);else if(s<65536){m=new Uint8Array(3);const E=new DataView(m.buffer);E.setUint8(0,126),E.setUint16(1,s)}else{m=new Uint8Array(9);const E=new DataView(m.buffer);E.setUint8(0,127),E.setBigUint64(1,BigInt(s))}o.data&&typeof o.data!="string"&&(m[0]|=128),i.enqueue(m),i.enqueue(f)})}})}let Uf;function Fu(o){return o.reduce((i,f)=>i+f.length,0)}function Iu(o,i){if(o[0].length===i)return o.shift();const f=new Uint8Array(i);let s=0;for(let m=0;mMath.pow(2,21)-1){B.enqueue(Cf);break}m=Q*Math.pow(2,32)+A.getUint32(4),s=3}else{if(Fu(f)o){B.enqueue(Cf);break}}}})}const yd=4;function Ot(o){if(o)return h0(o)}function h0(o){for(var i in Ot.prototype)o[i]=Ot.prototype[i];return o}Ot.prototype.on=Ot.prototype.addEventListener=function(o,i){return this._callbacks=this._callbacks||{},(this._callbacks["$"+o]=this._callbacks["$"+o]||[]).push(i),this};Ot.prototype.once=function(o,i){function f(){this.off(o,f),i.apply(this,arguments)}return f.fn=i,this.on(o,f),this};Ot.prototype.off=Ot.prototype.removeListener=Ot.prototype.removeAllListeners=Ot.prototype.removeEventListener=function(o,i){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var f=this._callbacks["$"+o];if(!f)return this;if(arguments.length==1)return delete this._callbacks["$"+o],this;for(var s,m=0;mPromise.resolve().then(i):(i,f)=>f(i,0),Se=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),d0="arraybuffer";function md(o,...i){return i.reduce((f,s)=>(o.hasOwnProperty(s)&&(f[s]=o[s]),f),{})}const y0=Se.setTimeout,m0=Se.clearTimeout;function ai(o,i){i.useNativeTimers?(o.setTimeoutFn=y0.bind(Se),o.clearTimeoutFn=m0.bind(Se)):(o.setTimeoutFn=Se.setTimeout.bind(Se),o.clearTimeoutFn=Se.clearTimeout.bind(Se))}const v0=1.33;function g0(o){return typeof o=="string"?p0(o):Math.ceil((o.byteLength||o.size)*v0)}function p0(o){let i=0,f=0;for(let s=0,m=o.length;s=57344?f+=3:(s++,f+=4);return f}function vd(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function b0(o){let i="";for(let f in o)o.hasOwnProperty(f)&&(i.length&&(i+="&"),i+=encodeURIComponent(f)+"="+encodeURIComponent(o[f]));return i}function S0(o){let i={},f=o.split("&");for(let s=0,m=f.length;s{this.readyState="paused",i()};if(this._polling||!this.writable){let s=0;this._polling&&(s++,this.once("pollComplete",function(){--s||f()})),this.writable||(s++,this.once("drain",function(){--s||f()}))}else f()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(i){const f=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};s0(i,this.socket.binaryType).forEach(f),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const i=()=>{this.write([{type:"close"}])};this.readyState==="open"?i():this.once("open",i)}write(i){this.writable=!1,f0(i,f=>{this.doWrite(f,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const i=this.opts.secure?"https":"http",f=this.query||{};return this.opts.timestampRequests!==!1&&(f[this.opts.timestampParam]=vd()),!this.supportsBinary&&!f.sid&&(f.b64=1),this.createUri(i,f)}}let gd=!1;try{gd=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const T0=gd;function A0(){}class z0 extends E0{constructor(i){if(super(i),typeof location<"u"){const f=location.protocol==="https:";let s=location.port;s||(s=f?"443":"80"),this.xd=typeof location<"u"&&i.hostname!==location.hostname||s!==i.port}}doWrite(i,f){const s=this.request({method:"POST",data:i});s.on("success",f),s.on("error",(m,E)=>{this.onError("xhr post error",m,E)})}doPoll(){const i=this.request();i.on("data",this.onData.bind(this)),i.on("error",(f,s)=>{this.onError("xhr poll error",f,s)}),this.pollXhr=i}}class Ce extends Ot{constructor(i,f,s){super(),this.createRequest=i,ai(this,s),this._opts=s,this._method=s.method||"GET",this._uri=f,this._data=s.data!==void 0?s.data:null,this._create()}_create(){var i;const f=md(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");f.xdomain=!!this._opts.xd;const s=this._xhr=this.createRequest(f);try{s.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let m in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(m)&&s.setRequestHeader(m,this._opts.extraHeaders[m])}}catch{}if(this._method==="POST")try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{s.setRequestHeader("Accept","*/*")}catch{}(i=this._opts.cookieJar)===null||i===void 0||i.addCookies(s),"withCredentials"in s&&(s.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(s.timeout=this._opts.requestTimeout),s.onreadystatechange=()=>{var m;s.readyState===3&&((m=this._opts.cookieJar)===null||m===void 0||m.parseCookies(s.getResponseHeader("set-cookie"))),s.readyState===4&&(s.status===200||s.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof s.status=="number"?s.status:0)},0))},s.send(this._data)}catch(m){this.setTimeoutFn(()=>{this._onError(m)},0);return}typeof document<"u"&&(this._index=Ce.requestsCount++,Ce.requests[this._index]=this)}_onError(i){this.emitReserved("error",i,this._xhr),this._cleanup(!0)}_cleanup(i){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=A0,i)try{this._xhr.abort()}catch{}typeof document<"u"&&delete Ce.requests[this._index],this._xhr=null}}_onLoad(){const i=this._xhr.responseText;i!==null&&(this.emitReserved("data",i),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}Ce.requestsCount=0;Ce.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",cd);else if(typeof addEventListener=="function"){const o="onpagehide"in Se?"pagehide":"unload";addEventListener(o,cd,!1)}}function cd(){for(let o in Ce.requests)Ce.requests.hasOwnProperty(o)&&Ce.requests[o].abort()}const O0=(function(){const o=pd({xdomain:!1});return o&&o.responseType!==null})();class N0 extends z0{constructor(i){super(i);const f=i&&i.forceBase64;this.supportsBinary=O0&&!f}request(i={}){return Object.assign(i,{xd:this.xd},this.opts),new Ce(pd,this.uri(),i)}}function pd(o){const i=o.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!i||T0))return new XMLHttpRequest}catch{}if(!i)try{return new Se[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const bd=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class M0 extends Gf{get name(){return"websocket"}doOpen(){const i=this.uri(),f=this.opts.protocols,s=bd?{}:md(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(i,f,s)}catch(m){return this.emitReserved("error",m)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=i=>this.onClose({description:"websocket connection closed",context:i}),this.ws.onmessage=i=>this.onData(i.data),this.ws.onerror=i=>this.onError("websocket error",i)}write(i){this.writable=!1;for(let f=0;f{try{this.doWrite(s,E)}catch{}m&&ni(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const i=this.opts.secure?"wss":"ws",f=this.query||{};return this.opts.timestampRequests&&(f[this.opts.timestampParam]=vd()),this.supportsBinary||(f.b64=1),this.createUri(i,f)}}const xf=Se.WebSocket||Se.MozWebSocket;class R0 extends M0{createSocket(i,f,s){return bd?new xf(i,f,s):f?new xf(i,f):new xf(i)}doWrite(i,f){this.ws.send(f)}}class D0 extends Gf{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(i){return this.emitReserved("error",i)}this._transport.closed.then(()=>{this.onClose()}).catch(i=>{this.onError("webtransport error",i)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(i=>{const f=r0(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=i.readable.pipeThrough(f).getReader(),m=o0();m.readable.pipeTo(i.writable),this._writer=m.writable.getWriter();const E=()=>{s.read().then(({done:B,value:M})=>{B||(this.onPacket(M),E())}).catch(B=>{})};E();const R={type:"open"};this.query.sid&&(R.data=`{"sid":"${this.query.sid}"}`),this._writer.write(R).then(()=>this.onOpen())})})}write(i){this.writable=!1;for(let f=0;f{m&&ni(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var i;(i=this._transport)===null||i===void 0||i.close()}}const U0={websocket:R0,webtransport:D0,polling:N0},x0=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,C0=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Bf(o){if(o.length>8e3)throw"URI too long";const i=o,f=o.indexOf("["),s=o.indexOf("]");f!=-1&&s!=-1&&(o=o.substring(0,f)+o.substring(f,s).replace(/:/g,";")+o.substring(s,o.length));let m=x0.exec(o||""),E={},R=14;for(;R--;)E[C0[R]]=m[R]||"";return f!=-1&&s!=-1&&(E.source=i,E.host=E.host.substring(1,E.host.length-1).replace(/;/g,":"),E.authority=E.authority.replace("[","").replace("]","").replace(/;/g,":"),E.ipv6uri=!0),E.pathNames=B0(E,E.path),E.queryKey=q0(E,E.query),E}function B0(o,i){const f=/\/{2,9}/g,s=i.replace(f,"/").split("/");return(i.slice(0,1)=="/"||i.length===0)&&s.splice(0,1),i.slice(-1)=="/"&&s.splice(s.length-1,1),s}function q0(o,i){const f={};return i.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,m,E){m&&(f[m]=E)}),f}const qf=typeof addEventListener=="function"&&typeof removeEventListener=="function",ti=[];qf&&addEventListener("offline",()=>{ti.forEach(o=>o())},!1);class Nl extends Ot{constructor(i,f){if(super(),this.binaryType=d0,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,i&&typeof i=="object"&&(f=i,i=null),i){const s=Bf(i);f.hostname=s.host,f.secure=s.protocol==="https"||s.protocol==="wss",f.port=s.port,s.query&&(f.query=s.query)}else f.host&&(f.hostname=Bf(f.host).host);ai(this,f),this.secure=f.secure!=null?f.secure:typeof location<"u"&&location.protocol==="https:",f.hostname&&!f.port&&(f.port=this.secure?"443":"80"),this.hostname=f.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=f.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},f.transports.forEach(s=>{const m=s.prototype.name;this.transports.push(m),this._transportsByName[m]=s}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},f),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=S0(this.opts.query)),qf&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},ti.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(i){const f=Object.assign({},this.opts.query);f.EIO=yd,f.transport=i,this.id&&(f.sid=this.id);const s=Object.assign({},this.opts,{query:f,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[i]);return new this._transportsByName[i](s)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const i=this.opts.rememberUpgrade&&Nl.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const f=this.createTransport(i);f.open(),this.setTransport(f)}setTransport(i){this.transport&&this.transport.removeAllListeners(),this.transport=i,i.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",f=>this._onClose("transport close",f))}onOpen(){this.readyState="open",Nl.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(i){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",i),this.emitReserved("heartbeat"),i.type){case"open":this.onHandshake(JSON.parse(i.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const f=new Error("server error");f.code=i.data,this._onError(f);break;case"message":this.emitReserved("data",i.data),this.emitReserved("message",i.data);break}}onHandshake(i){this.emitReserved("handshake",i),this.id=i.sid,this.transport.query.sid=i.sid,this._pingInterval=i.pingInterval,this._pingTimeout=i.pingTimeout,this._maxPayload=i.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const i=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+i,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},i),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const i=this._getWritablePackets();this.transport.send(i),this._prevBufferLen=i.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let f=1;for(let s=0;s0&&f>this._maxPayload)return this.writeBuffer.slice(0,s);f+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const i=Date.now()>this._pingTimeoutTime;return i&&(this._pingTimeoutTime=0,ni(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),i}write(i,f,s){return this._sendPacket("message",i,f,s),this}send(i,f,s){return this._sendPacket("message",i,f,s),this}_sendPacket(i,f,s,m){if(typeof f=="function"&&(m=f,f=void 0),typeof s=="function"&&(m=s,s=null),this.readyState==="closing"||this.readyState==="closed")return;s=s||{},s.compress=s.compress!==!1;const E={type:i,data:f,options:s};this.emitReserved("packetCreate",E),this.writeBuffer.push(E),m&&this.once("flush",m),this.flush()}close(){const i=()=>{this._onClose("forced close"),this.transport.close()},f=()=>{this.off("upgrade",f),this.off("upgradeError",f),i()},s=()=>{this.once("upgrade",f),this.once("upgradeError",f)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?s():i()}):this.upgrading?s():i()),this}_onError(i){if(Nl.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",i),this._onClose("transport error",i)}_onClose(i,f){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),qf&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const s=ti.indexOf(this._offlineEventListener);s!==-1&&ti.splice(s,1)}this.readyState="closed",this.id=null,this.emitReserved("close",i,f),this.writeBuffer=[],this._prevBufferLen=0}}}Nl.protocol=yd;class H0 extends Nl{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let i=0;i{s||(f.send([{type:"ping",data:"probe"}]),f.once("packet",x=>{if(!s)if(x.type==="pong"&&x.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",f),!f)return;Nl.priorWebsocketSuccess=f.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(Q(),this.setTransport(f),f.send([{type:"upgrade"}]),this.emitReserved("upgrade",f),f=null,this.upgrading=!1,this.flush())})}else{const K=new Error("probe error");K.transport=f.name,this.emitReserved("upgradeError",K)}}))};function E(){s||(s=!0,Q(),f.close(),f=null)}const R=x=>{const K=new Error("probe error: "+x);K.transport=f.name,E(),this.emitReserved("upgradeError",K)};function B(){R("transport closed")}function M(){R("socket closed")}function A(x){f&&x.name!==f.name&&E()}const Q=()=>{f.removeListener("open",m),f.removeListener("error",R),f.removeListener("close",B),this.off("close",M),this.off("upgrading",A)};f.once("open",m),f.once("error",R),f.once("close",B),this.once("close",M),this.once("upgrading",A),this._upgrades.indexOf("webtransport")!==-1&&i!=="webtransport"?this.setTimeoutFn(()=>{s||f.open()},200):f.open()}onHandshake(i){this._upgrades=this._filterUpgrades(i.upgrades),super.onHandshake(i)}_filterUpgrades(i){const f=[];for(let s=0;sU0[m]).filter(m=>!!m)),super(i,s)}};function j0(o,i="",f){let s=o;f=f||typeof location<"u"&&location,o==null&&(o=f.protocol+"//"+f.host),typeof o=="string"&&(o.charAt(0)==="/"&&(o.charAt(1)==="/"?o=f.protocol+o:o=f.host+o),/^(https?|wss?):\/\//.test(o)||(typeof f<"u"?o=f.protocol+"//"+o:o="https://"+o),s=Bf(o)),s.port||(/^(http|ws)$/.test(s.protocol)?s.port="80":/^(http|ws)s$/.test(s.protocol)&&(s.port="443")),s.path=s.path||"/";const E=s.host.indexOf(":")!==-1?"["+s.host+"]":s.host;return s.id=s.protocol+"://"+E+":"+s.port+i,s.href=s.protocol+"://"+E+(f&&f.port===s.port?"":":"+s.port),s}const L0=typeof ArrayBuffer=="function",X0=o=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(o):o.buffer instanceof ArrayBuffer,Sd=Object.prototype.toString,Q0=typeof Blob=="function"||typeof Blob<"u"&&Sd.call(Blob)==="[object BlobConstructor]",G0=typeof File=="function"||typeof File<"u"&&Sd.call(File)==="[object FileConstructor]";function Vf(o){return L0&&(o instanceof ArrayBuffer||X0(o))||Q0&&o instanceof Blob||G0&&o instanceof File}function ei(o,i){if(!o||typeof o!="object")return!1;if(Array.isArray(o)){for(let f=0,s=o.length;f=0&&o.num{delete this.acks[i];for(let B=0;B{this.io.clearTimeoutFn(E),f.apply(this,B)};R.withError=!0,this.acks[i]=R}emitWithAck(i,...f){return new Promise((s,m)=>{const E=(R,B)=>R?m(R):s(B);E.withError=!0,f.push(E),this.emit(i,...f)})}_addToQueue(i){let f;typeof i[i.length-1]=="function"&&(f=i.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:i,flags:Object.assign({fromQueue:!0},this.flags)};i.push((m,...E)=>s!==this._queue[0]?void 0:(m!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),f&&f(m)):(this._queue.shift(),f&&f(null,...E)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(i=!1){if(!this.connected||this._queue.length===0)return;const f=this._queue[0];f.pending&&!i||(f.pending=!0,f.tryCount++,this.flags=f.flags,this.emit.apply(this,f.args))}packet(i){i.nsp=this.nsp,this.io._packet(i)}onopen(){typeof this.auth=="function"?this.auth(i=>{this._sendConnectPacket(i)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(i){this.packet({type:tt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},i):i})}onerror(i){this.connected||this.emitReserved("connect_error",i)}onclose(i,f){this.connected=!1,delete this.id,this.emitReserved("disconnect",i,f),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(i=>{if(!this.sendBuffer.some(s=>String(s.id)===i)){const s=this.acks[i];delete this.acks[i],s.withError&&s.call(this,new Error("socket has been disconnected"))}})}onpacket(i){if(i.nsp===this.nsp)switch(i.type){case tt.CONNECT:i.data&&i.data.sid?this.onconnect(i.data.sid,i.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case tt.EVENT:case tt.BINARY_EVENT:this.onevent(i);break;case tt.ACK:case tt.BINARY_ACK:this.onack(i);break;case tt.DISCONNECT:this.ondisconnect();break;case tt.CONNECT_ERROR:this.destroy();const s=new Error(i.data.message);s.data=i.data.data,this.emitReserved("connect_error",s);break}}onevent(i){const f=i.data||[];i.id!=null&&f.push(this.ack(i.id)),this.connected?this.emitEvent(f):this.receiveBuffer.push(Object.freeze(f))}emitEvent(i){if(this._anyListeners&&this._anyListeners.length){const f=this._anyListeners.slice();for(const s of f)s.apply(this,i)}super.emit.apply(this,i),this._pid&&i.length&&typeof i[i.length-1]=="string"&&(this._lastOffset=i[i.length-1])}ack(i){const f=this;let s=!1;return function(...m){s||(s=!0,f.packet({type:tt.ACK,id:i,data:m}))}}onack(i){const f=this.acks[i.id];typeof f=="function"&&(delete this.acks[i.id],f.withError&&i.data.unshift(null),f.apply(this,i.data))}onconnect(i,f){this.id=i,this.recovered=f&&this._pid===f,this._pid=f,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(i=>this.emitEvent(i)),this.receiveBuffer=[],this.sendBuffer.forEach(i=>{this.notifyOutgoingListeners(i),this.packet(i)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(i=>i()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:tt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(i){return this.flags.compress=i,this}get volatile(){return this.flags.volatile=!0,this}timeout(i){return this.flags.timeout=i,this}onAny(i){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(i),this}prependAny(i){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(i),this}offAny(i){if(!this._anyListeners)return this;if(i){const f=this._anyListeners;for(let s=0;s0&&o.jitter<=1?o.jitter:0,this.attempts=0}Bn.prototype.duration=function(){var o=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var i=Math.random(),f=Math.floor(i*this.jitter*o);o=(Math.floor(i*10)&1)==0?o-f:o+f}return Math.min(o,this.max)|0};Bn.prototype.reset=function(){this.attempts=0};Bn.prototype.setMin=function(o){this.ms=o};Bn.prototype.setMax=function(o){this.max=o};Bn.prototype.setJitter=function(o){this.jitter=o};class jf extends Ot{constructor(i,f){var s;super(),this.nsps={},this.subs=[],i&&typeof i=="object"&&(f=i,i=void 0),f=f||{},f.path=f.path||"/socket.io",this.opts=f,ai(this,f),this.reconnection(f.reconnection!==!1),this.reconnectionAttempts(f.reconnectionAttempts||1/0),this.reconnectionDelay(f.reconnectionDelay||1e3),this.reconnectionDelayMax(f.reconnectionDelayMax||5e3),this.randomizationFactor((s=f.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new Bn({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(f.timeout==null?2e4:f.timeout),this._readyState="closed",this.uri=i;const m=f.parser||W0;this.encoder=new m.Encoder,this.decoder=new m.Decoder,this._autoConnect=f.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(i){return arguments.length?(this._reconnection=!!i,i||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(i){return i===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=i,this)}reconnectionDelay(i){var f;return i===void 0?this._reconnectionDelay:(this._reconnectionDelay=i,(f=this.backoff)===null||f===void 0||f.setMin(i),this)}randomizationFactor(i){var f;return i===void 0?this._randomizationFactor:(this._randomizationFactor=i,(f=this.backoff)===null||f===void 0||f.setJitter(i),this)}reconnectionDelayMax(i){var f;return i===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=i,(f=this.backoff)===null||f===void 0||f.setMax(i),this)}timeout(i){return arguments.length?(this._timeout=i,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(i){if(~this._readyState.indexOf("open"))return this;this.engine=new Y0(this.uri,this.opts);const f=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const m=ze(f,"open",function(){s.onopen(),i&&i()}),E=B=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",B),i?i(B):this.maybeReconnectOnOpen()},R=ze(f,"error",E);if(this._timeout!==!1){const B=this._timeout,M=this.setTimeoutFn(()=>{m(),E(new Error("timeout")),f.close()},B);this.opts.autoUnref&&M.unref(),this.subs.push(()=>{this.clearTimeoutFn(M)})}return this.subs.push(m),this.subs.push(R),this}connect(i){return this.open(i)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const i=this.engine;this.subs.push(ze(i,"ping",this.onping.bind(this)),ze(i,"data",this.ondata.bind(this)),ze(i,"error",this.onerror.bind(this)),ze(i,"close",this.onclose.bind(this)),ze(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(i){try{this.decoder.add(i)}catch(f){this.onclose("parse error",f)}}ondecoded(i){ni(()=>{this.emitReserved("packet",i)},this.setTimeoutFn)}onerror(i){this.emitReserved("error",i)}socket(i,f){let s=this.nsps[i];return s?this._autoConnect&&!s.active&&s.connect():(s=new _d(this,i,f),this.nsps[i]=s),s}_destroy(i){const f=Object.keys(this.nsps);for(const s of f)if(this.nsps[s].active)return;this._close()}_packet(i){const f=this.encoder.encode(i);for(let s=0;si()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(i,f){var s;this.cleanup(),(s=this.engine)===null||s===void 0||s.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",i,f),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const i=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const f=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn(()=>{i.skipReconnect||(this.emitReserved("reconnect_attempt",i.backoff.attempts),!i.skipReconnect&&i.open(m=>{m?(i._reconnecting=!1,i.reconnect(),this.emitReserved("reconnect_error",m)):i.onreconnect()}))},f);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){const i=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",i)}}const Ua={};function li(o,i){typeof o=="object"&&(i=o,o=void 0),i=i||{};const f=j0(o,i.path||"/socket.io"),s=f.source,m=f.id,E=f.path,R=Ua[m]&&E in Ua[m].nsps,B=i.forceNew||i["force new connection"]||i.multiplex===!1||R;let M;return B?M=new jf(s,i):(Ua[m]||(Ua[m]=new jf(s,i)),M=Ua[m]),f.query&&!i.query&&(i.query=f.queryKey),M.socket(f.path,i)}Object.assign(li,{Manager:jf,Socket:_d,io:li,connect:li});const Ed=window.location.origin;console.info("[socket] connecting to",Ed);const wf=li(Ed,{transports:["polling","websocket"],timeout:15e3});wf.on("connect_error",o=>console.error("connect_error",o.code,o.message,o.data));const Td=Mt.createContext(wf),F0=({children:o})=>Y.jsx(Td.Provider,{value:wf,children:o}),I0=()=>Mt.useContext(Td),Ad=Mt.createContext({connected:!1,session:null,logs:[],login:async()=>{},setRole:async()=>{},requestControl:async()=>{},releaseControl:async()=>{},subscribeAll:async()=>{}});function P0(o){return Mt.useCallback((i,f={})=>new Promise((s,m)=>{o.emit(i,f,(E={})=>{E.error?m(new Error(E.error)):s(E)})}),[o])}function tv({children:o}){const i=I0(),f=P0(i),[s,m]=Mt.useState(null),[E,R]=Mt.useState([]),[B,M]=Mt.useState(i.connected);Mt.useEffect(()=>{const x=()=>M(!0),K=()=>M(!1);return i.on("connect",x),i.on("disconnect",K),()=>{i.off("connect",x),i.off("disconnect",K)}},[i]),Mt.useEffect(()=>{function x(_t){m(_t)}function K(_t=[]){R(_t)}function Yt(_t){R(Ut=>[...Ut.slice(-199),_t])}return i.on("session:sync",x),i.on("log:init",K),i.on("log:entry",Yt),()=>{i.off("session:sync",x),i.off("log:init",K),i.off("log:entry",Yt)}},[i]);const A=Mt.useMemo(()=>({login:(x,K)=>f("auth:login",{username:x,password:K}),setRole:x=>f("session:setRole",{role:x}),requestControl:(x,K={})=>f("session:requestControl",{roverId:x,...K}),releaseControl:x=>f("session:releaseControl",{roverId:x}),subscribeAll:()=>f("session:subscribeAll")}),[f]),Q=Mt.useMemo(()=>({connected:B,session:s,logs:E,...A}),[A,B,E,s]);return Y.jsx(Ad.Provider,{value:Q,children:o})}function qn(){return Mt.useContext(Ad)}function ev({connected:o,role:i,mode:f}){const s=o?"bg-emerald-500/20 text-emerald-300":"bg-red-500/20 text-red-200";return Y.jsxs("div",{className:"flex flex-wrap items-center gap-3 text-sm",children:[Y.jsx("span",{className:`rounded-full px-3 py-1 font-medium ${s}`,children:o?"Connected":"Disconnected"}),Y.jsxs("span",{className:"rounded-full bg-slate-800/80 px-3 py-1 text-slate-200",children:["Role: ",i||"unknown"]}),Y.jsxs("span",{className:"rounded-full bg-slate-800/80 px-3 py-1 text-slate-200",children:["Mode: ",f||"--"]})]})}function lv(){const{logs:o}=qn();return Y.jsxs("div",{className:"rounded-2xl border border-slate-800 bg-slate-900/70 p-4",children:[Y.jsxs("header",{className:"mb-3 flex items-center justify-between",children:[Y.jsx("h2",{className:"text-lg font-semibold text-white",children:"Server logs"}),Y.jsxs("span",{className:"text-xs uppercase tracking-[0.2em] text-slate-500",children:[o.length," entries"]})]}),Y.jsx("div",{className:"h-64 overflow-y-auto rounded-xl bg-slate-950/40 p-3 text-xs font-mono text-slate-300",children:o.length===0?Y.jsx("p",{children:"No logs yet."}):o.slice().reverse().map(i=>Y.jsxs("div",{className:"mb-2",children:[Y.jsx("span",{className:"text-slate-500",children:i.timestamp})," ",Y.jsxs("span",{className:"text-cyan-300",children:["[",i.level,"]"]})," ",i.label&&Y.jsxs("span",{className:"text-pink-300",children:["[",i.label,"]"]})," ",Y.jsx("span",{children:i.message})]},i.id))})]})}function nv(){const{session:o,requestControl:i}=qn(),f=o?.roster??[],[s,m]=Mt.useState({});async function E(R){m(B=>({...B,[R]:!0}));try{await i(R)}catch(B){alert(B.message)}finally{m(B=>({...B,[R]:!1}))}}return Y.jsxs("div",{className:"rounded-2xl border border-slate-800 bg-slate-900/60 p-4",children:[Y.jsx("h2",{className:"text-lg font-semibold text-white",children:"Rovers"}),Y.jsxs("div",{className:"mt-4 space-y-3",children:[f.length===0&&Y.jsx("p",{className:"text-slate-400",children:"No rovers registered."}),f.map(R=>Y.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-xl bg-slate-950/40 px-4 py-3",children:[Y.jsxs("div",{children:[Y.jsx("p",{className:"text-white",children:R.name}),Y.jsxs("p",{className:"text-xs text-slate-400",children:["Locked: ",R.locked?"yes":"no"]})]}),Y.jsx("button",{type:"button",onClick:()=>E(R.id),disabled:s[R.id],className:"rounded-full bg-blue-600 px-4 py-1 text-sm font-semibold text-white disabled:opacity-50",children:s[R.id]?"Requesting…":"Request control"})]},R.id))]})]})}function av(){const{session:o,releaseControl:i}=qn(),f=o?.assignment,s=f?.roverId,[m,E]=Mt.useState(!1);async function R(){if(s){E(!0);try{await i(s)}catch(B){alert(B.message)}finally{E(!1)}}}return Y.jsxs("div",{className:"rounded-2xl border border-slate-800 bg-slate-900/60 p-4",children:[Y.jsx("h2",{className:"text-lg font-semibold text-white",children:"Assignment"}),s?Y.jsxs("div",{className:"mt-4 space-y-3",children:[Y.jsxs("p",{className:"text-slate-300",children:["Currently driving rover ",s]}),Y.jsx("button",{type:"button",onClick:R,disabled:m,className:"rounded-full bg-red-600 px-4 py-1 text-sm font-semibold text-white disabled:opacity-50",children:m?"Releasing…":"Release control"})]}):Y.jsxs("div",{className:"mt-4 text-slate-400",children:[Y.jsxs("p",{children:["Status: ",f?.status??"not assigned"]}),f?.queuePosition&&Y.jsxs("p",{children:["Queue position: ",f.queuePosition]})]})]})}function uv(){const{session:o}=qn(),i=Mt.useMemo(()=>JSON.stringify(o??{},null,2),[o]);return Y.jsxs("div",{className:"rounded-2xl border border-slate-800 bg-slate-900/60 p-4",children:[Y.jsx("h2",{className:"text-lg font-semibold text-white",children:"Session snapshot"}),Y.jsx("pre",{className:"mt-4 max-h-64 overflow-y-auto text-sm text-teal-200",children:i})]})}function iv(){const{login:o,setRole:i}=qn(),[f,s]=Mt.useState(""),[m,E]=Mt.useState(""),[R,B]=Mt.useState(!1);async function M(A){A.preventDefault(),B(!0);try{await o(f,m),s(""),E("")}catch(Q){alert(Q.message)}finally{B(!1)}}return Y.jsxs("div",{className:"rounded-2xl border border-slate-800 bg-slate-900/60 p-4",children:[Y.jsx("h2",{className:"text-lg font-semibold text-white",children:"Authentication"}),Y.jsxs("form",{className:"mt-4 flex flex-col gap-3",onSubmit:M,children:[Y.jsx("input",{className:"rounded-lg border border-slate-800 bg-slate-950/60 px-3 py-2 text-white",placeholder:"Username",value:f,onChange:A=>s(A.target.value)}),Y.jsx("input",{className:"rounded-lg border border-slate-800 bg-slate-950/60 px-3 py-2 text-white",placeholder:"Password",type:"password",value:m,onChange:A=>E(A.target.value)}),Y.jsx("button",{type:"submit",disabled:R,className:"rounded-lg bg-emerald-600 py-2 font-semibold text-white disabled:opacity-50",children:R?"Logging in…":"Login as admin"})]}),Y.jsxs("div",{className:"mt-4 flex gap-3",children:[Y.jsx("button",{type:"button",onClick:()=>i("user"),className:"rounded-lg border border-slate-700 px-3 py-1 text-sm text-slate-200",children:"Driver mode"}),Y.jsx("button",{type:"button",onClick:()=>i("spectator"),className:"rounded-lg border border-slate-700 px-3 py-1 text-sm text-slate-200",children:"Spectator mode"})]})]})}function cv(){const{connected:o,session:i}=qn();return Y.jsx("div",{className:"min-h-screen bg-slate-950 text-slate-50",children:Y.jsxs("main",{className:"mx-auto flex max-w-6xl flex-col gap-6 px-6 py-10",children:[Y.jsxs("header",{className:"space-y-4",children:[Y.jsx("h1",{className:"text-4xl font-semibold text-white",children:"Multi Roomba Rover Console"}),Y.jsx(ev,{connected:o,role:i?.role,mode:i?.mode})]}),Y.jsxs("section",{className:"grid gap-6 lg:grid-cols-2",children:[Y.jsx(nv,{}),Y.jsx(av,{}),Y.jsx(iv,{}),Y.jsx(uv,{})]}),Y.jsx(lv,{})]})})}n0.createRoot(document.getElementById("root")).render(Y.jsx(Mt.StrictMode,{children:Y.jsx(F0,{children:Y.jsx(tv,{children:Y.jsx(cv,{})})})})); diff --git a/server/public/assets/index-xwzFeHXC.js b/server/public/assets/index-xwzFeHXC.js new file mode 100644 index 00000000..8887d3dc --- /dev/null +++ b/server/public/assets/index-xwzFeHXC.js @@ -0,0 +1,11 @@ +(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const d of o)if(d.type==="childList")for(const y of d.addedNodes)y.tagName==="LINK"&&y.rel==="modulepreload"&&r(y)}).observe(document,{childList:!0,subtree:!0});function s(o){const d={};return o.integrity&&(d.integrity=o.integrity),o.referrerPolicy&&(d.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?d.credentials="include":o.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(o){if(o.ep)return;o.ep=!0;const d=s(o);fetch(o.href,d)}})();var Qs={exports:{}},ja={};var xd;function kp(){if(xd)return ja;xd=1;var c=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function s(r,o,d){var y=null;if(d!==void 0&&(y=""+d),o.key!==void 0&&(y=""+o.key),"key"in o){d={};for(var E in o)E!=="key"&&(d[E]=o[E])}else d=o;return o=d.ref,{$$typeof:c,type:r,key:y,ref:o!==void 0?o:null,props:d}}return ja.Fragment=i,ja.jsx=s,ja.jsxs=s,ja}var Rd;function $p(){return Rd||(Rd=1,Qs.exports=kp()),Qs.exports}var B=$p(),Vs={exports:{}},F={};var Od;function Wp(){if(Od)return F;Od=1;var c=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),y=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),x=Symbol.for("react.activity"),H=Symbol.iterator;function G(b){return b===null||typeof b!="object"?null:(b=H&&b[H]||b["@@iterator"],typeof b=="function"?b:null)}var X={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},J=Object.assign,V={};function Q(b,U,w){this.props=b,this.context=U,this.refs=V,this.updater=w||X}Q.prototype.isReactComponent={},Q.prototype.setState=function(b,U){if(typeof b!="object"&&typeof b!="function"&&b!=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,b,U,"setState")},Q.prototype.forceUpdate=function(b){this.updater.enqueueForceUpdate(this,b,"forceUpdate")};function Z(){}Z.prototype=Q.prototype;function $(b,U,w){this.props=b,this.context=U,this.refs=V,this.updater=w||X}var Tt=$.prototype=new Z;Tt.constructor=$,J(Tt,Q.prototype),Tt.isPureReactComponent=!0;var Rt=Array.isArray;function jt(){}var tt={H:null,A:null,T:null,S:null},Lt=Object.prototype.hasOwnProperty;function Ot(b,U,w){var L=w.ref;return{$$typeof:c,type:b,key:U,ref:L!==void 0?L:null,props:w}}function ue(b,U){return Ot(b.type,U,b.props)}function ie(b){return typeof b=="object"&&b!==null&&b.$$typeof===c}function Ft(b){var U={"=":"=0",":":"=2"};return"$"+b.replace(/[=:]/g,function(w){return U[w]})}var ql=/\/+/g;function Xe(b,U){return typeof b=="object"&&b!==null&&b.key!=null?Ft(""+b.key):U.toString(36)}function ze(b){switch(b.status){case"fulfilled":return b.value;case"rejected":throw b.reason;default:switch(typeof b.status=="string"?b.then(jt,jt):(b.status="pending",b.then(function(U){b.status==="pending"&&(b.status="fulfilled",b.value=U)},function(U){b.status==="pending"&&(b.status="rejected",b.reason=U)})),b.status){case"fulfilled":return b.value;case"rejected":throw b.reason}}throw b}function N(b,U,w,L,P){var lt=typeof b;(lt==="undefined"||lt==="boolean")&&(b=null);var ht=!1;if(b===null)ht=!0;else switch(lt){case"bigint":case"string":case"number":ht=!0;break;case"object":switch(b.$$typeof){case c:case i:ht=!0;break;case z:return ht=b._init,N(ht(b._payload),U,w,L,P)}}if(ht)return P=P(b),ht=L===""?"."+Xe(b,0):L,Rt(P)?(w="",ht!=null&&(w=ht.replace(ql,"$&/")+"/"),N(P,U,w,"",function(Zn){return Zn})):P!=null&&(ie(P)&&(P=ue(P,w+(P.key==null||b&&b.key===P.key?"":(""+P.key).replace(ql,"$&/")+"/")+ht)),U.push(P)),1;ht=0;var $t=L===""?".":L+":";if(Rt(b))for(var Nt=0;Nt>>1,bt=N[yt];if(0>>1;yto(w,W))Lo(P,w)?(N[yt]=P,N[L]=W,yt=L):(N[yt]=w,N[U]=W,yt=U);else if(Lo(P,W))N[yt]=P,N[L]=W,yt=L;else break t}}return q}function o(N,q){var W=N.sortIndex-q.sortIndex;return W!==0?W:N.id-q.id}if(c.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;c.unstable_now=function(){return d.now()}}else{var y=Date,E=y.now();c.unstable_now=function(){return y.now()-E}}var p=[],v=[],z=1,x=null,H=3,G=!1,X=!1,J=!1,V=!1,Q=typeof setTimeout=="function"?setTimeout:null,Z=typeof clearTimeout=="function"?clearTimeout:null,$=typeof setImmediate<"u"?setImmediate:null;function Tt(N){for(var q=s(v);q!==null;){if(q.callback===null)r(v);else if(q.startTime<=N)r(v),q.sortIndex=q.expirationTime,i(p,q);else break;q=s(v)}}function Rt(N){if(J=!1,Tt(N),!X)if(s(p)!==null)X=!0,jt||(jt=!0,Ft());else{var q=s(v);q!==null&&ze(Rt,q.startTime-N)}}var jt=!1,tt=-1,Lt=5,Ot=-1;function ue(){return V?!0:!(c.unstable_now()-OtN&&ue());){var yt=x.callback;if(typeof yt=="function"){x.callback=null,H=x.priorityLevel;var bt=yt(x.expirationTime<=N);if(N=c.unstable_now(),typeof bt=="function"){x.callback=bt,Tt(N),q=!0;break e}x===s(p)&&r(p),Tt(N)}else r(p);x=s(p)}if(x!==null)q=!0;else{var b=s(v);b!==null&&ze(Rt,b.startTime-N),q=!1}}break t}finally{x=null,H=W,G=!1}q=void 0}}finally{q?Ft():jt=!1}}}var Ft;if(typeof $=="function")Ft=function(){$(ie)};else if(typeof MessageChannel<"u"){var ql=new MessageChannel,Xe=ql.port2;ql.port1.onmessage=ie,Ft=function(){Xe.postMessage(null)}}else Ft=function(){Q(ie,0)};function ze(N,q){tt=Q(function(){N(c.unstable_now())},q)}c.unstable_IdlePriority=5,c.unstable_ImmediatePriority=1,c.unstable_LowPriority=4,c.unstable_NormalPriority=3,c.unstable_Profiling=null,c.unstable_UserBlockingPriority=2,c.unstable_cancelCallback=function(N){N.callback=null},c.unstable_forceFrameRate=function(N){0>N||125yt?(N.sortIndex=W,i(v,N),s(p)===null&&N===s(v)&&(J?(Z(tt),tt=-1):J=!0,ze(Rt,W-yt))):(N.sortIndex=bt,i(p,N),X||G||(X=!0,jt||(jt=!0,Ft()))),N},c.unstable_shouldYield=ue,c.unstable_wrapCallback=function(N){var q=H;return function(){var W=H;H=q;try{return N.apply(this,arguments)}finally{H=W}}}})(Js)),Js}var Nd;function Pp(){return Nd||(Nd=1,Ks.exports=Fp()),Ks.exports}var ks={exports:{}},kt={};var Md;function Ip(){if(Md)return kt;Md=1;var c=rr();function i(p){var v="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(c)}catch(i){console.error(i)}}return c(),ks.exports=Ip(),ks.exports}var Ud;function e0(){if(Ud)return La;Ud=1;var c=Pp(),i=rr(),s=t0();function r(t){var e="https://react.dev/errors/"+t;if(1bt||(t.current=yt[bt],yt[bt]=null,bt--)}function w(t,e){bt++,yt[bt]=t.current,t.current=e}var L=b(null),P=b(null),lt=b(null),ht=b(null);function $t(t,e){switch(w(lt,e),w(P,t),w(L,null),e.nodeType){case 9:case 11:t=(t=e.documentElement)&&(t=t.namespaceURI)?kh(t):0;break;default:if(t=e.tagName,e=e.namespaceURI)e=kh(e),t=$h(e,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}U(L),w(L,t)}function Nt(){U(L),U(P),U(lt)}function Zn(t){t.memoizedState!==null&&w(ht,t);var e=L.current,l=$h(e,t.type);e!==l&&(w(P,t),w(L,l))}function Ja(t){P.current===t&&(U(L),U(P)),ht.current===t&&(U(ht),Ba._currentValue=W)}var xi,_r;function wl(t){if(xi===void 0)try{throw Error()}catch(l){var e=l.stack.trim().match(/\n( *(at )?)/);xi=e&&e[1]||"",_r=-1)":-1a||m[n]!==T[a]){var C=` +`+m[n].replace(" at new "," at ");return t.displayName&&C.includes("")&&(C=C.replace("",t.displayName)),C}while(1<=n&&0<=a);break}}}finally{Ri=!1,Error.prepareStackTrace=l}return(l=t?t.displayName||t.name:"")?wl(l):""}function xm(t,e){switch(t.tag){case 26:case 27:case 5:return wl(t.type);case 16:return wl("Lazy");case 13:return t.child!==e&&e!==null?wl("Suspense Fallback"):wl("Suspense");case 19:return wl("SuspenseList");case 0:case 15:return Oi(t.type,!1);case 11:return Oi(t.type.render,!1);case 1:return Oi(t.type,!0);case 31:return wl("Activity");default:return""}}function Tr(t){try{var e="",l=null;do e+=xm(t,l),l=t,t=t.return;while(t);return e}catch(n){return` +Error generating stack: `+n.message+` +`+n.stack}}var zi=Object.prototype.hasOwnProperty,Ci=c.unstable_scheduleCallback,Ni=c.unstable_cancelCallback,Rm=c.unstable_shouldYield,Om=c.unstable_requestPaint,ce=c.unstable_now,zm=c.unstable_getCurrentPriorityLevel,Ar=c.unstable_ImmediatePriority,xr=c.unstable_UserBlockingPriority,ka=c.unstable_NormalPriority,Cm=c.unstable_LowPriority,Rr=c.unstable_IdlePriority,Nm=c.log,Mm=c.unstable_setDisableYieldValue,Kn=null,se=null;function rl(t){if(typeof Nm=="function"&&Mm(t),se&&typeof se.setStrictMode=="function")try{se.setStrictMode(Kn,t)}catch{}}var re=Math.clz32?Math.clz32:Bm,Dm=Math.log,Um=Math.LN2;function Bm(t){return t>>>=0,t===0?32:31-(Dm(t)/Um|0)|0}var $a=256,Wa=262144,Fa=4194304;function jl(t){var e=t&42;if(e!==0)return e;switch(t&-t){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 t&261888;case 262144:case 524288:case 1048576:case 2097152:return t&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return t}}function Pa(t,e,l){var n=t.pendingLanes;if(n===0)return 0;var a=0,u=t.suspendedLanes,f=t.pingedLanes;t=t.warmLanes;var h=n&134217727;return h!==0?(n=h&~u,n!==0?a=jl(n):(f&=h,f!==0?a=jl(f):l||(l=h&~t,l!==0&&(a=jl(l))))):(h=n&~u,h!==0?a=jl(h):f!==0?a=jl(f):l||(l=n&~t,l!==0&&(a=jl(l)))),a===0?0:e!==0&&e!==a&&(e&u)===0&&(u=a&-a,l=e&-e,u>=l||u===32&&(l&4194048)!==0)?e:a}function Jn(t,e){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&e)===0}function Hm(t,e){switch(t){case 1:case 2:case 4:case 8:case 64:return e+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 e+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 Or(){var t=Fa;return Fa<<=1,(Fa&62914560)===0&&(Fa=4194304),t}function Mi(t){for(var e=[],l=0;31>l;l++)e.push(t);return e}function kn(t,e){t.pendingLanes|=e,e!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function qm(t,e,l,n,a,u){var f=t.pendingLanes;t.pendingLanes=l,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=l,t.entangledLanes&=l,t.errorRecoveryDisabledLanes&=l,t.shellSuspendCounter=0;var h=t.entanglements,m=t.expirationTimes,T=t.hiddenUpdates;for(l=f&~l;0"u")return null;try{return t.activeElement||t.body}catch{return t.body}}var Gm=/[\n"\\]/g;function ge(t){return t.replace(Gm,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function wi(t,e,l,n,a,u,f,h){t.name="",f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?t.type=f:t.removeAttribute("type"),e!=null?f==="number"?(e===0&&t.value===""||t.value!=e)&&(t.value=""+ve(e)):t.value!==""+ve(e)&&(t.value=""+ve(e)):f!=="submit"&&f!=="reset"||t.removeAttribute("value"),e!=null?ji(t,f,ve(e)):l!=null?ji(t,f,ve(l)):n!=null&&t.removeAttribute("value"),a==null&&u!=null&&(t.defaultChecked=!!u),a!=null&&(t.checked=a&&typeof a!="function"&&typeof a!="symbol"),h!=null&&typeof h!="function"&&typeof h!="symbol"&&typeof h!="boolean"?t.name=""+ve(h):t.removeAttribute("name")}function Yr(t,e,l,n,a,u,f,h){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(t.type=u),e!=null||l!=null){if(!(u!=="submit"&&u!=="reset"||e!=null)){qi(t);return}l=l!=null?""+ve(l):"",e=e!=null?""+ve(e):l,h||e===t.value||(t.value=e),t.defaultValue=e}n=n??a,n=typeof n!="function"&&typeof n!="symbol"&&!!n,t.checked=h?t.checked:!!n,t.defaultChecked=!!n,f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(t.name=f),qi(t)}function ji(t,e,l){e==="number"&&eu(t.ownerDocument)===t||t.defaultValue===""+l||(t.defaultValue=""+l)}function rn(t,e,l,n){if(t=t.options,e){e={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Qi=!1;if(Ve)try{var Pn={};Object.defineProperty(Pn,"passive",{get:function(){Qi=!0}}),window.addEventListener("test",Pn,Pn),window.removeEventListener("test",Pn,Pn)}catch{Qi=!1}var ol=null,Vi=null,nu=null;function Jr(){if(nu)return nu;var t,e=Vi,l=e.length,n,a="value"in ol?ol.value:ol.textContent,u=a.length;for(t=0;t=ea),Ir=" ",tf=!1;function ef(t,e){switch(t){case"keyup":return py.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function lf(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var dn=!1;function gy(t,e){switch(t){case"compositionend":return lf(e);case"keypress":return e.which!==32?null:(tf=!0,Ir);case"textInput":return t=e.data,t===Ir&&tf?null:t;default:return null}}function by(t,e){if(dn)return t==="compositionend"||!$i&&ef(t,e)?(t=Jr(),nu=Vi=ol=null,dn=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:l,offset:e-t};t=n}t:{for(;l;){if(l.nextSibling){l=l.nextSibling;break t}l=l.parentNode}l=void 0}l=of(l)}}function df(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?df(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function mf(t){t=t!=null&&t.ownerDocument!=null&&t.ownerDocument.defaultView!=null?t.ownerDocument.defaultView:window;for(var e=eu(t.document);e instanceof t.HTMLIFrameElement;){try{var l=typeof e.contentWindow.location.href=="string"}catch{l=!1}if(l)t=e.contentWindow;else break;e=eu(t.document)}return e}function Pi(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}var Oy=Ve&&"documentMode"in document&&11>=document.documentMode,mn=null,Ii=null,ua=null,tc=!1;function yf(t,e,l){var n=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;tc||mn==null||mn!==eu(n)||(n=mn,"selectionStart"in n&&Pi(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),ua&&aa(ua,n)||(ua=n,n=Wu(Ii,"onSelect"),0>=f,a-=f,Be=1<<32-re(e)+a|l<et?(it=Y,Y=null):it=Y.sibling;var ft=A(S,Y,_[et],M);if(ft===null){Y===null&&(Y=it);break}t&&Y&&ft.alternate===null&&e(S,Y),g=u(ft,g,et),rt===null?K=ft:rt.sibling=ft,rt=ft,Y=it}if(et===_.length)return l(S,Y),ct&&Ke(S,et),K;if(Y===null){for(;et<_.length;et++)Y=D(S,_[et],M),Y!==null&&(g=u(Y,g,et),rt===null?K=Y:rt.sibling=Y,rt=Y);return ct&&Ke(S,et),K}for(Y=n(Y);et<_.length;et++)it=R(Y,S,et,_[et],M),it!==null&&(t&&it.alternate!==null&&Y.delete(it.key===null?et:it.key),g=u(it,g,et),rt===null?K=it:rt.sibling=it,rt=it);return t&&Y.forEach(function(Ul){return e(S,Ul)}),ct&&Ke(S,et),K}function k(S,g,_,M){if(_==null)throw Error(r(151));for(var K=null,rt=null,Y=g,et=g=0,it=null,ft=_.next();Y!==null&&!ft.done;et++,ft=_.next()){Y.index>et?(it=Y,Y=null):it=Y.sibling;var Ul=A(S,Y,ft.value,M);if(Ul===null){Y===null&&(Y=it);break}t&&Y&&Ul.alternate===null&&e(S,Y),g=u(Ul,g,et),rt===null?K=Ul:rt.sibling=Ul,rt=Ul,Y=it}if(ft.done)return l(S,Y),ct&&Ke(S,et),K;if(Y===null){for(;!ft.done;et++,ft=_.next())ft=D(S,ft.value,M),ft!==null&&(g=u(ft,g,et),rt===null?K=ft:rt.sibling=ft,rt=ft);return ct&&Ke(S,et),K}for(Y=n(Y);!ft.done;et++,ft=_.next())ft=R(Y,S,et,ft.value,M),ft!==null&&(t&&ft.alternate!==null&&Y.delete(ft.key===null?et:ft.key),g=u(ft,g,et),rt===null?K=ft:rt.sibling=ft,rt=ft);return t&&Y.forEach(function(Jp){return e(S,Jp)}),ct&&Ke(S,et),K}function gt(S,g,_,M){if(typeof _=="object"&&_!==null&&_.type===J&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case G:t:{for(var K=_.key;g!==null;){if(g.key===K){if(K=_.type,K===J){if(g.tag===7){l(S,g.sibling),M=a(g,_.props.children),M.return=S,S=M;break t}}else if(g.elementType===K||typeof K=="object"&&K!==null&&K.$$typeof===Lt&&$l(K)===g.type){l(S,g.sibling),M=a(g,_.props),oa(M,_),M.return=S,S=M;break t}l(S,g);break}else e(S,g);g=g.sibling}_.type===J?(M=Vl(_.props.children,S.mode,M,_.key),M.return=S,S=M):(M=du(_.type,_.key,_.props,null,S.mode,M),oa(M,_),M.return=S,S=M)}return f(S);case X:t:{for(K=_.key;g!==null;){if(g.key===K)if(g.tag===4&&g.stateNode.containerInfo===_.containerInfo&&g.stateNode.implementation===_.implementation){l(S,g.sibling),M=a(g,_.children||[]),M.return=S,S=M;break t}else{l(S,g);break}else e(S,g);g=g.sibling}M=cc(_,S.mode,M),M.return=S,S=M}return f(S);case Lt:return _=$l(_),gt(S,g,_,M)}if(ze(_))return j(S,g,_,M);if(Ft(_)){if(K=Ft(_),typeof K!="function")throw Error(r(150));return _=K.call(_),k(S,g,_,M)}if(typeof _.then=="function")return gt(S,g,Su(_),M);if(_.$$typeof===$)return gt(S,g,pu(S,_),M);Eu(S,_)}return typeof _=="string"&&_!==""||typeof _=="number"||typeof _=="bigint"?(_=""+_,g!==null&&g.tag===6?(l(S,g.sibling),M=a(g,_),M.return=S,S=M):(l(S,g),M=ic(_,S.mode,M),M.return=S,S=M),f(S)):l(S,g)}return function(S,g,_,M){try{fa=0;var K=gt(S,g,_,M);return xn=null,K}catch(Y){if(Y===An||Y===gu)throw Y;var rt=oe(29,Y,null,S.mode);return rt.lanes=M,rt.return=S,rt}finally{}}}var Fl=jf(!0),Lf=jf(!1),pl=!1;function bc(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Sc(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,callbacks:null})}function vl(t){return{lane:t,tag:0,payload:null,callback:null,next:null}}function gl(t,e,l){var n=t.updateQueue;if(n===null)return null;if(n=n.shared,(ot&2)!==0){var a=n.pending;return a===null?e.next=e:(e.next=a.next,a.next=e),n.pending=e,e=hu(t),_f(t,null,l),e}return ou(t,n,e,l),hu(t)}function ha(t,e,l){if(e=e.updateQueue,e!==null&&(e=e.shared,(l&4194048)!==0)){var n=e.lanes;n&=t.pendingLanes,l|=n,e.lanes=l,Cr(t,l)}}function Ec(t,e){var l=t.updateQueue,n=t.alternate;if(n!==null&&(n=n.updateQueue,l===n)){var a=null,u=null;if(l=l.firstBaseUpdate,l!==null){do{var f={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};u===null?a=u=f:u=u.next=f,l=l.next}while(l!==null);u===null?a=u=e:u=u.next=e}else a=u=e;l={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:u,shared:n.shared,callbacks:n.callbacks},t.updateQueue=l;return}t=l.lastBaseUpdate,t===null?l.firstBaseUpdate=e:t.next=e,l.lastBaseUpdate=e}var _c=!1;function da(){if(_c){var t=Tn;if(t!==null)throw t}}function ma(t,e,l,n){_c=!1;var a=t.updateQueue;pl=!1;var u=a.firstBaseUpdate,f=a.lastBaseUpdate,h=a.shared.pending;if(h!==null){a.shared.pending=null;var m=h,T=m.next;m.next=null,f===null?u=T:f.next=T,f=m;var C=t.alternate;C!==null&&(C=C.updateQueue,h=C.lastBaseUpdate,h!==f&&(h===null?C.firstBaseUpdate=T:h.next=T,C.lastBaseUpdate=m))}if(u!==null){var D=a.baseState;f=0,C=T=m=null,h=u;do{var A=h.lane&-536870913,R=A!==h.lane;if(R?(ut&A)===A:(n&A)===A){A!==0&&A===_n&&(_c=!0),C!==null&&(C=C.next={lane:0,tag:h.tag,payload:h.payload,callback:null,next:null});t:{var j=t,k=h;A=e;var gt=l;switch(k.tag){case 1:if(j=k.payload,typeof j=="function"){D=j.call(gt,D,A);break t}D=j;break t;case 3:j.flags=j.flags&-65537|128;case 0:if(j=k.payload,A=typeof j=="function"?j.call(gt,D,A):j,A==null)break t;D=x({},D,A);break t;case 2:pl=!0}}A=h.callback,A!==null&&(t.flags|=64,R&&(t.flags|=8192),R=a.callbacks,R===null?a.callbacks=[A]:R.push(A))}else R={lane:A,tag:h.tag,payload:h.payload,callback:h.callback,next:null},C===null?(T=C=R,m=D):C=C.next=R,f|=A;if(h=h.next,h===null){if(h=a.shared.pending,h===null)break;R=h,h=R.next,R.next=null,a.lastBaseUpdate=R,a.shared.pending=null}}while(!0);C===null&&(m=D),a.baseState=m,a.firstBaseUpdate=T,a.lastBaseUpdate=C,u===null&&(a.shared.lanes=0),Tl|=f,t.lanes=f,t.memoizedState=D}}function Yf(t,e){if(typeof t!="function")throw Error(r(191,t));t.call(e)}function Xf(t,e){var l=t.callbacks;if(l!==null)for(t.callbacks=null,t=0;tu?u:8;var f=N.T,h={};N.T=h,Xc(t,!1,e,l);try{var m=a(),T=N.S;if(T!==null&&T(h,m),m!==null&&typeof m=="object"&&typeof m.then=="function"){var C=qy(m,n);va(t,e,C,pe(t))}else va(t,e,n,pe(t))}catch(D){va(t,e,{then:function(){},status:"rejected",reason:D},pe())}finally{q.p=u,f!==null&&h.types!==null&&(f.types=h.types),N.T=f}}function Gy(){}function Lc(t,e,l,n){if(t.tag!==5)throw Error(r(476));var a=So(t).queue;bo(t,a,e,W,l===null?Gy:function(){return Eo(t),l(n)})}function So(t){var e=t.memoizedState;if(e!==null)return e;e={memoizedState:W,baseState:W,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:We,lastRenderedState:W},next:null};var l={};return e.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:We,lastRenderedState:l},next:null},t.memoizedState=e,t=t.alternate,t!==null&&(t.memoizedState=e),e}function Eo(t){var e=So(t);e.next===null&&(e=t.alternate.memoizedState),va(t,e.next.queue,{},pe())}function Yc(){return Zt(Ba)}function _o(){return Dt().memoizedState}function To(){return Dt().memoizedState}function Qy(t){for(var e=t.return;e!==null;){switch(e.tag){case 24:case 3:var l=pe();t=vl(l);var n=gl(e,t,l);n!==null&&(ae(n,e,l),ha(n,e,l)),e={cache:yc()},t.payload=e;return}e=e.return}}function Vy(t,e,l){var n=pe();l={lane:n,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},Mu(t)?xo(e,l):(l=ac(t,e,l,n),l!==null&&(ae(l,t,n),Ro(l,e,n)))}function Ao(t,e,l){var n=pe();va(t,e,l,n)}function va(t,e,l,n){var a={lane:n,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(Mu(t))xo(e,a);else{var u=t.alternate;if(t.lanes===0&&(u===null||u.lanes===0)&&(u=e.lastRenderedReducer,u!==null))try{var f=e.lastRenderedState,h=u(f,l);if(a.hasEagerState=!0,a.eagerState=h,fe(h,f))return ou(t,e,a,0),St===null&&fu(),!1}catch{}finally{}if(l=ac(t,e,a,n),l!==null)return ae(l,t,n),Ro(l,e,n),!0}return!1}function Xc(t,e,l,n){if(n={lane:2,revertLane:bs(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Mu(t)){if(e)throw Error(r(479))}else e=ac(t,l,n,2),e!==null&&ae(e,t,2)}function Mu(t){var e=t.alternate;return t===I||e!==null&&e===I}function xo(t,e){On=Au=!0;var l=t.pending;l===null?e.next=e:(e.next=l.next,l.next=e),t.pending=e}function Ro(t,e,l){if((l&4194048)!==0){var n=e.lanes;n&=t.pendingLanes,l|=n,e.lanes=l,Cr(t,l)}}var ga={readContext:Zt,use:Ou,useCallback:zt,useContext:zt,useEffect:zt,useImperativeHandle:zt,useLayoutEffect:zt,useInsertionEffect:zt,useMemo:zt,useReducer:zt,useRef:zt,useState:zt,useDebugValue:zt,useDeferredValue:zt,useTransition:zt,useSyncExternalStore:zt,useId:zt,useHostTransitionStatus:zt,useFormState:zt,useActionState:zt,useOptimistic:zt,useMemoCache:zt,useCacheRefresh:zt};ga.useEffectEvent=zt;var Oo={readContext:Zt,use:Ou,useCallback:function(t,e){return Wt().memoizedState=[t,e===void 0?null:e],t},useContext:Zt,useEffect:ro,useImperativeHandle:function(t,e,l){l=l!=null?l.concat([t]):null,Cu(4194308,4,mo.bind(null,e,t),l)},useLayoutEffect:function(t,e){return Cu(4194308,4,t,e)},useInsertionEffect:function(t,e){Cu(4,2,t,e)},useMemo:function(t,e){var l=Wt();e=e===void 0?null:e;var n=t();if(Pl){rl(!0);try{t()}finally{rl(!1)}}return l.memoizedState=[n,e],n},useReducer:function(t,e,l){var n=Wt();if(l!==void 0){var a=l(e);if(Pl){rl(!0);try{l(e)}finally{rl(!1)}}}else a=e;return n.memoizedState=n.baseState=a,t={pending:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:a},n.queue=t,t=t.dispatch=Vy.bind(null,I,t),[n.memoizedState,t]},useRef:function(t){var e=Wt();return t={current:t},e.memoizedState=t},useState:function(t){t=Bc(t);var e=t.queue,l=Ao.bind(null,I,e);return e.dispatch=l,[t.memoizedState,l]},useDebugValue:wc,useDeferredValue:function(t,e){var l=Wt();return jc(l,t,e)},useTransition:function(){var t=Bc(!1);return t=bo.bind(null,I,t.queue,!0,!1),Wt().memoizedState=t,[!1,t]},useSyncExternalStore:function(t,e,l){var n=I,a=Wt();if(ct){if(l===void 0)throw Error(r(407));l=l()}else{if(l=e(),St===null)throw Error(r(349));(ut&127)!==0||Jf(n,e,l)}a.memoizedState=l;var u={value:l,getSnapshot:e};return a.queue=u,ro($f.bind(null,n,u,t),[t]),n.flags|=2048,Cn(9,{destroy:void 0},kf.bind(null,n,u,l,e),null),l},useId:function(){var t=Wt(),e=St.identifierPrefix;if(ct){var l=He,n=Be;l=(n&~(1<<32-re(n)-1)).toString(32)+l,e="_"+e+"R_"+l,l=xu++,0<\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof n.is=="string"?f.createElement("select",{is:n.is}):f.createElement("select"),n.multiple?u.multiple=!0:n.size&&(u.size=n.size);break;default:u=typeof n.is=="string"?f.createElement(a,{is:n.is}):f.createElement(a)}}u[Qt]=e,u[Pt]=n;t:for(f=e.child;f!==null;){if(f.tag===5||f.tag===6)u.appendChild(f.stateNode);else if(f.tag!==4&&f.tag!==27&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===e)break t;for(;f.sibling===null;){if(f.return===null||f.return===e)break t;f=f.return}f.sibling.return=f.return,f=f.sibling}e.stateNode=u;t:switch(Jt(u,a,n),a){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break t;case"img":n=!0;break t;default:n=!1}n&&Pe(e)}}return _t(e),es(e,e.type,t===null?null:t.memoizedProps,e.pendingProps,l),null;case 6:if(t&&e.stateNode!=null)t.memoizedProps!==n&&Pe(e);else{if(typeof n!="string"&&e.stateNode===null)throw Error(r(166));if(t=lt.current,Sn(e)){if(t=e.stateNode,l=e.memoizedProps,n=null,a=Vt,a!==null)switch(a.tag){case 27:case 5:n=a.memoizedProps}t[Qt]=e,t=!!(t.nodeValue===l||n!==null&&n.suppressHydrationWarning===!0||Kh(t.nodeValue,l)),t||ml(e,!0)}else t=Fu(t).createTextNode(n),t[Qt]=e,e.stateNode=t}return _t(e),null;case 31:if(l=e.memoizedState,t===null||t.memoizedState!==null){if(n=Sn(e),l!==null){if(t===null){if(!n)throw Error(r(318));if(t=e.memoizedState,t=t!==null?t.dehydrated:null,!t)throw Error(r(557));t[Qt]=e}else Zl(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;_t(e),t=!1}else l=oc(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=l),t=!0;if(!t)return e.flags&256?(de(e),e):(de(e),null);if((e.flags&128)!==0)throw Error(r(558))}return _t(e),null;case 13:if(n=e.memoizedState,t===null||t.memoizedState!==null&&t.memoizedState.dehydrated!==null){if(a=Sn(e),n!==null&&n.dehydrated!==null){if(t===null){if(!a)throw Error(r(318));if(a=e.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(r(317));a[Qt]=e}else Zl(),(e.flags&128)===0&&(e.memoizedState=null),e.flags|=4;_t(e),a=!1}else a=oc(),t!==null&&t.memoizedState!==null&&(t.memoizedState.hydrationErrors=a),a=!0;if(!a)return e.flags&256?(de(e),e):(de(e),null)}return de(e),(e.flags&128)!==0?(e.lanes=l,e):(l=n!==null,t=t!==null&&t.memoizedState!==null,l&&(n=e.child,a=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(a=n.alternate.memoizedState.cachePool.pool),u=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(u=n.memoizedState.cachePool.pool),u!==a&&(n.flags|=2048)),l!==t&&l&&(e.child.flags|=8192),qu(e,e.updateQueue),_t(e),null);case 4:return Nt(),t===null&&Ts(e.stateNode.containerInfo),_t(e),null;case 10:return ke(e.type),_t(e),null;case 19:if(U(Mt),n=e.memoizedState,n===null)return _t(e),null;if(a=(e.flags&128)!==0,u=n.rendering,u===null)if(a)Sa(n,!1);else{if(Ct!==0||t!==null&&(t.flags&128)!==0)for(t=e.child;t!==null;){if(u=Tu(t),u!==null){for(e.flags|=128,Sa(n,!1),t=u.updateQueue,e.updateQueue=t,qu(e,t),e.subtreeFlags=0,t=l,l=e.child;l!==null;)Tf(l,t),l=l.sibling;return w(Mt,Mt.current&1|2),ct&&Ke(e,n.treeForkCount),e.child}t=t.sibling}n.tail!==null&&ce()>Xu&&(e.flags|=128,a=!0,Sa(n,!1),e.lanes=4194304)}else{if(!a)if(t=Tu(u),t!==null){if(e.flags|=128,a=!0,t=t.updateQueue,e.updateQueue=t,qu(e,t),Sa(n,!0),n.tail===null&&n.tailMode==="hidden"&&!u.alternate&&!ct)return _t(e),null}else 2*ce()-n.renderingStartTime>Xu&&l!==536870912&&(e.flags|=128,a=!0,Sa(n,!1),e.lanes=4194304);n.isBackwards?(u.sibling=e.child,e.child=u):(t=n.last,t!==null?t.sibling=u:e.child=u,n.last=u)}return n.tail!==null?(t=n.tail,n.rendering=t,n.tail=t.sibling,n.renderingStartTime=ce(),t.sibling=null,l=Mt.current,w(Mt,a?l&1|2:l&1),ct&&Ke(e,n.treeForkCount),t):(_t(e),null);case 22:case 23:return de(e),Ac(),n=e.memoizedState!==null,t!==null?t.memoizedState!==null!==n&&(e.flags|=8192):n&&(e.flags|=8192),n?(l&536870912)!==0&&(e.flags&128)===0&&(_t(e),e.subtreeFlags&6&&(e.flags|=8192)):_t(e),l=e.updateQueue,l!==null&&qu(e,l.retryQueue),l=null,t!==null&&t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(l=t.memoizedState.cachePool.pool),n=null,e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),n!==l&&(e.flags|=2048),t!==null&&U(kl),null;case 24:return l=null,t!==null&&(l=t.memoizedState.cache),e.memoizedState.cache!==l&&(e.flags|=2048),ke(Ut),_t(e),null;case 25:return null;case 30:return null}throw Error(r(156,e.tag))}function $y(t,e){switch(rc(e),e.tag){case 1:return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return ke(Ut),Nt(),t=e.flags,(t&65536)!==0&&(t&128)===0?(e.flags=t&-65537|128,e):null;case 26:case 27:case 5:return Ja(e),null;case 31:if(e.memoizedState!==null){if(de(e),e.alternate===null)throw Error(r(340));Zl()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 13:if(de(e),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(r(340));Zl()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return U(Mt),null;case 4:return Nt(),null;case 10:return ke(e.type),null;case 22:case 23:return de(e),Ac(),t!==null&&U(kl),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 24:return ke(Ut),null;case 25:return null;default:return null}}function Fo(t,e){switch(rc(e),e.tag){case 3:ke(Ut),Nt();break;case 26:case 27:case 5:Ja(e);break;case 4:Nt();break;case 31:e.memoizedState!==null&&de(e);break;case 13:de(e);break;case 19:U(Mt);break;case 10:ke(e.type);break;case 22:case 23:de(e),Ac(),t!==null&&U(kl);break;case 24:ke(Ut)}}function Ea(t,e){try{var l=e.updateQueue,n=l!==null?l.lastEffect:null;if(n!==null){var a=n.next;l=a;do{if((l.tag&t)===t){n=void 0;var u=l.create,f=l.inst;n=u(),f.destroy=n}l=l.next}while(l!==a)}}catch(h){mt(e,e.return,h)}}function El(t,e,l){try{var n=e.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var u=a.next;n=u;do{if((n.tag&t)===t){var f=n.inst,h=f.destroy;if(h!==void 0){f.destroy=void 0,a=e;var m=l,T=h;try{T()}catch(C){mt(a,m,C)}}}n=n.next}while(n!==u)}}catch(C){mt(e,e.return,C)}}function Po(t){var e=t.updateQueue;if(e!==null){var l=t.stateNode;try{Xf(e,l)}catch(n){mt(t,t.return,n)}}}function Io(t,e,l){l.props=Il(t.type,t.memoizedProps),l.state=t.memoizedState;try{l.componentWillUnmount()}catch(n){mt(t,e,n)}}function _a(t,e){try{var l=t.ref;if(l!==null){switch(t.tag){case 26:case 27:case 5:var n=t.stateNode;break;case 30:n=t.stateNode;break;default:n=t.stateNode}typeof l=="function"?t.refCleanup=l(n):l.current=n}}catch(a){mt(t,e,a)}}function qe(t,e){var l=t.ref,n=t.refCleanup;if(l!==null)if(typeof n=="function")try{n()}catch(a){mt(t,e,a)}finally{t.refCleanup=null,t=t.alternate,t!=null&&(t.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(a){mt(t,e,a)}else l.current=null}function th(t){var e=t.type,l=t.memoizedProps,n=t.stateNode;try{t:switch(e){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break t;case"img":l.src?n.src=l.src:l.srcSet&&(n.srcset=l.srcSet)}}catch(a){mt(t,t.return,a)}}function ls(t,e,l){try{var n=t.stateNode;vp(n,t.type,l,e),n[Pt]=e}catch(a){mt(t,t.return,a)}}function eh(t){return t.tag===5||t.tag===3||t.tag===26||t.tag===27&&zl(t.type)||t.tag===4}function ns(t){t:for(;;){for(;t.sibling===null;){if(t.return===null||eh(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.tag===27&&zl(t.type)||t.flags&2||t.child===null||t.tag===4)continue t;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function as(t,e,l){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(t,e):(e=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,e.appendChild(t),l=l._reactRootContainer,l!=null||e.onclick!==null||(e.onclick=Qe));else if(n!==4&&(n===27&&zl(t.type)&&(l=t.stateNode,e=null),t=t.child,t!==null))for(as(t,e,l),t=t.sibling;t!==null;)as(t,e,l),t=t.sibling}function wu(t,e,l){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?l.insertBefore(t,e):l.appendChild(t);else if(n!==4&&(n===27&&zl(t.type)&&(l=t.stateNode),t=t.child,t!==null))for(wu(t,e,l),t=t.sibling;t!==null;)wu(t,e,l),t=t.sibling}function lh(t){var e=t.stateNode,l=t.memoizedProps;try{for(var n=t.type,a=e.attributes;a.length;)e.removeAttributeNode(a[0]);Jt(e,n,l),e[Qt]=t,e[Pt]=l}catch(u){mt(t,t.return,u)}}var Ie=!1,qt=!1,us=!1,nh=typeof WeakSet=="function"?WeakSet:Set,Gt=null;function Wy(t,e){if(t=t.containerInfo,Rs=ai,t=mf(t),Pi(t)){if("selectionStart"in t)var l={start:t.selectionStart,end:t.selectionEnd};else t:{l=(l=t.ownerDocument)&&l.defaultView||window;var n=l.getSelection&&l.getSelection();if(n&&n.rangeCount!==0){l=n.anchorNode;var a=n.anchorOffset,u=n.focusNode;n=n.focusOffset;try{l.nodeType,u.nodeType}catch{l=null;break t}var f=0,h=-1,m=-1,T=0,C=0,D=t,A=null;e:for(;;){for(var R;D!==l||a!==0&&D.nodeType!==3||(h=f+a),D!==u||n!==0&&D.nodeType!==3||(m=f+n),D.nodeType===3&&(f+=D.nodeValue.length),(R=D.firstChild)!==null;)A=D,D=R;for(;;){if(D===t)break e;if(A===l&&++T===a&&(h=f),A===u&&++C===n&&(m=f),(R=D.nextSibling)!==null)break;D=A,A=D.parentNode}D=R}l=h===-1||m===-1?null:{start:h,end:m}}else l=null}l=l||{start:0,end:0}}else l=null;for(Os={focusedElem:t,selectionRange:l},ai=!1,Gt=e;Gt!==null;)if(e=Gt,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Gt=t;else for(;Gt!==null;){switch(e=Gt,u=e.alternate,t=e.flags,e.tag){case 0:if((t&4)!==0&&(t=e.updateQueue,t=t!==null?t.events:null,t!==null))for(l=0;l title"))),Jt(u,n,l),u[Qt]=t,Xt(u),n=u;break t;case"link":var f=rd("link","href",a).get(n+(l.href||""));if(f){for(var h=0;hgt&&(f=gt,gt=k,k=f);var S=hf(h,k),g=hf(h,gt);if(S&&g&&(R.rangeCount!==1||R.anchorNode!==S.node||R.anchorOffset!==S.offset||R.focusNode!==g.node||R.focusOffset!==g.offset)){var _=D.createRange();_.setStart(S.node,S.offset),R.removeAllRanges(),k>gt?(R.addRange(_),R.extend(g.node,g.offset)):(_.setEnd(g.node,g.offset),R.addRange(_))}}}}for(D=[],R=h;R=R.parentNode;)R.nodeType===1&&D.push({element:R,left:R.scrollLeft,top:R.scrollTop});for(typeof h.focus=="function"&&h.focus(),h=0;hl?32:l,N.T=null,l=hs,hs=null;var u=xl,f=al;if(Yt=0,Bn=xl=null,al=0,(ot&6)!==0)throw Error(r(331));var h=ot;if(ot|=4,mh(u.current),oh(u,u.current,f,l),ot=h,za(0,!1),se&&typeof se.onPostCommitFiberRoot=="function")try{se.onPostCommitFiberRoot(Kn,u)}catch{}return!0}finally{q.p=a,N.T=n,Dh(t,e)}}function Bh(t,e,l){e=Se(l,e),e=Zc(t.stateNode,e,2),t=gl(t,e,2),t!==null&&(kn(t,2),we(t))}function mt(t,e,l){if(t.tag===3)Bh(t,t,l);else for(;e!==null;){if(e.tag===3){Bh(e,t,l);break}else if(e.tag===1){var n=e.stateNode;if(typeof e.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Al===null||!Al.has(n))){t=Se(l,t),l=Ho(2),n=gl(e,l,2),n!==null&&(qo(l,n,e,t),kn(n,2),we(n));break}}e=e.return}}function ps(t,e,l){var n=t.pingCache;if(n===null){n=t.pingCache=new Iy;var a=new Set;n.set(e,a)}else a=n.get(e),a===void 0&&(a=new Set,n.set(e,a));a.has(l)||(ss=!0,a.add(l),t=ap.bind(null,t,e,l),e.then(t,t))}function ap(t,e,l){var n=t.pingCache;n!==null&&n.delete(e),t.pingedLanes|=t.suspendedLanes&l,t.warmLanes&=~l,St===t&&(ut&l)===l&&(Ct===4||Ct===3&&(ut&62914560)===ut&&300>ce()-Yu?(ot&2)===0&&Hn(t,0):rs|=l,Un===ut&&(Un=0)),we(t)}function Hh(t,e){e===0&&(e=Or()),t=Ql(t,e),t!==null&&(kn(t,e),we(t))}function up(t){var e=t.memoizedState,l=0;e!==null&&(l=e.retryLane),Hh(t,l)}function ip(t,e){var l=0;switch(t.tag){case 31:case 13:var n=t.stateNode,a=t.memoizedState;a!==null&&(l=a.retryLane);break;case 19:n=t.stateNode;break;case 22:n=t.stateNode._retryCache;break;default:throw Error(r(314))}n!==null&&n.delete(e),Hh(t,l)}function cp(t,e){return Ci(t,e)}var Ju=null,wn=null,vs=!1,ku=!1,gs=!1,Ol=0;function we(t){t!==wn&&t.next===null&&(wn===null?Ju=wn=t:wn=wn.next=t),ku=!0,vs||(vs=!0,rp())}function za(t,e){if(!gs&&ku){gs=!0;do for(var l=!1,n=Ju;n!==null;){if(t!==0){var a=n.pendingLanes;if(a===0)var u=0;else{var f=n.suspendedLanes,h=n.pingedLanes;u=(1<<31-re(42|t)+1)-1,u&=a&~(f&~h),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(l=!0,Lh(n,u))}else u=ut,u=Pa(n,n===St?u:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(u&3)===0||Jn(n,u)||(l=!0,Lh(n,u));n=n.next}while(l);gs=!1}}function sp(){qh()}function qh(){ku=vs=!1;var t=0;Ol!==0&&bp()&&(t=Ol);for(var e=ce(),l=null,n=Ju;n!==null;){var a=n.next,u=wh(n,e);u===0?(n.next=null,l===null?Ju=a:l.next=a,a===null&&(wn=l)):(l=n,(t!==0||(u&3)!==0)&&(ku=!0)),n=a}Yt!==0&&Yt!==5||za(t),Ol!==0&&(Ol=0)}function wh(t,e){for(var l=t.suspendedLanes,n=t.pingedLanes,a=t.expirationTimes,u=t.pendingLanes&-62914561;0h)break;var C=m.transferSize,D=m.initiatorType;C&&Jh(D)&&(m=m.responseEnd,f+=C*(m"u"?null:document;function ud(t,e,l){var n=jn;if(n&&typeof e=="string"&&e){var a=ge(e);a='link[rel="'+t+'"][href="'+a+'"]',typeof l=="string"&&(a+='[crossorigin="'+l+'"]'),ad.has(a)||(ad.add(a),t={rel:t,crossOrigin:l,href:e},n.querySelector(a)===null&&(e=n.createElement("link"),Jt(e,"link",t),Xt(e),n.head.appendChild(e)))}}function zp(t){ul.D(t),ud("dns-prefetch",t,null)}function Cp(t,e){ul.C(t,e),ud("preconnect",t,e)}function Np(t,e,l){ul.L(t,e,l);var n=jn;if(n&&t&&e){var a='link[rel="preload"][as="'+ge(e)+'"]';e==="image"&&l&&l.imageSrcSet?(a+='[imagesrcset="'+ge(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(a+='[imagesizes="'+ge(l.imageSizes)+'"]')):a+='[href="'+ge(t)+'"]';var u=a;switch(e){case"style":u=Ln(t);break;case"script":u=Yn(t)}Re.has(u)||(t=x({rel:"preload",href:e==="image"&&l&&l.imageSrcSet?void 0:t,as:e},l),Re.set(u,t),n.querySelector(a)!==null||e==="style"&&n.querySelector(Da(u))||e==="script"&&n.querySelector(Ua(u))||(e=n.createElement("link"),Jt(e,"link",t),Xt(e),n.head.appendChild(e)))}}function Mp(t,e){ul.m(t,e);var l=jn;if(l&&t){var n=e&&typeof e.as=="string"?e.as:"script",a='link[rel="modulepreload"][as="'+ge(n)+'"][href="'+ge(t)+'"]',u=a;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Yn(t)}if(!Re.has(u)&&(t=x({rel:"modulepreload",href:t},e),Re.set(u,t),l.querySelector(a)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(Ua(u)))return}n=l.createElement("link"),Jt(n,"link",t),Xt(n),l.head.appendChild(n)}}}function Dp(t,e,l){ul.S(t,e,l);var n=jn;if(n&&t){var a=cn(n).hoistableStyles,u=Ln(t);e=e||"default";var f=a.get(u);if(!f){var h={loading:0,preload:null};if(f=n.querySelector(Da(u)))h.loading=5;else{t=x({rel:"stylesheet",href:t,"data-precedence":e},l),(l=Re.get(u))&&Bs(t,l);var m=f=n.createElement("link");Xt(m),Jt(m,"link",t),m._p=new Promise(function(T,C){m.onload=T,m.onerror=C}),m.addEventListener("load",function(){h.loading|=1}),m.addEventListener("error",function(){h.loading|=2}),h.loading|=4,Iu(f,e,n)}f={type:"stylesheet",instance:f,count:1,state:h},a.set(u,f)}}}function Up(t,e){ul.X(t,e);var l=jn;if(l&&t){var n=cn(l).hoistableScripts,a=Yn(t),u=n.get(a);u||(u=l.querySelector(Ua(a)),u||(t=x({src:t,async:!0},e),(e=Re.get(a))&&Hs(t,e),u=l.createElement("script"),Xt(u),Jt(u,"link",t),l.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},n.set(a,u))}}function Bp(t,e){ul.M(t,e);var l=jn;if(l&&t){var n=cn(l).hoistableScripts,a=Yn(t),u=n.get(a);u||(u=l.querySelector(Ua(a)),u||(t=x({src:t,async:!0,type:"module"},e),(e=Re.get(a))&&Hs(t,e),u=l.createElement("script"),Xt(u),Jt(u,"link",t),l.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},n.set(a,u))}}function id(t,e,l,n){var a=(a=lt.current)?Pu(a):null;if(!a)throw Error(r(446));switch(t){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(e=Ln(l.href),l=cn(a).hoistableStyles,n=l.get(e),n||(n={type:"style",instance:null,count:0,state:null},l.set(e,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){t=Ln(l.href);var u=cn(a).hoistableStyles,f=u.get(t);if(f||(a=a.ownerDocument||a,f={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(t,f),(u=a.querySelector(Da(t)))&&!u._p&&(f.instance=u,f.state.loading=5),Re.has(t)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},Re.set(t,l),u||Hp(a,t,l,f.state))),e&&n===null)throw Error(r(528,""));return f}if(e&&n!==null)throw Error(r(529,""));return null;case"script":return e=l.async,l=l.src,typeof l=="string"&&e&&typeof e!="function"&&typeof e!="symbol"?(e=Yn(l),l=cn(a).hoistableScripts,n=l.get(e),n||(n={type:"script",instance:null,count:0,state:null},l.set(e,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,t))}}function Ln(t){return'href="'+ge(t)+'"'}function Da(t){return'link[rel="stylesheet"]['+t+"]"}function cd(t){return x({},t,{"data-precedence":t.precedence,precedence:null})}function Hp(t,e,l,n){t.querySelector('link[rel="preload"][as="style"]['+e+"]")?n.loading=1:(e=t.createElement("link"),n.preload=e,e.addEventListener("load",function(){return n.loading|=1}),e.addEventListener("error",function(){return n.loading|=2}),Jt(e,"link",l),Xt(e),t.head.appendChild(e))}function Yn(t){return'[src="'+ge(t)+'"]'}function Ua(t){return"script[async]"+t}function sd(t,e,l){if(e.count++,e.instance===null)switch(e.type){case"style":var n=t.querySelector('style[data-href~="'+ge(l.href)+'"]');if(n)return e.instance=n,Xt(n),n;var a=x({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return n=(t.ownerDocument||t).createElement("style"),Xt(n),Jt(n,"style",a),Iu(n,l.precedence,t),e.instance=n;case"stylesheet":a=Ln(l.href);var u=t.querySelector(Da(a));if(u)return e.state.loading|=4,e.instance=u,Xt(u),u;n=cd(l),(a=Re.get(a))&&Bs(n,a),u=(t.ownerDocument||t).createElement("link"),Xt(u);var f=u;return f._p=new Promise(function(h,m){f.onload=h,f.onerror=m}),Jt(u,"link",n),e.state.loading|=4,Iu(u,l.precedence,t),e.instance=u;case"script":return u=Yn(l.src),(a=t.querySelector(Ua(u)))?(e.instance=a,Xt(a),a):(n=l,(a=Re.get(u))&&(n=x({},l),Hs(n,a)),t=t.ownerDocument||t,a=t.createElement("script"),Xt(a),Jt(a,"link",n),t.head.appendChild(a),e.instance=a);case"void":return null;default:throw Error(r(443,e.type))}else e.type==="stylesheet"&&(e.state.loading&4)===0&&(n=e.instance,e.state.loading|=4,Iu(n,l.precedence,t));return e.instance}function Iu(t,e,l){for(var n=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=n.length?n[n.length-1]:null,u=a,f=0;f title"):null)}function qp(t,e,l){if(l===1||e.itemProp!=null)return!1;switch(t){case"meta":case"title":return!0;case"style":if(typeof e.precedence!="string"||typeof e.href!="string"||e.href==="")break;return!0;case"link":if(typeof e.rel!="string"||typeof e.href!="string"||e.href===""||e.onLoad||e.onError)break;switch(e.rel){case"stylesheet":return t=e.disabled,typeof e.precedence=="string"&&t==null;default:return!0}case"script":if(e.async&&typeof e.async!="function"&&typeof e.async!="symbol"&&!e.onLoad&&!e.onError&&e.src&&typeof e.src=="string")return!0}return!1}function od(t){return!(t.type==="stylesheet"&&(t.state.loading&3)===0)}function wp(t,e,l,n){if(l.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var a=Ln(n.href),u=e.querySelector(Da(a));if(u){e=u._p,e!==null&&typeof e=="object"&&typeof e.then=="function"&&(t.count++,t=ei.bind(t),e.then(t,t)),l.state.loading|=4,l.instance=u,Xt(u);return}u=e.ownerDocument||e,n=cd(n),(a=Re.get(a))&&Bs(n,a),u=u.createElement("link"),Xt(u);var f=u;f._p=new Promise(function(h,m){f.onload=h,f.onerror=m}),Jt(u,"link",n),l.instance=u}t.stylesheets===null&&(t.stylesheets=new Map),t.stylesheets.set(l,e),(e=l.state.preload)&&(l.state.loading&3)===0&&(t.count++,l=ei.bind(t),e.addEventListener("load",l),e.addEventListener("error",l))}}var qs=0;function jp(t,e){return t.stylesheets&&t.count===0&&ni(t,t.stylesheets),0qs?50:800)+e);return t.unsuspend=l,function(){t.unsuspend=null,clearTimeout(n),clearTimeout(a)}}:null}function ei(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ni(this,this.stylesheets);else if(this.unsuspend){var t=this.unsuspend;this.unsuspend=null,t()}}}var li=null;function ni(t,e){t.stylesheets=null,t.unsuspend!==null&&(t.count++,li=new Map,e.forEach(Lp,t),li=null,ei.call(t))}function Lp(t,e){if(!(e.state.loading&4)){var l=li.get(t);if(l)var n=l.get(null);else{l=new Map,li.set(t,l);for(var a=t.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(c)}catch(i){console.error(i)}}return c(),Zs.exports=e0(),Zs.exports}var n0=l0();var Hd="popstate";function a0(c={}){function i(r,o){let{pathname:d,search:y,hash:E}=r.location;return tr("",{pathname:d,search:y,hash:E},o.state&&o.state.usr||null,o.state&&o.state.key||"default")}function s(r,o){return typeof o=="string"?o:Qa(o)}return i0(i,s,null,c)}function xt(c,i){if(c===!1||c===null||typeof c>"u")throw new Error(i)}function Ue(c,i){if(!c){typeof console<"u"&&console.warn(i);try{throw new Error(i)}catch{}}}function u0(){return Math.random().toString(36).substring(2,10)}function qd(c,i){return{usr:c.state,key:c.key,idx:i}}function tr(c,i,s=null,r){return{pathname:typeof c=="string"?c:c.pathname,search:"",hash:"",...typeof i=="string"?Gn(i):i,state:s,key:i&&i.key||r||u0()}}function Qa({pathname:c="/",search:i="",hash:s=""}){return i&&i!=="?"&&(c+=i.charAt(0)==="?"?i:"?"+i),s&&s!=="#"&&(c+=s.charAt(0)==="#"?s:"#"+s),c}function Gn(c){let i={};if(c){let s=c.indexOf("#");s>=0&&(i.hash=c.substring(s),c=c.substring(0,s));let r=c.indexOf("?");r>=0&&(i.search=c.substring(r),c=c.substring(0,r)),c&&(i.pathname=c)}return i}function i0(c,i,s,r={}){let{window:o=document.defaultView,v5Compat:d=!1}=r,y=o.history,E="POP",p=null,v=z();v==null&&(v=0,y.replaceState({...y.state,idx:v},""));function z(){return(y.state||{idx:null}).idx}function x(){E="POP";let V=z(),Q=V==null?null:V-v;v=V,p&&p({action:E,location:J.location,delta:Q})}function H(V,Q){E="PUSH";let Z=tr(J.location,V,Q);v=z()+1;let $=qd(Z,v),Tt=J.createHref(Z);try{y.pushState($,"",Tt)}catch(Rt){if(Rt instanceof DOMException&&Rt.name==="DataCloneError")throw Rt;o.location.assign(Tt)}d&&p&&p({action:E,location:J.location,delta:1})}function G(V,Q){E="REPLACE";let Z=tr(J.location,V,Q);v=z();let $=qd(Z,v),Tt=J.createHref(Z);y.replaceState($,"",Tt),d&&p&&p({action:E,location:J.location,delta:0})}function X(V){return c0(V)}let J={get action(){return E},get location(){return c(o,y)},listen(V){if(p)throw new Error("A history only accepts one active listener");return o.addEventListener(Hd,x),p=V,()=>{o.removeEventListener(Hd,x),p=null}},createHref(V){return i(o,V)},createURL:X,encodeLocation(V){let Q=X(V);return{pathname:Q.pathname,search:Q.search,hash:Q.hash}},push:H,replace:G,go(V){return y.go(V)}};return J}function c0(c,i=!1){let s="http://localhost";typeof window<"u"&&(s=window.location.origin!=="null"?window.location.origin:window.location.href),xt(s,"No window.location.(origin|href) available to create URL");let r=typeof c=="string"?c:Qa(c);return r=r.replace(/ $/,"%20"),!i&&r.startsWith("//")&&(r=s+r),new URL(r,s)}function Kd(c,i,s="/"){return s0(c,i,s,!1)}function s0(c,i,s,r){let o=typeof i=="string"?Gn(i):i,d=cl(o.pathname||"/",s);if(d==null)return null;let y=Jd(c);r0(y);let E=null;for(let p=0;E==null&&p{let z={relativePath:v===void 0?y.path||"":v,caseSensitive:y.caseSensitive===!0,childrenIndex:E,route:y};if(z.relativePath.startsWith("/")){if(!z.relativePath.startsWith(r)&&p)return;xt(z.relativePath.startsWith(r),`Absolute route path "${z.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),z.relativePath=z.relativePath.slice(r.length)}let x=il([r,z.relativePath]),H=s.concat(z);y.children&&y.children.length>0&&(xt(y.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${x}".`),Jd(y.children,i,H,x,p)),!(y.path==null&&!y.index)&&i.push({path:x,score:p0(x,y.index),routesMeta:H})};return c.forEach((y,E)=>{if(y.path===""||!y.path?.includes("?"))d(y,E);else for(let p of kd(y.path))d(y,E,!0,p)}),i}function kd(c){let i=c.split("/");if(i.length===0)return[];let[s,...r]=i,o=s.endsWith("?"),d=s.replace(/\?$/,"");if(r.length===0)return o?[d,""]:[d];let y=kd(r.join("/")),E=[];return E.push(...y.map(p=>p===""?d:[d,p].join("/"))),o&&E.push(...y),E.map(p=>c.startsWith("/")&&p===""?"/":p)}function r0(c){c.sort((i,s)=>i.score!==s.score?s.score-i.score:v0(i.routesMeta.map(r=>r.childrenIndex),s.routesMeta.map(r=>r.childrenIndex)))}var f0=/^:[\w-]+$/,o0=3,h0=2,d0=1,m0=10,y0=-2,wd=c=>c==="*";function p0(c,i){let s=c.split("/"),r=s.length;return s.some(wd)&&(r+=y0),i&&(r+=h0),s.filter(o=>!wd(o)).reduce((o,d)=>o+(f0.test(d)?o0:d===""?d0:m0),r)}function v0(c,i){return c.length===i.length&&c.slice(0,-1).every((r,o)=>r===i[o])?c[c.length-1]-i[i.length-1]:0}function g0(c,i,s=!1){let{routesMeta:r}=c,o={},d="/",y=[];for(let E=0;E{if(z==="*"){let X=E[H]||"";y=d.slice(0,d.length-X.length).replace(/(.)\/+$/,"$1")}const G=E[H];return x&&!G?v[z]=void 0:v[z]=(G||"").replace(/%2F/g,"/"),v},{}),pathname:d,pathnameBase:y,pattern:c}}function b0(c,i=!1,s=!0){Ue(c==="*"||!c.endsWith("*")||c.endsWith("/*"),`Route path "${c}" will be treated as if it were "${c.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${c.replace(/\*$/,"/*")}".`);let r=[],o="^"+c.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(y,E,p)=>(r.push({paramName:E,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return c.endsWith("*")?(r.push({paramName:"*"}),o+=c==="*"||c==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):s?o+="\\/*$":c!==""&&c!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,i?void 0:"i"),r]}function S0(c){try{return c.split("/").map(i=>decodeURIComponent(i).replace(/\//g,"%2F")).join("/")}catch(i){return Ue(!1,`The URL path "${c}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${i}).`),c}}function cl(c,i){if(i==="/")return c;if(!c.toLowerCase().startsWith(i.toLowerCase()))return null;let s=i.endsWith("/")?i.length-1:i.length,r=c.charAt(s);return r&&r!=="/"?null:c.slice(s)||"/"}var E0=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,_0=c=>E0.test(c);function T0(c,i="/"){let{pathname:s,search:r="",hash:o=""}=typeof c=="string"?Gn(c):c,d;if(s)if(_0(s))d=s;else{if(s.includes("//")){let y=s;s=s.replace(/\/\/+/g,"/"),Ue(!1,`Pathnames cannot have embedded double slashes - normalizing ${y} -> ${s}`)}s.startsWith("/")?d=jd(s.substring(1),"/"):d=jd(s,i)}else d=i;return{pathname:d,search:R0(r),hash:O0(o)}}function jd(c,i){let s=i.replace(/\/+$/,"").split("/");return c.split("/").forEach(o=>{o===".."?s.length>1&&s.pop():o!=="."&&s.push(o)}),s.length>1?s.join("/"):"/"}function $s(c,i,s,r){return`Cannot include a '${c}' character in a manually specified \`to.${i}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${s}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function A0(c){return c.filter((i,s)=>s===0||i.route.path&&i.route.path.length>0)}function $d(c){let i=A0(c);return i.map((s,r)=>r===i.length-1?s.pathname:s.pathnameBase)}function Wd(c,i,s,r=!1){let o;typeof c=="string"?o=Gn(c):(o={...c},xt(!o.pathname||!o.pathname.includes("?"),$s("?","pathname","search",o)),xt(!o.pathname||!o.pathname.includes("#"),$s("#","pathname","hash",o)),xt(!o.search||!o.search.includes("#"),$s("#","search","hash",o)));let d=c===""||o.pathname==="",y=d?"/":o.pathname,E;if(y==null)E=s;else{let x=i.length-1;if(!r&&y.startsWith("..")){let H=y.split("/");for(;H[0]==="..";)H.shift(),x-=1;o.pathname=H.join("/")}E=x>=0?i[x]:"/"}let p=T0(o,E),v=y&&y!=="/"&&y.endsWith("/"),z=(d||y===".")&&s.endsWith("/");return!p.pathname.endsWith("/")&&(v||z)&&(p.pathname+="/"),p}var il=c=>c.join("/").replace(/\/\/+/g,"/"),x0=c=>c.replace(/\/+$/,"").replace(/^\/*/,"/"),R0=c=>!c||c==="?"?"":c.startsWith("?")?c:"?"+c,O0=c=>!c||c==="#"?"":c.startsWith("#")?c:"#"+c;function z0(c){return c!=null&&typeof c.status=="number"&&typeof c.statusText=="string"&&typeof c.internal=="boolean"&&"data"in c}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Fd=["POST","PUT","PATCH","DELETE"];new Set(Fd);var C0=["GET",...Fd];new Set(C0);var Qn=O.createContext(null);Qn.displayName="DataRouter";var Ei=O.createContext(null);Ei.displayName="DataRouterState";O.createContext(!1);var Pd=O.createContext({isTransitioning:!1});Pd.displayName="ViewTransition";var N0=O.createContext(new Map);N0.displayName="Fetchers";var M0=O.createContext(null);M0.displayName="Await";var Ye=O.createContext(null);Ye.displayName="Navigation";var Va=O.createContext(null);Va.displayName="Location";var sl=O.createContext({outlet:null,matches:[],isDataRoute:!1});sl.displayName="Route";var fr=O.createContext(null);fr.displayName="RouteError";function D0(c,{relative:i}={}){xt(Za(),"useHref() may be used only in the context of a component.");let{basename:s,navigator:r}=O.useContext(Ye),{hash:o,pathname:d,search:y}=Ka(c,{relative:i}),E=d;return s!=="/"&&(E=d==="/"?s:il([s,d])),r.createHref({pathname:E,search:y,hash:o})}function Za(){return O.useContext(Va)!=null}function ln(){return xt(Za(),"useLocation() may be used only in the context of a component."),O.useContext(Va).location}var Id="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function tm(c){O.useContext(Ye).static||O.useLayoutEffect(c)}function U0(){let{isDataRoute:c}=O.useContext(sl);return c?K0():B0()}function B0(){xt(Za(),"useNavigate() may be used only in the context of a component.");let c=O.useContext(Qn),{basename:i,navigator:s}=O.useContext(Ye),{matches:r}=O.useContext(sl),{pathname:o}=ln(),d=JSON.stringify($d(r)),y=O.useRef(!1);return tm(()=>{y.current=!0}),O.useCallback((p,v={})=>{if(Ue(y.current,Id),!y.current)return;if(typeof p=="number"){s.go(p);return}let z=Wd(p,JSON.parse(d),o,v.relative==="path");c==null&&i!=="/"&&(z.pathname=z.pathname==="/"?i:il([i,z.pathname])),(v.replace?s.replace:s.push)(z,v.state,v)},[i,s,d,o,c])}O.createContext(null);function Ka(c,{relative:i}={}){let{matches:s}=O.useContext(sl),{pathname:r}=ln(),o=JSON.stringify($d(s));return O.useMemo(()=>Wd(c,JSON.parse(o),r,i==="path"),[c,o,r,i])}function H0(c,i){return em(c,i)}function em(c,i,s,r,o){xt(Za(),"useRoutes() may be used only in the context of a component.");let{navigator:d}=O.useContext(Ye),{matches:y}=O.useContext(sl),E=y[y.length-1],p=E?E.params:{},v=E?E.pathname:"/",z=E?E.pathnameBase:"/",x=E&&E.route;{let Z=x&&x.path||"";lm(v,!x||Z.endsWith("*")||Z.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 H=ln(),G;if(i){let Z=typeof i=="string"?Gn(i):i;xt(z==="/"||Z.pathname?.startsWith(z),`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 "${z}" but pathname "${Z.pathname}" was given in the \`location\` prop.`),G=Z}else G=H;let X=G.pathname||"/",J=X;if(z!=="/"){let Z=z.replace(/^\//,"").split("/");J="/"+X.replace(/^\//,"").split("/").slice(Z.length).join("/")}let V=Kd(c,{pathname:J});Ue(x||V!=null,`No routes matched location "${G.pathname}${G.search}${G.hash}" `),Ue(V==null||V[V.length-1].route.element!==void 0||V[V.length-1].route.Component!==void 0||V[V.length-1].route.lazy!==void 0,`Matched leaf route at location "${G.pathname}${G.search}${G.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 Q=Y0(V&&V.map(Z=>Object.assign({},Z,{params:Object.assign({},p,Z.params),pathname:il([z,d.encodeLocation?d.encodeLocation(Z.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:Z.pathname]),pathnameBase:Z.pathnameBase==="/"?z:il([z,d.encodeLocation?d.encodeLocation(Z.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:Z.pathnameBase])})),y,s,r,o);return i&&Q?O.createElement(Va.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...G},navigationType:"POP"}},Q):Q}function q0(){let c=Z0(),i=z0(c)?`${c.status} ${c.statusText}`:c instanceof Error?c.message:JSON.stringify(c),s=c instanceof Error?c.stack:null,r="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:r},d={padding:"2px 4px",backgroundColor:r},y=null;return console.error("Error handled by React Router default ErrorBoundary:",c),y=O.createElement(O.Fragment,null,O.createElement("p",null,"💿 Hey developer 👋"),O.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",O.createElement("code",{style:d},"ErrorBoundary")," or"," ",O.createElement("code",{style:d},"errorElement")," prop on your route.")),O.createElement(O.Fragment,null,O.createElement("h2",null,"Unexpected Application Error!"),O.createElement("h3",{style:{fontStyle:"italic"}},i),s?O.createElement("pre",{style:o},s):null,y)}var w0=O.createElement(q0,null),j0=class extends O.Component{constructor(c){super(c),this.state={location:c.location,revalidation:c.revalidation,error:c.error}}static getDerivedStateFromError(c){return{error:c}}static getDerivedStateFromProps(c,i){return i.location!==c.location||i.revalidation!=="idle"&&c.revalidation==="idle"?{error:c.error,location:c.location,revalidation:c.revalidation}:{error:c.error!==void 0?c.error:i.error,location:i.location,revalidation:c.revalidation||i.revalidation}}componentDidCatch(c,i){this.props.onError?this.props.onError(c,i):console.error("React Router caught the following error during render",c)}render(){return this.state.error!==void 0?O.createElement(sl.Provider,{value:this.props.routeContext},O.createElement(fr.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function L0({routeContext:c,match:i,children:s}){let r=O.useContext(Qn);return r&&r.static&&r.staticContext&&(i.route.errorElement||i.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=i.route.id),O.createElement(sl.Provider,{value:c},s)}function Y0(c,i=[],s=null,r=null,o=null){if(c==null){if(!s)return null;if(s.errors)c=s.matches;else if(i.length===0&&!s.initialized&&s.matches.length>0)c=s.matches;else return null}let d=c,y=s?.errors;if(y!=null){let z=d.findIndex(x=>x.route.id&&y?.[x.route.id]!==void 0);xt(z>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(y).join(",")}`),d=d.slice(0,Math.min(d.length,z+1))}let E=!1,p=-1;if(s)for(let z=0;z=0?d=d.slice(0,p+1):d=[d[0]];break}}}let v=s&&r?(z,x)=>{r(z,{location:s.location,params:s.matches?.[0]?.params??{},errorInfo:x})}:void 0;return d.reduceRight((z,x,H)=>{let G,X=!1,J=null,V=null;s&&(G=y&&x.route.id?y[x.route.id]:void 0,J=x.route.errorElement||w0,E&&(p<0&&H===0?(lm("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),X=!0,V=null):p===H&&(X=!0,V=x.route.hydrateFallbackElement||null)));let Q=i.concat(d.slice(0,H+1)),Z=()=>{let $;return G?$=J:X?$=V:x.route.Component?$=O.createElement(x.route.Component,null):x.route.element?$=x.route.element:$=z,O.createElement(L0,{match:x,routeContext:{outlet:z,matches:Q,isDataRoute:s!=null},children:$})};return s&&(x.route.ErrorBoundary||x.route.errorElement||H===0)?O.createElement(j0,{location:s.location,revalidation:s.revalidation,component:J,error:G,children:Z(),routeContext:{outlet:null,matches:Q,isDataRoute:!0},onError:v}):Z()},null)}function or(c){return`${c} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function X0(c){let i=O.useContext(Qn);return xt(i,or(c)),i}function G0(c){let i=O.useContext(Ei);return xt(i,or(c)),i}function Q0(c){let i=O.useContext(sl);return xt(i,or(c)),i}function hr(c){let i=Q0(c),s=i.matches[i.matches.length-1];return xt(s.route.id,`${c} can only be used on routes that contain a unique "id"`),s.route.id}function V0(){return hr("useRouteId")}function Z0(){let c=O.useContext(fr),i=G0("useRouteError"),s=hr("useRouteError");return c!==void 0?c:i.errors?.[s]}function K0(){let{router:c}=X0("useNavigate"),i=hr("useNavigate"),s=O.useRef(!1);return tm(()=>{s.current=!0}),O.useCallback(async(o,d={})=>{Ue(s.current,Id),s.current&&(typeof o=="number"?c.navigate(o):await c.navigate(o,{fromRouteId:i,...d}))},[c,i])}var Ld={};function lm(c,i,s){!i&&!Ld[c]&&(Ld[c]=!0,Ue(!1,s))}O.memo(J0);function J0({routes:c,future:i,state:s,unstable_onError:r}){return em(c,void 0,s,r,i)}function er(c){xt(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function k0({basename:c="/",children:i=null,location:s,navigationType:r="POP",navigator:o,static:d=!1}){xt(!Za(),"You cannot render a inside another . You should never have more than one in your app.");let y=c.replace(/^\/*/,"/"),E=O.useMemo(()=>({basename:y,navigator:o,static:d,future:{}}),[y,o,d]);typeof s=="string"&&(s=Gn(s));let{pathname:p="/",search:v="",hash:z="",state:x=null,key:H="default"}=s,G=O.useMemo(()=>{let X=cl(p,y);return X==null?null:{location:{pathname:X,search:v,hash:z,state:x,key:H},navigationType:r}},[y,p,v,z,x,H,r]);return Ue(G!=null,` is not able to match the URL "${p}${v}${z}" because it does not start with the basename, so the won't render anything.`),G==null?null:O.createElement(Ye.Provider,{value:E},O.createElement(Va.Provider,{children:i,value:G}))}function $0({children:c,location:i}){return H0(lr(c),i)}function lr(c,i=[]){let s=[];return O.Children.forEach(c,(r,o)=>{if(!O.isValidElement(r))return;let d=[...i,o];if(r.type===O.Fragment){s.push.apply(s,lr(r.props.children,d));return}xt(r.type===er,`[${typeof r.type=="string"?r.type:r.type.name}] is not a component. All component children of must be a or `),xt(!r.props.index||!r.props.children,"An index route cannot have child routes.");let y={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&&(y.children=lr(r.props.children,d)),s.push(y)}),s}var mi="get",yi="application/x-www-form-urlencoded";function _i(c){return c!=null&&typeof c.tagName=="string"}function W0(c){return _i(c)&&c.tagName.toLowerCase()==="button"}function F0(c){return _i(c)&&c.tagName.toLowerCase()==="form"}function P0(c){return _i(c)&&c.tagName.toLowerCase()==="input"}function I0(c){return!!(c.metaKey||c.altKey||c.ctrlKey||c.shiftKey)}function tv(c,i){return c.button===0&&(!i||i==="_self")&&!I0(c)}var oi=null;function ev(){if(oi===null)try{new FormData(document.createElement("form"),0),oi=!1}catch{oi=!0}return oi}var lv=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Ws(c){return c!=null&&!lv.has(c)?(Ue(!1,`"${c}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${yi}"`),null):c}function nv(c,i){let s,r,o,d,y;if(F0(c)){let E=c.getAttribute("action");r=E?cl(E,i):null,s=c.getAttribute("method")||mi,o=Ws(c.getAttribute("enctype"))||yi,d=new FormData(c)}else if(W0(c)||P0(c)&&(c.type==="submit"||c.type==="image")){let E=c.form;if(E==null)throw new Error('Cannot submit a + {isAdmin ? ( + + ) : ( + Auto-assigned + )} ))} diff --git a/webui/src/hooks/useSensorFeed.js b/webui/src/hooks/useSensorFeed.js new file mode 100644 index 00000000..ac6e8690 --- /dev/null +++ b/webui/src/hooks/useSensorFeed.js @@ -0,0 +1,29 @@ +import { useEffect, useState } from 'react'; +import { useSocket } from '../context/SocketContext.jsx'; + +export function useSensorFeed() { + const socket = useSocket(); + const [frames, setFrames] = useState({}); + + useEffect(() => { + function handleFrame({ roverId, sensors = {}, frame = {} }) { + if (!roverId) return; + setFrames((prev) => ({ + ...prev, + [roverId]: { + roverId, + sensors, + raw: frame?.data || null, + receivedAt: Date.now(), + }, + })); + } + + socket.on('sensorFrame', handleFrame); + return () => { + socket.off('sensorFrame', handleFrame); + }; + }, [socket]); + + return frames; +} diff --git a/webui/src/hooks/useSpectatorMode.js b/webui/src/hooks/useSpectatorMode.js new file mode 100644 index 00000000..5e892b0c --- /dev/null +++ b/webui/src/hooks/useSpectatorMode.js @@ -0,0 +1,30 @@ +import { useEffect, useState } from 'react'; +import { useSession } from '../context/SessionContext.jsx'; + +export function useSpectatorMode() { + const { session, setRole, subscribeAll } = useSession(); + const [ready, setReady] = useState(false); + + useEffect(() => { + let cancelled = false; + async function ensureSpectator() { + try { + if (session?.role !== 'spectator') { + await setRole('spectator'); + } + await subscribeAll(); + if (!cancelled) { + setReady(true); + } + } catch (err) { + console.error('Failed to enter spectator mode', err); + } + } + ensureSpectator(); + return () => { + cancelled = true; + }; + }, [session?.role, setRole, subscribeAll]); + + return ready; +} diff --git a/webui/src/hooks/useVideoRequests.js b/webui/src/hooks/useVideoRequests.js new file mode 100644 index 00000000..43927dfa --- /dev/null +++ b/webui/src/hooks/useVideoRequests.js @@ -0,0 +1,29 @@ +import { useEffect, useState } from 'react'; +import { useSocket } from '../context/SocketContext.jsx'; + +export function useVideoRequests(roverIds = []) { + const socket = useSocket(); + const [sources, setSources] = useState({}); + + useEffect(() => { + const ids = Array.from(new Set(roverIds.filter(Boolean))); + if (!ids.length) return; + let cancelled = false; + + ids.forEach((roverId) => { + socket.emit('video:request', { roverId }, (resp = {}) => { + if (cancelled) return; + setSources((prev) => ({ + ...prev, + [roverId]: resp, + })); + }); + }); + + return () => { + cancelled = true; + }; + }, [socket, roverIds.join('|')]); + + return sources; +} diff --git a/webui/src/main.jsx b/webui/src/main.jsx index 424fdb5d..5b3383f0 100644 --- a/webui/src/main.jsx +++ b/webui/src/main.jsx @@ -1,15 +1,22 @@ import { StrictMode } from 'react' import { createRoot } from 'react-dom/client' +import { BrowserRouter, Route, Routes } from 'react-router-dom' import './index.css' import App from './App.jsx' import { SocketProvider } from './context/SocketContext.jsx' import { SessionProvider } from './context/SessionContext.jsx' +import SpectatorApp from './spectate/SpectatorApp.jsx' createRoot(document.getElementById('root')).render( - + + + } /> + } /> + + , diff --git a/webui/src/spectate/SpectatorApp.jsx b/webui/src/spectate/SpectatorApp.jsx new file mode 100644 index 00000000..6e3a99f1 --- /dev/null +++ b/webui/src/spectate/SpectatorApp.jsx @@ -0,0 +1,138 @@ +import { useMemo } from 'react'; +import { useSession } from '../context/SessionContext.jsx'; +import { useSpectatorMode } from '../hooks/useSpectatorMode.js'; +import { useSensorFeed } from '../hooks/useSensorFeed.js'; +import { useVideoRequests } from '../hooks/useVideoRequests.js'; + +function SpectatorStatus({ connected, ready, rosterCount }) { + return ( +
+ + {connected ? 'Connected' : 'Disconnected'} + + + Spectator mode {ready ? 'active' : 'pending…'} + + + Rovers: {rosterCount} + +
+ ); +} + +function LogStream({ logs }) { + return ( +
+
+

Server logs

+ latest {logs.length} +
+
+ {logs.length === 0 ? ( +

No log entries yet.

+ ) : ( + logs + .slice() + .reverse() + .map((entry) => ( +
+ {entry.timestamp}{' '} + [{entry.level}]{' '} + {entry.label && [{entry.label}]}{' '} + {entry.message} +
+ )) + )} +
+
+ ); +} + +function formatSensors(sensors = {}) { + return Object.entries(sensors).map(([key, value]) => ({ + key, + value: typeof value === 'object' ? JSON.stringify(value) : value, + })); +} + +function RoverSpectatorCard({ rover, frame, videoInfo }) { + const sensorList = formatSensors(frame?.sensors); + return ( +
+
+

{rover.name}

+

+ {frame?.receivedAt ? `Updated ${new Date(frame.receivedAt).toLocaleTimeString()}` : 'Waiting for telemetry…'} +

+
+
+ {videoInfo?.error ? ( + Video error: {videoInfo.error} + ) : videoInfo?.url ? ( +
+

Video feed placeholder

+

WHEP URL: {videoInfo.url}

+

Token: {videoInfo.token || 'retrieving…'}

+
+ ) : ( + Requesting video session… + )} +
+
+

Telemetry

+ {sensorList.length === 0 ? ( +

No sensor data yet.

+ ) : ( +
+ {sensorList.map(({ key, value }) => ( +
+
{key}
+
{value}
+
+ ))} +
+ )} +
+
+ ); +} + +export default function SpectatorApp() { + const { connected, session, logs } = useSession(); + const spectatorReady = useSpectatorMode(); + const frames = useSensorFeed(); + const roster = session?.roster ?? []; + const videoSources = useVideoRequests(roster.map((rover) => rover.id)); + + const status = useMemo( + () => ({ connected, ready: spectatorReady, rosterCount: roster.length }), + [connected, spectatorReady, roster.length], + ); + + return ( +
+
+
+

Spectator Console

+

Live rover telemetry & logs. This view is read-only.

+ +
+
+ {roster.length === 0 ? ( +

No rovers registered.

+ ) : ( + roster.map((rover) => ( + + )) + )} +
+ +
+
+ ); +}