diff --git a/README.md b/README.md index 18ced1cc..6220112e 100644 --- a/README.md +++ b/README.md @@ -28,13 +28,14 @@ You WILL need some common hobby electronics knowledge to build one of these, I w | ----CAMERA STUFF---- | ----Below here is all camera related things that youll need---- | | A pi camera v2 (ov5647) | The video publisher in this project is only designed for the ov5647, though it would be totally possible to make your own publisher for other sensors. | | Cheap 5v servo | Unless you have a VERY wide camera lens, you will want to have a servo plugged into the pi to be able to tilt the camera up and down. | -| LED for toggling night vision | I use white LEDs attached to one of the "driver" pins on the AIY hat to trick one of those generic pi camera LED floodlights into turning on / off on demand.| +| LED for toggling the headlight | I use white LEDs attached to one of the "driver" pins on the AIY hat to trick one of those generic pi camera LED floodlights into turning on / off on demand.| +| Optional laser pointer | A laser pointer can be wired to another high-current-capable GPIO driver, with GPIO 27 used by default in the rover config. | | Pi zero camera cable | The pi zero has a smaller version of the camera ribbon connector, you will need the right cable for your camera | I do not have any exact numbers, but with cheap used Roombas it seems like on average one of my rovers takes about $100 USD to build from scratch. ### Physical assembly of the rover -This is going to be the very loose section of this guide, the way yout build your rover is up to you. I have mine built out with durable protective metal cages as they are open to the internet and people like breaking things. The electronics on top of the roomba can be as simple as a pi, level shifter, and a camera if you just want to run it around yourself, things like a speaker, microphone, servo, night vision LED, are all totally optional and can be disabled in the configuration on the raspberry pi. +This is going to be the very loose section of this guide, the way yout build your rover is up to you. I have mine built out with durable protective metal cages as they are open to the internet and people like breaking things. The electronics on top of the roomba can be as simple as a pi, level shifter, and a camera if you just want to run it around yourself, things like a speaker, microphone, servo, headlight, laser pointer, are all totally optional and can be disabled in the configuration on the raspberry pi. These are the basics of how evertything is connected on my rovers, this is hard to organize and illustrate through text but hopefully it will give you a good idea: 1. 7 pin mini DIN cable @@ -50,6 +51,7 @@ These are the basics of how evertything is connected on my rovers, this is hard 1. ov5647 camera 2. full size to pi zero style camera ribbon cable, plug camera into pi 3. an LED connected to a high current driver output on the AIY hat, GPIO 22 by default. This is meant to be poked into the LDR sensor on a pi camera IR floodlight to make it toggleable by the driver. + 4. optionally, a laser pointer connected to another high current driver output, GPIO 27 by default. ### Software on your rover Raspberry pi OS installation: diff --git a/dist/dummy1.yml b/dist/dummy1.yml index 9fff223e..cf1bbf3a 100644 --- a/dist/dummy1.yml +++ b/dist/dummy1.yml @@ -18,5 +18,7 @@ media: service: mediamtx.service healthUrl: http://127.0.0.1:9997/v3/paths/list healthInterval: 30s -nightVision: +headlight: + enabled: false +laser: enabled: false diff --git a/dist/dummy2.yml b/dist/dummy2.yml index 054bf789..895af997 100644 --- a/dist/dummy2.yml +++ b/dist/dummy2.yml @@ -18,5 +18,7 @@ media: service: mediamtx.service healthUrl: http://127.0.0.1:9997/v3/paths/list healthInterval: 30s -nightVision: +headlight: + enabled: false +laser: enabled: false diff --git a/dist/dummy3.yml b/dist/dummy3.yml index 1a540a1e..921391dc 100644 --- a/dist/dummy3.yml +++ b/dist/dummy3.yml @@ -18,5 +18,7 @@ media: service: mediamtx.service healthUrl: http://127.0.0.1:9997/v3/paths/list healthInterval: 30s -nightVision: +headlight: + enabled: false +laser: enabled: false diff --git a/dist/hornverifier b/dist/hornverifier index 9b89680b..f4edd65b 100755 Binary files a/dist/hornverifier and b/dist/hornverifier differ diff --git a/dist/roverd b/dist/roverd index e44990da..5586611a 100755 Binary files a/dist/roverd and b/dist/roverd differ diff --git a/dist/servoverifier b/dist/servoverifier index 0ee8ca50..2b623af4 100755 Binary files a/dist/servoverifier and b/dist/servoverifier differ diff --git a/perf/issues/001-global-input-listener-churn.md b/perf/issues/001-global-input-listener-churn.md index 7c361c52..92f87988 100644 --- a/perf/issues/001-global-input-listener-churn.md +++ b/perf/issues/001-global-input-listener-churn.md @@ -143,7 +143,7 @@ useEffect(() => { setAuxMotors, setDriveVector, setMode, - toggleNightVision, + toggleHeadlight, dockAssist, ]); ``` @@ -276,4 +276,3 @@ Expected improvements: can fire. - Verify horn hold, mic push-to-talk, chat focus, drive macro, dock assist, camera tilt, song controls, and Home Assistant shortcuts. - diff --git a/pi/rover-checklist.md b/pi/rover-checklist.md new file mode 100644 index 00000000..1fa81585 --- /dev/null +++ b/pi/rover-checklist.md @@ -0,0 +1,10 @@ +## rover service checklist + +things that need to be good: +- all bolts tight +- headlights functional +- cameras aligned properly + - not crooked sideways + - not off center +- lenses in focus +- microphone good \ No newline at end of file diff --git a/pi/roverd/cmd/roverd/main.go b/pi/roverd/cmd/roverd/main.go index fc6ca4d0..e398b30f 100644 --- a/pi/roverd/cmd/roverd/main.go +++ b/pi/roverd/cmd/roverd/main.go @@ -69,19 +69,28 @@ func main() { defer cameraServo.Close() } - var nightVision *roverd.NightVisionLight - if cfg.NightVision.Enabled { - nightVision, err = roverd.NewNightVisionLight(cfg.NightVision, logger) + var headlight *roverd.GPIOToggle + if cfg.Headlight.Enabled { + headlight, err = roverd.NewGPIOToggle("headlight", cfg.Headlight, logger) if err != nil { - logger.Fatalf("init night vision: %v", err) + logger.Fatalf("init headlight: %v", err) } - defer nightVision.Close() + defer headlight.Close() + } + + var laser *roverd.GPIOToggle + if cfg.Laser.Enabled { + laser, err = roverd.NewGPIOToggle("laser", cfg.Laser, logger) + if err != nil { + logger.Fatalf("init laser: %v", err) + } + defer laser.Close() } autoCharge := roverd.NewAutoChargeController(adapter, eventStream, logger) go autoCharge.Run(ctx, sensorSamples) - client := roverd.NewWSClient(cfg, adapter, sensorFrames, eventStream, mediaSupervisor, cameraServo, nightVision, logger) + client := roverd.NewWSClient(cfg, adapter, sensorFrames, eventStream, mediaSupervisor, cameraServo, headlight, laser, logger) retryDelay := time.Second for ctx.Err() == nil { diff --git a/pi/roverd/command.go b/pi/roverd/command.go index 5fa64190..e9e2e2ca 100644 --- a/pi/roverd/command.go +++ b/pi/roverd/command.go @@ -11,7 +11,8 @@ type helloMessage struct { CameraServo CameraServoConfig `json:"cameraServo"` Audio AudioConfig `json:"audio"` Horn HornConfig `json:"horn"` - NightVision NightVisionConfig `json:"nightVision"` + Headlight GPIOToggleConfig `json:"headlight"` + Laser GPIOToggleConfig `json:"laser"` Private PrivateConfig `json:"private"` } @@ -42,7 +43,8 @@ type inboundMessage struct { TTS *ttsPayload `json:"tts,omitempty"` Horn *hornPayload `json:"horn,omitempty"` AudioLevels *audioLevelsPayload `json:"audioLevels,omitempty"` - NightVision *nightVisionPayload `json:"nightVision,omitempty"` + Headlight *togglePayload `json:"headlight,omitempty"` + Laser *togglePayload `json:"laser,omitempty"` Song *songPayload `json:"song,omitempty"` Reboot *rebootPayload `json:"reboot,omitempty"` // Update is intentionally just a marker payload. The server can request the @@ -97,7 +99,7 @@ type audioLevelsPayload struct { ForwardGain *float64 `json:"forwardGain,omitempty"` } -type nightVisionPayload struct { +type togglePayload struct { Action string `json:"action"` } diff --git a/pi/roverd/config.go b/pi/roverd/config.go index 452bb359..bc0f66b6 100644 --- a/pi/roverd/config.go +++ b/pi/roverd/config.go @@ -109,11 +109,22 @@ type CameraServoConfig struct { Invert bool `yaml:"invert" json:"invert"` } -type NightVisionConfig struct { +type GPIOToggleConfig struct { Enabled bool `yaml:"enabled" json:"enabled"` GPIOPin int `yaml:"gpioPin" json:"gpioPin"` GPIOChip string `yaml:"gpioChip" json:"gpioChip"` InitialOn bool `yaml:"initialOn" json:"initialOn"` + ActiveLow bool `yaml:"activeLow" json:"activeLow"` +} + +func (g GPIOToggleConfig) LogicalToGPIO(on bool) int { + // activeLow is the single hardware-inversion point for GPIO toggles. The + // rest of the daemon, server, and web UI can use normal logical on/off + // semantics without knowing whether the driver is active-high or active-low. + if on == g.ActiveLow { + return 0 + } + return 1 } type AutoSideBrushConfig struct { @@ -153,7 +164,8 @@ type Config struct { CameraServo CameraServoConfig `yaml:"cameraServo"` Audio AudioConfig `yaml:"audio"` Horn HornConfig `yaml:"horn"` - NightVision NightVisionConfig `yaml:"nightVision" json:"nightVision"` + Headlight GPIOToggleConfig `yaml:"headlight" json:"headlight"` + Laser GPIOToggleConfig `yaml:"laser" json:"laser"` AutoSideBrush AutoSideBrushConfig `yaml:"autoSideBrush"` Private PrivateConfig `yaml:"private" json:"private"` } @@ -210,11 +222,19 @@ func LoadConfig(path string) (*Config, error) { SawGain: 0.7, MaxDuration: Duration{Duration: 10000 * time.Millisecond}, }, - NightVision: NightVisionConfig{ + Headlight: GPIOToggleConfig{ Enabled: true, GPIOPin: 22, GPIOChip: "gpiochip0", - InitialOn: true, + InitialOn: false, + ActiveLow: true, + }, + Laser: GPIOToggleConfig{ + Enabled: false, + GPIOPin: 27, + GPIOChip: "gpiochip0", + InitialOn: false, + ActiveLow: false, }, AutoSideBrush: AutoSideBrushConfig{ Enabled: true, @@ -302,8 +322,11 @@ func LoadConfig(path string) (*Config, error) { if err := validateServoConfig(&cfg.CameraServo); err != nil { return nil, fmt.Errorf("cameraServo: %w", err) } - if err := validateNightVisionConfig(&cfg.NightVision); err != nil { - return nil, fmt.Errorf("nightVision: %w", err) + if err := validateGPIOToggleConfig(&cfg.Headlight); err != nil { + return nil, fmt.Errorf("headlight: %w", err) + } + if err := validateGPIOToggleConfig(&cfg.Laser); err != nil { + return nil, fmt.Errorf("laser: %w", err) } validateAudioConfig(&cfg.Audio) validateHornConfig(&cfg.Horn) @@ -396,7 +419,7 @@ func validateHornConfig(cfg *HornConfig) { } } -func validateNightVisionConfig(cfg *NightVisionConfig) error { +func validateGPIOToggleConfig(cfg *GPIOToggleConfig) error { if !cfg.Enabled { return nil } diff --git a/pi/roverd/gpio_toggle.go b/pi/roverd/gpio_toggle.go new file mode 100644 index 00000000..52557cc3 --- /dev/null +++ b/pi/roverd/gpio_toggle.go @@ -0,0 +1,99 @@ +//go:build !dummy + +package roverd + +import ( + "fmt" + "log" + "strings" + "sync" + + gpiocdev "github.com/warthog618/go-gpiocdev" +) + +type GPIOToggle struct { + cfg GPIOToggleConfig + name string + logger *log.Logger + line *gpiocdev.Line + mu sync.Mutex + on bool + closed bool +} + +func NewGPIOToggle(name string, cfg GPIOToggleConfig, logger *log.Logger) (*GPIOToggle, error) { + if !cfg.Enabled { + return nil, fmt.Errorf("%s disabled", name) + } + chip := cfg.GPIOChip + if chip == "" { + chip = "gpiochip0" + } + line, err := gpiocdev.RequestLine( + chip, + cfg.GPIOPin, + gpiocdev.AsOutput(cfg.LogicalToGPIO(cfg.InitialOn)), + gpiocdev.WithConsumer(fmt.Sprintf("roverd-%s", name)), + ) + if err != nil { + return nil, fmt.Errorf("gpio request: %w", err) + } + toggle := &GPIOToggle{ + cfg: cfg, + name: name, + logger: logger, + line: line, + on: cfg.InitialOn, + } + logger.Printf("%s on GPIO %d (initial=%v activeLow=%v)", name, cfg.GPIOPin, cfg.InitialOn, cfg.ActiveLow) + return toggle, nil +} + +func (g *GPIOToggle) Close() { + g.mu.Lock() + defer g.mu.Unlock() + if g.closed { + return + } + // Preserve the last logical state while closing the line. The daemon is not + // trying to force a safety state here; it is only releasing the GPIO handle. + _ = g.line.SetValue(g.cfg.LogicalToGPIO(g.on)) + g.line.Close() + g.closed = true +} + +func (g *GPIOToggle) HandleAction(action string) error { + g.mu.Lock() + defer g.mu.Unlock() + if g.closed { + return fmt.Errorf("%s controller closed", g.name) + } + act := strings.ToLower(strings.TrimSpace(action)) + switch act { + case "", "toggle": + return g.setLocked(!g.on) + case "on": + return g.setLocked(true) + case "off": + return g.setLocked(false) + default: + return fmt.Errorf("unknown action %q", action) + } +} + +func (g *GPIOToggle) On() bool { + g.mu.Lock() + defer g.mu.Unlock() + return g.on +} + +func (g *GPIOToggle) setLocked(on bool) error { + // This is the only place a logical device state becomes an electrical GPIO + // value. Hardware that turns on when pulled low sets activeLow in roverd + // config; every caller above this layer still uses plain on/off semantics. + if err := g.line.SetValue(g.cfg.LogicalToGPIO(on)); err != nil { + return err + } + g.on = on + return nil +} diff --git a/pi/roverd/gpio_toggle_dummy.go b/pi/roverd/gpio_toggle_dummy.go new file mode 100644 index 00000000..b7cae096 --- /dev/null +++ b/pi/roverd/gpio_toggle_dummy.go @@ -0,0 +1,26 @@ +//go:build dummy + +package roverd + +import ( + "fmt" + "log" +) + +type GPIOToggle struct { + name string +} + +func NewGPIOToggle(name string, cfg GPIOToggleConfig, logger *log.Logger) (*GPIOToggle, error) { + return nil, fmt.Errorf("%s not supported in dummy build", name) +} + +func (g *GPIOToggle) Close() {} + +func (g *GPIOToggle) HandleAction(action string) error { + return fmt.Errorf("%s not supported in dummy build", g.name) +} + +func (g *GPIOToggle) On() bool { + return false +} diff --git a/pi/roverd/nightvision.go b/pi/roverd/nightvision.go deleted file mode 100644 index cbf81a2d..00000000 --- a/pi/roverd/nightvision.go +++ /dev/null @@ -1,103 +0,0 @@ -//go:build !dummy - -package roverd - -import ( - "fmt" - "log" - "strings" - "sync" - - gpiocdev "github.com/warthog618/go-gpiocdev" -) - -type NightVisionLight struct { - cfg NightVisionConfig - logger *log.Logger - line *gpiocdev.Line - mu sync.Mutex - on bool - closed bool -} - -func NewNightVisionLight(cfg NightVisionConfig, logger *log.Logger) (*NightVisionLight, error) { - if !cfg.Enabled { - return nil, fmt.Errorf("night vision disabled") - } - chip := cfg.GPIOChip - if chip == "" { - chip = "gpiochip0" - } - initial := 0 - if cfg.InitialOn { - initial = 1 - } - line, err := gpiocdev.RequestLine( - chip, - cfg.GPIOPin, - gpiocdev.AsOutput(initial), - gpiocdev.WithConsumer("roverd-nightvision"), - ) - if err != nil { - return nil, fmt.Errorf("gpio request: %w", err) - } - nv := &NightVisionLight{ - cfg: cfg, - logger: logger, - line: line, - on: cfg.InitialOn, - } - logger.Printf("night vision LED on GPIO %d (initial=%v)", cfg.GPIOPin, cfg.InitialOn) - return nv, nil -} - -func (n *NightVisionLight) Close() { - n.mu.Lock() - defer n.mu.Unlock() - if n.closed { - return - } - _ = n.line.SetValue(boolToGPIO(n.on)) - n.line.Close() - n.closed = true -} - -func (n *NightVisionLight) HandleAction(action string) error { - n.mu.Lock() - defer n.mu.Unlock() - if n.closed { - return fmt.Errorf("night vision controller closed") - } - act := strings.ToLower(strings.TrimSpace(action)) - switch act { - case "", "toggle": - return n.setLocked(!n.on) - case "on": - return n.setLocked(true) - case "off": - return n.setLocked(false) - default: - return fmt.Errorf("unknown action %q", action) - } -} - -func (n *NightVisionLight) NightVisionOn() bool { - n.mu.Lock() - defer n.mu.Unlock() - return !n.on -} - -func (n *NightVisionLight) setLocked(on bool) error { - if err := n.line.SetValue(boolToGPIO(on)); err != nil { - return err - } - n.on = on - return nil -} - -func boolToGPIO(value bool) int { - if value { - return 1 - } - return 0 -} diff --git a/pi/roverd/nightvision_dummy.go b/pi/roverd/nightvision_dummy.go deleted file mode 100644 index 734e94e9..00000000 --- a/pi/roverd/nightvision_dummy.go +++ /dev/null @@ -1,24 +0,0 @@ -//go:build dummy - -package roverd - -import ( - "fmt" - "log" -) - -type NightVisionLight struct{} - -func NewNightVisionLight(cfg NightVisionConfig, logger *log.Logger) (*NightVisionLight, error) { - return nil, fmt.Errorf("night vision not supported in dummy build") -} - -func (n *NightVisionLight) Close() {} - -func (n *NightVisionLight) HandleAction(action string) error { - return fmt.Errorf("night vision not supported in dummy build") -} - -func (n *NightVisionLight) NightVisionOn() bool { - return false -} diff --git a/pi/roverd/roverd.sample.yaml b/pi/roverd/roverd.sample.yaml index 6883292c..8de7989e 100644 --- a/pi/roverd/roverd.sample.yaml +++ b/pi/roverd/roverd.sample.yaml @@ -56,11 +56,18 @@ horn: sineGain: 1.0 sawGain: 0.7 maxDuration: 1.2s -nightVision: +headlight: enabled: true gpioPin: 22 gpioChip: gpiochip0 - initialOn: true + initialOn: false + activeLow: true +laser: + enabled: false + gpioPin: 27 + gpioChip: gpiochip0 + initialOn: false + activeLow: false autoSideBrush: enabled: true speed: 20 diff --git a/pi/roverd/roverd.yaml b/pi/roverd/roverd.yaml index a4ea2ed7..5492a979 100644 --- a/pi/roverd/roverd.yaml +++ b/pi/roverd/roverd.yaml @@ -32,6 +32,18 @@ cameraServo: homeAngle: 0 nudgeDegrees: 2 allowRawPulse: false +headlight: + enabled: true + gpioPin: 22 + gpioChip: gpiochip0 + initialOn: false + activeLow: true +laser: + enabled: false + gpioPin: 27 + gpioChip: gpiochip0 + initialOn: false + activeLow: false autoSideBrush: enabled: true speed: 20 diff --git a/pi/roverd/wsclient.go b/pi/roverd/wsclient.go index 43d245a9..fcb120b8 100644 --- a/pi/roverd/wsclient.go +++ b/pi/roverd/wsclient.go @@ -21,7 +21,8 @@ type WSClient struct { media *MediaSupervisor servo *CameraServo horn *HornSynth - nightVision *NightVisionLight + headlight *GPIOToggle + laser *GPIOToggle log *log.Logger recoverMu sync.Mutex recovering bool @@ -40,7 +41,7 @@ type WSClient struct { audioMu sync.RWMutex } -func NewWSClient(cfg *Config, adapter *SerialAdapter, frames <-chan []byte, events chan RoverEvent, media *MediaSupervisor, servo *CameraServo, nightVision *NightVisionLight, logger *log.Logger) *WSClient { +func NewWSClient(cfg *Config, adapter *SerialAdapter, frames <-chan []byte, events chan RoverEvent, media *MediaSupervisor, servo *CameraServo, headlight *GPIOToggle, laser *GPIOToggle, logger *log.Logger) *WSClient { var ttsQueue chan *ttsPayload if cfg.Audio.TTSEnabled { ttsQueue = make(chan *ttsPayload, 2) @@ -61,7 +62,8 @@ func NewWSClient(cfg *Config, adapter *SerialAdapter, frames <-chan []byte, even media: media, servo: servo, horn: horn, - nightVision: nightVision, + headlight: headlight, + laser: laser, log: logger, ttsQueue: ttsQueue, chromeTTS: chromeTTS, @@ -133,7 +135,8 @@ func (c *WSClient) sendHello(ctx context.Context, conn *websocket.Conn) error { CameraServo: c.cfg.CameraServo, Audio: c.cfg.Audio, Horn: c.cfg.Horn, - NightVision: c.cfg.NightVision, + Headlight: c.cfg.Headlight, + Laser: c.cfg.Laser, Private: c.cfg.Private, } c.log.Printf("sending hello (camera servo enabled=%v pin=%d)", msg.CameraServo.Enabled, msg.CameraServo.Pin) @@ -226,17 +229,10 @@ func (c *WSClient) dispatch(ctx context.Context, msg *inboundMessage) error { return c.horn.HandlePayload(msg.Horn) case msg.AudioLevels != nil: return c.handleAudioLevels(msg.AudioLevels) - case msg.NightVision != nil: - if c.nightVision == nil { - return fmt.Errorf("night vision disabled") - } - if err := c.nightVision.HandleAction(msg.NightVision.Action); err != nil { - return err - } - c.emitEvent("nightVision.state", map[string]any{ - "nightVisionOn": c.nightVision.NightVisionOn(), - }) - return nil + case msg.Headlight != nil: + return c.handleToggleCommand("headlight", c.headlight, msg.Headlight) + case msg.Laser != nil: + return c.handleToggleCommand("laser", c.laser, msg.Laser) case msg.Song != nil: slot := 0 if msg.Song.Slot != nil { @@ -252,6 +248,22 @@ func (c *WSClient) dispatch(ctx context.Context, msg *inboundMessage) error { } } +func (c *WSClient) handleToggleCommand(name string, toggle *GPIOToggle, payload *togglePayload) error { + if toggle == nil { + return fmt.Errorf("%s disabled", name) + } + if err := toggle.HandleAction(payload.Action); err != nil { + return err + } + // Event names and payload keys use logical device names. GPIO polarity has + // already been handled inside GPIOToggle, so the server only sees whether + // the headlight or laser should be considered on. + c.emitEvent(fmt.Sprintf("%s.state", name), map[string]any{ + fmt.Sprintf("%sOn", name): toggle.On(), + }) + return nil +} + func (c *WSClient) stopMotionForSystemCommand(reason string) error { // System-level commands can restart the process or the whole Pi. Stopping // both wheel and auxiliary motors first leaves the Roomba in a predictable diff --git a/rulesdocs/refactor_regressions.md b/rulesdocs/refactor_regressions.md index 7793ad4b..92fc293e 100644 --- a/rulesdocs/refactor_regressions.md +++ b/rulesdocs/refactor_regressions.md @@ -4,6 +4,6 @@ - idle service will trigger, after 2 minutes of no drivers: - all room lights (room controls) off - tell all rovers to dock - - turn off all rover night vision lights + - turn off all rover headlights - tell the neato to return to home - the idle service should be easily expandable to add more things in the future diff --git a/server/public/assets/index-BoGJudGZ.js b/server/public/assets/index-BoLmfZBk.js similarity index 75% rename from server/public/assets/index-BoGJudGZ.js rename to server/public/assets/index-BoLmfZBk.js index d717c907..2a655fb7 100644 --- a/server/public/assets/index-BoGJudGZ.js +++ b/server/public/assets/index-BoLmfZBk.js @@ -1,15 +1,15 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/OrbitControls-BJ-UXxdt.js","assets/three.module--MGUDD-H.js"])))=>i.map(i=>d[i]); -(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const u of document.querySelectorAll('link[rel="modulepreload"]'))i(u);new MutationObserver(u=>{for(const h of u)if(h.type==="childList")for(const d of h.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&i(d)}).observe(document,{childList:!0,subtree:!0});function n(u){const h={};return u.integrity&&(h.integrity=u.integrity),u.referrerPolicy&&(h.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?h.credentials="include":u.crossOrigin==="anonymous"?h.credentials="omit":h.credentials="same-origin",h}function i(u){if(u.ep)return;u.ep=!0;const h=n(u);fetch(u.href,h)}})();function $m(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var G9={exports:{}},S8={};var Xi;function Pm(){if(Xi)return S8;Xi=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function n(i,u,h){var d=null;if(h!==void 0&&(d=""+h),u.key!==void 0&&(d=""+u.key),"key"in u){h={};for(var v in u)v!=="key"&&(h[v]=u[v])}else h=u;return u=h.ref,{$$typeof:t,type:i,key:d,ref:u!==void 0?u:null,props:h}}return S8.Fragment=a,S8.jsx=n,S8.jsxs=n,S8}var Qi;function Zm(){return Qi||(Qi=1,G9.exports=Pm()),G9.exports}var r=Zm(),Y9={exports:{}},q1={};var Wi;function Gm(){if(Wi)return q1;Wi=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),h=Symbol.for("react.consumer"),d=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),x=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),y=Symbol.iterator;function M(T){return T===null||typeof T!="object"?null:(T=y&&T[y]||T["@@iterator"],typeof T=="function"?T:null)}var H={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,C={};function L(T,q,Y){this.props=T,this.context=q,this.refs=C,this.updater=Y||H}L.prototype.isReactComponent={},L.prototype.setState=function(T,q){if(typeof T!="object"&&typeof T!="function"&&T!=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,T,q,"setState")},L.prototype.forceUpdate=function(T){this.updater.enqueueForceUpdate(this,T,"forceUpdate")};function A(){}A.prototype=L.prototype;function V(T,q,Y){this.props=T,this.context=q,this.refs=C,this.updater=Y||H}var F=V.prototype=new A;F.constructor=V,S(F,L.prototype),F.isPureReactComponent=!0;var E=Array.isArray;function k(){}var B={H:null,A:null,T:null,S:null},j=Object.prototype.hasOwnProperty;function D(T,q,Y){var s1=Y.ref;return{$$typeof:t,type:T,key:q,ref:s1!==void 0?s1:null,props:Y}}function O(T,q){return D(T.type,q,T.props)}function _(T){return typeof T=="object"&&T!==null&&T.$$typeof===t}function I(T){var q={"=":"=0",":":"=2"};return"$"+T.replace(/[=:]/g,function(Y){return q[Y]})}var a1=/\/+/g;function r1(T,q){return typeof T=="object"&&T!==null&&T.key!=null?I(""+T.key):q.toString(36)}function Q(T){switch(T.status){case"fulfilled":return T.value;case"rejected":throw T.reason;default:switch(typeof T.status=="string"?T.then(k,k):(T.status="pending",T.then(function(q){T.status==="pending"&&(T.status="fulfilled",T.value=q)},function(q){T.status==="pending"&&(T.status="rejected",T.reason=q)})),T.status){case"fulfilled":return T.value;case"rejected":throw T.reason}}throw T}function R(T,q,Y,s1,x1){var p1=typeof T;(p1==="undefined"||p1==="boolean")&&(T=null);var A1=!1;if(T===null)A1=!0;else switch(p1){case"bigint":case"string":case"number":A1=!0;break;case"object":switch(T.$$typeof){case t:case a:A1=!0;break;case x:return A1=T._init,R(A1(T._payload),q,Y,s1,x1)}}if(A1)return x1=x1(T),A1=s1===""?"."+r1(T,0):s1,E(x1)?(Y="",A1!=null&&(Y=A1.replace(a1,"$&/")+"/"),R(x1,q,Y,"",function(Z1){return Z1})):x1!=null&&(_(x1)&&(x1=O(x1,Y+(x1.key==null||T&&T.key===x1.key?"":(""+x1.key).replace(a1,"$&/")+"/")+A1)),q.push(x1)),1;A1=0;var S1=s1===""?".":s1+":";if(E(T))for(var F1=0;F1>>1,d1=R[h1];if(0>>1;h1u(Y,J))s1u(x1,Y)?(R[h1]=x1,R[s1]=J,h1=s1):(R[h1]=Y,R[q]=J,h1=q);else if(s1u(x1,J))R[h1]=x1,R[s1]=J,h1=s1;else break t}}return P}function u(R,P){var J=R.sortIndex-P.sortIndex;return J!==0?J:R.id-P.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var h=performance;t.unstable_now=function(){return h.now()}}else{var d=Date,v=d.now();t.unstable_now=function(){return d.now()-v}}var p=[],g=[],x=1,b=null,y=3,M=!1,H=!1,S=!1,C=!1,L=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,V=typeof setImmediate<"u"?setImmediate:null;function F(R){for(var P=n(g);P!==null;){if(P.callback===null)i(g);else if(P.startTime<=R)i(g),P.sortIndex=P.expirationTime,a(p,P);else break;P=n(g)}}function E(R){if(S=!1,F(R),!H)if(n(p)!==null)H=!0,k||(k=!0,I());else{var P=n(g);P!==null&&Q(E,P.startTime-R)}}var k=!1,B=-1,j=5,D=-1;function O(){return C?!0:!(t.unstable_now()-DR&&O());){var h1=b.callback;if(typeof h1=="function"){b.callback=null,y=b.priorityLevel;var d1=h1(b.expirationTime<=R);if(R=t.unstable_now(),typeof d1=="function"){b.callback=d1,F(R),P=!0;break e}b===n(p)&&i(p),F(R)}else i(p);b=n(p)}if(b!==null)P=!0;else{var T=n(g);T!==null&&Q(E,T.startTime-R),P=!1}}break t}finally{b=null,y=J,M=!1}P=void 0}}finally{P?I():k=!1}}}var I;if(typeof V=="function")I=function(){V(_)};else if(typeof MessageChannel<"u"){var a1=new MessageChannel,r1=a1.port2;a1.port1.onmessage=_,I=function(){r1.postMessage(null)}}else I=function(){L(_,0)};function Q(R,P){B=L(function(){R(t.unstable_now())},P)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(R){R.callback=null},t.unstable_forceFrameRate=function(R){0>R||125h1?(R.sortIndex=J,a(g,R),n(p)===null&&R===n(g)&&(S?(A(B),B=-1):S=!0,Q(E,J-h1))):(R.sortIndex=d1,a(p,R),H||M||(H=!0,k||(k=!0,I()))),R},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(R){var P=y;return function(){var J=y;y=P;try{return R.apply(this,arguments)}finally{y=J}}}})(Q9)),Q9}var es;function Km(){return es||(es=1,X9.exports=Ym()),X9.exports}var W9={exports:{}},G2={};var cs;function Xm(){if(cs)return G2;cs=1;var t=ua();function a(p){var g="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(a){console.error(a)}}return t(),W9.exports=Xm(),W9.exports}var ns;function Qm(){if(ns)return H8;ns=1;var t=Km(),a=ua(),n=cu();function i(e){var c="https://react.dev/errors/"+e;if(1d1||(e.current=h1[d1],h1[d1]=null,d1--)}function Y(e,c){d1++,h1[d1]=e.current,e.current=c}var s1=T(null),x1=T(null),p1=T(null),A1=T(null);function S1(e,c){switch(Y(p1,c),Y(x1,e),Y(s1,null),c.nodeType){case 9:case 11:e=(e=c.documentElement)&&(e=e.namespaceURI)?zi(e):0;break;default:if(e=c.tagName,c=c.namespaceURI)c=zi(c),e=bi(c,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}q(s1),Y(s1,e)}function F1(){q(s1),q(x1),q(p1)}function Z1(e){e.memoizedState!==null&&Y(A1,e);var c=s1.current,l=bi(c,e.type);c!==l&&(Y(x1,e),Y(s1,l))}function $1(e){x1.current===e&&(q(s1),q(x1)),A1.current===e&&(q(A1),y8._currentValue=J)}var _1,i2;function i1(e){if(_1===void 0)try{throw Error()}catch(l){var c=l.stack.trim().match(/\n( *(at )?)/);_1=c&&c[1]||"",i2=-1{for(const h of u)if(h.type==="childList")for(const d of h.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&i(d)}).observe(document,{childList:!0,subtree:!0});function n(u){const h={};return u.integrity&&(h.integrity=u.integrity),u.referrerPolicy&&(h.referrerPolicy=u.referrerPolicy),u.crossOrigin==="use-credentials"?h.credentials="include":u.crossOrigin==="anonymous"?h.credentials="omit":h.credentials="same-origin",h}function i(u){if(u.ep)return;u.ep=!0;const h=n(u);fetch(u.href,h)}})();function $m(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Y9={exports:{}},S8={};var Qi;function Pm(){if(Qi)return S8;Qi=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.fragment");function n(i,u,h){var d=null;if(h!==void 0&&(d=""+h),u.key!==void 0&&(d=""+u.key),"key"in u){h={};for(var v in u)v!=="key"&&(h[v]=u[v])}else h=u;return u=h.ref,{$$typeof:t,type:i,key:d,ref:u!==void 0?u:null,props:h}}return S8.Fragment=a,S8.jsx=n,S8.jsxs=n,S8}var Wi;function Zm(){return Wi||(Wi=1,Y9.exports=Pm()),Y9.exports}var r=Zm(),K9={exports:{}},q1={};var Ji;function Gm(){if(Ji)return q1;Ji=1;var t=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),h=Symbol.for("react.consumer"),d=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),M=Symbol.iterator;function y(E){return E===null||typeof E!="object"?null:(E=M&&E[M]||E["@@iterator"],typeof E=="function"?E:null)}var A={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S=Object.assign,C={};function V(E,U,Y){this.props=E,this.context=U,this.refs=C,this.updater=Y||A}V.prototype.isReactComponent={},V.prototype.setState=function(E,U){if(typeof E!="object"&&typeof E!="function"&&E!=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,E,U,"setState")},V.prototype.forceUpdate=function(E){this.updater.enqueueForceUpdate(this,E,"forceUpdate")};function L(){}L.prototype=V.prototype;function H(E,U,Y){this.props=E,this.context=U,this.refs=C,this.updater=Y||A}var F=H.prototype=new L;F.constructor=H,S(F,V.prototype),F.isPureReactComponent=!0;var _=Array.isArray;function R(){}var B={H:null,A:null,T:null,S:null},N=Object.prototype.hasOwnProperty;function T(E,U,Y){var a1=Y.ref;return{$$typeof:t,type:E,key:U,ref:a1!==void 0?a1:null,props:Y}}function D(E,U){return T(E.type,U,E.props)}function q(E){return typeof E=="object"&&E!==null&&E.$$typeof===t}function Z(E){var U={"=":"=0",":":"=2"};return"$"+E.replace(/[=:]/g,function(Y){return U[Y]})}var t1=/\/+/g;function c1(E,U){return typeof E=="object"&&E!==null&&E.key!=null?Z(""+E.key):U.toString(36)}function Q(E){switch(E.status){case"fulfilled":return E.value;case"rejected":throw E.reason;default:switch(typeof E.status=="string"?E.then(R,R):(E.status="pending",E.then(function(U){E.status==="pending"&&(E.status="fulfilled",E.value=U)},function(U){E.status==="pending"&&(E.status="rejected",E.reason=U)})),E.status){case"fulfilled":return E.value;case"rejected":throw E.reason}}throw E}function k(E,U,Y,a1,b1){var u1=typeof E;(u1==="undefined"||u1==="boolean")&&(E=null);var H1=!1;if(E===null)H1=!0;else switch(u1){case"bigint":case"string":case"number":H1=!0;break;case"object":switch(E.$$typeof){case t:case a:H1=!0;break;case g:return H1=E._init,k(H1(E._payload),U,Y,a1,b1)}}if(H1)return b1=b1(E),H1=a1===""?"."+c1(E,0):a1,_(b1)?(Y="",H1!=null&&(Y=H1.replace(t1,"$&/")+"/"),k(b1,U,Y,"",function($1){return $1})):b1!=null&&(q(b1)&&(b1=D(b1,Y+(b1.key==null||E&&E.key===b1.key?"":(""+b1.key).replace(t1,"$&/")+"/")+H1)),U.push(b1)),1;H1=0;var V1=a1===""?".":a1+":";if(_(E))for(var B1=0;B1>>1,f1=k[o1];if(0>>1;o1u(Y,W))a1u(b1,Y)?(k[o1]=b1,k[a1]=W,o1=a1):(k[o1]=Y,k[U]=W,o1=U);else if(a1u(b1,W))k[o1]=b1,k[a1]=W,o1=a1;else break t}}return O}function u(k,O){var W=k.sortIndex-O.sortIndex;return W!==0?W:k.id-O.id}if(t.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var h=performance;t.unstable_now=function(){return h.now()}}else{var d=Date,v=d.now();t.unstable_now=function(){return d.now()-v}}var p=[],x=[],g=1,b=null,M=3,y=!1,A=!1,S=!1,C=!1,V=typeof setTimeout=="function"?setTimeout:null,L=typeof clearTimeout=="function"?clearTimeout:null,H=typeof setImmediate<"u"?setImmediate:null;function F(k){for(var O=n(x);O!==null;){if(O.callback===null)i(x);else if(O.startTime<=k)i(x),O.sortIndex=O.expirationTime,a(p,O);else break;O=n(x)}}function _(k){if(S=!1,F(k),!A)if(n(p)!==null)A=!0,R||(R=!0,Z());else{var O=n(x);O!==null&&Q(_,O.startTime-k)}}var R=!1,B=-1,N=5,T=-1;function D(){return C?!0:!(t.unstable_now()-Tk&&D());){var o1=b.callback;if(typeof o1=="function"){b.callback=null,M=b.priorityLevel;var f1=o1(b.expirationTime<=k);if(k=t.unstable_now(),typeof f1=="function"){b.callback=f1,F(k),O=!0;break e}b===n(p)&&i(p),F(k)}else i(p);b=n(p)}if(b!==null)O=!0;else{var E=n(x);E!==null&&Q(_,E.startTime-k),O=!1}}break t}finally{b=null,M=W,y=!1}O=void 0}}finally{O?Z():R=!1}}}var Z;if(typeof H=="function")Z=function(){H(q)};else if(typeof MessageChannel<"u"){var t1=new MessageChannel,c1=t1.port2;t1.port1.onmessage=q,Z=function(){c1.postMessage(null)}}else Z=function(){V(q,0)};function Q(k,O){B=V(function(){k(t.unstable_now())},O)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(k){k.callback=null},t.unstable_forceFrameRate=function(k){0>k||125o1?(k.sortIndex=W,a(x,k),n(p)===null&&k===n(x)&&(S?(L(B),B=-1):S=!0,Q(_,W-o1))):(k.sortIndex=f1,a(p,k),A||y||(A=!0,R||(R=!0,Z()))),k},t.unstable_shouldYield=D,t.unstable_wrapCallback=function(k){var O=M;return function(){var W=M;M=O;try{return k.apply(this,arguments)}finally{M=W}}}})(W9)),W9}var cs;function Km(){return cs||(cs=1,Q9.exports=Ym()),Q9.exports}var J9={exports:{}},Y2={};var as;function Xm(){if(as)return Y2;as=1;var t=ha();function a(p){var x="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(a){console.error(a)}}return t(),J9.exports=Xm(),J9.exports}var ls;function Qm(){if(ls)return H8;ls=1;var t=Km(),a=ha(),n=au();function i(e){var c="https://react.dev/errors/"+e;if(1f1||(e.current=o1[f1],o1[f1]=null,f1--)}function Y(e,c){f1++,o1[f1]=e.current,e.current=c}var a1=E(null),b1=E(null),u1=E(null),H1=E(null);function V1(e,c){switch(Y(u1,c),Y(b1,e),Y(a1,null),c.nodeType){case 9:case 11:e=(e=c.documentElement)&&(e=e.namespaceURI)?bi(e):0;break;default:if(e=c.tagName,c=c.namespaceURI)c=bi(c),e=yi(c,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}U(a1),Y(a1,e)}function B1(){U(a1),U(b1),U(u1)}function $1(e){e.memoizedState!==null&&Y(H1,e);var c=a1.current,l=yi(c,e.type);c!==l&&(Y(b1,e),Y(a1,l))}function G1(e){b1.current===e&&(U(a1),U(b1)),H1.current===e&&(U(H1),y8._currentValue=W)}var _1,n2;function r1(e){if(_1===void 0)try{throw Error()}catch(l){var c=l.stack.trim().match(/\n( *(at )?)/);_1=c&&c[1]||"",n2=-1)":-1f||U[o]!==X[f]){var n1=` -`+U[o].replace(" at new "," at ");return e.displayName&&n1.includes("")&&(n1=n1.replace("",e.displayName)),n1}while(1<=o&&0<=f);break}}}finally{V1=!1,Error.prepareStackTrace=l}return(l=e?e.displayName||e.name:"")?i1(l):""}function z1(e,c){switch(e.tag){case 26:case 27:case 5:return i1(e.type);case 16:return i1("Lazy");case 13:return e.child!==c&&c!==null?i1("Suspense Fallback"):i1("Suspense");case 19:return i1("SuspenseList");case 0:case 15:return g1(e.type,!1);case 11:return g1(e.type.render,!1);case 1:return g1(e.type,!0);case 31:return i1("Activity");default:return""}}function j1(e){try{var c="",l=null;do c+=z1(e,l),l=e,e=e.return;while(e);return c}catch(o){return` +`+_1+e+n2}var A1=!1;function O1(e,c){if(!e||A1)return"";A1=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var o={DetermineComponentFrameRoot:function(){try{if(c){var s1=function(){throw Error()};if(Object.defineProperty(s1.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(s1,[])}catch(e1){var J=e1}Reflect.construct(e,[],s1)}else{try{s1.call()}catch(e1){J=e1}e.call(s1.prototype)}}else{try{throw Error()}catch(e1){J=e1}(s1=e())&&typeof s1.catch=="function"&&s1.catch(function(){})}}catch(e1){if(e1&&J&&typeof e1.stack=="string")return[e1.stack,J.stack]}return[null,null]}};o.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var f=Object.getOwnPropertyDescriptor(o.DetermineComponentFrameRoot,"name");f&&f.configurable&&Object.defineProperty(o.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var z=o.DetermineComponentFrameRoot(),w=z[0],j=z[1];if(w&&j){var I=w.split(` +`),X=j.split(` +`);for(f=o=0;of||I[o]!==X[f]){var l1=` +`+I[o].replace(" at new "," at ");return e.displayName&&l1.includes("")&&(l1=l1.replace("",e.displayName)),l1}while(1<=o&&0<=f);break}}}finally{A1=!1,Error.prepareStackTrace=l}return(l=e?e.displayName||e.name:"")?r1(l):""}function p1(e,c){switch(e.tag){case 26:case 27:case 5:return r1(e.type);case 16:return r1("Lazy");case 13:return e.child!==c&&c!==null?r1("Suspense Fallback"):r1("Suspense");case 19:return r1("SuspenseList");case 0:case 15:return O1(e.type,!1);case 11:return O1(e.type.render,!1);case 1:return O1(e.type,!0);case 31:return r1("Activity");default:return""}}function M1(e){try{var c="",l=null;do c+=p1(e,l),l=e,e=e.return;while(e);return c}catch(o){return` Error generating stack: `+o.message+` -`+o.stack}}var E1=Object.prototype.hasOwnProperty,m1=t.unstable_scheduleCallback,C1=t.unstable_cancelCallback,k1=t.unstable_shouldYield,J1=t.unstable_requestPaint,e1=t.unstable_now,M1=t.unstable_getCurrentPriorityLevel,L1=t.unstable_ImmediatePriority,B1=t.unstable_UserBlockingPriority,l1=t.unstable_NormalPriority,G=t.unstable_LowPriority,t1=t.unstable_IdlePriority,b1=t.log,s2=t.unstable_setDisableYieldValue,o2=null,y2=null;function r4(e){if(typeof b1=="function"&&s2(e),y2&&typeof y2.setStrictMode=="function")try{y2.setStrictMode(o2,e)}catch{}}var y1=Math.clz32?Math.clz32:G1,f2=Math.log,a2=Math.LN2;function G1(e){return e>>>=0,e===0?32:31-(f2(e)/a2|0)|0}var t2=256,Z2=262144,O4=4194304;function v4(e){var c=e&42;if(c!==0)return c;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function M2(e,c,l){var o=e.pendingLanes;if(o===0)return 0;var f=0,z=e.suspendedLanes,w=e.pingedLanes;e=e.warmLanes;var N=o&134217727;return N!==0?(o=N&~z,o!==0?f=v4(o):(w&=N,w!==0?f=v4(w):l||(l=N&~e,l!==0&&(f=v4(l))))):(N=o&~z,N!==0?f=v4(N):w!==0?f=v4(w):l||(l=o&~e,l!==0&&(f=v4(l)))),f===0?0:c!==0&&c!==f&&(c&z)===0&&(z=f&-f,l=c&-c,z>=l||z===32&&(l&4194048)!==0)?c:f}function F4(e,c){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&c)===0}function Bd(e,c){switch(e){case 1:case 2:case 4:case 8:case 64:return c+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 c+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 Ja(){var e=O4;return O4<<=1,(O4&62914560)===0&&(O4=4194304),e}function Re(e){for(var c=[],l=0;31>l;l++)c.push(e);return c}function R0(e,c){e.pendingLanes|=c,c!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Nd(e,c,l,o,f,z){var w=e.pendingLanes;e.pendingLanes=l,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=l,e.entangledLanes&=l,e.errorRecoveryDisabledLanes&=l,e.shellSuspendCounter=0;var N=e.entanglements,U=e.expirationTimes,X=e.hiddenUpdates;for(l=w&~l;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Td=/[\n"\\]/g;function g4(e){return e.replace(Td,function(c){return"\\"+c.charCodeAt(0).toString(16)+" "})}function Oe(e,c,l,o,f,z,w,N){e.name="",w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?e.type=w:e.removeAttribute("type"),c!=null?w==="number"?(c===0&&e.value===""||e.value!=c)&&(e.value=""+p4(c)):e.value!==""+p4(c)&&(e.value=""+p4(c)):w!=="submit"&&w!=="reset"||e.removeAttribute("value"),c!=null?Ue(e,w,p4(c)):l!=null?Ue(e,w,p4(l)):o!=null&&e.removeAttribute("value"),f==null&&z!=null&&(e.defaultChecked=!!z),f!=null&&(e.checked=f&&typeof f!="function"&&typeof f!="symbol"),N!=null&&typeof N!="function"&&typeof N!="symbol"&&typeof N!="boolean"?e.name=""+p4(N):e.removeAttribute("name")}function fn(e,c,l,o,f,z,w,N){if(z!=null&&typeof z!="function"&&typeof z!="symbol"&&typeof z!="boolean"&&(e.type=z),c!=null||l!=null){if(!(z!=="submit"&&z!=="reset"||c!=null)){De(e);return}l=l!=null?""+p4(l):"",c=c!=null?""+p4(c):l,N||c===e.value||(e.value=c),e.defaultValue=c}o=o??f,o=typeof o!="function"&&typeof o!="symbol"&&!!o,e.checked=N?e.checked:!!o,e.defaultChecked=!!o,w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(e.name=w),De(e)}function Ue(e,c,l){c==="number"&&h5(e.ownerDocument)===e||e.defaultValue===""+l||(e.defaultValue=""+l)}function N6(e,c,l,o){if(e=e.options,c){c={};for(var f=0;f"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ge=!1;if(J4)try{var q0={};Object.defineProperty(q0,"passive",{get:function(){Ge=!0}}),window.addEventListener("test",q0,q0),window.removeEventListener("test",q0,q0)}catch{Ge=!1}var S3=null,Ye=null,f5=null;function bn(){if(f5)return f5;var e,c=Ye,l=c.length,o,f="value"in S3?S3.value:S3.textContent,z=f.length;for(e=0;e=U0),Hn=" ",An=!1;function Vn(e,c){switch(e){case"keyup":return df.indexOf(c.keyCode)!==-1;case"keydown":return c.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ln(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var R6=!1;function mf(e,c){switch(e){case"compositionend":return Ln(c);case"keypress":return c.which!==32?null:(An=!0,Hn);case"textInput":return e=c.data,e===Hn&&An?null:e;default:return null}}function vf(e,c){if(R6)return e==="compositionend"||!Je&&Vn(e,c)?(e=bn(),f5=Ye=S3=null,R6=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(c.ctrlKey||c.altKey||c.metaKey)||c.ctrlKey&&c.altKey){if(c.char&&1=c)return{node:l,offset:c-e};e=o}t:{for(;l;){if(l.nextSibling){l=l.nextSibling;break t}l=l.parentNode}l=void 0}l=Tn(l)}}function qn(e,c){return e&&c?e===c?!0:e&&e.nodeType===3?!1:c&&c.nodeType===3?qn(e,c.parentNode):"contains"in e?e.contains(c):e.compareDocumentPosition?!!(e.compareDocumentPosition(c)&16):!1:!1}function Dn(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var c=h5(e.document);c instanceof e.HTMLIFrameElement;){try{var l=typeof c.contentWindow.location.href=="string"}catch{l=!1}if(l)e=c.contentWindow;else break;c=h5(e.document)}return c}function c7(e){var c=e&&e.nodeName&&e.nodeName.toLowerCase();return c&&(c==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||c==="textarea"||e.contentEditable==="true")}var wf=J4&&"documentMode"in document&&11>=document.documentMode,E6=null,a7=null,Z0=null,n7=!1;function On(e,c,l){var o=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;n7||E6==null||E6!==h5(o)||(o=E6,"selectionStart"in o&&c7(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),Z0&&P0(Z0,o)||(Z0=o,o=rt(a7,"onSelect"),0>=w,f-=w,U4=1<<32-y1(c)+f|l<I1?(Q1=H1,H1=null):Q1=H1.sibling;var c2=W(Z,H1,K[I1],o1);if(c2===null){H1===null&&(H1=Q1);break}e&&H1&&c2.alternate===null&&c(Z,H1),$=z(c2,$,I1),e2===null?N1=c2:e2.sibling=c2,e2=c2,H1=Q1}if(I1===K.length)return l(Z,H1),W1&&e3(Z,I1),N1;if(H1===null){for(;I1I1?(Q1=H1,H1=null):Q1=H1.sibling;var G3=W(Z,H1,c2.value,o1);if(G3===null){H1===null&&(H1=Q1);break}e&&H1&&G3.alternate===null&&c(Z,H1),$=z(G3,$,I1),e2===null?N1=G3:e2.sibling=G3,e2=G3,H1=Q1}if(c2.done)return l(Z,H1),W1&&e3(Z,I1),N1;if(H1===null){for(;!c2.done;I1++,c2=K.next())c2=u1(Z,c2.value,o1),c2!==null&&($=z(c2,$,I1),e2===null?N1=c2:e2.sibling=c2,e2=c2);return W1&&e3(Z,I1),N1}for(H1=o(H1);!c2.done;I1++,c2=K.next())c2=c1(H1,Z,I1,c2.value,o1),c2!==null&&(e&&c2.alternate!==null&&H1.delete(c2.key===null?I1:c2.key),$=z(c2,$,I1),e2===null?N1=c2:e2.sibling=c2,e2=c2);return e&&H1.forEach(function(Im){return c(Z,Im)}),W1&&e3(Z,I1),N1}function d2(Z,$,K,o1){if(typeof K=="object"&&K!==null&&K.type===S&&K.key===null&&(K=K.props.children),typeof K=="object"&&K!==null){switch(K.$$typeof){case M:t:{for(var N1=K.key;$!==null;){if($.key===N1){if(N1=K.type,N1===S){if($.tag===7){l(Z,$.sibling),o1=f($,K.props.children),o1.return=Z,Z=o1;break t}}else if($.elementType===N1||typeof N1=="object"&&N1!==null&&N1.$$typeof===j&&i6(N1)===$.type){l(Z,$.sibling),o1=f($,K.props),W0(o1,K),o1.return=Z,Z=o1;break t}l(Z,$);break}else c(Z,$);$=$.sibling}K.type===S?(o1=c6(K.props.children,Z.mode,o1,K.key),o1.return=Z,Z=o1):(o1=w5(K.type,K.key,K.props,null,Z.mode,o1),W0(o1,K),o1.return=Z,Z=o1)}return w(Z);case H:t:{for(N1=K.key;$!==null;){if($.key===N1)if($.tag===4&&$.stateNode.containerInfo===K.containerInfo&&$.stateNode.implementation===K.implementation){l(Z,$.sibling),o1=f($,K.children||[]),o1.return=Z,Z=o1;break t}else{l(Z,$);break}else c(Z,$);$=$.sibling}o1=h7(K,Z.mode,o1),o1.return=Z,Z=o1}return w(Z);case j:return K=i6(K),d2(Z,$,K,o1)}if(Q(K))return w1(Z,$,K,o1);if(I(K)){if(N1=I(K),typeof N1!="function")throw Error(i(150));return K=N1.call(K),T1(Z,$,K,o1)}if(typeof K.then=="function")return d2(Z,$,B5(K),o1);if(K.$$typeof===V)return d2(Z,$,H5(Z,K),o1);N5(Z,K)}return typeof K=="string"&&K!==""||typeof K=="number"||typeof K=="bigint"?(K=""+K,$!==null&&$.tag===6?(l(Z,$.sibling),o1=f($,K),o1.return=Z,Z=o1):(l(Z,$),o1=u7(K,Z.mode,o1),o1.return=Z,Z=o1),w(Z)):l(Z,$)}return function(Z,$,K,o1){try{Q0=0;var N1=d2(Z,$,K,o1);return G6=null,N1}catch(H1){if(H1===Z6||H1===V5)throw H1;var e2=s4(29,H1,null,Z.mode);return e2.lanes=o1,e2.return=Z,e2}finally{}}}var o6=ul(!0),hl=ul(!1),B3=!1;function w7(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function C7(e,c){e=e.updateQueue,c.updateQueue===e&&(c.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function N3(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function j3(e,c,l){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(n2&2)!==0){var f=o.pending;return f===null?c.next=c:(c.next=f.next,f.next=c),o.pending=c,c=M5(e),Yn(e,null,l),c}return y5(e,o,c,l),M5(e)}function J0(e,c,l){if(c=c.updateQueue,c!==null&&(c=c.shared,(l&4194048)!==0)){var o=c.lanes;o&=e.pendingLanes,l|=o,c.lanes=l,en(e,l)}}function S7(e,c){var l=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,l===o)){var f=null,z=null;if(l=l.firstBaseUpdate,l!==null){do{var w={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};z===null?f=z=w:z=z.next=w,l=l.next}while(l!==null);z===null?f=z=c:z=z.next=c}else f=z=c;l={baseState:o.baseState,firstBaseUpdate:f,lastBaseUpdate:z,shared:o.shared,callbacks:o.callbacks},e.updateQueue=l;return}e=l.lastBaseUpdate,e===null?l.firstBaseUpdate=c:e.next=c,l.lastBaseUpdate=c}var H7=!1;function t8(){if(H7){var e=P6;if(e!==null)throw e}}function e8(e,c,l,o){H7=!1;var f=e.updateQueue;B3=!1;var z=f.firstBaseUpdate,w=f.lastBaseUpdate,N=f.shared.pending;if(N!==null){f.shared.pending=null;var U=N,X=U.next;U.next=null,w===null?z=X:w.next=X,w=U;var n1=e.alternate;n1!==null&&(n1=n1.updateQueue,N=n1.lastBaseUpdate,N!==w&&(N===null?n1.firstBaseUpdate=X:N.next=X,n1.lastBaseUpdate=U))}if(z!==null){var u1=f.baseState;w=0,n1=X=U=null,N=z;do{var W=N.lane&-536870913,c1=W!==N.lane;if(c1?(X1&W)===W:(o&W)===W){W!==0&&W===$6&&(H7=!0),n1!==null&&(n1=n1.next={lane:0,tag:N.tag,payload:N.payload,callback:null,next:null});t:{var w1=e,T1=N;W=c;var d2=l;switch(T1.tag){case 1:if(w1=T1.payload,typeof w1=="function"){u1=w1.call(d2,u1,W);break t}u1=w1;break t;case 3:w1.flags=w1.flags&-65537|128;case 0:if(w1=T1.payload,W=typeof w1=="function"?w1.call(d2,u1,W):w1,W==null)break t;u1=b({},u1,W);break t;case 2:B3=!0}}W=N.callback,W!==null&&(e.flags|=64,c1&&(e.flags|=8192),c1=f.callbacks,c1===null?f.callbacks=[W]:c1.push(W))}else c1={lane:W,tag:N.tag,payload:N.payload,callback:N.callback,next:null},n1===null?(X=n1=c1,U=u1):n1=n1.next=c1,w|=W;if(N=N.next,N===null){if(N=f.shared.pending,N===null)break;c1=N,N=c1.next,c1.next=null,f.lastBaseUpdate=c1,f.shared.pending=null}}while(!0);n1===null&&(U=u1),f.baseState=U,f.firstBaseUpdate=X,f.lastBaseUpdate=n1,z===null&&(f.shared.lanes=0),T3|=w,e.lanes=w,e.memoizedState=u1}}function dl(e,c){if(typeof e!="function")throw Error(i(191,e));e.call(c)}function fl(e,c){var l=e.callbacks;if(l!==null)for(e.callbacks=null,e=0;ez?z:8;var w=R.T,N={};R.T=N,P7(e,!1,c,l);try{var U=f(),X=R.S;if(X!==null&&X(N,U),U!==null&&typeof U=="object"&&typeof U.then=="function"){var n1=jf(U,o);n8(e,c,n1,f4(e))}else n8(e,c,o,f4(e))}catch(u1){n8(e,c,{then:function(){},status:"rejected",reason:u1},f4())}finally{P.p=z,w!==null&&N.types!==null&&(w.types=N.types),R.T=w}}function _f(){}function I7(e,c,l,o){if(e.tag!==5)throw Error(i(476));var f=Pl(e).queue;$l(e,f,c,J,l===null?_f:function(){return Zl(e),l(o)})}function Pl(e){var c=e.memoizedState;if(c!==null)return c;c={memoizedState:J,baseState:J,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:l3,lastRenderedState:J},next:null};var l={};return c.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:l3,lastRenderedState:l},next:null},e.memoizedState=c,e=e.alternate,e!==null&&(e.memoizedState=c),c}function Zl(e){var c=Pl(e);c.next===null&&(c=e.alternate.memoizedState),n8(e,c.next.queue,{},f4())}function $7(){return I2(y8)}function Gl(){return V2().memoizedState}function Yl(){return V2().memoizedState}function qf(e){for(var c=e.return;c!==null;){switch(c.tag){case 24:case 3:var l=f4();e=N3(l);var o=j3(c,e,l);o!==null&&(n4(o,c,l),J0(o,c,l)),c={cache:z7()},e.payload=c;return}c=c.return}}function Df(e,c,l){var o=f4();l={lane:o,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},O5(e)?Xl(c,l):(l=s7(e,c,l,o),l!==null&&(n4(l,e,o),Ql(l,c,o)))}function Kl(e,c,l){var o=f4();n8(e,c,l,o)}function n8(e,c,l,o){var f={lane:o,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(O5(e))Xl(c,f);else{var z=e.alternate;if(e.lanes===0&&(z===null||z.lanes===0)&&(z=c.lastRenderedReducer,z!==null))try{var w=c.lastRenderedState,N=z(w,l);if(f.hasEagerState=!0,f.eagerState=N,i4(N,w))return y5(e,c,f,0),m2===null&&b5(),!1}catch{}finally{}if(l=s7(e,c,f,o),l!==null)return n4(l,e,o),Ql(l,c,o),!0}return!1}function P7(e,c,l,o){if(o={lane:2,revertLane:w9(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},O5(e)){if(c)throw Error(i(479))}else c=s7(e,l,o,2),c!==null&&n4(c,e,2)}function O5(e){var c=e.alternate;return e===U1||c!==null&&c===U1}function Xl(e,c){K6=k5=!0;var l=e.pending;l===null?c.next=c:(c.next=l.next,l.next=c),e.pending=c}function Ql(e,c,l){if((l&4194048)!==0){var o=c.lanes;o&=e.pendingLanes,l|=o,c.lanes=l,en(e,l)}}var l8={readContext:I2,use:T5,useCallback:w2,useContext:w2,useEffect:w2,useImperativeHandle:w2,useLayoutEffect:w2,useInsertionEffect:w2,useMemo:w2,useReducer:w2,useRef:w2,useState:w2,useDebugValue:w2,useDeferredValue:w2,useTransition:w2,useSyncExternalStore:w2,useId:w2,useHostTransitionStatus:w2,useFormState:w2,useActionState:w2,useOptimistic:w2,useMemoCache:w2,useCacheRefresh:w2};l8.useEffectEvent=w2;var Wl={readContext:I2,use:T5,useCallback:function(e,c){return K2().memoizedState=[e,c===void 0?null:c],e},useContext:I2,useEffect:Rl,useImperativeHandle:function(e,c,l){l=l!=null?l.concat([e]):null,q5(4194308,4,ql.bind(null,c,e),l)},useLayoutEffect:function(e,c){return q5(4194308,4,e,c)},useInsertionEffect:function(e,c){q5(4,2,e,c)},useMemo:function(e,c){var l=K2();c=c===void 0?null:c;var o=e();if(u6){r4(!0);try{e()}finally{r4(!1)}}return l.memoizedState=[o,c],o},useReducer:function(e,c,l){var o=K2();if(l!==void 0){var f=l(c);if(u6){r4(!0);try{l(c)}finally{r4(!1)}}}else f=c;return o.memoizedState=o.baseState=f,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:f},o.queue=e,e=e.dispatch=Df.bind(null,U1,e),[o.memoizedState,e]},useRef:function(e){var c=K2();return e={current:e},c.memoizedState=e},useState:function(e){e=_7(e);var c=e.queue,l=Kl.bind(null,U1,c);return c.dispatch=l,[e.memoizedState,l]},useDebugValue:O7,useDeferredValue:function(e,c){var l=K2();return U7(l,e,c)},useTransition:function(){var e=_7(!1);return e=$l.bind(null,U1,e.queue,!0,!1),K2().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,c,l){var o=U1,f=K2();if(W1){if(l===void 0)throw Error(i(407));l=l()}else{if(l=c(),m2===null)throw Error(i(349));(X1&127)!==0||zl(o,c,l)}f.memoizedState=l;var z={value:l,getSnapshot:c};return f.queue=z,Rl(yl.bind(null,o,z,e),[e]),o.flags|=2048,Q6(9,{destroy:void 0},bl.bind(null,o,z,l,c),null),l},useId:function(){var e=K2(),c=m2.identifierPrefix;if(W1){var l=I4,o=U4;l=(o&~(1<<32-y1(o)-1)).toString(32)+l,c="_"+c+"R_"+l,l=R5++,0<\/script>",z=z.removeChild(z.firstChild);break;case"select":z=typeof o.is=="string"?w.createElement("select",{is:o.is}):w.createElement("select"),o.multiple?z.multiple=!0:o.size&&(z.size=o.size);break;default:z=typeof o.is=="string"?w.createElement(f,{is:o.is}):w.createElement(f)}}z[O2]=c,z[W2]=o;t:for(w=c.child;w!==null;){if(w.tag===5||w.tag===6)z.appendChild(w.stateNode);else if(w.tag!==4&&w.tag!==27&&w.child!==null){w.child.return=w,w=w.child;continue}if(w===c)break t;for(;w.sibling===null;){if(w.return===null||w.return===c)break t;w=w.return}w.sibling.return=w.return,w=w.sibling}c.stateNode=z;t:switch(P2(z,f,o),f){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break t;case"img":o=!0;break t;default:o=!1}o&&i3(c)}}return p2(c),l9(c,c.type,e===null?null:e.memoizedProps,c.pendingProps,l),null;case 6:if(e&&c.stateNode!=null)e.memoizedProps!==o&&i3(c);else{if(typeof o!="string"&&c.stateNode===null)throw Error(i(166));if(e=p1.current,U6(c)){if(e=c.stateNode,l=c.memoizedProps,o=null,f=U2,f!==null)switch(f.tag){case 27:case 5:o=f.memoizedProps}e[O2]=c,e=!!(e.nodeValue===l||o!==null&&o.suppressHydrationWarning===!0||gi(e.nodeValue,l)),e||V3(c,!0)}else e=it(e).createTextNode(o),e[O2]=c,c.stateNode=e}return p2(c),null;case 31:if(l=c.memoizedState,e===null||e.memoizedState!==null){if(o=U6(c),l!==null){if(e===null){if(!o)throw Error(i(318));if(e=c.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(i(557));e[O2]=c}else a6(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;p2(c),e=!1}else l=v7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),e=!0;if(!e)return c.flags&256?(u4(c),c):(u4(c),null);if((c.flags&128)!==0)throw Error(i(558))}return p2(c),null;case 13:if(o=c.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(f=U6(c),o!==null&&o.dehydrated!==null){if(e===null){if(!f)throw Error(i(318));if(f=c.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(i(317));f[O2]=c}else a6(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;p2(c),f=!1}else f=v7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=f),f=!0;if(!f)return c.flags&256?(u4(c),c):(u4(c),null)}return u4(c),(c.flags&128)!==0?(c.lanes=l,c):(l=o!==null,e=e!==null&&e.memoizedState!==null,l&&(o=c.child,f=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(f=o.alternate.memoizedState.cachePool.pool),z=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(z=o.memoizedState.cachePool.pool),z!==f&&(o.flags|=2048)),l!==e&&l&&(c.child.flags|=8192),Z5(c,c.updateQueue),p2(c),null);case 4:return F1(),e===null&&A9(c.stateNode.containerInfo),p2(c),null;case 10:return a3(c.type),p2(c),null;case 19:if(q(A2),o=c.memoizedState,o===null)return p2(c),null;if(f=(c.flags&128)!==0,z=o.rendering,z===null)if(f)i8(o,!1);else{if(C2!==0||e!==null&&(e.flags&128)!==0)for(e=c.child;e!==null;){if(z=F5(e),z!==null){for(c.flags|=128,i8(o,!1),e=z.updateQueue,c.updateQueue=e,Z5(c,e),c.subtreeFlags=0,e=l,l=c.child;l!==null;)Kn(l,e),l=l.sibling;return Y(A2,A2.current&1|2),W1&&e3(c,o.treeForkCount),c.child}e=e.sibling}o.tail!==null&&e1()>Q5&&(c.flags|=128,f=!0,i8(o,!1),c.lanes=4194304)}else{if(!f)if(e=F5(z),e!==null){if(c.flags|=128,f=!0,e=e.updateQueue,c.updateQueue=e,Z5(c,e),i8(o,!0),o.tail===null&&o.tailMode==="hidden"&&!z.alternate&&!W1)return p2(c),null}else 2*e1()-o.renderingStartTime>Q5&&l!==536870912&&(c.flags|=128,f=!0,i8(o,!1),c.lanes=4194304);o.isBackwards?(z.sibling=c.child,c.child=z):(e=o.last,e!==null?e.sibling=z:c.child=z,o.last=z)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=e1(),e.sibling=null,l=A2.current,Y(A2,f?l&1|2:l&1),W1&&e3(c,o.treeForkCount),e):(p2(c),null);case 22:case 23:return u4(c),V7(),o=c.memoizedState!==null,e!==null?e.memoizedState!==null!==o&&(c.flags|=8192):o&&(c.flags|=8192),o?(l&536870912)!==0&&(c.flags&128)===0&&(p2(c),c.subtreeFlags&6&&(c.flags|=8192)):p2(c),l=c.updateQueue,l!==null&&Z5(c,l.retryQueue),l=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),o=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(o=c.memoizedState.cachePool.pool),o!==l&&(c.flags|=2048),e!==null&&q(r6),null;case 24:return l=null,e!==null&&(l=e.memoizedState.cache),c.memoizedState.cache!==l&&(c.flags|=2048),a3(B2),p2(c),null;case 25:return null;case 30:return null}throw Error(i(156,c.tag))}function Pf(e,c){switch(f7(c),c.tag){case 1:return e=c.flags,e&65536?(c.flags=e&-65537|128,c):null;case 3:return a3(B2),F1(),e=c.flags,(e&65536)!==0&&(e&128)===0?(c.flags=e&-65537|128,c):null;case 26:case 27:case 5:return $1(c),null;case 31:if(c.memoizedState!==null){if(u4(c),c.alternate===null)throw Error(i(340));a6()}return e=c.flags,e&65536?(c.flags=e&-65537|128,c):null;case 13:if(u4(c),e=c.memoizedState,e!==null&&e.dehydrated!==null){if(c.alternate===null)throw Error(i(340));a6()}return e=c.flags,e&65536?(c.flags=e&-65537|128,c):null;case 19:return q(A2),null;case 4:return F1(),null;case 10:return a3(c.type),null;case 22:case 23:return u4(c),V7(),e!==null&&q(r6),e=c.flags,e&65536?(c.flags=e&-65537|128,c):null;case 24:return a3(B2),null;case 25:return null;default:return null}}function Mr(e,c){switch(f7(c),c.tag){case 3:a3(B2),F1();break;case 26:case 27:case 5:$1(c);break;case 4:F1();break;case 31:c.memoizedState!==null&&u4(c);break;case 13:u4(c);break;case 19:q(A2);break;case 10:a3(c.type);break;case 22:case 23:u4(c),V7(),e!==null&&q(r6);break;case 24:a3(B2)}}function s8(e,c){try{var l=c.updateQueue,o=l!==null?l.lastEffect:null;if(o!==null){var f=o.next;l=f;do{if((l.tag&e)===e){o=void 0;var z=l.create,w=l.inst;o=z(),w.destroy=o}l=l.next}while(l!==f)}}catch(N){r2(c,c.return,N)}}function R3(e,c,l){try{var o=c.updateQueue,f=o!==null?o.lastEffect:null;if(f!==null){var z=f.next;o=z;do{if((o.tag&e)===e){var w=o.inst,N=w.destroy;if(N!==void 0){w.destroy=void 0,f=c;var U=l,X=N;try{X()}catch(n1){r2(f,U,n1)}}}o=o.next}while(o!==z)}}catch(n1){r2(c,c.return,n1)}}function wr(e){var c=e.updateQueue;if(c!==null){var l=e.stateNode;try{fl(c,l)}catch(o){r2(e,e.return,o)}}}function Cr(e,c,l){l.props=h6(e.type,e.memoizedProps),l.state=e.memoizedState;try{l.componentWillUnmount()}catch(o){r2(e,c,o)}}function o8(e,c){try{var l=e.ref;if(l!==null){switch(e.tag){case 26:case 27:case 5:var o=e.stateNode;break;case 30:o=e.stateNode;break;default:o=e.stateNode}typeof l=="function"?e.refCleanup=l(o):l.current=o}}catch(f){r2(e,c,f)}}function $4(e,c){var l=e.ref,o=e.refCleanup;if(l!==null)if(typeof o=="function")try{o()}catch(f){r2(e,c,f)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(f){r2(e,c,f)}else l.current=null}function Sr(e){var c=e.type,l=e.memoizedProps,o=e.stateNode;try{t:switch(c){case"button":case"input":case"select":case"textarea":l.autoFocus&&o.focus();break t;case"img":l.src?o.src=l.src:l.srcSet&&(o.srcset=l.srcSet)}}catch(f){r2(e,e.return,f)}}function r9(e,c,l){try{var o=e.stateNode;fm(o,e.type,l,c),o[W2]=c}catch(f){r2(e,e.return,f)}}function Hr(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&U3(e.type)||e.tag===4}function i9(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Hr(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&U3(e.type)||e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function s9(e,c,l){var o=e.tag;if(o===5||o===6)e=e.stateNode,c?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(e,c):(c=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,c.appendChild(e),l=l._reactRootContainer,l!=null||c.onclick!==null||(c.onclick=W4));else if(o!==4&&(o===27&&U3(e.type)&&(l=e.stateNode,c=null),e=e.child,e!==null))for(s9(e,c,l),e=e.sibling;e!==null;)s9(e,c,l),e=e.sibling}function G5(e,c,l){var o=e.tag;if(o===5||o===6)e=e.stateNode,c?l.insertBefore(e,c):l.appendChild(e);else if(o!==4&&(o===27&&U3(e.type)&&(l=e.stateNode),e=e.child,e!==null))for(G5(e,c,l),e=e.sibling;e!==null;)G5(e,c,l),e=e.sibling}function Ar(e){var c=e.stateNode,l=e.memoizedProps;try{for(var o=e.type,f=c.attributes;f.length;)c.removeAttributeNode(f[0]);P2(c,o,l),c[O2]=e,c[W2]=l}catch(z){r2(e,e.return,z)}}var s3=!1,F2=!1,o9=!1,Vr=typeof WeakSet=="function"?WeakSet:Set,q2=null;function Zf(e,c){if(e=e.containerInfo,B9=mt,e=Dn(e),c7(e)){if("selectionStart"in e)var l={start:e.selectionStart,end:e.selectionEnd};else t:{l=(l=e.ownerDocument)&&l.defaultView||window;var o=l.getSelection&&l.getSelection();if(o&&o.rangeCount!==0){l=o.anchorNode;var f=o.anchorOffset,z=o.focusNode;o=o.focusOffset;try{l.nodeType,z.nodeType}catch{l=null;break t}var w=0,N=-1,U=-1,X=0,n1=0,u1=e,W=null;e:for(;;){for(var c1;u1!==l||f!==0&&u1.nodeType!==3||(N=w+f),u1!==z||o!==0&&u1.nodeType!==3||(U=w+o),u1.nodeType===3&&(w+=u1.nodeValue.length),(c1=u1.firstChild)!==null;)W=u1,u1=c1;for(;;){if(u1===e)break e;if(W===l&&++X===f&&(N=w),W===z&&++n1===o&&(U=w),(c1=u1.nextSibling)!==null)break;u1=W,W=u1.parentNode}u1=c1}l=N===-1||U===-1?null:{start:N,end:U}}else l=null}l=l||{start:0,end:0}}else l=null;for(N9={focusedElem:e,selectionRange:l},mt=!1,q2=c;q2!==null;)if(c=q2,e=c.child,(c.subtreeFlags&1028)!==0&&e!==null)e.return=c,q2=e;else for(;q2!==null;){switch(c=q2,z=c.alternate,e=c.flags,c.tag){case 0:if((e&4)!==0&&(e=c.updateQueue,e=e!==null?e.events:null,e!==null))for(l=0;l title"))),P2(z,o,l),z[O2]=e,_2(z),o=z;break t;case"link":var w=ki("link","href",f).get(o+(l.href||""));if(w){for(var N=0;Nd2&&(w=d2,d2=T1,T1=w);var Z=_n(N,T1),$=_n(N,d2);if(Z&&$&&(c1.rangeCount!==1||c1.anchorNode!==Z.node||c1.anchorOffset!==Z.offset||c1.focusNode!==$.node||c1.focusOffset!==$.offset)){var K=u1.createRange();K.setStart(Z.node,Z.offset),c1.removeAllRanges(),T1>d2?(c1.addRange(K),c1.extend($.node,$.offset)):(K.setEnd($.node,$.offset),c1.addRange(K))}}}}for(u1=[],c1=N;c1=c1.parentNode;)c1.nodeType===1&&u1.push({element:c1,left:c1.scrollLeft,top:c1.scrollTop});for(typeof N.focus=="function"&&N.focus(),N=0;Nl?32:l,R.T=null,l=p9,p9=null;var z=q3,w=f3;if(E2=0,c0=q3=null,f3=0,(n2&6)!==0)throw Error(i(331));var N=n2;if(n2|=4,qr(z.current),Er(z,z.current,w,l),n2=N,v8(0,!1),y2&&typeof y2.onPostCommitFiberRoot=="function")try{y2.onPostCommitFiberRoot(o2,z)}catch{}return!0}finally{P.p=f,R.T=o,ai(e,c)}}function li(e,c,l){c=z4(l,c),c=K7(e.stateNode,c,2),e=j3(e,c,2),e!==null&&(R0(e,2),P4(e))}function r2(e,c,l){if(e.tag===3)li(e,e,l);else for(;c!==null;){if(c.tag===3){li(c,e,l);break}else if(c.tag===1){var o=c.stateNode;if(typeof c.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(_3===null||!_3.has(o))){e=z4(l,e),l=rr(2),o=j3(c,l,2),o!==null&&(ir(l,o,c,e),R0(o,2),P4(o));break}}c=c.return}}function b9(e,c,l){var o=e.pingCache;if(o===null){o=e.pingCache=new Kf;var f=new Set;o.set(c,f)}else f=o.get(c),f===void 0&&(f=new Set,o.set(c,f));f.has(l)||(d9=!0,f.add(l),e=tm.bind(null,e,c,l),c.then(e,e))}function tm(e,c,l){var o=e.pingCache;o!==null&&o.delete(c),e.pingedLanes|=e.suspendedLanes&l,e.warmLanes&=~l,m2===e&&(X1&l)===l&&(C2===4||C2===3&&(X1&62914560)===X1&&300>e1()-X5?(n2&2)===0&&a0(e,0):f9|=l,e0===X1&&(e0=0)),P4(e)}function ri(e,c){c===0&&(c=Ja()),e=e6(e,c),e!==null&&(R0(e,c),P4(e))}function em(e){var c=e.memoizedState,l=0;c!==null&&(l=c.retryLane),ri(e,l)}function cm(e,c){var l=0;switch(e.tag){case 31:case 13:var o=e.stateNode,f=e.memoizedState;f!==null&&(l=f.retryLane);break;case 19:o=e.stateNode;break;case 22:o=e.stateNode._retryCache;break;default:throw Error(i(314))}o!==null&&o.delete(c),ri(e,l)}function am(e,c){return m1(e,c)}var at=null,l0=null,y9=!1,nt=!1,M9=!1,O3=0;function P4(e){e!==l0&&e.next===null&&(l0===null?at=l0=e:l0=l0.next=e),nt=!0,y9||(y9=!0,lm())}function v8(e,c){if(!M9&&nt){M9=!0;do for(var l=!1,o=at;o!==null;){if(e!==0){var f=o.pendingLanes;if(f===0)var z=0;else{var w=o.suspendedLanes,N=o.pingedLanes;z=(1<<31-y1(42|e)+1)-1,z&=f&~(w&~N),z=z&201326741?z&201326741|1:z?z|2:0}z!==0&&(l=!0,ui(o,z))}else z=X1,z=M2(o,o===m2?z:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(z&3)===0||F4(o,z)||(l=!0,ui(o,z));o=o.next}while(l);M9=!1}}function nm(){ii()}function ii(){nt=y9=!1;var e=0;O3!==0&&vm()&&(e=O3);for(var c=e1(),l=null,o=at;o!==null;){var f=o.next,z=si(o,c);z===0?(o.next=null,l===null?at=f:l.next=f,f===null&&(l0=l)):(l=o,(e!==0||(z&3)!==0)&&(nt=!0)),o=f}E2!==0&&E2!==5||v8(e),O3!==0&&(O3=0)}function si(e,c){for(var l=e.suspendedLanes,o=e.pingedLanes,f=e.expirationTimes,z=e.pendingLanes&-62914561;0N)break;var n1=U.transferSize,u1=U.initiatorType;n1&&xi(u1)&&(U=U.responseEnd,w+=n1*(U"u"?null:document;function Bi(e,c,l){var o=r0;if(o&&typeof c=="string"&&c){var f=g4(c);f='link[rel="'+e+'"][href="'+f+'"]',typeof l=="string"&&(f+='[crossorigin="'+l+'"]'),Li.has(f)||(Li.add(f),e={rel:e,crossOrigin:l,href:c},o.querySelector(f)===null&&(c=o.createElement("link"),P2(c,"link",e),_2(c),o.head.appendChild(c)))}}function Cm(e){m3.D(e),Bi("dns-prefetch",e,null)}function Sm(e,c){m3.C(e,c),Bi("preconnect",e,c)}function Hm(e,c,l){m3.L(e,c,l);var o=r0;if(o&&e&&c){var f='link[rel="preload"][as="'+g4(c)+'"]';c==="image"&&l&&l.imageSrcSet?(f+='[imagesrcset="'+g4(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(f+='[imagesizes="'+g4(l.imageSizes)+'"]')):f+='[href="'+g4(e)+'"]';var z=f;switch(c){case"style":z=i0(e);break;case"script":z=s0(e)}S4.has(z)||(e=b({rel:"preload",href:c==="image"&&l&&l.imageSrcSet?void 0:e,as:c},l),S4.set(z,e),o.querySelector(f)!==null||c==="style"&&o.querySelector(z8(z))||c==="script"&&o.querySelector(b8(z))||(c=o.createElement("link"),P2(c,"link",e),_2(c),o.head.appendChild(c)))}}function Am(e,c){m3.m(e,c);var l=r0;if(l&&e){var o=c&&typeof c.as=="string"?c.as:"script",f='link[rel="modulepreload"][as="'+g4(o)+'"][href="'+g4(e)+'"]',z=f;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":z=s0(e)}if(!S4.has(z)&&(e=b({rel:"modulepreload",href:e},c),S4.set(z,e),l.querySelector(f)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(b8(z)))return}o=l.createElement("link"),P2(o,"link",e),_2(o),l.head.appendChild(o)}}}function Vm(e,c,l){m3.S(e,c,l);var o=r0;if(o&&e){var f=L6(o).hoistableStyles,z=i0(e);c=c||"default";var w=f.get(z);if(!w){var N={loading:0,preload:null};if(w=o.querySelector(z8(z)))N.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":c},l),(l=S4.get(z))&&_9(e,l);var U=w=o.createElement("link");_2(U),P2(U,"link",e),U._p=new Promise(function(X,n1){U.onload=X,U.onerror=n1}),U.addEventListener("load",function(){N.loading|=1}),U.addEventListener("error",function(){N.loading|=2}),N.loading|=4,ot(w,c,o)}w={type:"stylesheet",instance:w,count:1,state:N},f.set(z,w)}}}function Lm(e,c){m3.X(e,c);var l=r0;if(l&&e){var o=L6(l).hoistableScripts,f=s0(e),z=o.get(f);z||(z=l.querySelector(b8(f)),z||(e=b({src:e,async:!0},c),(c=S4.get(f))&&q9(e,c),z=l.createElement("script"),_2(z),P2(z,"link",e),l.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},o.set(f,z))}}function Bm(e,c){m3.M(e,c);var l=r0;if(l&&e){var o=L6(l).hoistableScripts,f=s0(e),z=o.get(f);z||(z=l.querySelector(b8(f)),z||(e=b({src:e,async:!0,type:"module"},c),(c=S4.get(f))&&q9(e,c),z=l.createElement("script"),_2(z),P2(z,"link",e),l.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},o.set(f,z))}}function Ni(e,c,l,o){var f=(f=p1.current)?st(f):null;if(!f)throw Error(i(446));switch(e){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(c=i0(l.href),l=L6(f).hoistableStyles,o=l.get(c),o||(o={type:"style",instance:null,count:0,state:null},l.set(c,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){e=i0(l.href);var z=L6(f).hoistableStyles,w=z.get(e);if(w||(f=f.ownerDocument||f,w={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},z.set(e,w),(z=f.querySelector(z8(e)))&&!z._p&&(w.instance=z,w.state.loading=5),S4.has(e)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},S4.set(e,l),z||Nm(f,e,l,w.state))),c&&o===null)throw Error(i(528,""));return w}if(c&&o!==null)throw Error(i(529,""));return null;case"script":return c=l.async,l=l.src,typeof l=="string"&&c&&typeof c!="function"&&typeof c!="symbol"?(c=s0(l),l=L6(f).hoistableScripts,o=l.get(c),o||(o={type:"script",instance:null,count:0,state:null},l.set(c,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,e))}}function i0(e){return'href="'+g4(e)+'"'}function z8(e){return'link[rel="stylesheet"]['+e+"]"}function ji(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function Nm(e,c,l,o){e.querySelector('link[rel="preload"][as="style"]['+c+"]")?o.loading=1:(c=e.createElement("link"),o.preload=c,c.addEventListener("load",function(){return o.loading|=1}),c.addEventListener("error",function(){return o.loading|=2}),P2(c,"link",l),_2(c),e.head.appendChild(c))}function s0(e){return'[src="'+g4(e)+'"]'}function b8(e){return"script[async]"+e}function Fi(e,c,l){if(c.count++,c.instance===null)switch(c.type){case"style":var o=e.querySelector('style[data-href~="'+g4(l.href)+'"]');if(o)return c.instance=o,_2(o),o;var f=b({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return o=(e.ownerDocument||e).createElement("style"),_2(o),P2(o,"style",f),ot(o,l.precedence,e),c.instance=o;case"stylesheet":f=i0(l.href);var z=e.querySelector(z8(f));if(z)return c.state.loading|=4,c.instance=z,_2(z),z;o=ji(l),(f=S4.get(f))&&_9(o,f),z=(e.ownerDocument||e).createElement("link"),_2(z);var w=z;return w._p=new Promise(function(N,U){w.onload=N,w.onerror=U}),P2(z,"link",o),c.state.loading|=4,ot(z,l.precedence,e),c.instance=z;case"script":return z=s0(l.src),(f=e.querySelector(b8(z)))?(c.instance=f,_2(f),f):(o=l,(f=S4.get(z))&&(o=b({},l),q9(o,f)),e=e.ownerDocument||e,f=e.createElement("script"),_2(f),P2(f,"link",o),e.head.appendChild(f),c.instance=f);case"void":return null;default:throw Error(i(443,c.type))}else c.type==="stylesheet"&&(c.state.loading&4)===0&&(o=c.instance,c.state.loading|=4,ot(o,l.precedence,e));return c.instance}function ot(e,c,l){for(var o=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),f=o.length?o[o.length-1]:null,z=f,w=0;w title"):null)}function jm(e,c,l){if(l===1||c.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof c.precedence!="string"||typeof c.href!="string"||c.href==="")break;return!0;case"link":if(typeof c.rel!="string"||typeof c.href!="string"||c.href===""||c.onLoad||c.onError)break;switch(c.rel){case"stylesheet":return e=c.disabled,typeof c.precedence=="string"&&e==null;default:return!0}case"script":if(c.async&&typeof c.async!="function"&&typeof c.async!="symbol"&&!c.onLoad&&!c.onError&&c.src&&typeof c.src=="string")return!0}return!1}function Ei(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Fm(e,c,l,o){if(l.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var f=i0(o.href),z=c.querySelector(z8(f));if(z){c=z._p,c!==null&&typeof c=="object"&&typeof c.then=="function"&&(e.count++,e=ht.bind(e),c.then(e,e)),l.state.loading|=4,l.instance=z,_2(z);return}z=c.ownerDocument||c,o=ji(o),(f=S4.get(f))&&_9(o,f),z=z.createElement("link"),_2(z);var w=z;w._p=new Promise(function(N,U){w.onload=N,w.onerror=U}),P2(z,"link",o),l.instance=z}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(l,c),(c=l.state.preload)&&(l.state.loading&3)===0&&(e.count++,l=ht.bind(e),c.addEventListener("load",l),c.addEventListener("error",l))}}var D9=0;function km(e,c){return e.stylesheets&&e.count===0&&ft(e,e.stylesheets),0D9?50:800)+c);return e.unsuspend=l,function(){e.unsuspend=null,clearTimeout(o),clearTimeout(f)}}:null}function ht(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ft(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var dt=null;function ft(e,c){e.stylesheets=null,e.unsuspend!==null&&(e.count++,dt=new Map,c.forEach(Rm,e),dt=null,ht.call(e))}function Rm(e,c){if(!(c.state.loading&4)){var l=dt.get(e);if(l)var o=l.get(null);else{l=new Map,dt.set(e,l);for(var f=e.querySelectorAll("link[data-precedence],style[data-precedence]"),z=0;z"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(a){console.error(a)}}return t(),K9.exports=Qm(),K9.exports}var Jm=Wm();var rs="popstate";function tv(t={}){function a(i,u){let{pathname:h,search:d,hash:v}=i.location;return _c("",{pathname:h,search:d,hash:v},u.state&&u.state.usr||null,u.state&&u.state.key||"default")}function n(i,u){return typeof u=="string"?u:$8(u)}return cv(a,n,null,t)}function z2(t,a){if(t===!1||t===null||typeof t>"u")throw new Error(a)}function D4(t,a){if(!t){typeof console<"u"&&console.warn(a);try{throw new Error(a)}catch{}}}function ev(){return Math.random().toString(36).substring(2,10)}function is(t,a){return{usr:t.state,key:t.key,idx:a}}function _c(t,a,n=null,i){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof a=="string"?L0(a):a,state:n,key:a&&a.key||i||ev()}}function $8({pathname:t="/",search:a="",hash:n=""}){return a&&a!=="?"&&(t+=a.charAt(0)==="?"?a:"?"+a),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function L0(t){let a={};if(t){let n=t.indexOf("#");n>=0&&(a.hash=t.substring(n),t=t.substring(0,n));let i=t.indexOf("?");i>=0&&(a.search=t.substring(i),t=t.substring(0,i)),t&&(a.pathname=t)}return a}function cv(t,a,n,i={}){let{window:u=document.defaultView,v5Compat:h=!1}=i,d=u.history,v="POP",p=null,g=x();g==null&&(g=0,d.replaceState({...d.state,idx:g},""));function x(){return(d.state||{idx:null}).idx}function b(){v="POP";let C=x(),L=C==null?null:C-g;g=C,p&&p({action:v,location:S.location,delta:L})}function y(C,L){v="PUSH";let A=_c(S.location,C,L);g=x()+1;let V=is(A,g),F=S.createHref(A);try{d.pushState(V,"",F)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;u.location.assign(F)}h&&p&&p({action:v,location:S.location,delta:1})}function M(C,L){v="REPLACE";let A=_c(S.location,C,L);g=x();let V=is(A,g),F=S.createHref(A);d.replaceState(V,"",F),h&&p&&p({action:v,location:S.location,delta:0})}function H(C){return av(C)}let S={get action(){return v},get location(){return t(u,d)},listen(C){if(p)throw new Error("A history only accepts one active listener");return u.addEventListener(rs,b),p=C,()=>{u.removeEventListener(rs,b),p=null}},createHref(C){return a(u,C)},createURL:H,encodeLocation(C){let L=H(C);return{pathname:L.pathname,search:L.search,hash:L.hash}},push:y,replace:M,go(C){return d.go(C)}};return S}function av(t,a=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),z2(n,"No window.location.(origin|href) available to create URL");let i=typeof t=="string"?t:$8(t);return i=i.replace(/ $/,"%20"),!a&&i.startsWith("//")&&(i=n+i),new URL(i,n)}function au(t,a,n="/"){return nv(t,a,n,!1)}function nv(t,a,n,i){let u=typeof a=="string"?L0(a):a,h=M3(u.pathname||"/",n);if(h==null)return null;let d=nu(t);lv(d);let v=null;for(let p=0;v==null&&p{let x={relativePath:g===void 0?d.path||"":g,caseSensitive:d.caseSensitive===!0,childrenIndex:v,route:d};if(x.relativePath.startsWith("/")){if(!x.relativePath.startsWith(i)&&p)return;z2(x.relativePath.startsWith(i),`Absolute route path "${x.relativePath}" nested under path "${i}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),x.relativePath=x.relativePath.slice(i.length)}let b=b3([i,x.relativePath]),y=n.concat(x);d.children&&d.children.length>0&&(z2(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),nu(d.children,a,y,b,p)),!(d.path==null&&!d.index)&&a.push({path:b,score:dv(b,d.index),routesMeta:y})};return t.forEach((d,v)=>{if(d.path===""||!d.path?.includes("?"))h(d,v);else for(let p of lu(d.path))h(d,v,!0,p)}),a}function lu(t){let a=t.split("/");if(a.length===0)return[];let[n,...i]=a,u=n.endsWith("?"),h=n.replace(/\?$/,"");if(i.length===0)return u?[h,""]:[h];let d=lu(i.join("/")),v=[];return v.push(...d.map(p=>p===""?h:[h,p].join("/"))),u&&v.push(...d),v.map(p=>t.startsWith("/")&&p===""?"/":p)}function lv(t){t.sort((a,n)=>a.score!==n.score?n.score-a.score:fv(a.routesMeta.map(i=>i.childrenIndex),n.routesMeta.map(i=>i.childrenIndex)))}var rv=/^:[\w-]+$/,iv=3,sv=2,ov=1,uv=10,hv=-2,ss=t=>t==="*";function dv(t,a){let n=t.split("/"),i=n.length;return n.some(ss)&&(i+=hv),a&&(i+=sv),n.filter(u=>!ss(u)).reduce((u,h)=>u+(rv.test(h)?iv:h===""?ov:uv),i)}function fv(t,a){return t.length===a.length&&t.slice(0,-1).every((i,u)=>i===a[u])?t[t.length-1]-a[a.length-1]:0}function mv(t,a,n=!1){let{routesMeta:i}=t,u={},h="/",d=[];for(let v=0;v{if(x==="*"){let H=v[y]||"";d=h.slice(0,h.length-H.length).replace(/(.)\/+$/,"$1")}const M=v[y];return b&&!M?g[x]=void 0:g[x]=(M||"").replace(/%2F/g,"/"),g},{}),pathname:h,pathnameBase:d,pattern:t}}function vv(t,a=!1,n=!0){D4(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let i=[],u="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,v,p)=>(i.push({paramName:v,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(i.push({paramName:"*"}),u+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?u+="\\/*$":t!==""&&t!=="/"&&(u+="(?:(?=\\/|$))"),[new RegExp(u,a?void 0:"i"),i]}function pv(t){try{return t.split("/").map(a=>decodeURIComponent(a).replace(/\//g,"%2F")).join("/")}catch(a){return D4(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${a}).`),t}}function M3(t,a){if(a==="/")return t;if(!t.toLowerCase().startsWith(a.toLowerCase()))return null;let n=a.endsWith("/")?a.length-1:a.length,i=t.charAt(n);return i&&i!=="/"?null:t.slice(n)||"/"}var gv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,xv=t=>gv.test(t);function zv(t,a="/"){let{pathname:n,search:i="",hash:u=""}=typeof t=="string"?L0(t):t,h;if(n)if(xv(n))h=n;else{if(n.includes("//")){let d=n;n=n.replace(/\/\/+/g,"/"),D4(!1,`Pathnames cannot have embedded double slashes - normalizing ${d} -> ${n}`)}n.startsWith("/")?h=os(n.substring(1),"/"):h=os(n,a)}else h=a;return{pathname:h,search:Mv(i),hash:wv(u)}}function os(t,a){let n=a.replace(/\/+$/,"").split("/");return t.split("/").forEach(u=>{u===".."?n.length>1&&n.pop():u!=="."&&n.push(u)}),n.length>1?n.join("/"):"/"}function J9(t,a,n,i){return`Cannot include a '${t}' character in a manually specified \`to.${a}\` field [${JSON.stringify(i)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function bv(t){return t.filter((a,n)=>n===0||a.route.path&&a.route.path.length>0)}function ru(t){let a=bv(t);return a.map((n,i)=>i===a.length-1?n.pathname:n.pathnameBase)}function iu(t,a,n,i=!1){let u;typeof t=="string"?u=L0(t):(u={...t},z2(!u.pathname||!u.pathname.includes("?"),J9("?","pathname","search",u)),z2(!u.pathname||!u.pathname.includes("#"),J9("#","pathname","hash",u)),z2(!u.search||!u.search.includes("#"),J9("#","search","hash",u)));let h=t===""||u.pathname==="",d=h?"/":u.pathname,v;if(d==null)v=n;else{let b=a.length-1;if(!i&&d.startsWith("..")){let y=d.split("/");for(;y[0]==="..";)y.shift(),b-=1;u.pathname=y.join("/")}v=b>=0?a[b]:"/"}let p=zv(u,v),g=d&&d!=="/"&&d.endsWith("/"),x=(h||d===".")&&n.endsWith("/");return!p.pathname.endsWith("/")&&(g||x)&&(p.pathname+="/"),p}var b3=t=>t.join("/").replace(/\/\/+/g,"/"),yv=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),Mv=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,wv=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function Cv(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var su=["POST","PUT","PATCH","DELETE"];new Set(su);var Sv=["GET",...su];new Set(Sv);var B0=m.createContext(null);B0.displayName="DataRouter";var be=m.createContext(null);be.displayName="DataRouterState";m.createContext(!1);var ou=m.createContext({isTransitioning:!1});ou.displayName="ViewTransition";var Hv=m.createContext(new Map);Hv.displayName="Fetchers";var Av=m.createContext(null);Av.displayName="Await";var K4=m.createContext(null);K4.displayName="Navigation";var J8=m.createContext(null);J8.displayName="Location";var w3=m.createContext({outlet:null,matches:[],isDataRoute:!1});w3.displayName="Route";var ha=m.createContext(null);ha.displayName="RouteError";function Vv(t,{relative:a}={}){z2(t5(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:i}=m.useContext(K4),{hash:u,pathname:h,search:d}=e5(t,{relative:a}),v=h;return n!=="/"&&(v=h==="/"?n:b3([n,h])),i.createHref({pathname:v,search:d,hash:u})}function t5(){return m.useContext(J8)!=null}function X3(){return z2(t5(),"useLocation() may be used only in the context of a component."),m.useContext(J8).location}var uu="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function hu(t){m.useContext(K4).static||m.useLayoutEffect(t)}function Lv(){let{isDataRoute:t}=m.useContext(w3);return t?Uv():Bv()}function Bv(){z2(t5(),"useNavigate() may be used only in the context of a component.");let t=m.useContext(B0),{basename:a,navigator:n}=m.useContext(K4),{matches:i}=m.useContext(w3),{pathname:u}=X3(),h=JSON.stringify(ru(i)),d=m.useRef(!1);return hu(()=>{d.current=!0}),m.useCallback((p,g={})=>{if(D4(d.current,uu),!d.current)return;if(typeof p=="number"){n.go(p);return}let x=iu(p,JSON.parse(h),u,g.relative==="path");t==null&&a!=="/"&&(x.pathname=x.pathname==="/"?a:b3([a,x.pathname])),(g.replace?n.replace:n.push)(x,g.state,g)},[a,n,h,u,t])}m.createContext(null);function e5(t,{relative:a}={}){let{matches:n}=m.useContext(w3),{pathname:i}=X3(),u=JSON.stringify(ru(n));return m.useMemo(()=>iu(t,JSON.parse(u),i,a==="path"),[t,u,i,a])}function Nv(t,a){return du(t,a)}function du(t,a,n,i,u){z2(t5(),"useRoutes() may be used only in the context of a component.");let{navigator:h}=m.useContext(K4),{matches:d}=m.useContext(w3),v=d[d.length-1],p=v?v.params:{},g=v?v.pathname:"/",x=v?v.pathnameBase:"/",b=v&&v.route;{let A=b&&b.path||"";fu(g,!b||A.endsWith("*")||A.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${g}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. +`+o.stack}}var E1=Object.prototype.hasOwnProperty,g1=t.unstable_scheduleCallback,z1=t.unstable_cancelCallback,C1=t.unstable_shouldYield,a2=t.unstable_requestPaint,n1=t.unstable_now,x1=t.unstable_getCurrentPriorityLevel,j1=t.unstable_ImmediatePriority,L1=t.unstable_UserBlockingPriority,X1=t.unstable_NormalPriority,m1=t.unstable_LowPriority,P=t.unstable_IdlePriority,v1=t.log,N1=t.unstable_setDisableYieldValue,P1=null,Y1=null;function i2(e){if(typeof v1=="function"&&N1(e),Y1&&typeof Y1.setStrictMode=="function")try{Y1.setStrictMode(P1,e)}catch{}}var y1=Math.clz32?Math.clz32:e2,h2=Math.log,d2=Math.LN2;function e2(e){return e>>>=0,e===0?32:31-(h2(e)/d2|0)|0}var K1=256,w2=262144,O4=4194304;function v4(e){var c=e&42;if(c!==0)return c;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function C2(e,c,l){var o=e.pendingLanes;if(o===0)return 0;var f=0,z=e.suspendedLanes,w=e.pingedLanes;e=e.warmLanes;var j=o&134217727;return j!==0?(o=j&~z,o!==0?f=v4(o):(w&=j,w!==0?f=v4(w):l||(l=j&~e,l!==0&&(f=v4(l))))):(j=o&~z,j!==0?f=v4(j):w!==0?f=v4(w):l||(l=o&~e,l!==0&&(f=v4(l)))),f===0?0:c!==0&&c!==f&&(c&z)===0&&(z=f&-f,l=c&-c,z>=l||z===32&&(l&4194048)!==0)?c:f}function F4(e,c){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&c)===0}function Bd(e,c){switch(e){case 1:case 2:case 4:case 8:case 64:return c+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 c+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 tn(){var e=O4;return O4<<=1,(O4&62914560)===0&&(O4=4194304),e}function Ee(e){for(var c=[],l=0;31>l;l++)c.push(e);return c}function R0(e,c){e.pendingLanes|=c,c!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Nd(e,c,l,o,f,z){var w=e.pendingLanes;e.pendingLanes=l,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=l,e.entangledLanes&=l,e.errorRecoveryDisabledLanes&=l,e.shellSuspendCounter=0;var j=e.entanglements,I=e.expirationTimes,X=e.hiddenUpdates;for(l=w&~l;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var Td=/[\n"\\]/g;function g4(e){return e.replace(Td,function(c){return"\\"+c.charCodeAt(0).toString(16)+" "})}function Ue(e,c,l,o,f,z,w,j){e.name="",w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"?e.type=w:e.removeAttribute("type"),c!=null?w==="number"?(c===0&&e.value===""||e.value!=c)&&(e.value=""+p4(c)):e.value!==""+p4(c)&&(e.value=""+p4(c)):w!=="submit"&&w!=="reset"||e.removeAttribute("value"),c!=null?Ie(e,w,p4(c)):l!=null?Ie(e,w,p4(l)):o!=null&&e.removeAttribute("value"),f==null&&z!=null&&(e.defaultChecked=!!z),f!=null&&(e.checked=f&&typeof f!="function"&&typeof f!="symbol"),j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?e.name=""+p4(j):e.removeAttribute("name")}function mn(e,c,l,o,f,z,w,j){if(z!=null&&typeof z!="function"&&typeof z!="symbol"&&typeof z!="boolean"&&(e.type=z),c!=null||l!=null){if(!(z!=="submit"&&z!=="reset"||c!=null)){Oe(e);return}l=l!=null?""+p4(l):"",c=c!=null?""+p4(c):l,j||c===e.value||(e.value=c),e.defaultValue=c}o=o??f,o=typeof o!="function"&&typeof o!="symbol"&&!!o,e.checked=j?e.checked:!!o,e.defaultChecked=!!o,w!=null&&typeof w!="function"&&typeof w!="symbol"&&typeof w!="boolean"&&(e.name=w),Oe(e)}function Ie(e,c,l){c==="number"&&h5(e.ownerDocument)===e||e.defaultValue===""+l||(e.defaultValue=""+l)}function N6(e,c,l,o){if(e=e.options,c){c={};for(var f=0;f"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Ye=!1;if(J4)try{var q0={};Object.defineProperty(q0,"passive",{get:function(){Ye=!0}}),window.addEventListener("test",q0,q0),window.removeEventListener("test",q0,q0)}catch{Ye=!1}var S3=null,Ke=null,f5=null;function yn(){if(f5)return f5;var e,c=Ke,l=c.length,o,f="value"in S3?S3.value:S3.textContent,z=f.length;for(e=0;e=U0),An=" ",Ln=!1;function Vn(e,c){switch(e){case"keyup":return df.indexOf(c.keyCode)!==-1;case"keydown":return c.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Bn(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var R6=!1;function mf(e,c){switch(e){case"compositionend":return Bn(c);case"keypress":return c.which!==32?null:(Ln=!0,An);case"textInput":return e=c.data,e===An&&Ln?null:e;default:return null}}function vf(e,c){if(R6)return e==="compositionend"||!t7&&Vn(e,c)?(e=yn(),f5=Ke=S3=null,R6=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(c.ctrlKey||c.altKey||c.metaKey)||c.ctrlKey&&c.altKey){if(c.char&&1=c)return{node:l,offset:c-e};e=o}t:{for(;l;){if(l.nextSibling){l=l.nextSibling;break t}l=l.parentNode}l=void 0}l=_n(l)}}function Dn(e,c){return e&&c?e===c?!0:e&&e.nodeType===3?!1:c&&c.nodeType===3?Dn(e,c.parentNode):"contains"in e?e.contains(c):e.compareDocumentPosition?!!(e.compareDocumentPosition(c)&16):!1:!1}function On(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var c=h5(e.document);c instanceof e.HTMLIFrameElement;){try{var l=typeof c.contentWindow.location.href=="string"}catch{l=!1}if(l)e=c.contentWindow;else break;c=h5(e.document)}return c}function a7(e){var c=e&&e.nodeName&&e.nodeName.toLowerCase();return c&&(c==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||c==="textarea"||e.contentEditable==="true")}var wf=J4&&"documentMode"in document&&11>=document.documentMode,E6=null,n7=null,Z0=null,l7=!1;function Un(e,c,l){var o=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;l7||E6==null||E6!==h5(o)||(o=E6,"selectionStart"in o&&a7(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),Z0&&P0(Z0,o)||(Z0=o,o=rt(n7,"onSelect"),0>=w,f-=w,U4=1<<32-y1(c)+f|l<I1?(t2=S1,S1=null):t2=S1.sibling;var r2=J(G,S1,K[I1],i1);if(r2===null){S1===null&&(S1=t2);break}e&&S1&&r2.alternate===null&&c(G,S1),$=z(r2,$,I1),l2===null?F1=r2:l2.sibling=r2,l2=r2,S1=t2}if(I1===K.length)return l(G,S1),c2&&e3(G,I1),F1;if(S1===null){for(;I1I1?(t2=S1,S1=null):t2=S1.sibling;var G3=J(G,S1,r2.value,i1);if(G3===null){S1===null&&(S1=t2);break}e&&S1&&G3.alternate===null&&c(G,S1),$=z(G3,$,I1),l2===null?F1=G3:l2.sibling=G3,l2=G3,S1=t2}if(r2.done)return l(G,S1),c2&&e3(G,I1),F1;if(S1===null){for(;!r2.done;I1++,r2=K.next())r2=s1(G,r2.value,i1),r2!==null&&($=z(r2,$,I1),l2===null?F1=r2:l2.sibling=r2,l2=r2);return c2&&e3(G,I1),F1}for(S1=o(S1);!r2.done;I1++,r2=K.next())r2=e1(S1,G,I1,r2.value,i1),r2!==null&&(e&&r2.alternate!==null&&S1.delete(r2.key===null?I1:r2.key),$=z(r2,$,I1),l2===null?F1=r2:l2.sibling=r2,l2=r2);return e&&S1.forEach(function(Im){return c(G,Im)}),c2&&e3(G,I1),F1}function v2(G,$,K,i1){if(typeof K=="object"&&K!==null&&K.type===S&&K.key===null&&(K=K.props.children),typeof K=="object"&&K!==null){switch(K.$$typeof){case y:t:{for(var F1=K.key;$!==null;){if($.key===F1){if(F1=K.type,F1===S){if($.tag===7){l(G,$.sibling),i1=f($,K.props.children),i1.return=G,G=i1;break t}}else if($.elementType===F1||typeof F1=="object"&&F1!==null&&F1.$$typeof===N&&s6(F1)===$.type){l(G,$.sibling),i1=f($,K.props),W0(i1,K),i1.return=G,G=i1;break t}l(G,$);break}else c(G,$);$=$.sibling}K.type===S?(i1=a6(K.props.children,G.mode,i1,K.key),i1.return=G,G=i1):(i1=w5(K.type,K.key,K.props,null,G.mode,i1),W0(i1,K),i1.return=G,G=i1)}return w(G);case A:t:{for(F1=K.key;$!==null;){if($.key===F1)if($.tag===4&&$.stateNode.containerInfo===K.containerInfo&&$.stateNode.implementation===K.implementation){l(G,$.sibling),i1=f($,K.children||[]),i1.return=G,G=i1;break t}else{l(G,$);break}else c(G,$);$=$.sibling}i1=d7(K,G.mode,i1),i1.return=G,G=i1}return w(G);case N:return K=s6(K),v2(G,$,K,i1)}if(Q(K))return w1(G,$,K,i1);if(Z(K)){if(F1=Z(K),typeof F1!="function")throw Error(i(150));return K=F1.call(K),R1(G,$,K,i1)}if(typeof K.then=="function")return v2(G,$,B5(K),i1);if(K.$$typeof===H)return v2(G,$,H5(G,K),i1);N5(G,K)}return typeof K=="string"&&K!==""||typeof K=="number"||typeof K=="bigint"?(K=""+K,$!==null&&$.tag===6?(l(G,$.sibling),i1=f($,K),i1.return=G,G=i1):(l(G,$),i1=h7(K,G.mode,i1),i1.return=G,G=i1),w(G)):l(G,$)}return function(G,$,K,i1){try{Q0=0;var F1=v2(G,$,K,i1);return G6=null,F1}catch(S1){if(S1===Z6||S1===L5)throw S1;var l2=s4(29,S1,null,G.mode);return l2.lanes=i1,l2.return=G,l2}finally{}}}var u6=hl(!0),dl=hl(!1),B3=!1;function C7(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function S7(e,c){e=e.updateQueue,c.updateQueue===e&&(c.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function N3(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function j3(e,c,l){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(s2&2)!==0){var f=o.pending;return f===null?c.next=c:(c.next=f.next,f.next=c),o.pending=c,c=M5(e),Kn(e,null,l),c}return y5(e,o,c,l),M5(e)}function J0(e,c,l){if(c=c.updateQueue,c!==null&&(c=c.shared,(l&4194048)!==0)){var o=c.lanes;o&=e.pendingLanes,l|=o,c.lanes=l,cn(e,l)}}function H7(e,c){var l=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,l===o)){var f=null,z=null;if(l=l.firstBaseUpdate,l!==null){do{var w={lane:l.lane,tag:l.tag,payload:l.payload,callback:null,next:null};z===null?f=z=w:z=z.next=w,l=l.next}while(l!==null);z===null?f=z=c:z=z.next=c}else f=z=c;l={baseState:o.baseState,firstBaseUpdate:f,lastBaseUpdate:z,shared:o.shared,callbacks:o.callbacks},e.updateQueue=l;return}e=l.lastBaseUpdate,e===null?l.firstBaseUpdate=c:e.next=c,l.lastBaseUpdate=c}var A7=!1;function t8(){if(A7){var e=P6;if(e!==null)throw e}}function e8(e,c,l,o){A7=!1;var f=e.updateQueue;B3=!1;var z=f.firstBaseUpdate,w=f.lastBaseUpdate,j=f.shared.pending;if(j!==null){f.shared.pending=null;var I=j,X=I.next;I.next=null,w===null?z=X:w.next=X,w=I;var l1=e.alternate;l1!==null&&(l1=l1.updateQueue,j=l1.lastBaseUpdate,j!==w&&(j===null?l1.firstBaseUpdate=X:j.next=X,l1.lastBaseUpdate=I))}if(z!==null){var s1=f.baseState;w=0,l1=X=I=null,j=z;do{var J=j.lane&-536870913,e1=J!==j.lane;if(e1?(J1&J)===J:(o&J)===J){J!==0&&J===$6&&(A7=!0),l1!==null&&(l1=l1.next={lane:0,tag:j.tag,payload:j.payload,callback:null,next:null});t:{var w1=e,R1=j;J=c;var v2=l;switch(R1.tag){case 1:if(w1=R1.payload,typeof w1=="function"){s1=w1.call(v2,s1,J);break t}s1=w1;break t;case 3:w1.flags=w1.flags&-65537|128;case 0:if(w1=R1.payload,J=typeof w1=="function"?w1.call(v2,s1,J):w1,J==null)break t;s1=b({},s1,J);break t;case 2:B3=!0}}J=j.callback,J!==null&&(e.flags|=64,e1&&(e.flags|=8192),e1=f.callbacks,e1===null?f.callbacks=[J]:e1.push(J))}else e1={lane:J,tag:j.tag,payload:j.payload,callback:j.callback,next:null},l1===null?(X=l1=e1,I=s1):l1=l1.next=e1,w|=J;if(j=j.next,j===null){if(j=f.shared.pending,j===null)break;e1=j,j=e1.next,e1.next=null,f.lastBaseUpdate=e1,f.shared.pending=null}}while(!0);l1===null&&(I=s1),f.baseState=I,f.firstBaseUpdate=X,f.lastBaseUpdate=l1,z===null&&(f.shared.lanes=0),T3|=w,e.lanes=w,e.memoizedState=s1}}function fl(e,c){if(typeof e!="function")throw Error(i(191,e));e.call(c)}function ml(e,c){var l=e.callbacks;if(l!==null)for(e.callbacks=null,e=0;ez?z:8;var w=k.T,j={};k.T=j,Z7(e,!1,c,l);try{var I=f(),X=k.S;if(X!==null&&X(j,I),I!==null&&typeof I=="object"&&typeof I.then=="function"){var l1=jf(I,o);n8(e,c,l1,f4(e))}else n8(e,c,o,f4(e))}catch(s1){n8(e,c,{then:function(){},status:"rejected",reason:s1},f4())}finally{O.p=z,w!==null&&j.types!==null&&(w.types=j.types),k.T=w}}function _f(){}function $7(e,c,l,o){if(e.tag!==5)throw Error(i(476));var f=Zl(e).queue;Pl(e,f,c,W,l===null?_f:function(){return Gl(e),l(o)})}function Zl(e){var c=e.memoizedState;if(c!==null)return c;c={memoizedState:W,baseState:W,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:l3,lastRenderedState:W},next:null};var l={};return c.next={memoizedState:l,baseState:l,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:l3,lastRenderedState:l},next:null},e.memoizedState=c,e=e.alternate,e!==null&&(e.memoizedState=c),c}function Gl(e){var c=Zl(e);c.next===null&&(c=e.alternate.memoizedState),n8(e,c.next.queue,{},f4())}function P7(){return P2(y8)}function Yl(){return B2().memoizedState}function Kl(){return B2().memoizedState}function qf(e){for(var c=e.return;c!==null;){switch(c.tag){case 24:case 3:var l=f4();e=N3(l);var o=j3(c,e,l);o!==null&&(l4(o,c,l),J0(o,c,l)),c={cache:b7()},e.payload=c;return}c=c.return}}function Df(e,c,l){var o=f4();l={lane:o,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null},O5(e)?Ql(c,l):(l=o7(e,c,l,o),l!==null&&(l4(l,e,o),Wl(l,c,o)))}function Xl(e,c,l){var o=f4();n8(e,c,l,o)}function n8(e,c,l,o){var f={lane:o,revertLane:0,gesture:null,action:l,hasEagerState:!1,eagerState:null,next:null};if(O5(e))Ql(c,f);else{var z=e.alternate;if(e.lanes===0&&(z===null||z.lanes===0)&&(z=c.lastRenderedReducer,z!==null))try{var w=c.lastRenderedState,j=z(w,l);if(f.hasEagerState=!0,f.eagerState=j,i4(j,w))return y5(e,c,f,0),p2===null&&b5(),!1}catch{}finally{}if(l=o7(e,c,f,o),l!==null)return l4(l,e,o),Wl(l,c,o),!0}return!1}function Z7(e,c,l,o){if(o={lane:2,revertLane:C9(),gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},O5(e)){if(c)throw Error(i(479))}else c=o7(e,l,o,2),c!==null&&l4(c,e,2)}function O5(e){var c=e.alternate;return e===U1||c!==null&&c===U1}function Ql(e,c){K6=k5=!0;var l=e.pending;l===null?c.next=c:(c.next=l.next,l.next=c),e.pending=c}function Wl(e,c,l){if((l&4194048)!==0){var o=c.lanes;o&=e.pendingLanes,l|=o,c.lanes=l,cn(e,l)}}var l8={readContext:P2,use:T5,useCallback:S2,useContext:S2,useEffect:S2,useImperativeHandle:S2,useLayoutEffect:S2,useInsertionEffect:S2,useMemo:S2,useReducer:S2,useRef:S2,useState:S2,useDebugValue:S2,useDeferredValue:S2,useTransition:S2,useSyncExternalStore:S2,useId:S2,useHostTransitionStatus:S2,useFormState:S2,useActionState:S2,useOptimistic:S2,useMemoCache:S2,useCacheRefresh:S2};l8.useEffectEvent=S2;var Jl={readContext:P2,use:T5,useCallback:function(e,c){return X2().memoizedState=[e,c===void 0?null:c],e},useContext:P2,useEffect:El,useImperativeHandle:function(e,c,l){l=l!=null?l.concat([e]):null,q5(4194308,4,Dl.bind(null,c,e),l)},useLayoutEffect:function(e,c){return q5(4194308,4,e,c)},useInsertionEffect:function(e,c){q5(4,2,e,c)},useMemo:function(e,c){var l=X2();c=c===void 0?null:c;var o=e();if(h6){i2(!0);try{e()}finally{i2(!1)}}return l.memoizedState=[o,c],o},useReducer:function(e,c,l){var o=X2();if(l!==void 0){var f=l(c);if(h6){i2(!0);try{l(c)}finally{i2(!1)}}}else f=c;return o.memoizedState=o.baseState=f,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:f},o.queue=e,e=e.dispatch=Df.bind(null,U1,e),[o.memoizedState,e]},useRef:function(e){var c=X2();return e={current:e},c.memoizedState=e},useState:function(e){e=q7(e);var c=e.queue,l=Xl.bind(null,U1,c);return c.dispatch=l,[e.memoizedState,l]},useDebugValue:U7,useDeferredValue:function(e,c){var l=X2();return I7(l,e,c)},useTransition:function(){var e=q7(!1);return e=Pl.bind(null,U1,e.queue,!0,!1),X2().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,c,l){var o=U1,f=X2();if(c2){if(l===void 0)throw Error(i(407));l=l()}else{if(l=c(),p2===null)throw Error(i(349));(J1&127)!==0||bl(o,c,l)}f.memoizedState=l;var z={value:l,getSnapshot:c};return f.queue=z,El(Ml.bind(null,o,z,e),[e]),o.flags|=2048,Q6(9,{destroy:void 0},yl.bind(null,o,z,l,c),null),l},useId:function(){var e=X2(),c=p2.identifierPrefix;if(c2){var l=I4,o=U4;l=(o&~(1<<32-y1(o)-1)).toString(32)+l,c="_"+c+"R_"+l,l=R5++,0<\/script>",z=z.removeChild(z.firstChild);break;case"select":z=typeof o.is=="string"?w.createElement("select",{is:o.is}):w.createElement("select"),o.multiple?z.multiple=!0:o.size&&(z.size=o.size);break;default:z=typeof o.is=="string"?w.createElement(f,{is:o.is}):w.createElement(f)}}z[I2]=c,z[J2]=o;t:for(w=c.child;w!==null;){if(w.tag===5||w.tag===6)z.appendChild(w.stateNode);else if(w.tag!==4&&w.tag!==27&&w.child!==null){w.child.return=w,w=w.child;continue}if(w===c)break t;for(;w.sibling===null;){if(w.return===null||w.return===c)break t;w=w.return}w.sibling.return=w.return,w=w.sibling}c.stateNode=z;t:switch(G2(z,f,o),f){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break t;case"img":o=!0;break t;default:o=!1}o&&i3(c)}}return x2(c),r9(c,c.type,e===null?null:e.memoizedProps,c.pendingProps,l),null;case 6:if(e&&c.stateNode!=null)e.memoizedProps!==o&&i3(c);else{if(typeof o!="string"&&c.stateNode===null)throw Error(i(166));if(e=u1.current,U6(c)){if(e=c.stateNode,l=c.memoizedProps,o=null,f=$2,f!==null)switch(f.tag){case 27:case 5:o=f.memoizedProps}e[I2]=c,e=!!(e.nodeValue===l||o!==null&&o.suppressHydrationWarning===!0||xi(e.nodeValue,l)),e||L3(c,!0)}else e=it(e).createTextNode(o),e[I2]=c,c.stateNode=e}return x2(c),null;case 31:if(l=c.memoizedState,e===null||e.memoizedState!==null){if(o=U6(c),l!==null){if(e===null){if(!o)throw Error(i(318));if(e=c.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(i(557));e[I2]=c}else n6(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;x2(c),e=!1}else l=p7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=l),e=!0;if(!e)return c.flags&256?(u4(c),c):(u4(c),null);if((c.flags&128)!==0)throw Error(i(558))}return x2(c),null;case 13:if(o=c.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(f=U6(c),o!==null&&o.dehydrated!==null){if(e===null){if(!f)throw Error(i(318));if(f=c.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(i(317));f[I2]=c}else n6(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;x2(c),f=!1}else f=p7(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=f),f=!0;if(!f)return c.flags&256?(u4(c),c):(u4(c),null)}return u4(c),(c.flags&128)!==0?(c.lanes=l,c):(l=o!==null,e=e!==null&&e.memoizedState!==null,l&&(o=c.child,f=null,o.alternate!==null&&o.alternate.memoizedState!==null&&o.alternate.memoizedState.cachePool!==null&&(f=o.alternate.memoizedState.cachePool.pool),z=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(z=o.memoizedState.cachePool.pool),z!==f&&(o.flags|=2048)),l!==e&&l&&(c.child.flags|=8192),Z5(c,c.updateQueue),x2(c),null);case 4:return B1(),e===null&&L9(c.stateNode.containerInfo),x2(c),null;case 10:return a3(c.type),x2(c),null;case 19:if(U(V2),o=c.memoizedState,o===null)return x2(c),null;if(f=(c.flags&128)!==0,z=o.rendering,z===null)if(f)i8(o,!1);else{if(H2!==0||e!==null&&(e.flags&128)!==0)for(e=c.child;e!==null;){if(z=F5(e),z!==null){for(c.flags|=128,i8(o,!1),e=z.updateQueue,c.updateQueue=e,Z5(c,e),c.subtreeFlags=0,e=l,l=c.child;l!==null;)Xn(l,e),l=l.sibling;return Y(V2,V2.current&1|2),c2&&e3(c,o.treeForkCount),c.child}e=e.sibling}o.tail!==null&&n1()>Q5&&(c.flags|=128,f=!0,i8(o,!1),c.lanes=4194304)}else{if(!f)if(e=F5(z),e!==null){if(c.flags|=128,f=!0,e=e.updateQueue,c.updateQueue=e,Z5(c,e),i8(o,!0),o.tail===null&&o.tailMode==="hidden"&&!z.alternate&&!c2)return x2(c),null}else 2*n1()-o.renderingStartTime>Q5&&l!==536870912&&(c.flags|=128,f=!0,i8(o,!1),c.lanes=4194304);o.isBackwards?(z.sibling=c.child,c.child=z):(e=o.last,e!==null?e.sibling=z:c.child=z,o.last=z)}return o.tail!==null?(e=o.tail,o.rendering=e,o.tail=e.sibling,o.renderingStartTime=n1(),e.sibling=null,l=V2.current,Y(V2,f?l&1|2:l&1),c2&&e3(c,o.treeForkCount),e):(x2(c),null);case 22:case 23:return u4(c),V7(),o=c.memoizedState!==null,e!==null?e.memoizedState!==null!==o&&(c.flags|=8192):o&&(c.flags|=8192),o?(l&536870912)!==0&&(c.flags&128)===0&&(x2(c),c.subtreeFlags&6&&(c.flags|=8192)):x2(c),l=c.updateQueue,l!==null&&Z5(c,l.retryQueue),l=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(l=e.memoizedState.cachePool.pool),o=null,c.memoizedState!==null&&c.memoizedState.cachePool!==null&&(o=c.memoizedState.cachePool.pool),o!==l&&(c.flags|=2048),e!==null&&U(i6),null;case 24:return l=null,e!==null&&(l=e.memoizedState.cache),c.memoizedState.cache!==l&&(c.flags|=2048),a3(j2),x2(c),null;case 25:return null;case 30:return null}throw Error(i(156,c.tag))}function Pf(e,c){switch(m7(c),c.tag){case 1:return e=c.flags,e&65536?(c.flags=e&-65537|128,c):null;case 3:return a3(j2),B1(),e=c.flags,(e&65536)!==0&&(e&128)===0?(c.flags=e&-65537|128,c):null;case 26:case 27:case 5:return G1(c),null;case 31:if(c.memoizedState!==null){if(u4(c),c.alternate===null)throw Error(i(340));n6()}return e=c.flags,e&65536?(c.flags=e&-65537|128,c):null;case 13:if(u4(c),e=c.memoizedState,e!==null&&e.dehydrated!==null){if(c.alternate===null)throw Error(i(340));n6()}return e=c.flags,e&65536?(c.flags=e&-65537|128,c):null;case 19:return U(V2),null;case 4:return B1(),null;case 10:return a3(c.type),null;case 22:case 23:return u4(c),V7(),e!==null&&U(i6),e=c.flags,e&65536?(c.flags=e&-65537|128,c):null;case 24:return a3(j2),null;case 25:return null;default:return null}}function wr(e,c){switch(m7(c),c.tag){case 3:a3(j2),B1();break;case 26:case 27:case 5:G1(c);break;case 4:B1();break;case 31:c.memoizedState!==null&&u4(c);break;case 13:u4(c);break;case 19:U(V2);break;case 10:a3(c.type);break;case 22:case 23:u4(c),V7(),e!==null&&U(i6);break;case 24:a3(j2)}}function s8(e,c){try{var l=c.updateQueue,o=l!==null?l.lastEffect:null;if(o!==null){var f=o.next;l=f;do{if((l.tag&e)===e){o=void 0;var z=l.create,w=l.inst;o=z(),w.destroy=o}l=l.next}while(l!==f)}}catch(j){u2(c,c.return,j)}}function R3(e,c,l){try{var o=c.updateQueue,f=o!==null?o.lastEffect:null;if(f!==null){var z=f.next;o=z;do{if((o.tag&e)===e){var w=o.inst,j=w.destroy;if(j!==void 0){w.destroy=void 0,f=c;var I=l,X=j;try{X()}catch(l1){u2(f,I,l1)}}}o=o.next}while(o!==z)}}catch(l1){u2(c,c.return,l1)}}function Cr(e){var c=e.updateQueue;if(c!==null){var l=e.stateNode;try{ml(c,l)}catch(o){u2(e,e.return,o)}}}function Sr(e,c,l){l.props=d6(e.type,e.memoizedProps),l.state=e.memoizedState;try{l.componentWillUnmount()}catch(o){u2(e,c,o)}}function o8(e,c){try{var l=e.ref;if(l!==null){switch(e.tag){case 26:case 27:case 5:var o=e.stateNode;break;case 30:o=e.stateNode;break;default:o=e.stateNode}typeof l=="function"?e.refCleanup=l(o):l.current=o}}catch(f){u2(e,c,f)}}function $4(e,c){var l=e.ref,o=e.refCleanup;if(l!==null)if(typeof o=="function")try{o()}catch(f){u2(e,c,f)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof l=="function")try{l(null)}catch(f){u2(e,c,f)}else l.current=null}function Hr(e){var c=e.type,l=e.memoizedProps,o=e.stateNode;try{t:switch(c){case"button":case"input":case"select":case"textarea":l.autoFocus&&o.focus();break t;case"img":l.src?o.src=l.src:l.srcSet&&(o.srcset=l.srcSet)}}catch(f){u2(e,e.return,f)}}function i9(e,c,l){try{var o=e.stateNode;fm(o,e.type,l,c),o[J2]=c}catch(f){u2(e,e.return,f)}}function Ar(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&U3(e.type)||e.tag===4}function s9(e){t:for(;;){for(;e.sibling===null;){if(e.return===null||Ar(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&U3(e.type)||e.flags&2||e.child===null||e.tag===4)continue t;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function o9(e,c,l){var o=e.tag;if(o===5||o===6)e=e.stateNode,c?(l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l).insertBefore(e,c):(c=l.nodeType===9?l.body:l.nodeName==="HTML"?l.ownerDocument.body:l,c.appendChild(e),l=l._reactRootContainer,l!=null||c.onclick!==null||(c.onclick=W4));else if(o!==4&&(o===27&&U3(e.type)&&(l=e.stateNode,c=null),e=e.child,e!==null))for(o9(e,c,l),e=e.sibling;e!==null;)o9(e,c,l),e=e.sibling}function G5(e,c,l){var o=e.tag;if(o===5||o===6)e=e.stateNode,c?l.insertBefore(e,c):l.appendChild(e);else if(o!==4&&(o===27&&U3(e.type)&&(l=e.stateNode),e=e.child,e!==null))for(G5(e,c,l),e=e.sibling;e!==null;)G5(e,c,l),e=e.sibling}function Lr(e){var c=e.stateNode,l=e.memoizedProps;try{for(var o=e.type,f=c.attributes;f.length;)c.removeAttributeNode(f[0]);G2(c,o,l),c[I2]=e,c[J2]=l}catch(z){u2(e,e.return,z)}}var s3=!1,R2=!1,u9=!1,Vr=typeof WeakSet=="function"?WeakSet:Set,U2=null;function Zf(e,c){if(e=e.containerInfo,N9=mt,e=On(e),a7(e)){if("selectionStart"in e)var l={start:e.selectionStart,end:e.selectionEnd};else t:{l=(l=e.ownerDocument)&&l.defaultView||window;var o=l.getSelection&&l.getSelection();if(o&&o.rangeCount!==0){l=o.anchorNode;var f=o.anchorOffset,z=o.focusNode;o=o.focusOffset;try{l.nodeType,z.nodeType}catch{l=null;break t}var w=0,j=-1,I=-1,X=0,l1=0,s1=e,J=null;e:for(;;){for(var e1;s1!==l||f!==0&&s1.nodeType!==3||(j=w+f),s1!==z||o!==0&&s1.nodeType!==3||(I=w+o),s1.nodeType===3&&(w+=s1.nodeValue.length),(e1=s1.firstChild)!==null;)J=s1,s1=e1;for(;;){if(s1===e)break e;if(J===l&&++X===f&&(j=w),J===z&&++l1===o&&(I=w),(e1=s1.nextSibling)!==null)break;s1=J,J=s1.parentNode}s1=e1}l=j===-1||I===-1?null:{start:j,end:I}}else l=null}l=l||{start:0,end:0}}else l=null;for(j9={focusedElem:e,selectionRange:l},mt=!1,U2=c;U2!==null;)if(c=U2,e=c.child,(c.subtreeFlags&1028)!==0&&e!==null)e.return=c,U2=e;else for(;U2!==null;){switch(c=U2,z=c.alternate,e=c.flags,c.tag){case 0:if((e&4)!==0&&(e=c.updateQueue,e=e!==null?e.events:null,e!==null))for(l=0;l title"))),G2(z,o,l),z[I2]=e,O2(z),o=z;break t;case"link":var w=Ri("link","href",f).get(o+(l.href||""));if(w){for(var j=0;jv2&&(w=v2,v2=R1,R1=w);var G=qn(j,R1),$=qn(j,v2);if(G&&$&&(e1.rangeCount!==1||e1.anchorNode!==G.node||e1.anchorOffset!==G.offset||e1.focusNode!==$.node||e1.focusOffset!==$.offset)){var K=s1.createRange();K.setStart(G.node,G.offset),e1.removeAllRanges(),R1>v2?(e1.addRange(K),e1.extend($.node,$.offset)):(K.setEnd($.node,$.offset),e1.addRange(K))}}}}for(s1=[],e1=j;e1=e1.parentNode;)e1.nodeType===1&&s1.push({element:e1,left:e1.scrollLeft,top:e1.scrollTop});for(typeof j.focus=="function"&&j.focus(),j=0;jl?32:l,k.T=null,l=g9,g9=null;var z=q3,w=f3;if(_2=0,c0=q3=null,f3=0,(s2&6)!==0)throw Error(i(331));var j=s2;if(s2|=4,Dr(z.current),Tr(z,z.current,w,l),s2=j,v8(0,!1),Y1&&typeof Y1.onPostCommitFiberRoot=="function")try{Y1.onPostCommitFiberRoot(P1,z)}catch{}return!0}finally{O.p=f,k.T=o,ni(e,c)}}function ri(e,c,l){c=z4(l,c),c=X7(e.stateNode,c,2),e=j3(e,c,2),e!==null&&(R0(e,2),P4(e))}function u2(e,c,l){if(e.tag===3)ri(e,e,l);else for(;c!==null;){if(c.tag===3){ri(c,e,l);break}else if(c.tag===1){var o=c.stateNode;if(typeof c.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(_3===null||!_3.has(o))){e=z4(l,e),l=ir(2),o=j3(c,l,2),o!==null&&(sr(l,o,c,e),R0(o,2),P4(o));break}}c=c.return}}function y9(e,c,l){var o=e.pingCache;if(o===null){o=e.pingCache=new Kf;var f=new Set;o.set(c,f)}else f=o.get(c),f===void 0&&(f=new Set,o.set(c,f));f.has(l)||(f9=!0,f.add(l),e=tm.bind(null,e,c,l),c.then(e,e))}function tm(e,c,l){var o=e.pingCache;o!==null&&o.delete(c),e.pingedLanes|=e.suspendedLanes&l,e.warmLanes&=~l,p2===e&&(J1&l)===l&&(H2===4||H2===3&&(J1&62914560)===J1&&300>n1()-X5?(s2&2)===0&&a0(e,0):m9|=l,e0===J1&&(e0=0)),P4(e)}function ii(e,c){c===0&&(c=tn()),e=c6(e,c),e!==null&&(R0(e,c),P4(e))}function em(e){var c=e.memoizedState,l=0;c!==null&&(l=c.retryLane),ii(e,l)}function cm(e,c){var l=0;switch(e.tag){case 31:case 13:var o=e.stateNode,f=e.memoizedState;f!==null&&(l=f.retryLane);break;case 19:o=e.stateNode;break;case 22:o=e.stateNode._retryCache;break;default:throw Error(i(314))}o!==null&&o.delete(c),ii(e,l)}function am(e,c){return g1(e,c)}var at=null,l0=null,M9=!1,nt=!1,w9=!1,O3=0;function P4(e){e!==l0&&e.next===null&&(l0===null?at=l0=e:l0=l0.next=e),nt=!0,M9||(M9=!0,lm())}function v8(e,c){if(!w9&&nt){w9=!0;do for(var l=!1,o=at;o!==null;){if(e!==0){var f=o.pendingLanes;if(f===0)var z=0;else{var w=o.suspendedLanes,j=o.pingedLanes;z=(1<<31-y1(42|e)+1)-1,z&=f&~(w&~j),z=z&201326741?z&201326741|1:z?z|2:0}z!==0&&(l=!0,hi(o,z))}else z=J1,z=C2(o,o===p2?z:0,o.cancelPendingCommit!==null||o.timeoutHandle!==-1),(z&3)===0||F4(o,z)||(l=!0,hi(o,z));o=o.next}while(l);w9=!1}}function nm(){si()}function si(){nt=M9=!1;var e=0;O3!==0&&vm()&&(e=O3);for(var c=n1(),l=null,o=at;o!==null;){var f=o.next,z=oi(o,c);z===0?(o.next=null,l===null?at=f:l.next=f,f===null&&(l0=l)):(l=o,(e!==0||(z&3)!==0)&&(nt=!0)),o=f}_2!==0&&_2!==5||v8(e),O3!==0&&(O3=0)}function oi(e,c){for(var l=e.suspendedLanes,o=e.pingedLanes,f=e.expirationTimes,z=e.pendingLanes&-62914561;0j)break;var l1=I.transferSize,s1=I.initiatorType;l1&&zi(s1)&&(I=I.responseEnd,w+=l1*(I"u"?null:document;function Ni(e,c,l){var o=r0;if(o&&typeof c=="string"&&c){var f=g4(c);f='link[rel="'+e+'"][href="'+f+'"]',typeof l=="string"&&(f+='[crossorigin="'+l+'"]'),Bi.has(f)||(Bi.add(f),e={rel:e,crossOrigin:l,href:c},o.querySelector(f)===null&&(c=o.createElement("link"),G2(c,"link",e),O2(c),o.head.appendChild(c)))}}function Cm(e){m3.D(e),Ni("dns-prefetch",e,null)}function Sm(e,c){m3.C(e,c),Ni("preconnect",e,c)}function Hm(e,c,l){m3.L(e,c,l);var o=r0;if(o&&e&&c){var f='link[rel="preload"][as="'+g4(c)+'"]';c==="image"&&l&&l.imageSrcSet?(f+='[imagesrcset="'+g4(l.imageSrcSet)+'"]',typeof l.imageSizes=="string"&&(f+='[imagesizes="'+g4(l.imageSizes)+'"]')):f+='[href="'+g4(e)+'"]';var z=f;switch(c){case"style":z=i0(e);break;case"script":z=s0(e)}S4.has(z)||(e=b({rel:"preload",href:c==="image"&&l&&l.imageSrcSet?void 0:e,as:c},l),S4.set(z,e),o.querySelector(f)!==null||c==="style"&&o.querySelector(z8(z))||c==="script"&&o.querySelector(b8(z))||(c=o.createElement("link"),G2(c,"link",e),O2(c),o.head.appendChild(c)))}}function Am(e,c){m3.m(e,c);var l=r0;if(l&&e){var o=c&&typeof c.as=="string"?c.as:"script",f='link[rel="modulepreload"][as="'+g4(o)+'"][href="'+g4(e)+'"]',z=f;switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":z=s0(e)}if(!S4.has(z)&&(e=b({rel:"modulepreload",href:e},c),S4.set(z,e),l.querySelector(f)===null)){switch(o){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(l.querySelector(b8(z)))return}o=l.createElement("link"),G2(o,"link",e),O2(o),l.head.appendChild(o)}}}function Lm(e,c,l){m3.S(e,c,l);var o=r0;if(o&&e){var f=V6(o).hoistableStyles,z=i0(e);c=c||"default";var w=f.get(z);if(!w){var j={loading:0,preload:null};if(w=o.querySelector(z8(z)))j.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":c},l),(l=S4.get(z))&&q9(e,l);var I=w=o.createElement("link");O2(I),G2(I,"link",e),I._p=new Promise(function(X,l1){I.onload=X,I.onerror=l1}),I.addEventListener("load",function(){j.loading|=1}),I.addEventListener("error",function(){j.loading|=2}),j.loading|=4,ot(w,c,o)}w={type:"stylesheet",instance:w,count:1,state:j},f.set(z,w)}}}function Vm(e,c){m3.X(e,c);var l=r0;if(l&&e){var o=V6(l).hoistableScripts,f=s0(e),z=o.get(f);z||(z=l.querySelector(b8(f)),z||(e=b({src:e,async:!0},c),(c=S4.get(f))&&D9(e,c),z=l.createElement("script"),O2(z),G2(z,"link",e),l.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},o.set(f,z))}}function Bm(e,c){m3.M(e,c);var l=r0;if(l&&e){var o=V6(l).hoistableScripts,f=s0(e),z=o.get(f);z||(z=l.querySelector(b8(f)),z||(e=b({src:e,async:!0,type:"module"},c),(c=S4.get(f))&&D9(e,c),z=l.createElement("script"),O2(z),G2(z,"link",e),l.head.appendChild(z)),z={type:"script",instance:z,count:1,state:null},o.set(f,z))}}function ji(e,c,l,o){var f=(f=u1.current)?st(f):null;if(!f)throw Error(i(446));switch(e){case"meta":case"title":return null;case"style":return typeof l.precedence=="string"&&typeof l.href=="string"?(c=i0(l.href),l=V6(f).hoistableStyles,o=l.get(c),o||(o={type:"style",instance:null,count:0,state:null},l.set(c,o)),o):{type:"void",instance:null,count:0,state:null};case"link":if(l.rel==="stylesheet"&&typeof l.href=="string"&&typeof l.precedence=="string"){e=i0(l.href);var z=V6(f).hoistableStyles,w=z.get(e);if(w||(f=f.ownerDocument||f,w={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},z.set(e,w),(z=f.querySelector(z8(e)))&&!z._p&&(w.instance=z,w.state.loading=5),S4.has(e)||(l={rel:"preload",as:"style",href:l.href,crossOrigin:l.crossOrigin,integrity:l.integrity,media:l.media,hrefLang:l.hrefLang,referrerPolicy:l.referrerPolicy},S4.set(e,l),z||Nm(f,e,l,w.state))),c&&o===null)throw Error(i(528,""));return w}if(c&&o!==null)throw Error(i(529,""));return null;case"script":return c=l.async,l=l.src,typeof l=="string"&&c&&typeof c!="function"&&typeof c!="symbol"?(c=s0(l),l=V6(f).hoistableScripts,o=l.get(c),o||(o={type:"script",instance:null,count:0,state:null},l.set(c,o)),o):{type:"void",instance:null,count:0,state:null};default:throw Error(i(444,e))}}function i0(e){return'href="'+g4(e)+'"'}function z8(e){return'link[rel="stylesheet"]['+e+"]"}function Fi(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function Nm(e,c,l,o){e.querySelector('link[rel="preload"][as="style"]['+c+"]")?o.loading=1:(c=e.createElement("link"),o.preload=c,c.addEventListener("load",function(){return o.loading|=1}),c.addEventListener("error",function(){return o.loading|=2}),G2(c,"link",l),O2(c),e.head.appendChild(c))}function s0(e){return'[src="'+g4(e)+'"]'}function b8(e){return"script[async]"+e}function ki(e,c,l){if(c.count++,c.instance===null)switch(c.type){case"style":var o=e.querySelector('style[data-href~="'+g4(l.href)+'"]');if(o)return c.instance=o,O2(o),o;var f=b({},l,{"data-href":l.href,"data-precedence":l.precedence,href:null,precedence:null});return o=(e.ownerDocument||e).createElement("style"),O2(o),G2(o,"style",f),ot(o,l.precedence,e),c.instance=o;case"stylesheet":f=i0(l.href);var z=e.querySelector(z8(f));if(z)return c.state.loading|=4,c.instance=z,O2(z),z;o=Fi(l),(f=S4.get(f))&&q9(o,f),z=(e.ownerDocument||e).createElement("link"),O2(z);var w=z;return w._p=new Promise(function(j,I){w.onload=j,w.onerror=I}),G2(z,"link",o),c.state.loading|=4,ot(z,l.precedence,e),c.instance=z;case"script":return z=s0(l.src),(f=e.querySelector(b8(z)))?(c.instance=f,O2(f),f):(o=l,(f=S4.get(z))&&(o=b({},l),D9(o,f)),e=e.ownerDocument||e,f=e.createElement("script"),O2(f),G2(f,"link",o),e.head.appendChild(f),c.instance=f);case"void":return null;default:throw Error(i(443,c.type))}else c.type==="stylesheet"&&(c.state.loading&4)===0&&(o=c.instance,c.state.loading|=4,ot(o,l.precedence,e));return c.instance}function ot(e,c,l){for(var o=l.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),f=o.length?o[o.length-1]:null,z=f,w=0;w title"):null)}function jm(e,c,l){if(l===1||c.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof c.precedence!="string"||typeof c.href!="string"||c.href==="")break;return!0;case"link":if(typeof c.rel!="string"||typeof c.href!="string"||c.href===""||c.onLoad||c.onError)break;switch(c.rel){case"stylesheet":return e=c.disabled,typeof c.precedence=="string"&&e==null;default:return!0}case"script":if(c.async&&typeof c.async!="function"&&typeof c.async!="symbol"&&!c.onLoad&&!c.onError&&c.src&&typeof c.src=="string")return!0}return!1}function Ti(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function Fm(e,c,l,o){if(l.type==="stylesheet"&&(typeof o.media!="string"||matchMedia(o.media).matches!==!1)&&(l.state.loading&4)===0){if(l.instance===null){var f=i0(o.href),z=c.querySelector(z8(f));if(z){c=z._p,c!==null&&typeof c=="object"&&typeof c.then=="function"&&(e.count++,e=ht.bind(e),c.then(e,e)),l.state.loading|=4,l.instance=z,O2(z);return}z=c.ownerDocument||c,o=Fi(o),(f=S4.get(f))&&q9(o,f),z=z.createElement("link"),O2(z);var w=z;w._p=new Promise(function(j,I){w.onload=j,w.onerror=I}),G2(z,"link",o),l.instance=z}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(l,c),(c=l.state.preload)&&(l.state.loading&3)===0&&(e.count++,l=ht.bind(e),c.addEventListener("load",l),c.addEventListener("error",l))}}var O9=0;function km(e,c){return e.stylesheets&&e.count===0&&ft(e,e.stylesheets),0O9?50:800)+c);return e.unsuspend=l,function(){e.unsuspend=null,clearTimeout(o),clearTimeout(f)}}:null}function ht(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)ft(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var dt=null;function ft(e,c){e.stylesheets=null,e.unsuspend!==null&&(e.count++,dt=new Map,c.forEach(Rm,e),dt=null,ht.call(e))}function Rm(e,c){if(!(c.state.loading&4)){var l=dt.get(e);if(l)var o=l.get(null);else{l=new Map,dt.set(e,l);for(var f=e.querySelectorAll("link[data-precedence],style[data-precedence]"),z=0;z"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(a){console.error(a)}}return t(),X9.exports=Qm(),X9.exports}var Jm=Wm();var is="popstate";function tv(t={}){function a(i,u){let{pathname:h,search:d,hash:v}=i.location;return qc("",{pathname:h,search:d,hash:v},u.state&&u.state.usr||null,u.state&&u.state.key||"default")}function n(i,u){return typeof u=="string"?u:$8(u)}return cv(a,n,null,t)}function y2(t,a){if(t===!1||t===null||typeof t>"u")throw new Error(a)}function D4(t,a){if(!t){typeof console<"u"&&console.warn(a);try{throw new Error(a)}catch{}}}function ev(){return Math.random().toString(36).substring(2,10)}function ss(t,a){return{usr:t.state,key:t.key,idx:a}}function qc(t,a,n=null,i){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof a=="string"?V0(a):a,state:n,key:a&&a.key||i||ev()}}function $8({pathname:t="/",search:a="",hash:n=""}){return a&&a!=="?"&&(t+=a.charAt(0)==="?"?a:"?"+a),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function V0(t){let a={};if(t){let n=t.indexOf("#");n>=0&&(a.hash=t.substring(n),t=t.substring(0,n));let i=t.indexOf("?");i>=0&&(a.search=t.substring(i),t=t.substring(0,i)),t&&(a.pathname=t)}return a}function cv(t,a,n,i={}){let{window:u=document.defaultView,v5Compat:h=!1}=i,d=u.history,v="POP",p=null,x=g();x==null&&(x=0,d.replaceState({...d.state,idx:x},""));function g(){return(d.state||{idx:null}).idx}function b(){v="POP";let C=g(),V=C==null?null:C-x;x=C,p&&p({action:v,location:S.location,delta:V})}function M(C,V){v="PUSH";let L=qc(S.location,C,V);x=g()+1;let H=ss(L,x),F=S.createHref(L);try{d.pushState(H,"",F)}catch(_){if(_ instanceof DOMException&&_.name==="DataCloneError")throw _;u.location.assign(F)}h&&p&&p({action:v,location:S.location,delta:1})}function y(C,V){v="REPLACE";let L=qc(S.location,C,V);x=g();let H=ss(L,x),F=S.createHref(L);d.replaceState(H,"",F),h&&p&&p({action:v,location:S.location,delta:0})}function A(C){return av(C)}let S={get action(){return v},get location(){return t(u,d)},listen(C){if(p)throw new Error("A history only accepts one active listener");return u.addEventListener(is,b),p=C,()=>{u.removeEventListener(is,b),p=null}},createHref(C){return a(u,C)},createURL:A,encodeLocation(C){let V=A(C);return{pathname:V.pathname,search:V.search,hash:V.hash}},push:M,replace:y,go(C){return d.go(C)}};return S}function av(t,a=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),y2(n,"No window.location.(origin|href) available to create URL");let i=typeof t=="string"?t:$8(t);return i=i.replace(/ $/,"%20"),!a&&i.startsWith("//")&&(i=n+i),new URL(i,n)}function nu(t,a,n="/"){return nv(t,a,n,!1)}function nv(t,a,n,i){let u=typeof a=="string"?V0(a):a,h=M3(u.pathname||"/",n);if(h==null)return null;let d=lu(t);lv(d);let v=null;for(let p=0;v==null&&p{let g={relativePath:x===void 0?d.path||"":x,caseSensitive:d.caseSensitive===!0,childrenIndex:v,route:d};if(g.relativePath.startsWith("/")){if(!g.relativePath.startsWith(i)&&p)return;y2(g.relativePath.startsWith(i),`Absolute route path "${g.relativePath}" nested under path "${i}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),g.relativePath=g.relativePath.slice(i.length)}let b=b3([i,g.relativePath]),M=n.concat(g);d.children&&d.children.length>0&&(y2(d.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),lu(d.children,a,M,b,p)),!(d.path==null&&!d.index)&&a.push({path:b,score:dv(b,d.index),routesMeta:M})};return t.forEach((d,v)=>{if(d.path===""||!d.path?.includes("?"))h(d,v);else for(let p of ru(d.path))h(d,v,!0,p)}),a}function ru(t){let a=t.split("/");if(a.length===0)return[];let[n,...i]=a,u=n.endsWith("?"),h=n.replace(/\?$/,"");if(i.length===0)return u?[h,""]:[h];let d=ru(i.join("/")),v=[];return v.push(...d.map(p=>p===""?h:[h,p].join("/"))),u&&v.push(...d),v.map(p=>t.startsWith("/")&&p===""?"/":p)}function lv(t){t.sort((a,n)=>a.score!==n.score?n.score-a.score:fv(a.routesMeta.map(i=>i.childrenIndex),n.routesMeta.map(i=>i.childrenIndex)))}var rv=/^:[\w-]+$/,iv=3,sv=2,ov=1,uv=10,hv=-2,os=t=>t==="*";function dv(t,a){let n=t.split("/"),i=n.length;return n.some(os)&&(i+=hv),a&&(i+=sv),n.filter(u=>!os(u)).reduce((u,h)=>u+(rv.test(h)?iv:h===""?ov:uv),i)}function fv(t,a){return t.length===a.length&&t.slice(0,-1).every((i,u)=>i===a[u])?t[t.length-1]-a[a.length-1]:0}function mv(t,a,n=!1){let{routesMeta:i}=t,u={},h="/",d=[];for(let v=0;v{if(g==="*"){let A=v[M]||"";d=h.slice(0,h.length-A.length).replace(/(.)\/+$/,"$1")}const y=v[M];return b&&!y?x[g]=void 0:x[g]=(y||"").replace(/%2F/g,"/"),x},{}),pathname:h,pathnameBase:d,pattern:t}}function vv(t,a=!1,n=!0){D4(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let i=[],u="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,v,p)=>(i.push({paramName:v,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(i.push({paramName:"*"}),u+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?u+="\\/*$":t!==""&&t!=="/"&&(u+="(?:(?=\\/|$))"),[new RegExp(u,a?void 0:"i"),i]}function pv(t){try{return t.split("/").map(a=>decodeURIComponent(a).replace(/\//g,"%2F")).join("/")}catch(a){return D4(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${a}).`),t}}function M3(t,a){if(a==="/")return t;if(!t.toLowerCase().startsWith(a.toLowerCase()))return null;let n=a.endsWith("/")?a.length-1:a.length,i=t.charAt(n);return i&&i!=="/"?null:t.slice(n)||"/"}var gv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,xv=t=>gv.test(t);function zv(t,a="/"){let{pathname:n,search:i="",hash:u=""}=typeof t=="string"?V0(t):t,h;if(n)if(xv(n))h=n;else{if(n.includes("//")){let d=n;n=n.replace(/\/\/+/g,"/"),D4(!1,`Pathnames cannot have embedded double slashes - normalizing ${d} -> ${n}`)}n.startsWith("/")?h=us(n.substring(1),"/"):h=us(n,a)}else h=a;return{pathname:h,search:Mv(i),hash:wv(u)}}function us(t,a){let n=a.replace(/\/+$/,"").split("/");return t.split("/").forEach(u=>{u===".."?n.length>1&&n.pop():u!=="."&&n.push(u)}),n.length>1?n.join("/"):"/"}function tc(t,a,n,i){return`Cannot include a '${t}' character in a manually specified \`to.${a}\` field [${JSON.stringify(i)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function bv(t){return t.filter((a,n)=>n===0||a.route.path&&a.route.path.length>0)}function iu(t){let a=bv(t);return a.map((n,i)=>i===a.length-1?n.pathname:n.pathnameBase)}function su(t,a,n,i=!1){let u;typeof t=="string"?u=V0(t):(u={...t},y2(!u.pathname||!u.pathname.includes("?"),tc("?","pathname","search",u)),y2(!u.pathname||!u.pathname.includes("#"),tc("#","pathname","hash",u)),y2(!u.search||!u.search.includes("#"),tc("#","search","hash",u)));let h=t===""||u.pathname==="",d=h?"/":u.pathname,v;if(d==null)v=n;else{let b=a.length-1;if(!i&&d.startsWith("..")){let M=d.split("/");for(;M[0]==="..";)M.shift(),b-=1;u.pathname=M.join("/")}v=b>=0?a[b]:"/"}let p=zv(u,v),x=d&&d!=="/"&&d.endsWith("/"),g=(h||d===".")&&n.endsWith("/");return!p.pathname.endsWith("/")&&(x||g)&&(p.pathname+="/"),p}var b3=t=>t.join("/").replace(/\/\/+/g,"/"),yv=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),Mv=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,wv=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;function Cv(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var ou=["POST","PUT","PATCH","DELETE"];new Set(ou);var Sv=["GET",...ou];new Set(Sv);var B0=m.createContext(null);B0.displayName="DataRouter";var ye=m.createContext(null);ye.displayName="DataRouterState";m.createContext(!1);var uu=m.createContext({isTransitioning:!1});uu.displayName="ViewTransition";var Hv=m.createContext(new Map);Hv.displayName="Fetchers";var Av=m.createContext(null);Av.displayName="Await";var K4=m.createContext(null);K4.displayName="Navigation";var J8=m.createContext(null);J8.displayName="Location";var w3=m.createContext({outlet:null,matches:[],isDataRoute:!1});w3.displayName="Route";var da=m.createContext(null);da.displayName="RouteError";function Lv(t,{relative:a}={}){y2(t5(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:i}=m.useContext(K4),{hash:u,pathname:h,search:d}=e5(t,{relative:a}),v=h;return n!=="/"&&(v=h==="/"?n:b3([n,h])),i.createHref({pathname:v,search:d,hash:u})}function t5(){return m.useContext(J8)!=null}function Q3(){return y2(t5(),"useLocation() may be used only in the context of a component."),m.useContext(J8).location}var hu="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function du(t){m.useContext(K4).static||m.useLayoutEffect(t)}function Vv(){let{isDataRoute:t}=m.useContext(w3);return t?Uv():Bv()}function Bv(){y2(t5(),"useNavigate() may be used only in the context of a component.");let t=m.useContext(B0),{basename:a,navigator:n}=m.useContext(K4),{matches:i}=m.useContext(w3),{pathname:u}=Q3(),h=JSON.stringify(iu(i)),d=m.useRef(!1);return du(()=>{d.current=!0}),m.useCallback((p,x={})=>{if(D4(d.current,hu),!d.current)return;if(typeof p=="number"){n.go(p);return}let g=su(p,JSON.parse(h),u,x.relative==="path");t==null&&a!=="/"&&(g.pathname=g.pathname==="/"?a:b3([a,g.pathname])),(x.replace?n.replace:n.push)(g,x.state,x)},[a,n,h,u,t])}m.createContext(null);function e5(t,{relative:a}={}){let{matches:n}=m.useContext(w3),{pathname:i}=Q3(),u=JSON.stringify(iu(n));return m.useMemo(()=>su(t,JSON.parse(u),i,a==="path"),[t,u,i,a])}function Nv(t,a){return fu(t,a)}function fu(t,a,n,i,u){y2(t5(),"useRoutes() may be used only in the context of a component.");let{navigator:h}=m.useContext(K4),{matches:d}=m.useContext(w3),v=d[d.length-1],p=v?v.params:{},x=v?v.pathname:"/",g=v?v.pathnameBase:"/",b=v&&v.route;{let L=b&&b.path||"";mu(x,!b||L.endsWith("*")||L.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${x}" (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 y=X3(),M;if(a){let A=typeof a=="string"?L0(a):a;z2(x==="/"||A.pathname?.startsWith(x),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${x}" but pathname "${A.pathname}" was given in the \`location\` prop.`),M=A}else M=y;let H=M.pathname||"/",S=H;if(x!=="/"){let A=x.replace(/^\//,"").split("/");S="/"+H.replace(/^\//,"").split("/").slice(A.length).join("/")}let C=au(t,{pathname:S});D4(b||C!=null,`No routes matched location "${M.pathname}${M.search}${M.hash}" `),D4(C==null||C[C.length-1].route.element!==void 0||C[C.length-1].route.Component!==void 0||C[C.length-1].route.lazy!==void 0,`Matched leaf route at location "${M.pathname}${M.search}${M.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let L=Ev(C&&C.map(A=>Object.assign({},A,{params:Object.assign({},p,A.params),pathname:b3([x,h.encodeLocation?h.encodeLocation(A.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:A.pathname]),pathnameBase:A.pathnameBase==="/"?x:b3([x,h.encodeLocation?h.encodeLocation(A.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:A.pathnameBase])})),d,n,i,u);return a&&L?m.createElement(J8.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...M},navigationType:"POP"}},L):L}function jv(){let t=Ov(),a=Cv(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),n=t instanceof Error?t.stack:null,i="rgba(200,200,200, 0.5)",u={padding:"0.5rem",backgroundColor:i},h={padding:"2px 4px",backgroundColor:i},d=null;return console.error("Error handled by React Router default ErrorBoundary:",t),d=m.createElement(m.Fragment,null,m.createElement("p",null,"💿 Hey developer 👋"),m.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",m.createElement("code",{style:h},"ErrorBoundary")," or"," ",m.createElement("code",{style:h},"errorElement")," prop on your route.")),m.createElement(m.Fragment,null,m.createElement("h2",null,"Unexpected Application Error!"),m.createElement("h3",{style:{fontStyle:"italic"}},a),n?m.createElement("pre",{style:u},n):null,d)}var Fv=m.createElement(jv,null),kv=class extends m.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,a){return a.location!==t.location||a.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:a.error,location:a.location,revalidation:t.revalidation||a.revalidation}}componentDidCatch(t,a){this.props.onError?this.props.onError(t,a):console.error("React Router caught the following error during render",t)}render(){return this.state.error!==void 0?m.createElement(w3.Provider,{value:this.props.routeContext},m.createElement(ha.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function Rv({routeContext:t,match:a,children:n}){let i=m.useContext(B0);return i&&i.static&&i.staticContext&&(a.route.errorElement||a.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=a.route.id),m.createElement(w3.Provider,{value:t},n)}function Ev(t,a=[],n=null,i=null,u=null){if(t==null){if(!n)return null;if(n.errors)t=n.matches;else if(a.length===0&&!n.initialized&&n.matches.length>0)t=n.matches;else return null}let h=t,d=n?.errors;if(d!=null){let x=h.findIndex(b=>b.route.id&&d?.[b.route.id]!==void 0);z2(x>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(d).join(",")}`),h=h.slice(0,Math.min(h.length,x+1))}let v=!1,p=-1;if(n)for(let x=0;x=0?h=h.slice(0,p+1):h=[h[0]];break}}}let g=n&&i?(x,b)=>{i(x,{location:n.location,params:n.matches?.[0]?.params??{},errorInfo:b})}:void 0;return h.reduceRight((x,b,y)=>{let M,H=!1,S=null,C=null;n&&(M=d&&b.route.id?d[b.route.id]:void 0,S=b.route.errorElement||Fv,v&&(p<0&&y===0?(fu("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),H=!0,C=null):p===y&&(H=!0,C=b.route.hydrateFallbackElement||null)));let L=a.concat(h.slice(0,y+1)),A=()=>{let V;return M?V=S:H?V=C:b.route.Component?V=m.createElement(b.route.Component,null):b.route.element?V=b.route.element:V=x,m.createElement(Rv,{match:b,routeContext:{outlet:x,matches:L,isDataRoute:n!=null},children:V})};return n&&(b.route.ErrorBoundary||b.route.errorElement||y===0)?m.createElement(kv,{location:n.location,revalidation:n.revalidation,component:S,error:M,children:A(),routeContext:{outlet:null,matches:L,isDataRoute:!0},onError:g}):A()},null)}function da(t){return`${t} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Tv(t){let a=m.useContext(B0);return z2(a,da(t)),a}function _v(t){let a=m.useContext(be);return z2(a,da(t)),a}function qv(t){let a=m.useContext(w3);return z2(a,da(t)),a}function fa(t){let a=qv(t),n=a.matches[a.matches.length-1];return z2(n.route.id,`${t} can only be used on routes that contain a unique "id"`),n.route.id}function Dv(){return fa("useRouteId")}function Ov(){let t=m.useContext(ha),a=_v("useRouteError"),n=fa("useRouteError");return t!==void 0?t:a.errors?.[n]}function Uv(){let{router:t}=Tv("useNavigate"),a=fa("useNavigate"),n=m.useRef(!1);return hu(()=>{n.current=!0}),m.useCallback(async(u,h={})=>{D4(n.current,uu),n.current&&(typeof u=="number"?t.navigate(u):await t.navigate(u,{fromRouteId:a,...h}))},[t,a])}var us={};function fu(t,a,n){!a&&!us[t]&&(us[t]=!0,D4(!1,n))}m.memo(Iv);function Iv({routes:t,future:a,state:n,unstable_onError:i}){return du(t,void 0,n,i,a)}function g0(t){z2(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function $v({basename:t="/",children:a=null,location:n,navigationType:i="POP",navigator:u,static:h=!1}){z2(!t5(),"You cannot render a inside another . You should never have more than one in your app.");let d=t.replace(/^\/*/,"/"),v=m.useMemo(()=>({basename:d,navigator:u,static:h,future:{}}),[d,u,h]);typeof n=="string"&&(n=L0(n));let{pathname:p="/",search:g="",hash:x="",state:b=null,key:y="default"}=n,M=m.useMemo(()=>{let H=M3(p,d);return H==null?null:{location:{pathname:H,search:g,hash:x,state:b,key:y},navigationType:i}},[d,p,g,x,b,y,i]);return D4(M!=null,` is not able to match the URL "${p}${g}${x}" because it does not start with the basename, so the won't render anything.`),M==null?null:m.createElement(K4.Provider,{value:v},m.createElement(J8.Provider,{children:a,value:M}))}function Pv({children:t,location:a}){return Nv(qc(t),a)}function qc(t,a=[]){let n=[];return m.Children.forEach(t,(i,u)=>{if(!m.isValidElement(i))return;let h=[...a,u];if(i.type===m.Fragment){n.push.apply(n,qc(i.props.children,h));return}z2(i.type===g0,`[${typeof i.type=="string"?i.type:i.type.name}] is not a component. All component children of must be a or `),z2(!i.props.index||!i.props.children,"An index route cannot have child routes.");let d={id:i.props.id||h.join("-"),caseSensitive:i.props.caseSensitive,element:i.props.element,Component:i.props.Component,index:i.props.index,path:i.props.path,middleware:i.props.middleware,loader:i.props.loader,action:i.props.action,hydrateFallbackElement:i.props.hydrateFallbackElement,HydrateFallback:i.props.HydrateFallback,errorElement:i.props.errorElement,ErrorBoundary:i.props.ErrorBoundary,hasErrorBoundary:i.props.hasErrorBoundary===!0||i.props.ErrorBoundary!=null||i.props.errorElement!=null,shouldRevalidate:i.props.shouldRevalidate,handle:i.props.handle,lazy:i.props.lazy};i.props.children&&(d.children=qc(i.props.children,h)),n.push(d)}),n}var Ut="get",It="application/x-www-form-urlencoded";function ye(t){return t!=null&&typeof t.tagName=="string"}function Zv(t){return ye(t)&&t.tagName.toLowerCase()==="button"}function Gv(t){return ye(t)&&t.tagName.toLowerCase()==="form"}function Yv(t){return ye(t)&&t.tagName.toLowerCase()==="input"}function Kv(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function Xv(t,a){return t.button===0&&(!a||a==="_self")&&!Kv(t)}var yt=null;function Qv(){if(yt===null)try{new FormData(document.createElement("form"),0),yt=!1}catch{yt=!0}return yt}var Wv=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function tc(t){return t!=null&&!Wv.has(t)?(D4(!1,`"${t}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${It}"`),null):t}function Jv(t,a){let n,i,u,h,d;if(Gv(t)){let v=t.getAttribute("action");i=v?M3(v,a):null,n=t.getAttribute("method")||Ut,u=tc(t.getAttribute("enctype"))||It,h=new FormData(t)}else if(Zv(t)||Yv(t)&&(t.type==="submit"||t.type==="image")){let v=t.form;if(v==null)throw new Error('Cannot submit a