@semiont/browser 0.5.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -0
- package/dist/apple-touch-icon.png +0 -0
- package/dist/assets/ChevronLeftIcon-BcDi-sgg.js +2 -0
- package/dist/assets/ChevronLeftIcon-BcDi-sgg.js.map +1 -0
- package/dist/assets/CommandLineIcon-O8NfVSEq.js +2 -0
- package/dist/assets/CommandLineIcon-O8NfVSEq.js.map +1 -0
- package/dist/assets/CookiePreferences-UVUl27XP.js +2 -0
- package/dist/assets/CookiePreferences-UVUl27XP.js.map +1 -0
- package/dist/assets/KeyboardShortcutsContext-D8VjaYfK.js +2 -0
- package/dist/assets/KeyboardShortcutsContext-D8VjaYfK.js.map +1 -0
- package/dist/assets/PdfAnnotationCanvas.client-LSH3PZPY-B8dnEIps.js +2 -0
- package/dist/assets/PdfAnnotationCanvas.client-LSH3PZPY-B8dnEIps.js.map +1 -0
- package/dist/assets/ToolbarPanels-Bf3f6THq.js +2 -0
- package/dist/assets/ToolbarPanels-Bf3f6THq.js.map +1 -0
- package/dist/assets/XMarkIcon-CVrfCz2h.js +2 -0
- package/dist/assets/XMarkIcon-CVrfCz2h.js.map +1 -0
- package/dist/assets/ar-AZBRADEB-CvnkaLQS.js +2 -0
- package/dist/assets/ar-AZBRADEB-CvnkaLQS.js.map +1 -0
- package/dist/assets/bn-CCEW6AOS-BCI1FG86.js +2 -0
- package/dist/assets/bn-CCEW6AOS-BCI1FG86.js.map +1 -0
- package/dist/assets/client-B2rbsRTh.js +2 -0
- package/dist/assets/client-B2rbsRTh.js.map +1 -0
- package/dist/assets/client-kvvQzQsd.js +2 -0
- package/dist/assets/client-kvvQzQsd.js.map +1 -0
- package/dist/assets/cs-HXPF2CTE-CbMUDpDp.js +2 -0
- package/dist/assets/cs-HXPF2CTE-CbMUDpDp.js.map +1 -0
- package/dist/assets/da-K5NTK7LH-D2rWDXq3.js +2 -0
- package/dist/assets/da-K5NTK7LH-D2rWDXq3.js.map +1 -0
- package/dist/assets/de-GMRQEDZI-CVlSEip_.js +2 -0
- package/dist/assets/de-GMRQEDZI-CVlSEip_.js.map +1 -0
- package/dist/assets/el-EUB4CI4G-C80i0753.js +2 -0
- package/dist/assets/el-EUB4CI4G-C80i0753.js.map +1 -0
- package/dist/assets/en-R5XA26NF-Cuox0uQn.js +1 -0
- package/dist/assets/es-Z32DAZ6W-D7UTS3Fx.js +2 -0
- package/dist/assets/es-Z32DAZ6W-D7UTS3Fx.js.map +1 -0
- package/dist/assets/fa-G7HN6B32-DdDi1TG_.js +2 -0
- package/dist/assets/fa-G7HN6B32-DdDi1TG_.js.map +1 -0
- package/dist/assets/fi-3YBLZO7I-B3OjL1PQ.js +2 -0
- package/dist/assets/fi-3YBLZO7I-B3OjL1PQ.js.map +1 -0
- package/dist/assets/fr-VUBH7BBS-CjoeoL9n.js +2 -0
- package/dist/assets/fr-VUBH7BBS-CjoeoL9n.js.map +1 -0
- package/dist/assets/he-WQQEY26B-2RRJq7To.js +2 -0
- package/dist/assets/he-WQQEY26B-2RRJq7To.js.map +1 -0
- package/dist/assets/hi-HJZ6W4JB-DPflxelg.js +2 -0
- package/dist/assets/hi-HJZ6W4JB-DPflxelg.js.map +1 -0
- package/dist/assets/i18n-zIDJOEfo.js +2 -0
- package/dist/assets/i18n-zIDJOEfo.js.map +1 -0
- package/dist/assets/id-ZOGZ37MI-Dd4wSvWi.js +2 -0
- package/dist/assets/id-ZOGZ37MI-Dd4wSvWi.js.map +1 -0
- package/dist/assets/index-BkTRe71w.js +142 -0
- package/dist/assets/index-BkTRe71w.js.map +1 -0
- package/dist/assets/index-C6tZC9XN.css +1 -0
- package/dist/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
- package/dist/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
- package/dist/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
- package/dist/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
- package/dist/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
- package/dist/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
- package/dist/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
- package/dist/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
- package/dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
- package/dist/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
- package/dist/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
- package/dist/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
- package/dist/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
- package/dist/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
- package/dist/assets/it-DT6UW66F-B7ZzCBm1.js +2 -0
- package/dist/assets/it-DT6UW66F-B7ZzCBm1.js.map +1 -0
- package/dist/assets/ja-RUKQCOLO-Br1kLTUs.js +2 -0
- package/dist/assets/ja-RUKQCOLO-Br1kLTUs.js.map +1 -0
- package/dist/assets/ko-ZH5ADKZM-8IO4IU-2.js +2 -0
- package/dist/assets/ko-ZH5ADKZM-8IO4IU-2.js.map +1 -0
- package/dist/assets/layout-5m7ZN_sv.js +2 -0
- package/dist/assets/layout-5m7ZN_sv.js.map +1 -0
- package/dist/assets/layout-ChREg3PD.js +2 -0
- package/dist/assets/layout-ChREg3PD.js.map +1 -0
- package/dist/assets/layout-DmBlX8Wv.js +2 -0
- package/dist/assets/layout-DmBlX8Wv.js.map +1 -0
- package/dist/assets/layout-xM3HYPpK.js +2 -0
- package/dist/assets/layout-xM3HYPpK.js.map +1 -0
- package/dist/assets/ms-Y2AFPZTU-q4v04hSa.js +2 -0
- package/dist/assets/ms-Y2AFPZTU-q4v04hSa.js.map +1 -0
- package/dist/assets/nl-OQEWIXNA-DiHanxnO.js +2 -0
- package/dist/assets/nl-OQEWIXNA-DiHanxnO.js.map +1 -0
- package/dist/assets/no-KPAYJZWY-DdGouMG_.js +2 -0
- package/dist/assets/no-KPAYJZWY-DdGouMG_.js.map +1 -0
- package/dist/assets/not-found-BOkh1PJR.js +2 -0
- package/dist/assets/not-found-BOkh1PJR.js.map +1 -0
- package/dist/assets/orbitron-latin-400-normal-DBk4Dmer.woff +0 -0
- package/dist/assets/orbitron-latin-400-normal-U6xZUhur.woff2 +0 -0
- package/dist/assets/page-B2tTEfKp.js +2 -0
- package/dist/assets/page-B2tTEfKp.js.map +1 -0
- package/dist/assets/page-BOgSgEl-.js +2 -0
- package/dist/assets/page-BOgSgEl-.js.map +1 -0
- package/dist/assets/page-Bfk44QuW.js +2 -0
- package/dist/assets/page-Bfk44QuW.js.map +1 -0
- package/dist/assets/page-BiEYKai0.js +8 -0
- package/dist/assets/page-BiEYKai0.js.map +1 -0
- package/dist/assets/page-C45jnN3u.js +2 -0
- package/dist/assets/page-C45jnN3u.js.map +1 -0
- package/dist/assets/page-C76A3Tvm.js +2 -0
- package/dist/assets/page-C76A3Tvm.js.map +1 -0
- package/dist/assets/page-C7fj48Yd.js +2 -0
- package/dist/assets/page-C7fj48Yd.js.map +1 -0
- package/dist/assets/page-CQJx-JXR.js +2 -0
- package/dist/assets/page-CQJx-JXR.js.map +1 -0
- package/dist/assets/page-CgiAumZ6.js +2 -0
- package/dist/assets/page-CgiAumZ6.js.map +1 -0
- package/dist/assets/page-CrXiz4-J.js +2 -0
- package/dist/assets/page-CrXiz4-J.js.map +1 -0
- package/dist/assets/page-DGXyF1RD.js +2 -0
- package/dist/assets/page-DGXyF1RD.js.map +1 -0
- package/dist/assets/page-DL5wQ3pG.js +20 -0
- package/dist/assets/page-DL5wQ3pG.js.map +1 -0
- package/dist/assets/page-DXZrFCmr.js +2 -0
- package/dist/assets/page-DXZrFCmr.js.map +1 -0
- package/dist/assets/page-De2leEHb.js +2 -0
- package/dist/assets/page-De2leEHb.js.map +1 -0
- package/dist/assets/page-KrH4sIjg.js +2 -0
- package/dist/assets/page-KrH4sIjg.js.map +1 -0
- package/dist/assets/page-ZPLCKgGQ.js +5 -0
- package/dist/assets/page-ZPLCKgGQ.js.map +1 -0
- package/dist/assets/page-_daGpD2K.js +2 -0
- package/dist/assets/page-_daGpD2K.js.map +1 -0
- package/dist/assets/page-zpMXForS.js +2 -0
- package/dist/assets/page-zpMXForS.js.map +1 -0
- package/dist/assets/pdf-Dicw8YoH.js +55 -0
- package/dist/assets/pdf-Dicw8YoH.js.map +1 -0
- package/dist/assets/pdf.worker.min-CHFwMXne.mjs +29 -0
- package/dist/assets/pl-WSXK2UUD-DK_ieA8X.js +2 -0
- package/dist/assets/pl-WSXK2UUD-DK_ieA8X.js.map +1 -0
- package/dist/assets/pt-NWRJRUCK-I6-gHOkB.js +2 -0
- package/dist/assets/pt-NWRJRUCK-I6-gHOkB.js.map +1 -0
- package/dist/assets/ro-3CGVMOC6-wdwqXMaO.js +2 -0
- package/dist/assets/ro-3CGVMOC6-wdwqXMaO.js.map +1 -0
- package/dist/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/dist/assets/routing-BJiyORAR.js +2 -0
- package/dist/assets/routing-BJiyORAR.js.map +1 -0
- package/dist/assets/routing-CygMogfF.js +2 -0
- package/dist/assets/routing-CygMogfF.js.map +1 -0
- package/dist/assets/sv-HGSEBA7S-2KvJx_dY.js +2 -0
- package/dist/assets/sv-HGSEBA7S-2KvJx_dY.js.map +1 -0
- package/dist/assets/th-NZ4G352Z-ZMBwAbgb.js +2 -0
- package/dist/assets/th-NZ4G352Z-ZMBwAbgb.js.map +1 -0
- package/dist/assets/tr-LGGS4DLW-BwMx3CfM.js +2 -0
- package/dist/assets/tr-LGGS4DLW-BwMx3CfM.js.map +1 -0
- package/dist/assets/uk-AIX536L4-cREJjolM.js +2 -0
- package/dist/assets/uk-AIX536L4-cREJjolM.js.map +1 -0
- package/dist/assets/vendor-BVP6ONpk.js +10 -0
- package/dist/assets/vendor-BVP6ONpk.js.map +1 -0
- package/dist/assets/vi-V6CVQZLQ-CXAniXLX.js +2 -0
- package/dist/assets/vi-V6CVQZLQ-CXAniXLX.js.map +1 -0
- package/dist/assets/web-D6kqUluK.js +2 -0
- package/dist/assets/web-D6kqUluK.js.map +1 -0
- package/dist/assets/zh-AGKPGI3L-MsKTx_dK.js +2 -0
- package/dist/assets/zh-AGKPGI3L-MsKTx_dK.js.map +1 -0
- package/dist/favicon-16x16.png +0 -0
- package/dist/favicon-32x32.png +0 -0
- package/dist/favicon.ico +0 -0
- package/dist/favicon.svg +47 -0
- package/dist/favicons/android-chrome-192x192.png +0 -0
- package/dist/favicons/android-chrome-512x512.png +0 -0
- package/dist/favicons/apple-touch-icon.png +0 -0
- package/dist/favicons/favicon-128x128.png +0 -0
- package/dist/favicons/favicon-16x16.png +0 -0
- package/dist/favicons/favicon-32x32.png +0 -0
- package/dist/favicons/favicon-48x48.png +0 -0
- package/dist/favicons/favicon-64x64.png +0 -0
- package/dist/favicons/favicon-96x96.png +0 -0
- package/dist/favicons/favicon.ico +0 -0
- package/dist/favicons/favicon.svg +47 -0
- package/dist/favicons/site.webmanifest +19 -0
- package/dist/index.html +23 -0
- package/dist/messages/ar.json +1034 -0
- package/dist/messages/bn.json +1034 -0
- package/dist/messages/cs.json +1034 -0
- package/dist/messages/da.json +1034 -0
- package/dist/messages/de.json +1034 -0
- package/dist/messages/el.json +1034 -0
- package/dist/messages/en.json +1034 -0
- package/dist/messages/es.json +1034 -0
- package/dist/messages/fa.json +1034 -0
- package/dist/messages/fi.json +1034 -0
- package/dist/messages/fr.json +1034 -0
- package/dist/messages/he.json +1034 -0
- package/dist/messages/hi.json +1034 -0
- package/dist/messages/id.json +1034 -0
- package/dist/messages/it.json +1034 -0
- package/dist/messages/ja.json +1034 -0
- package/dist/messages/ko.json +1034 -0
- package/dist/messages/ms.json +1034 -0
- package/dist/messages/nl.json +1034 -0
- package/dist/messages/no.json +1034 -0
- package/dist/messages/pl.json +1034 -0
- package/dist/messages/pt.json +1034 -0
- package/dist/messages/ro.json +1034 -0
- package/dist/messages/sv.json +1034 -0
- package/dist/messages/th.json +1034 -0
- package/dist/messages/tr.json +1034 -0
- package/dist/messages/uk.json +1034 -0
- package/dist/messages/vi.json +1034 -0
- package/dist/messages/zh.json +1034 -0
- package/package.json +26 -0
- package/server.js +149 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":"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AArB,CACE,IAAK,GACL,IAAK,IACL,IAAK,IACH,GACE,EACA,EACA,EACA,EACA,CACF,EACA,GAA0B,EAAG,CAAY,EACzC,MACF,IAAK,IACH,MACF,IAAK,IACH,IAAI,EAAW,EAAa,UACnB,EAAa,gBAAtB,MAaM,EAAS,aAAe,EAC1B,GACE,EACA,EACA,EACA,EACA,CACF,GAnBA,EAAS,YAAc,EACrB,GACE,EACA,EACA,EACA,EACA,CACF,EACA,GACE,EACA,CACF,EASN,GACE,EAAQ,MACR,GACE,EAAa,UACb,CACF,EACF,MACF,IAAK,IACH,GACE,EACA,EACA,EACA,EACA,CACF,EACA,GACE,EAAQ,MACR,GAA8B,EAAa,UAAW,CAAY,EACpE,MACF,QACE,GACE,EACA,EACA,EACA,EACA,CACF,CACJ,CACA,EAAc,EAAY,OAC5B,CACF,CACA,SAAS,GACP,EACA,EACA,CACA,GAAI,EAAY,aAAe,MAC7B,IAAK,EAAc,EAAY,MAAgB,IAAT,MAAwB,CAC5D,IAAI,EAAe,EACjB,EAAe,EACf,EAAQ,EAAa,MACvB,OAAQ,EAAa,IAArB,CACE,IAAK,IACH,GAAwC,EAAc,CAAY,EAClE,EAAQ,MACN,GACE,EAAa,UACb,CACF,EACF,MACF,IAAK,IACH,GAAwC,EAAc,CAAY,EAClE,EAAQ,MACN,GAA8B,EAAa,UAAW,CAAY,EACpE,MACF,QACE,GAAwC,EAAc,CAAY,CACtE,CACA,EAAc,EAAY,OAC5B,CACJ,CACA,IAAI,GAAsB,KAC1B,SAAS,GACP,EACA,EACA,EACA,CACA,GAAI,EAAY,aAAe,GAC7B,IAAK,EAAc,EAAY,MAAgB,IAAT,MACpC,GACE,EACA,EACA,CACF,EACG,EAAc,EAAY,OACnC,CACA,SAAS,GACP,EACA,EACA,EACA,CACA,OAAQ,EAAM,IAAd,CACE,IAAK,IACH,GACE,EACA,EACA,CACF,EACA,EAAM,MAAQ,IACH,EAAM,gBAAf,MACA,GACE,EACA,GACA,EAAM,cACN,EAAM,aACR,EACF,MACF,IAAK,GACH,GACE,EACA,EACA,CACF,EACA,MACF,IAAK,GACL,IAAK,GACH,IAAI,EAAwB,GAC5B,GAAuB,GAAiB,EAAM,UAAU,aAAa,EACrE,GACE,EACA,EACA,CACF,EACA,GAAuB,EACvB,MACF,IAAK,IACM,EAAM,gBAAf,OACI,EAAwB,EAAM,UACvB,IAAT,MACS,EAAsB,gBAA/B,MACM,EAAwB,GACzB,GAAsB,SACvB,GACE,EACA,EACA,CACF,EACC,GAAsB,GACvB,GACE,EACA,EACA,CACF,GACN,MACF,QACE,GACE,EACA,EACA,CACF,CACJ,CACF,CACA,SAAS,GAAwB,EAAa,CAC5C,IAAI,EAAgB,EAAY,UAChC,GACW,IAAT,OACE,EAAc,EAAc,MAAiB,IAAT,MACtC,CACA,EAAc,MAAQ,KACtB,EACE,GAAiB,EAAY,QAC1B,EAAY,QAAU,KACtB,EAAc,QACH,IAAT,KACT,CACF,CACA,SAAS,GAAyC,EAAa,CAC7D,IAAI,EAAY,EAAY,UAC5B,GAAW,EAAY,MAAQ,GAAK,CAClC,GAAa,IAAT,KACF,IAAK,IAAI,EAAI,EAAG,EAAI,EAAU,OAAQ,IAAK,CACzC,IAAI,EAAgB,EAAU,GAC9B,EAAa,EACb,GACE,EACA,CACF,CACF,CACF,GAAwB,CAAW,CACrC,CACA,GAAI,EAAY,aAAe,MAC7B,IAAK,EAAc,EAAY,MAAgB,IAAT,MACpC,GAA4B,CAAW,EACpC,EAAc,EAAY,OACnC,CACA,SAAS,GAA4B,EAAc,CACjD,OAAQ,EAAa,IAArB,CACE,IAAK,GACL,IAAK,IACL,IAAK,IACH,GAAyC,CAAY,EACrD,EAAa,MAAQ,MACnB,GAA4B,EAAG,EAAc,EAAa,MAAM,EAClE,MACF,IAAK,GACH,GAAyC,CAAY,EACrD,MACF,IAAK,IACH,GAAyC,CAAY,EACrD,MACF,IAAK,IACH,IAAI,EAAW,EAAa,UACnB,EAAa,gBAAtB,MACA,EAAS,YAAc,IACb,EAAa,SAAtB,MAAuC,EAAa,OAAO,MAA3B,KAC3B,EAAS,aAAe,GAC1B,GAA4C,CAAY,GACxD,GAAyC,CAAY,EACzD,MACF,QACE,GAAyC,CAAY,CACzD,CACF,CACA,SAAS,GAA4C,EAAa,CAChE,IAAI,EAAY,EAAY,UAC5B,GAAW,EAAY,MAAQ,GAAK,CAClC,GAAa,IAAT,KACF,IAAK,IAAI,EAAI,EAAG,EAAI,EAAU,OAAQ,IAAK,CACzC,IAAI,EAAgB,EAAU,GAC9B,EAAa,EACb,GACE,EACA,CACF,CACF,CACF,GAAwB,CAAW,CACrC,CACA,IAAK,EAAc,EAAY,MAAgB,IAAT,MAAwB,CAE5D,OADA,EAAY,EACJ,EAAU,IAAlB,CACE,IAAK,GACL,IAAK,IACL,IAAK,IACH,GAA4B,EAAG,EAAW,EAAU,MAAM,EAC1D,GAA4C,CAAS,EACrD,MACF,IAAK,IACH,EAAI,EAAU,UACd,EAAE,YAAc,IACZ,EAAE,aAAe,GACnB,GAA4C,CAAS,GACvD,MACF,QACE,GAA4C,CAAS,CACzD,CACA,EAAc,EAAY,OAC5B,CACF,CACA,SAAS,GACP,EACA,EACA,CACA,KAAgB,IAAT,MAAuB,CAC5B,IAAI,EAAQ,EACZ,OAAQ,EAAM,IAAd,CACE,IAAK,GACL,IAAK,IACL,IAAK,IACH,GAA4B,EAAG,EAAO,CAAsB,EAC5D,MACF,IAAK,IACL,IAAK,IACH,GACW,EAAM,gBAAf,MACS,EAAM,cAAc,YAA7B,KACA,CACA,IAAI,EAAQ,EAAM,cAAc,UAAU,KAClC,GAAR,MAAiB,EAAM,UACzB,CACA,MACF,IAAK,IACH,GAAa,EAAM,cAAc,KAAK,CAC1C,CAEA,GADA,EAAQ,EAAM,MACD,IAAT,KAAgB,EAAO,OAAS,EAAS,EAAa,OAExD,EAAG,IAAK,EAAQ,EAA6B,IAAT,MAAuB,CACzD,EAAQ,EACR,IAAI,EAAU,EAAM,QAClB,EAAc,EAAM,OAEtB,GADA,GAAwB,CAAK,EACzB,IAAU,EAAO,CACnB,EAAa,KACb,MAAM,CACR,CACA,GAAa,IAAT,KAAkB,CACpB,EAAQ,OAAS,EACjB,EAAa,EACb,MAAM,CACR,CACA,EAAa,CACf,CACJ,CACF,CACA,IAAI,GAAyB,CACzB,gBAAiB,SAAU,EAAc,CACvC,IAAI,EAAQ,GAAY,CAAY,EAClC,EAAe,EAAM,KAAK,IAAI,CAAY,EAI5C,OAHW,IAAX,IAAK,KACD,EAAe,EAAa,EAC9B,EAAM,KAAK,IAAI,EAAc,CAAY,GACpC,CACT,EACA,YAAa,UAAY,CACvB,OAAO,GAAY,CAAY,CAAC,CAAC,WAAW,MAC9C,CACF,EACA,GAAiC,OAAO,SAAtB,WAAgC,QAAU,IAC5D,EAAmB,EACnB,EAAqB,KACrB,EAAiB,KACjB,EAAgC,EAChC,EAAgC,EAChC,GAA4B,KAC5B,GAA6C,CAAC,EAC9C,GAAmC,CAAC,EACpC,GAA0C,CAAC,EAC3C,GAAuB,EACvB,EAA+B,EAC/B,GAAiC,EACjC,GAA4C,EAC5C,GAAgC,EAChC,GAA6B,EAC7B,GAAoC,EACpC,GAAqC,KACrC,GAAsC,KACtC,GAAoD,CAAC,EACrD,GAA+B,EAC/B,GAAiC,EACjC,GAAqC,IACrC,GAA4B,KAC5B,GAAyC,KACzC,EAAuB,EACvB,GAAqB,KACrB,GAAsB,KACtB,GAAsB,EACtB,GAA+B,EAC/B,GAA4B,KAC5B,GAA2B,KAC3B,GAAoB,EACpB,GAAwB,KAC1B,SAAS,IAAoB,CAC3B,OAAc,EAAmB,GAAY,IAAN,EACnC,EAAgC,CAAC,EACxB,EAAqB,IAA9B,KAEE,GAAsB,EADtB,GAAsB,CAE9B,CACA,SAAS,IAAsB,CAC7B,GAAU,KAAN,EACF,IAAI,EAAO,EAAgC,YAAc,EAAa,CACpE,IAAI,EAAO,GACX,KAA+B,EAC/B,EAAO,GAA6B,WACjC,GAA6B,QAChC,GAA6B,CAC/B,KAAO,IAA6B,UAGtC,MAFA,GAAO,GAA2B,QACzB,IAAT,OAAkB,EAAK,OAAS,IACzB,EACT,CACA,SAAS,GAAsB,EAAM,EAAO,EAAM,EAE7C,IAAS,IACD,IAAN,GACO,IAAN,IACK,EAAK,sBAAd,QAEA,GAAkB,EAAM,CAAC,EACvB,GACE,EACA,EACA,GACA,CAAC,CACH,GACJ,GAAkB,EAAM,CAAI,GACxB,EAAO,EAAmB,IAAM,IAAS,KAC3C,IAAS,IACN,EAAO,EAAmB,KACxB,IAA6C,GAC1C,IAAN,GACE,GACE,EACA,EACA,GACA,CAAC,CACH,GACF,GAAsB,CAAI,EAChC,CACA,SAAS,GAAkB,EAAe,EAAO,EAAW,CAC1D,GAAW,EAAmB,EAAI,MAAM,MAAM,EAAuB,GAAG,CAAC,EACzE,IAAI,EACC,CAAC,GACA,EAAO,EAAQ,OACR,EAAQ,EAAc,gBAA7B,GACF,GAA0B,EAAe,CAAK,EAChD,EAAa,EACT,GAAqB,EAAe,CAAK,EACzC,GAAe,EAAe,EAAO,CAAC,CAAC,EAC3C,EAAsB,EACxB,EAAG,CACD,GAAU,IAAN,EAAkB,CACpB,IACE,CAAC,GACD,GAAkB,EAAe,EAAO,EAAG,CAAC,CAAC,EAC/C,KACF,CAEE,GADA,EAAY,EAAc,QAAQ,UAEhC,GACA,CAAC,GAAqC,CAAS,EAC/C,CACA,EAAa,GAAe,EAAe,EAAO,CAAC,CAAC,EACpD,EAAsB,CAAC,EACvB,QACF,CACA,GAAU,IAAN,EAAkB,CAEpB,GADA,EAAsB,EAClB,EAAc,2BAA6B,EAC7C,IAAI,EAA2B,MAE/B,GAA4B,EAAc,aAAe,WACtD,EACO,IAAN,EAEI,EAA2B,UACzB,UACA,EAHF,EAIV,GAAU,IAAN,EAAgC,CAClC,EAAQ,EACR,EAAG,CACD,IAAI,EAAO,EACX,EAAa,GACb,IAAI,EAAoB,EAAK,QAAQ,cAAc,aAQnD,GAPA,IACG,GAAkB,EAAM,CAAwB,CAAC,CAAC,OAAS,KAC9D,EAA2B,GACzB,EACA,EACA,CAAC,CACH,EACU,IAAN,EAAgC,CAClC,GACE,IACA,CAAC,EACD,CACA,EAAK,4BAA8B,EACnC,IACE,EACF,EAAa,EACb,MAAM,CACR,CACA,EAAsB,GACtB,GAAsC,EAC7B,IAAT,OACY,KAAT,KACI,GAAsC,EACvC,GAAoC,KAAK,MACvC,GACA,CACF,EACR,CACA,EAAa,CACf,CAEA,GADA,EAAsB,CAAC,EACb,IAAN,EAAkB,QACxB,CACF,CACA,GAAU,IAAN,EAAkB,CACpB,GAAkB,EAAe,CAAC,EAClC,GAAkB,EAAe,EAAO,EAAG,CAAC,CAAC,EAC7C,KACF,CACA,EAAG,CAGD,OAFA,EAAkB,EAClB,EAAsB,EACd,EAAR,CACE,IAAK,GACL,IAAK,GACH,MAAM,MAAM,EAAuB,GAAG,CAAC,EACzC,IAAK,GACH,IAAK,EAAQ,WAAa,EAAO,MACnC,IAAK,GACH,GACE,EACA,EACA,GACA,CAAC,EACH,EACA,MAAM,EACR,IAAK,GACH,GAAsC,KACtC,MACF,IAAK,GACL,IAAK,GACH,MACF,QACE,MAAM,MAAM,EAAuB,GAAG,CAAC,CAC3C,CACA,IACG,EAAQ,YAAc,IACrB,EAAa,GAA+B,IAAM,GAAI,EACxD,GAAK,GACL,CAOA,GANA,GACE,EACA,EACA,GACA,CAAC,EACH,EACU,GAAa,EAAiB,EAAG,CAAC,CAAC,IAAzC,EAA4C,MAAM,EACtD,GAAsB,EACtB,EAAgB,cAAgB,GAC9B,GAAoB,KAClB,KACA,EACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,YACA,GACA,CACF,EACA,CACF,EACA,MAAM,CACR,CACA,GACE,EACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,KACA,GACA,CACF,CACF,CAEF,KACF,OAAS,GACT,GAAsB,CAAa,CACrC,CACA,SAAS,GACP,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CAGA,GAFA,EAAK,cAAgB,GACrB,EAAwB,EAAa,aAEnC,EAAwB,OACV,EAAwB,WAAtC,SACA,CACA,EAAwB,CACtB,YAAa,KACb,MAAO,EACP,SAAU,EACV,SAAU,EACV,gBAAiB,CAAC,EAClB,iBAAkB,CAAC,EACnB,yBAA0B,CAAC,EAC3B,UAAW,EACb,EACA,GACE,EACA,EACA,CACF,EACA,IAAI,GACD,EAAQ,YAAc,EACnB,GAA+B,GAAI,GAClC,EAAQ,WAAa,EACpB,GAAiC,GAAI,EACrC,EAKR,GAJA,EAAgB,GACd,EACA,CACF,EACa,IAAT,KAAwB,CAC1B,GAAsB,EACtB,EAAK,oBAAsB,EACzB,GAAW,KACT,KACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KACA,EACA,CACF,CACF,EACA,GAAkB,EAAM,EAAO,EAAa,CAAC,CAAwB,EACrE,MACF,CACF,CAC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ACL,IAAK,UACL,IAAK,QACL,IAAK,WACL,IAAK,0BACL,IAAK,wBACL,IAAK,iBACL,IAAK,SACL,IAAK,OACL,IAAK,WACL,IAAK,aACL,IAAK,OACL,IAAK,cACL,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,SACL,IAAK,WACL,IAAK,YACH,GAAwB,OAAO,GAAtB,YAA4C,OAAO,GAApB,SACpC,EAAW,aAAa,EAAK,EAAE,EAC/B,EAAW,gBAAgB,CAAG,EAClC,MACF,IAAK,UACL,IAAK,WACH,CAAC,IAAM,EACH,EAAW,aAAa,EAAK,EAAE,EAC/B,CAAC,IAAM,GACG,GAAR,MACe,OAAO,GAAtB,YACa,OAAO,GAApB,SACA,EAAW,aAAa,EAAK,CAAK,EAClC,EAAW,gBAAgB,CAAG,EACpC,MACF,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACK,GAAR,MACe,OAAO,GAAtB,YACa,OAAO,GAApB,UACA,CAAC,MAAM,CAAK,GACZ,GAAK,EACD,EAAW,aAAa,EAAK,CAAK,EAClC,EAAW,gBAAgB,CAAG,EAClC,MACF,IAAK,UACL,IAAK,QACK,GAAR,MACe,OAAO,GAAtB,YACa,OAAO,GAApB,UACA,MAAM,CAAK,EACP,EAAW,gBAAgB,CAAG,EAC9B,EAAW,aAAa,EAAK,CAAK,EACtC,MACF,IAAK,UACH,EAA0B,eAAgB,CAAU,EACpD,EAA0B,SAAU,CAAU,EAC9C,GAAqB,EAAY,UAAW,CAAK,EACjD,MACF,IAAK,eACH,GACE,EACA,+BACA,gBACA,CACF,EACA,MACF,IAAK,eACH,GACE,EACA,+BACA,gBACA,CACF,EACA,MACF,IAAK,YACH,GACE,EACA,+BACA,aACA,CACF,EACA,MACF,IAAK,YACH,GACE,EACA,+BACA,aACA,CACF,EACA,MACF,IAAK,aACH,GACE,EACA,+BACA,cACA,CACF,EACA,MACF,IAAK,YACH,GACE,EACA,+BACA,aACA,CACF,EACA,MACF,IAAK,UACH,GACE,EACA,uCACA,WACA,CACF,EACA,MACF,IAAK,UACH,GACE,EACA,uCACA,WACA,CACF,EAC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","names":["invariant","isBrowser","getDataRouterConsoleError","useDataRouterContext","useDataRouterState"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],"sources":["../../../../node_modules/scheduler/cjs/scheduler.production.js","../../../../node_modules/scheduler/index.js","../../../../node_modules/react-dom/cjs/react-dom.production.js","../../../../node_modules/react-dom/index.js","../../../../node_modules/react-dom/cjs/react-dom-client.production.js","../../../../node_modules/react-dom/client.js","../../../../node_modules/react-router/dist/production/lib/router/url.js","../../../../node_modules/react-router/dist/production/lib/router/history.js","../../../../node_modules/react-router/dist/production/lib/router/utils.js","../../../../node_modules/react-router/dist/production/lib/router/router.js","../../../../node_modules/react-router/dist/production/lib/context.js","../../../../node_modules/react-router/dist/production/lib/errors.js","../../../../node_modules/react-router/dist/production/lib/hooks.js","../../../../node_modules/react-router/dist/production/lib/components.js","../../../../node_modules/react-router/dist/production/lib/dom/dom.js","../../../../node_modules/react-router/dist/production/lib/dom/ssr/invariant.js","../../../../node_modules/react-router/dist/production/lib/dom/ssr/single-fetch.js","../../../../node_modules/react-router/dist/production/lib/dom/ssr/routeModules.js","../../../../node_modules/react-router/dist/production/lib/dom/ssr/links.js","../../../../node_modules/react-router/dist/production/lib/dom/ssr/components.js","../../../../node_modules/react-router/dist/production/lib/dom/lib.js","../../../../node_modules/react/cjs/react-jsx-runtime.production.js","../../../../node_modules/react/jsx-runtime.js"],"sourcesContent":["/**\n * @license React\n * scheduler.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node), (heap[index] = parent), (index = parentIndex);\n else break a;\n }\n}\nfunction peek(heap) {\n return 0 === heap.length ? null : heap[0];\n}\nfunction pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right), (heap[rightIndex] = last), (index = rightIndex);\n else break a;\n }\n }\n return first;\n}\nfunction compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n}\nexports.unstable_now = void 0;\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var localPerformance = performance;\n exports.unstable_now = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date,\n initialTime = localDate.now();\n exports.unstable_now = function () {\n return localDate.now() - initialTime;\n };\n}\nvar taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n needsPaint = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout = \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate = \"undefined\" !== typeof setImmediate ? setImmediate : null;\nfunction advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n}\nvar isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n frameInterval = 5,\n startTime = -1;\nfunction shouldYieldToHost() {\n return needsPaint\n ? !0\n : exports.unstable_now() - startTime < frameInterval\n ? !1\n : !0;\n}\nfunction performWorkUntilDeadline() {\n needsPaint = !1;\n if (isMessageLoopRunning) {\n var currentTime = exports.unstable_now();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime && shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = exports.unstable_now();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n}\nvar schedulePerformWorkUntilDeadline;\nif (\"function\" === typeof localSetImmediate)\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\nelse if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(exports.unstable_now());\n }, ms);\n}\nexports.unstable_IdlePriority = 5;\nexports.unstable_ImmediatePriority = 1;\nexports.unstable_LowPriority = 4;\nexports.unstable_NormalPriority = 3;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = 2;\nexports.unstable_cancelCallback = function (task) {\n task.callback = null;\n};\nexports.unstable_forceFrameRate = function (fps) {\n 0 > fps || 125 < fps\n ? console.error(\n \"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"\n )\n : (frameInterval = 0 < fps ? Math.floor(1e3 / fps) : 5);\n};\nexports.unstable_getCurrentPriorityLevel = function () {\n return currentPriorityLevel;\n};\nexports.unstable_next = function (eventHandler) {\n switch (currentPriorityLevel) {\n case 1:\n case 2:\n case 3:\n var priorityLevel = 3;\n break;\n default:\n priorityLevel = currentPriorityLevel;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_requestPaint = function () {\n needsPaint = !0;\n};\nexports.unstable_runWithPriority = function (priorityLevel, eventHandler) {\n switch (priorityLevel) {\n case 1:\n case 2:\n case 3:\n case 4:\n case 5:\n break;\n default:\n priorityLevel = 3;\n }\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = priorityLevel;\n try {\n return eventHandler();\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n};\nexports.unstable_scheduleCallback = function (\n priorityLevel,\n callback,\n options\n) {\n var currentTime = exports.unstable_now();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline())));\n return priorityLevel;\n};\nexports.unstable_shouldYield = shouldYieldToHost;\nexports.unstable_wrapCallback = function (callback) {\n var parentPriorityLevel = currentPriorityLevel;\n return function () {\n var previousPriorityLevel = currentPriorityLevel;\n currentPriorityLevel = parentPriorityLevel;\n try {\n return callback.apply(this, arguments);\n } finally {\n currentPriorityLevel = previousPriorityLevel;\n }\n };\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.2.8\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @license React\n * react-dom-client.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n\"use strict\";\nvar Scheduler = require(\"scheduler\"),\n React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction isValidContainer(node) {\n return !(\n !node ||\n (1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType)\n );\n}\nfunction getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n}\nfunction getSuspenseInstanceFromFiber(fiber) {\n if (13 === fiber.tag) {\n var suspenseState = fiber.memoizedState;\n null === suspenseState &&\n ((fiber = fiber.alternate),\n null !== fiber && (suspenseState = fiber.memoizedState));\n if (null !== suspenseState) return suspenseState.dehydrated;\n }\n return null;\n}\nfunction getActivityInstanceFromFiber(fiber) {\n if (31 === fiber.tag) {\n var activityState = fiber.memoizedState;\n null === activityState &&\n ((fiber = fiber.alternate),\n null !== fiber && (activityState = fiber.memoizedState));\n if (null !== activityState) return activityState.dehydrated;\n }\n return null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(formatProdErrorMessage(188));\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(formatProdErrorMessage(188));\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(formatProdErrorMessage(188));\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$0 = parentA.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) {\n for (child$0 = parentB.child; child$0; ) {\n if (child$0 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$0 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$0 = child$0.sibling;\n }\n if (!didFindChild) throw Error(formatProdErrorMessage(189));\n }\n }\n if (a.alternate !== b) throw Error(formatProdErrorMessage(190));\n }\n if (3 !== a.tag) throw Error(formatProdErrorMessage(188));\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n}\nvar assign = Object.assign,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nvar REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.tracing_marker\");\nvar REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\");\nSymbol.for(\"react.view_transition\");\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null);\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n switch (nextRootInstance.nodeType) {\n case 9:\n case 11:\n fiber = (fiber = nextRootInstance.documentElement)\n ? (fiber = fiber.namespaceURI)\n ? getOwnHostContext(fiber)\n : 0\n : 0;\n break;\n default:\n if (\n ((fiber = nextRootInstance.tagName),\n (nextRootInstance = nextRootInstance.namespaceURI))\n )\n (nextRootInstance = getOwnHostContext(nextRootInstance)),\n (fiber = getChildHostContextProd(nextRootInstance, fiber));\n else\n switch (fiber) {\n case \"svg\":\n fiber = 1;\n break;\n case \"math\":\n fiber = 2;\n break;\n default:\n fiber = 0;\n }\n }\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n}\nfunction popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current;\n var JSCompiler_inline_result = getChildHostContextProd(context, fiber.type);\n context !== JSCompiler_inline_result &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, JSCompiler_inline_result));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n (HostTransitionContext._currentValue = sharedNotPendingObject));\n}\nvar prefix, suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" (<anonymous>)\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$1) {\n control = x$1;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$2) {\n control = x$2;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"<anonymous>\") &&\n (frame = frame.replace(\"<anonymous>\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeFiber(fiber, childFiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return fiber.child !== childFiber && null !== childFiber\n ? describeBuiltInComponentFrame(\"Suspense Fallback\")\n : describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return describeNativeComponentFrame(fiber.type, !1);\n case 11:\n return describeNativeComponentFrame(fiber.type.render, !1);\n case 1:\n return describeNativeComponentFrame(fiber.type, !0);\n case 31:\n return describeBuiltInComponentFrame(\"Activity\");\n default:\n return \"\";\n }\n}\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\",\n previous = null;\n do\n (info += describeFiber(workInProgress, previous)),\n (previous = workInProgress),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty,\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n LowPriority = Scheduler.unstable_LowPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null;\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionUpdateLane = 256,\n nextTransitionDeferredLane = 262144,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n return 128;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n return lanes & 261888;\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 3932160;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes, rootHasPendingCommit) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n root = root.warmLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = nonIdlePendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : rootHasPendingCommit ||\n ((rootHasPendingCommit = pendingLanes & ~root),\n 0 !== rootHasPendingCommit &&\n (nextLanes = getHighestPriorityLanes(rootHasPendingCommit))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (rootHasPendingCommit = wipLanes & -wipLanes),\n suspendedLanes >= rootHasPendingCommit ||\n (32 === suspendedLanes && 0 !== (rootHasPendingCommit & 4194048)))\n ? wipLanes\n : nextLanes;\n}\nfunction checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n case 64:\n return currentTime + 250;\n case 16:\n case 32:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n}\nfunction markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$7 = 31 - clz32(remainingLanes),\n lane = 1 << index$7;\n entanglements[index$7] = 0;\n expirationTimes[index$7] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$7];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$7] = null, index$7 = 0;\n index$7 < hiddenUpdatesForLane.length;\n index$7++\n ) {\n var update = hiddenUpdatesForLane[index$7];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n 0 !== root.tag &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n}\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 261930);\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$8 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$8;\n (lane & entangledLanes) | (root[index$8] & entangledLanes) &&\n (root[index$8] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nfunction getBumpedLaneForHydration(root, renderLanes) {\n var renderLane = renderLanes & -renderLanes;\n renderLane =\n 0 !== (renderLane & 42) ? 1 : getBumpedLaneForHydrationByLane(renderLane);\n return 0 !== (renderLane & (root.suspendedLanes | renderLanes))\n ? 0\n : renderLane;\n}\nfunction getBumpedLaneForHydrationByLane(lane) {\n switch (lane) {\n case 2:\n lane = 1;\n break;\n case 8:\n lane = 4;\n break;\n case 32:\n lane = 16;\n break;\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n lane = 128;\n break;\n case 268435456:\n lane = 134217728;\n break;\n default:\n lane = 0;\n }\n return lane;\n}\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n}\nfunction resolveUpdatePriority() {\n var updatePriority = ReactDOMSharedInternals.p;\n if (0 !== updatePriority) return updatePriority;\n updatePriority = window.event;\n return void 0 === updatePriority ? 32 : getEventPriority(updatePriority.type);\n}\nfunction runWithPriority(priority, fn) {\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n return (ReactDOMSharedInternals.p = priority), fn();\n } finally {\n ReactDOMSharedInternals.p = previousPriority;\n }\n}\nvar randomKey = Math.random().toString(36).slice(2),\n internalInstanceKey = \"__reactFiber$\" + randomKey,\n internalPropsKey = \"__reactProps$\" + randomKey,\n internalContainerInstanceKey = \"__reactContainer$\" + randomKey,\n internalEventHandlersKey = \"__reactEvents$\" + randomKey,\n internalEventHandlerListenersKey = \"__reactListeners$\" + randomKey,\n internalEventHandlesSetKey = \"__reactHandles$\" + randomKey,\n internalRootNodeResourcesKey = \"__reactResources$\" + randomKey,\n internalHoistableMarker = \"__reactMarker$\" + randomKey;\nfunction detachDeletedInstance(node) {\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n}\nfunction getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n if (targetInst) return targetInst;\n for (var parentNode = targetNode.parentNode; parentNode; ) {\n if (\n (targetInst =\n parentNode[internalContainerInstanceKey] ||\n parentNode[internalInstanceKey])\n ) {\n parentNode = targetInst.alternate;\n if (\n null !== targetInst.child ||\n (null !== parentNode && null !== parentNode.child)\n )\n for (\n targetNode = getParentHydrationBoundary(targetNode);\n null !== targetNode;\n\n ) {\n if ((parentNode = targetNode[internalInstanceKey])) return parentNode;\n targetNode = getParentHydrationBoundary(targetNode);\n }\n return targetInst;\n }\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n return null;\n}\nfunction getInstanceFromNode(node) {\n if (\n (node = node[internalInstanceKey] || node[internalContainerInstanceKey])\n ) {\n var tag = node.tag;\n if (\n 5 === tag ||\n 6 === tag ||\n 13 === tag ||\n 31 === tag ||\n 26 === tag ||\n 27 === tag ||\n 3 === tag\n )\n return node;\n }\n return null;\n}\nfunction getNodeFromInstance(inst) {\n var tag = inst.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode;\n throw Error(formatProdErrorMessage(33));\n}\nfunction getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n resources ||\n (resources = root[internalRootNodeResourcesKey] =\n { hoistableStyles: new Map(), hoistableScripts: new Map() });\n return resources;\n}\nfunction markNodeAsHoistable(node) {\n node[internalHoistableMarker] = !0;\n}\nvar allNativeEvents = new Set(),\n registrationNameDependencies = {};\nfunction registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + \"Capture\", dependencies);\n}\nfunction registerDirectEvent(registrationName, dependencies) {\n registrationNameDependencies[registrationName] = dependencies;\n for (\n registrationName = 0;\n registrationName < dependencies.length;\n registrationName++\n )\n allNativeEvents.add(dependencies[registrationName]);\n}\nvar VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nfunction setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name))\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n node.removeAttribute(name);\n return;\n case \"boolean\":\n var prefix$10 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$10 && \"aria-\" !== prefix$10) {\n node.removeAttribute(name);\n return;\n }\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForKnownAttribute(node, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttribute(name, \"\" + value);\n }\n}\nfunction setValueForNamespacedAttribute(node, namespace, name, value) {\n if (null === value) node.removeAttribute(name);\n else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n node.setAttributeNS(namespace, name, \"\" + value);\n }\n}\nfunction getToStringValue(value) {\n switch (typeof value) {\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return value;\n case \"object\":\n return value;\n default:\n return \"\";\n }\n}\nfunction isCheckable(elem) {\n var type = elem.type;\n return (\n (elem = elem.nodeName) &&\n \"input\" === elem.toLowerCase() &&\n (\"checkbox\" === type || \"radio\" === type)\n );\n}\nfunction trackValueOnNode(node, valueField, currentValue) {\n var descriptor = Object.getOwnPropertyDescriptor(\n node.constructor.prototype,\n valueField\n );\n if (\n !node.hasOwnProperty(valueField) &&\n \"undefined\" !== typeof descriptor &&\n \"function\" === typeof descriptor.get &&\n \"function\" === typeof descriptor.set\n ) {\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: !0,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n currentValue = \"\" + value;\n set.call(this, value);\n }\n });\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n return {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n currentValue = \"\" + value;\n },\n stopTracking: function () {\n node._valueTracker = null;\n delete node[valueField];\n }\n };\n }\n}\nfunction track(node) {\n if (!node._valueTracker) {\n var valueField = isCheckable(node) ? \"checked\" : \"value\";\n node._valueTracker = trackValueOnNode(\n node,\n valueField,\n \"\" + node[valueField]\n );\n }\n}\nfunction updateValueIfChanged(node) {\n if (!node) return !1;\n var tracker = node._valueTracker;\n if (!tracker) return !0;\n var lastValue = tracker.getValue();\n var value = \"\";\n node &&\n (value = isCheckable(node)\n ? node.checked\n ? \"true\"\n : \"false\"\n : node.value);\n node = value;\n return node !== lastValue ? (tracker.setValue(node), !0) : !1;\n}\nfunction getActiveElement(doc) {\n doc = doc || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof doc) return null;\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\nvar escapeSelectorAttributeValueInsideDoubleQuotesRegex = /[\\n\"\\\\]/g;\nfunction escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(\n escapeSelectorAttributeValueInsideDoubleQuotesRegex,\n function (ch) {\n return \"\\\\\" + ch.charCodeAt(0).toString(16) + \" \";\n }\n );\n}\nfunction updateInput(\n element,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n) {\n element.name = \"\";\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type\n ? (element.type = type)\n : element.removeAttribute(\"type\");\n if (null != value)\n if (\"number\" === type) {\n if ((0 === value && \"\" === element.value) || element.value != value)\n element.value = \"\" + getToStringValue(value);\n } else\n element.value !== \"\" + getToStringValue(value) &&\n (element.value = \"\" + getToStringValue(value));\n else\n (\"submit\" !== type && \"reset\" !== type) || element.removeAttribute(\"value\");\n null != value\n ? setDefaultValue(element, type, getToStringValue(value))\n : null != defaultValue\n ? setDefaultValue(element, type, getToStringValue(defaultValue))\n : null != lastDefaultValue && element.removeAttribute(\"value\");\n null == checked &&\n null != defaultChecked &&\n (element.defaultChecked = !!defaultChecked);\n null != checked &&\n (element.checked =\n checked && \"function\" !== typeof checked && \"symbol\" !== typeof checked);\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name\n ? (element.name = \"\" + getToStringValue(name))\n : element.removeAttribute(\"name\");\n}\nfunction initInput(\n element,\n value,\n defaultValue,\n checked,\n defaultChecked,\n type,\n name,\n isHydrating\n) {\n null != type &&\n \"function\" !== typeof type &&\n \"symbol\" !== typeof type &&\n \"boolean\" !== typeof type &&\n (element.type = type);\n if (null != value || null != defaultValue) {\n if (\n !(\n (\"submit\" !== type && \"reset\" !== type) ||\n (void 0 !== value && null !== value)\n )\n ) {\n track(element);\n return;\n }\n defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n value = null != value ? \"\" + getToStringValue(value) : defaultValue;\n isHydrating || value === element.value || (element.value = value);\n element.defaultValue = value;\n }\n checked = null != checked ? checked : defaultChecked;\n checked =\n \"function\" !== typeof checked && \"symbol\" !== typeof checked && !!checked;\n element.checked = isHydrating ? element.checked : !!checked;\n element.defaultChecked = !!checked;\n null != name &&\n \"function\" !== typeof name &&\n \"symbol\" !== typeof name &&\n \"boolean\" !== typeof name &&\n (element.name = name);\n track(element);\n}\nfunction setDefaultValue(node, type, value) {\n (\"number\" === type && getActiveElement(node.ownerDocument) === node) ||\n node.defaultValue === \"\" + value ||\n (node.defaultValue = \"\" + value);\n}\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\n node = node.options;\n if (multiple) {\n multiple = {};\n for (var i = 0; i < propValue.length; i++)\n multiple[\"$\" + propValue[i]] = !0;\n for (propValue = 0; propValue < node.length; propValue++)\n (i = multiple.hasOwnProperty(\"$\" + node[propValue].value)),\n node[propValue].selected !== i && (node[propValue].selected = i),\n i && setDefaultSelected && (node[propValue].defaultSelected = !0);\n } else {\n propValue = \"\" + getToStringValue(propValue);\n multiple = null;\n for (i = 0; i < node.length; i++) {\n if (node[i].value === propValue) {\n node[i].selected = !0;\n setDefaultSelected && (node[i].defaultSelected = !0);\n return;\n }\n null !== multiple || node[i].disabled || (multiple = node[i]);\n }\n null !== multiple && (multiple.selected = !0);\n }\n}\nfunction updateTextarea(element, value, defaultValue) {\n if (\n null != value &&\n ((value = \"\" + getToStringValue(value)),\n value !== element.value && (element.value = value),\n null == defaultValue)\n ) {\n element.defaultValue !== value && (element.defaultValue = value);\n return;\n }\n element.defaultValue =\n null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n}\nfunction initTextarea(element, value, defaultValue, children) {\n if (null == value) {\n if (null != children) {\n if (null != defaultValue) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children)) {\n if (1 < children.length) throw Error(formatProdErrorMessage(93));\n children = children[0];\n }\n defaultValue = children;\n }\n null == defaultValue && (defaultValue = \"\");\n value = defaultValue;\n }\n defaultValue = getToStringValue(value);\n element.defaultValue = defaultValue;\n children = element.textContent;\n children === defaultValue &&\n \"\" !== children &&\n null !== children &&\n (element.value = children);\n track(element);\n}\nfunction setTextContent(node, text) {\n if (text) {\n var firstChild = node.firstChild;\n if (\n firstChild &&\n firstChild === node.lastChild &&\n 3 === firstChild.nodeType\n ) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n}\nvar unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n);\nfunction setValueForStyle(style, styleName, value) {\n var isCustomProperty = 0 === styleName.indexOf(\"--\");\n null == value || \"boolean\" === typeof value || \"\" === value\n ? isCustomProperty\n ? style.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (style.cssFloat = \"\")\n : (style[styleName] = \"\")\n : isCustomProperty\n ? style.setProperty(styleName, value)\n : \"number\" !== typeof value ||\n 0 === value ||\n unitlessNumbers.has(styleName)\n ? \"float\" === styleName\n ? (style.cssFloat = value)\n : (style[styleName] = (\"\" + value).trim())\n : (style[styleName] = value + \"px\");\n}\nfunction setValueForStyles(node, styles, prevStyles) {\n if (null != styles && \"object\" !== typeof styles)\n throw Error(formatProdErrorMessage(62));\n node = node.style;\n if (null != prevStyles) {\n for (var styleName in prevStyles)\n !prevStyles.hasOwnProperty(styleName) ||\n (null != styles && styles.hasOwnProperty(styleName)) ||\n (0 === styleName.indexOf(\"--\")\n ? node.setProperty(styleName, \"\")\n : \"float\" === styleName\n ? (node.cssFloat = \"\")\n : (node[styleName] = \"\"));\n for (var styleName$16 in styles)\n (styleName = styles[styleName$16]),\n styles.hasOwnProperty(styleName$16) &&\n prevStyles[styleName$16] !== styleName &&\n setValueForStyle(node, styleName$16, styleName);\n } else\n for (var styleName$17 in styles)\n styles.hasOwnProperty(styleName$17) &&\n setValueForStyle(node, styleName$17, styles[styleName$17]);\n}\nfunction isCustomElement(tagName) {\n if (-1 === tagName.indexOf(\"-\")) return !1;\n switch (tagName) {\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n return !1;\n default:\n return !0;\n }\n}\nvar aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n isJavaScriptProtocol =\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nfunction noop$1() {}\nvar currentReplayingEvent = null;\nfunction getEventTarget(nativeEvent) {\n nativeEvent = nativeEvent.target || nativeEvent.srcElement || window;\n nativeEvent.correspondingUseElement &&\n (nativeEvent = nativeEvent.correspondingUseElement);\n return 3 === nativeEvent.nodeType ? nativeEvent.parentNode : nativeEvent;\n}\nvar restoreTarget = null,\n restoreQueue = null;\nfunction restoreStateOfTarget(target) {\n var internalInstance = getInstanceFromNode(target);\n if (internalInstance && (target = internalInstance.stateNode)) {\n var props = target[internalPropsKey] || null;\n a: switch (((target = internalInstance.stateNode), internalInstance.type)) {\n case \"input\":\n updateInput(\n target,\n props.value,\n props.defaultValue,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name\n );\n internalInstance = props.name;\n if (\"radio\" === props.type && null != internalInstance) {\n for (props = target; props.parentNode; ) props = props.parentNode;\n props = props.querySelectorAll(\n 'input[name=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n \"\" + internalInstance\n ) +\n '\"][type=\"radio\"]'\n );\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n ) {\n var otherNode = props[internalInstance];\n if (otherNode !== target && otherNode.form === target.form) {\n var otherProps = otherNode[internalPropsKey] || null;\n if (!otherProps) throw Error(formatProdErrorMessage(90));\n updateInput(\n otherNode,\n otherProps.value,\n otherProps.defaultValue,\n otherProps.defaultValue,\n otherProps.checked,\n otherProps.defaultChecked,\n otherProps.type,\n otherProps.name\n );\n }\n }\n for (\n internalInstance = 0;\n internalInstance < props.length;\n internalInstance++\n )\n (otherNode = props[internalInstance]),\n otherNode.form === target.form && updateValueIfChanged(otherNode);\n }\n break a;\n case \"textarea\":\n updateTextarea(target, props.value, props.defaultValue);\n break a;\n case \"select\":\n (internalInstance = props.value),\n null != internalInstance &&\n updateOptions(target, !!props.multiple, internalInstance, !1);\n }\n }\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates$1(fn, a, b) {\n if (isInsideEventHandler) return fn(a, b);\n isInsideEventHandler = !0;\n try {\n var JSCompiler_inline_result = fn(a);\n return JSCompiler_inline_result;\n } finally {\n if (\n ((isInsideEventHandler = !1),\n null !== restoreTarget || null !== restoreQueue)\n )\n if (\n (flushSyncWork$1(),\n restoreTarget &&\n ((a = restoreTarget),\n (fn = restoreQueue),\n (restoreQueue = restoreTarget = null),\n restoreStateOfTarget(a),\n fn))\n )\n for (a = 0; a < fn.length; a++) restoreStateOfTarget(fn[a]);\n }\n}\nfunction getListener(inst, registrationName) {\n var stateNode = inst.stateNode;\n if (null === stateNode) return null;\n var props = stateNode[internalPropsKey] || null;\n if (null === props) return null;\n stateNode = props[registrationName];\n a: switch (registrationName) {\n case \"onClick\":\n case \"onClickCapture\":\n case \"onDoubleClick\":\n case \"onDoubleClickCapture\":\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n case \"onMouseEnter\":\n (props = !props.disabled) ||\n ((inst = inst.type),\n (props = !(\n \"button\" === inst ||\n \"input\" === inst ||\n \"select\" === inst ||\n \"textarea\" === inst\n )));\n inst = !props;\n break a;\n default:\n inst = !1;\n }\n if (inst) return null;\n if (stateNode && \"function\" !== typeof stateNode)\n throw Error(\n formatProdErrorMessage(231, registrationName, typeof stateNode)\n );\n return stateNode;\n}\nvar canUseDOM = !(\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ),\n passiveBrowserEventsSupported = !1;\nif (canUseDOM)\n try {\n var options = {};\n Object.defineProperty(options, \"passive\", {\n get: function () {\n passiveBrowserEventsSupported = !0;\n }\n });\n window.addEventListener(\"test\", options, options);\n window.removeEventListener(\"test\", options, options);\n } catch (e) {\n passiveBrowserEventsSupported = !1;\n }\nvar root = null,\n startText = null,\n fallbackText = null;\nfunction getData() {\n if (fallbackText) return fallbackText;\n var start,\n startValue = startText,\n startLength = startValue.length,\n end,\n endValue = \"value\" in root ? root.value : root.textContent,\n endLength = endValue.length;\n for (\n start = 0;\n start < startLength && startValue[start] === endValue[start];\n start++\n );\n var minEnd = startLength - start;\n for (\n end = 1;\n end <= minEnd &&\n startValue[startLength - end] === endValue[endLength - end];\n end++\n );\n return (fallbackText = endValue.slice(start, 1 < end ? 1 - end : void 0));\n}\nfunction getEventCharCode(nativeEvent) {\n var keyCode = nativeEvent.keyCode;\n \"charCode\" in nativeEvent\n ? ((nativeEvent = nativeEvent.charCode),\n 0 === nativeEvent && 13 === keyCode && (nativeEvent = 13))\n : (nativeEvent = keyCode);\n 10 === nativeEvent && (nativeEvent = 13);\n return 32 <= nativeEvent || 13 === nativeEvent ? nativeEvent : 0;\n}\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction createSyntheticEvent(Interface) {\n function SyntheticBaseEvent(\n reactName,\n reactEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n this._reactName = reactName;\n this._targetInst = targetInst;\n this.type = reactEventType;\n this.nativeEvent = nativeEvent;\n this.target = nativeEventTarget;\n this.currentTarget = null;\n for (var propName in Interface)\n Interface.hasOwnProperty(propName) &&\n ((reactName = Interface[propName]),\n (this[propName] = reactName\n ? reactName(nativeEvent)\n : nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n }\n assign(SyntheticBaseEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble &&\n (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {},\n isPersistent: functionThatReturnsTrue\n });\n return SyntheticBaseEvent;\n}\nvar EventInterface = {\n eventPhase: 0,\n bubbles: 0,\n cancelable: 0,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: 0,\n isTrusted: 0\n },\n SyntheticEvent = createSyntheticEvent(EventInterface),\n UIEventInterface = assign({}, EventInterface, { view: 0, detail: 0 }),\n SyntheticUIEvent = createSyntheticEvent(UIEventInterface),\n lastMovementX,\n lastMovementY,\n lastMouseEvent,\n MouseEventInterface = assign({}, UIEventInterface, {\n screenX: 0,\n screenY: 0,\n clientX: 0,\n clientY: 0,\n pageX: 0,\n pageY: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n getModifierState: getEventModifierState,\n button: 0,\n buttons: 0,\n relatedTarget: function (event) {\n return void 0 === event.relatedTarget\n ? event.fromElement === event.srcElement\n ? event.toElement\n : event.fromElement\n : event.relatedTarget;\n },\n movementX: function (event) {\n if (\"movementX\" in event) return event.movementX;\n event !== lastMouseEvent &&\n (lastMouseEvent && \"mousemove\" === event.type\n ? ((lastMovementX = event.screenX - lastMouseEvent.screenX),\n (lastMovementY = event.screenY - lastMouseEvent.screenY))\n : (lastMovementY = lastMovementX = 0),\n (lastMouseEvent = event));\n return lastMovementX;\n },\n movementY: function (event) {\n return \"movementY\" in event ? event.movementY : lastMovementY;\n }\n }),\n SyntheticMouseEvent = createSyntheticEvent(MouseEventInterface),\n DragEventInterface = assign({}, MouseEventInterface, { dataTransfer: 0 }),\n SyntheticDragEvent = createSyntheticEvent(DragEventInterface),\n FocusEventInterface = assign({}, UIEventInterface, { relatedTarget: 0 }),\n SyntheticFocusEvent = createSyntheticEvent(FocusEventInterface),\n AnimationEventInterface = assign({}, EventInterface, {\n animationName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticAnimationEvent = createSyntheticEvent(AnimationEventInterface),\n ClipboardEventInterface = assign({}, EventInterface, {\n clipboardData: function (event) {\n return \"clipboardData\" in event\n ? event.clipboardData\n : window.clipboardData;\n }\n }),\n SyntheticClipboardEvent = createSyntheticEvent(ClipboardEventInterface),\n CompositionEventInterface = assign({}, EventInterface, { data: 0 }),\n SyntheticCompositionEvent = createSyntheticEvent(CompositionEventInterface),\n normalizeKey = {\n Esc: \"Escape\",\n Spacebar: \" \",\n Left: \"ArrowLeft\",\n Up: \"ArrowUp\",\n Right: \"ArrowRight\",\n Down: \"ArrowDown\",\n Del: \"Delete\",\n Win: \"OS\",\n Menu: \"ContextMenu\",\n Apps: \"ContextMenu\",\n Scroll: \"ScrollLock\",\n MozPrintableKey: \"Unidentified\"\n },\n translateToKey = {\n 8: \"Backspace\",\n 9: \"Tab\",\n 12: \"Clear\",\n 13: \"Enter\",\n 16: \"Shift\",\n 17: \"Control\",\n 18: \"Alt\",\n 19: \"Pause\",\n 20: \"CapsLock\",\n 27: \"Escape\",\n 32: \" \",\n 33: \"PageUp\",\n 34: \"PageDown\",\n 35: \"End\",\n 36: \"Home\",\n 37: \"ArrowLeft\",\n 38: \"ArrowUp\",\n 39: \"ArrowRight\",\n 40: \"ArrowDown\",\n 45: \"Insert\",\n 46: \"Delete\",\n 112: \"F1\",\n 113: \"F2\",\n 114: \"F3\",\n 115: \"F4\",\n 116: \"F5\",\n 117: \"F6\",\n 118: \"F7\",\n 119: \"F8\",\n 120: \"F9\",\n 121: \"F10\",\n 122: \"F11\",\n 123: \"F12\",\n 144: \"NumLock\",\n 145: \"ScrollLock\",\n 224: \"Meta\"\n },\n modifierKeyToProp = {\n Alt: \"altKey\",\n Control: \"ctrlKey\",\n Meta: \"metaKey\",\n Shift: \"shiftKey\"\n };\nfunction modifierStateGetter(keyArg) {\n var nativeEvent = this.nativeEvent;\n return nativeEvent.getModifierState\n ? nativeEvent.getModifierState(keyArg)\n : (keyArg = modifierKeyToProp[keyArg])\n ? !!nativeEvent[keyArg]\n : !1;\n}\nfunction getEventModifierState() {\n return modifierStateGetter;\n}\nvar KeyboardEventInterface = assign({}, UIEventInterface, {\n key: function (nativeEvent) {\n if (nativeEvent.key) {\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (\"Unidentified\" !== key) return key;\n }\n return \"keypress\" === nativeEvent.type\n ? ((nativeEvent = getEventCharCode(nativeEvent)),\n 13 === nativeEvent ? \"Enter\" : String.fromCharCode(nativeEvent))\n : \"keydown\" === nativeEvent.type || \"keyup\" === nativeEvent.type\n ? translateToKey[nativeEvent.keyCode] || \"Unidentified\"\n : \"\";\n },\n code: 0,\n location: 0,\n ctrlKey: 0,\n shiftKey: 0,\n altKey: 0,\n metaKey: 0,\n repeat: 0,\n locale: 0,\n getModifierState: getEventModifierState,\n charCode: function (event) {\n return \"keypress\" === event.type ? getEventCharCode(event) : 0;\n },\n keyCode: function (event) {\n return \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n },\n which: function (event) {\n return \"keypress\" === event.type\n ? getEventCharCode(event)\n : \"keydown\" === event.type || \"keyup\" === event.type\n ? event.keyCode\n : 0;\n }\n }),\n SyntheticKeyboardEvent = createSyntheticEvent(KeyboardEventInterface),\n PointerEventInterface = assign({}, MouseEventInterface, {\n pointerId: 0,\n width: 0,\n height: 0,\n pressure: 0,\n tangentialPressure: 0,\n tiltX: 0,\n tiltY: 0,\n twist: 0,\n pointerType: 0,\n isPrimary: 0\n }),\n SyntheticPointerEvent = createSyntheticEvent(PointerEventInterface),\n TouchEventInterface = assign({}, UIEventInterface, {\n touches: 0,\n targetTouches: 0,\n changedTouches: 0,\n altKey: 0,\n metaKey: 0,\n ctrlKey: 0,\n shiftKey: 0,\n getModifierState: getEventModifierState\n }),\n SyntheticTouchEvent = createSyntheticEvent(TouchEventInterface),\n TransitionEventInterface = assign({}, EventInterface, {\n propertyName: 0,\n elapsedTime: 0,\n pseudoElement: 0\n }),\n SyntheticTransitionEvent = createSyntheticEvent(TransitionEventInterface),\n WheelEventInterface = assign({}, MouseEventInterface, {\n deltaX: function (event) {\n return \"deltaX\" in event\n ? event.deltaX\n : \"wheelDeltaX\" in event\n ? -event.wheelDeltaX\n : 0;\n },\n deltaY: function (event) {\n return \"deltaY\" in event\n ? event.deltaY\n : \"wheelDeltaY\" in event\n ? -event.wheelDeltaY\n : \"wheelDelta\" in event\n ? -event.wheelDelta\n : 0;\n },\n deltaZ: 0,\n deltaMode: 0\n }),\n SyntheticWheelEvent = createSyntheticEvent(WheelEventInterface),\n ToggleEventInterface = assign({}, EventInterface, {\n newState: 0,\n oldState: 0\n }),\n SyntheticToggleEvent = createSyntheticEvent(ToggleEventInterface),\n END_KEYCODES = [9, 13, 27, 32],\n canUseCompositionEvent = canUseDOM && \"CompositionEvent\" in window,\n documentMode = null;\ncanUseDOM &&\n \"documentMode\" in document &&\n (documentMode = document.documentMode);\nvar canUseTextInputEvent = canUseDOM && \"TextEvent\" in window && !documentMode,\n useFallbackCompositionData =\n canUseDOM &&\n (!canUseCompositionEvent ||\n (documentMode && 8 < documentMode && 11 >= documentMode)),\n SPACEBAR_CHAR = String.fromCharCode(32),\n hasSpaceKeypress = !1;\nfunction isFallbackCompositionEnd(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"keyup\":\n return -1 !== END_KEYCODES.indexOf(nativeEvent.keyCode);\n case \"keydown\":\n return 229 !== nativeEvent.keyCode;\n case \"keypress\":\n case \"mousedown\":\n case \"focusout\":\n return !0;\n default:\n return !1;\n }\n}\nfunction getDataFromCustomEvent(nativeEvent) {\n nativeEvent = nativeEvent.detail;\n return \"object\" === typeof nativeEvent && \"data\" in nativeEvent\n ? nativeEvent.data\n : null;\n}\nvar isComposing = !1;\nfunction getNativeBeforeInputChars(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"compositionend\":\n return getDataFromCustomEvent(nativeEvent);\n case \"keypress\":\n if (32 !== nativeEvent.which) return null;\n hasSpaceKeypress = !0;\n return SPACEBAR_CHAR;\n case \"textInput\":\n return (\n (domEventName = nativeEvent.data),\n domEventName === SPACEBAR_CHAR && hasSpaceKeypress ? null : domEventName\n );\n default:\n return null;\n }\n}\nfunction getFallbackBeforeInputChars(domEventName, nativeEvent) {\n if (isComposing)\n return \"compositionend\" === domEventName ||\n (!canUseCompositionEvent &&\n isFallbackCompositionEnd(domEventName, nativeEvent))\n ? ((domEventName = getData()),\n (fallbackText = startText = root = null),\n (isComposing = !1),\n domEventName)\n : null;\n switch (domEventName) {\n case \"paste\":\n return null;\n case \"keypress\":\n if (\n !(nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) ||\n (nativeEvent.ctrlKey && nativeEvent.altKey)\n ) {\n if (nativeEvent.char && 1 < nativeEvent.char.length)\n return nativeEvent.char;\n if (nativeEvent.which) return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case \"compositionend\":\n return useFallbackCompositionData && \"ko\" !== nativeEvent.locale\n ? null\n : nativeEvent.data;\n default:\n return null;\n }\n}\nvar supportedInputTypes = {\n color: !0,\n date: !0,\n datetime: !0,\n \"datetime-local\": !0,\n email: !0,\n month: !0,\n number: !0,\n password: !0,\n range: !0,\n search: !0,\n tel: !0,\n text: !0,\n time: !0,\n url: !0,\n week: !0\n};\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return \"input\" === nodeName\n ? !!supportedInputTypes[elem.type]\n : \"textarea\" === nodeName\n ? !0\n : !1;\n}\nfunction createAndAccumulateChangeEvent(\n dispatchQueue,\n inst,\n nativeEvent,\n target\n) {\n restoreTarget\n ? restoreQueue\n ? restoreQueue.push(target)\n : (restoreQueue = [target])\n : (restoreTarget = target);\n inst = accumulateTwoPhaseListeners(inst, \"onChange\");\n 0 < inst.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onChange\",\n \"change\",\n null,\n nativeEvent,\n target\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: inst }));\n}\nvar activeElement$1 = null,\n activeElementInst$1 = null;\nfunction runEventInBatch(dispatchQueue) {\n processDispatchQueue(dispatchQueue, 0);\n}\nfunction getInstIfValueChanged(targetInst) {\n var targetNode = getNodeFromInstance(targetInst);\n if (updateValueIfChanged(targetNode)) return targetInst;\n}\nfunction getTargetInstForChangeEvent(domEventName, targetInst) {\n if (\"change\" === domEventName) return targetInst;\n}\nvar isInputEventSupported = !1;\nif (canUseDOM) {\n var JSCompiler_inline_result$jscomp$286;\n if (canUseDOM) {\n var isSupported$jscomp$inline_427 = \"oninput\" in document;\n if (!isSupported$jscomp$inline_427) {\n var element$jscomp$inline_428 = document.createElement(\"div\");\n element$jscomp$inline_428.setAttribute(\"oninput\", \"return;\");\n isSupported$jscomp$inline_427 =\n \"function\" === typeof element$jscomp$inline_428.oninput;\n }\n JSCompiler_inline_result$jscomp$286 = isSupported$jscomp$inline_427;\n } else JSCompiler_inline_result$jscomp$286 = !1;\n isInputEventSupported =\n JSCompiler_inline_result$jscomp$286 &&\n (!document.documentMode || 9 < document.documentMode);\n}\nfunction stopWatchingForValueChange() {\n activeElement$1 &&\n (activeElement$1.detachEvent(\"onpropertychange\", handlePropertyChange),\n (activeElementInst$1 = activeElement$1 = null));\n}\nfunction handlePropertyChange(nativeEvent) {\n if (\n \"value\" === nativeEvent.propertyName &&\n getInstIfValueChanged(activeElementInst$1)\n ) {\n var dispatchQueue = [];\n createAndAccumulateChangeEvent(\n dispatchQueue,\n activeElementInst$1,\n nativeEvent,\n getEventTarget(nativeEvent)\n );\n batchedUpdates$1(runEventInBatch, dispatchQueue);\n }\n}\nfunction handleEventsForInputEventPolyfill(domEventName, target, targetInst) {\n \"focusin\" === domEventName\n ? (stopWatchingForValueChange(),\n (activeElement$1 = target),\n (activeElementInst$1 = targetInst),\n activeElement$1.attachEvent(\"onpropertychange\", handlePropertyChange))\n : \"focusout\" === domEventName && stopWatchingForValueChange();\n}\nfunction getTargetInstForInputEventPolyfill(domEventName) {\n if (\n \"selectionchange\" === domEventName ||\n \"keyup\" === domEventName ||\n \"keydown\" === domEventName\n )\n return getInstIfValueChanged(activeElementInst$1);\n}\nfunction getTargetInstForClickEvent(domEventName, targetInst) {\n if (\"click\" === domEventName) return getInstIfValueChanged(targetInst);\n}\nfunction getTargetInstForInputOrChangeEvent(domEventName, targetInst) {\n if (\"input\" === domEventName || \"change\" === domEventName)\n return getInstIfValueChanged(targetInst);\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nfunction getLeafNode(node) {\n for (; node && node.firstChild; ) node = node.firstChild;\n return node;\n}\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n root = 0;\n for (var nodeEnd; node; ) {\n if (3 === node.nodeType) {\n nodeEnd = root + node.textContent.length;\n if (root <= offset && nodeEnd >= offset)\n return { node: node, offset: offset - root };\n root = nodeEnd;\n }\n a: {\n for (; node; ) {\n if (node.nextSibling) {\n node = node.nextSibling;\n break a;\n }\n node = node.parentNode;\n }\n node = void 0;\n }\n node = getLeafNode(node);\n }\n}\nfunction containsNode(outerNode, innerNode) {\n return outerNode && innerNode\n ? outerNode === innerNode\n ? !0\n : outerNode && 3 === outerNode.nodeType\n ? !1\n : innerNode && 3 === innerNode.nodeType\n ? containsNode(outerNode, innerNode.parentNode)\n : \"contains\" in outerNode\n ? outerNode.contains(innerNode)\n : outerNode.compareDocumentPosition\n ? !!(outerNode.compareDocumentPosition(innerNode) & 16)\n : !1\n : !1;\n}\nfunction getActiveElementDeep(containerInfo) {\n containerInfo =\n null != containerInfo &&\n null != containerInfo.ownerDocument &&\n null != containerInfo.ownerDocument.defaultView\n ? containerInfo.ownerDocument.defaultView\n : window;\n for (\n var element = getActiveElement(containerInfo.document);\n element instanceof containerInfo.HTMLIFrameElement;\n\n ) {\n try {\n var JSCompiler_inline_result =\n \"string\" === typeof element.contentWindow.location.href;\n } catch (err) {\n JSCompiler_inline_result = !1;\n }\n if (JSCompiler_inline_result) containerInfo = element.contentWindow;\n else break;\n element = getActiveElement(containerInfo.document);\n }\n return element;\n}\nfunction hasSelectionCapabilities(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return (\n nodeName &&\n ((\"input\" === nodeName &&\n (\"text\" === elem.type ||\n \"search\" === elem.type ||\n \"tel\" === elem.type ||\n \"url\" === elem.type ||\n \"password\" === elem.type)) ||\n \"textarea\" === nodeName ||\n \"true\" === elem.contentEditable)\n );\n}\nvar skipSelectionChangeEvent =\n canUseDOM && \"documentMode\" in document && 11 >= document.documentMode,\n activeElement = null,\n activeElementInst = null,\n lastSelection = null,\n mouseDown = !1;\nfunction constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget) {\n var doc =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget.document\n : 9 === nativeEventTarget.nodeType\n ? nativeEventTarget\n : nativeEventTarget.ownerDocument;\n mouseDown ||\n null == activeElement ||\n activeElement !== getActiveElement(doc) ||\n ((doc = activeElement),\n \"selectionStart\" in doc && hasSelectionCapabilities(doc)\n ? (doc = { start: doc.selectionStart, end: doc.selectionEnd })\n : ((doc = (\n (doc.ownerDocument && doc.ownerDocument.defaultView) ||\n window\n ).getSelection()),\n (doc = {\n anchorNode: doc.anchorNode,\n anchorOffset: doc.anchorOffset,\n focusNode: doc.focusNode,\n focusOffset: doc.focusOffset\n })),\n (lastSelection && shallowEqual(lastSelection, doc)) ||\n ((lastSelection = doc),\n (doc = accumulateTwoPhaseListeners(activeElementInst, \"onSelect\")),\n 0 < doc.length &&\n ((nativeEvent = new SyntheticEvent(\n \"onSelect\",\n \"select\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: nativeEvent, listeners: doc }),\n (nativeEvent.target = activeElement))));\n}\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\" + styleProp] = \"webkit\" + eventName;\n prefixes[\"Moz\" + styleProp] = \"moz\" + eventName;\n return prefixes;\n}\nvar vendorPrefixes = {\n animationend: makePrefixMap(\"Animation\", \"AnimationEnd\"),\n animationiteration: makePrefixMap(\"Animation\", \"AnimationIteration\"),\n animationstart: makePrefixMap(\"Animation\", \"AnimationStart\"),\n transitionrun: makePrefixMap(\"Transition\", \"TransitionRun\"),\n transitionstart: makePrefixMap(\"Transition\", \"TransitionStart\"),\n transitioncancel: makePrefixMap(\"Transition\", \"TransitionCancel\"),\n transitionend: makePrefixMap(\"Transition\", \"TransitionEnd\")\n },\n prefixedEventNames = {},\n style = {};\ncanUseDOM &&\n ((style = document.createElement(\"div\").style),\n \"AnimationEvent\" in window ||\n (delete vendorPrefixes.animationend.animation,\n delete vendorPrefixes.animationiteration.animation,\n delete vendorPrefixes.animationstart.animation),\n \"TransitionEvent\" in window ||\n delete vendorPrefixes.transitionend.transition);\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) return prefixedEventNames[eventName];\n if (!vendorPrefixes[eventName]) return eventName;\n var prefixMap = vendorPrefixes[eventName],\n styleProp;\n for (styleProp in prefixMap)\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style)\n return (prefixedEventNames[eventName] = prefixMap[styleProp]);\n return eventName;\n}\nvar ANIMATION_END = getVendorPrefixedEventName(\"animationend\"),\n ANIMATION_ITERATION = getVendorPrefixedEventName(\"animationiteration\"),\n ANIMATION_START = getVendorPrefixedEventName(\"animationstart\"),\n TRANSITION_RUN = getVendorPrefixedEventName(\"transitionrun\"),\n TRANSITION_START = getVendorPrefixedEventName(\"transitionstart\"),\n TRANSITION_CANCEL = getVendorPrefixedEventName(\"transitioncancel\"),\n TRANSITION_END = getVendorPrefixedEventName(\"transitionend\"),\n topLevelEventsToReactNames = new Map(),\n simpleEventPluginEvents =\n \"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\n \" \"\n );\nsimpleEventPluginEvents.push(\"scrollEnd\");\nfunction registerSimpleEvent(domEventName, reactName) {\n topLevelEventsToReactNames.set(domEventName, reactName);\n registerTwoPhaseEvent(reactName, [domEventName]);\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0;\nfunction finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n}\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n return 3 === sourceFiber.tag\n ? ((parent = sourceFiber.stateNode),\n isHidden &&\n null !== update &&\n ((isHidden = 31 - clz32(lane)),\n (sourceFiber = parent.hiddenUpdates),\n (alternate = sourceFiber[isHidden]),\n null === alternate\n ? (sourceFiber[isHidden] = [update])\n : alternate.push(update),\n (update.lane = lane | 536870912)),\n parent)\n : null;\n}\nfunction getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(formatProdErrorMessage(185)))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n}\nvar emptyContextObject = {};\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiberImplClass(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiberImplClass(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 65011712;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n}\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 65011714;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type)\n fiberTag = isHostHoistableType(\n type,\n pendingProps,\n contextStackCursor.current\n )\n ? 26\n : \"html\" === type || \"head\" === type || \"body\" === type\n ? 27\n : 5;\n else\n a: switch (type) {\n case REACT_ACTIVITY_TYPE:\n return (\n (type = createFiberImplClass(31, pendingProps, key, mode)),\n (type.elementType = REACT_ACTIVITY_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 24;\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiberImplClass(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiberImplClass(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiberImplClass(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n formatProdErrorMessage(130, null === type ? \"null\" : typeof type, \"\")\n );\n owner = null;\n }\n key = createFiberImplClass(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiberImplClass(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiberImplClass(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromDehydratedFragment(dehydratedNode) {\n var fiber = createFiberImplClass(18, null, null, 0);\n fiber.stateNode = dehydratedNode;\n return fiber;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiberImplClass(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nvar CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n}\nvar forkStack = [],\n forkStackIndex = 0,\n treeForkProvider = null,\n treeForkCount = 0,\n idStack = [],\n idStackIndex = 0,\n treeContextProvider = null,\n treeContextId = 1,\n treeContextOverflow = \"\";\nfunction pushTreeFork(workInProgress, totalChildren) {\n forkStack[forkStackIndex++] = treeForkCount;\n forkStack[forkStackIndex++] = treeForkProvider;\n treeForkProvider = workInProgress;\n treeForkCount = totalChildren;\n}\nfunction pushTreeId(workInProgress, totalChildren, index) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextProvider = workInProgress;\n var baseIdWithLeadingBit = treeContextId;\n workInProgress = treeContextOverflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n treeContextId =\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit;\n treeContextOverflow = length + workInProgress;\n } else\n (treeContextId =\n (1 << length) | (index << baseLength) | baseIdWithLeadingBit),\n (treeContextOverflow = workInProgress);\n}\nfunction pushMaterializedTreeId(workInProgress) {\n null !== workInProgress.return &&\n (pushTreeFork(workInProgress, 1), pushTreeId(workInProgress, 1, 0));\n}\nfunction popTreeContext(workInProgress) {\n for (; workInProgress === treeForkProvider; )\n (treeForkProvider = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null),\n (treeForkCount = forkStack[--forkStackIndex]),\n (forkStack[forkStackIndex] = null);\n for (; workInProgress === treeContextProvider; )\n (treeContextProvider = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextOverflow = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null),\n (treeContextId = idStack[--idStackIndex]),\n (idStack[idStackIndex] = null);\n}\nfunction restoreSuspendedTreeContext(workInProgress, suspendedContext) {\n idStack[idStackIndex++] = treeContextId;\n idStack[idStackIndex++] = treeContextOverflow;\n idStack[idStackIndex++] = treeContextProvider;\n treeContextId = suspendedContext.id;\n treeContextOverflow = suspendedContext.overflow;\n treeContextProvider = workInProgress;\n}\nvar hydrationParentFiber = null,\n nextHydratableInstance = null,\n isHydrating = !1,\n hydrationErrors = null,\n rootOrSingletonContext = !1,\n HydrationMismatchException = Error(formatProdErrorMessage(519));\nfunction throwOnHydrationMismatch(fiber) {\n var error = Error(\n formatProdErrorMessage(\n 418,\n 1 < arguments.length && void 0 !== arguments[1] && arguments[1]\n ? \"text\"\n : \"HTML\",\n \"\"\n )\n );\n queueHydrationError(createCapturedValueAtFiber(error, fiber));\n throw HydrationMismatchException;\n}\nfunction prepareToHydrateHostInstance(fiber) {\n var instance = fiber.stateNode,\n type = fiber.type,\n props = fiber.memoizedProps;\n instance[internalInstanceKey] = fiber;\n instance[internalPropsKey] = props;\n switch (type) {\n case \"dialog\":\n listenToNonDelegatedEvent(\"cancel\", instance);\n listenToNonDelegatedEvent(\"close\", instance);\n break;\n case \"iframe\":\n case \"object\":\n case \"embed\":\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"video\":\n case \"audio\":\n for (type = 0; type < mediaEventTypes.length; type++)\n listenToNonDelegatedEvent(mediaEventTypes[type], instance);\n break;\n case \"source\":\n listenToNonDelegatedEvent(\"error\", instance);\n break;\n case \"img\":\n case \"image\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", instance);\n listenToNonDelegatedEvent(\"load\", instance);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", instance);\n break;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n initInput(\n instance,\n props.value,\n props.defaultValue,\n props.checked,\n props.defaultChecked,\n props.type,\n props.name,\n !0\n );\n break;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", instance);\n break;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", instance),\n initTextarea(instance, props.value, props.defaultValue, props.children);\n }\n type = props.children;\n (\"string\" !== typeof type &&\n \"number\" !== typeof type &&\n \"bigint\" !== typeof type) ||\n instance.textContent === \"\" + type ||\n !0 === props.suppressHydrationWarning ||\n checkForUnmatchedText(instance.textContent, type)\n ? (null != props.popover &&\n (listenToNonDelegatedEvent(\"beforetoggle\", instance),\n listenToNonDelegatedEvent(\"toggle\", instance)),\n null != props.onScroll && listenToNonDelegatedEvent(\"scroll\", instance),\n null != props.onScrollEnd &&\n listenToNonDelegatedEvent(\"scrollend\", instance),\n null != props.onClick && (instance.onclick = noop$1),\n (instance = !0))\n : (instance = !1);\n instance || throwOnHydrationMismatch(fiber, !0);\n}\nfunction popToNextHostParent(fiber) {\n for (hydrationParentFiber = fiber.return; hydrationParentFiber; )\n switch (hydrationParentFiber.tag) {\n case 5:\n case 31:\n case 13:\n rootOrSingletonContext = !1;\n return;\n case 27:\n case 3:\n rootOrSingletonContext = !0;\n return;\n default:\n hydrationParentFiber = hydrationParentFiber.return;\n }\n}\nfunction popHydrationState(fiber) {\n if (fiber !== hydrationParentFiber) return !1;\n if (!isHydrating) return popToNextHostParent(fiber), (isHydrating = !0), !1;\n var tag = fiber.tag,\n JSCompiler_temp;\n if ((JSCompiler_temp = 3 !== tag && 27 !== tag)) {\n if ((JSCompiler_temp = 5 === tag))\n (JSCompiler_temp = fiber.type),\n (JSCompiler_temp =\n !(\"form\" !== JSCompiler_temp && \"button\" !== JSCompiler_temp) ||\n shouldSetTextContent(fiber.type, fiber.memoizedProps));\n JSCompiler_temp = !JSCompiler_temp;\n }\n JSCompiler_temp && nextHydratableInstance && throwOnHydrationMismatch(fiber);\n popToNextHostParent(fiber);\n if (13 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else if (31 === tag) {\n fiber = fiber.memoizedState;\n fiber = null !== fiber ? fiber.dehydrated : null;\n if (!fiber) throw Error(formatProdErrorMessage(317));\n nextHydratableInstance =\n getNextHydratableInstanceAfterHydrationBoundary(fiber);\n } else\n 27 === tag\n ? ((tag = nextHydratableInstance),\n isSingletonScope(fiber.type)\n ? ((fiber = previousHydratableOnEnteringScopedSingleton),\n (previousHydratableOnEnteringScopedSingleton = null),\n (nextHydratableInstance = fiber))\n : (nextHydratableInstance = tag))\n : (nextHydratableInstance = hydrationParentFiber\n ? getNextHydratable(fiber.stateNode.nextSibling)\n : null);\n return !0;\n}\nfunction resetHydrationState() {\n nextHydratableInstance = hydrationParentFiber = null;\n isHydrating = !1;\n}\nfunction upgradeHydrationErrorsToRecoverable() {\n var queuedErrors = hydrationErrors;\n null !== queuedErrors &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = queuedErrors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n queuedErrors\n ),\n (hydrationErrors = null));\n return queuedErrors;\n}\nfunction queueHydrationError(error) {\n null === hydrationErrors\n ? (hydrationErrors = [error])\n : hydrationErrors.push(error);\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber$1 = null,\n lastContextDependency = null;\nfunction pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue);\n context._currentValue = nextValue;\n}\nfunction popProvider(context) {\n context._currentValue = valueCursor.current;\n pop(valueCursor);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber) throw Error(formatProdErrorMessage(341));\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n}\nfunction propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent) throw Error(formatProdErrorMessage(387));\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n}\nfunction checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n}\nfunction prepareToReadContext(workInProgress) {\n currentlyRenderingFiber$1 = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n}\nfunction readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber$1, context);\n}\nfunction readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber$1 && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n}\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer) throw Error(formatProdErrorMessage(308));\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$2 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n };\nfunction createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n}\nfunction releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$2(NormalPriority, function () {\n cache.controller.abort();\n });\n}\nvar currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\nfunction pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n}\nfunction chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n}\nvar prevOnStartTransitionFinish = ReactSharedInternals.S;\nReactSharedInternals.S = function (transition, returnValue) {\n globalMostRecentTransitionTime = now();\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n};\nvar resumedCache = createCursor(null);\nfunction peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n}\nfunction getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue, pool: cacheFromPool };\n}\nvar SuspenseException = Error(formatProdErrorMessage(460)),\n SuspenseyCommitException = Error(formatProdErrorMessage(474)),\n SuspenseActionException = Error(formatProdErrorMessage(542)),\n noopSuspenseyCommitThenable = { then: function () {} };\nfunction isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop$1, noop$1), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop$1, noop$1);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(formatProdErrorMessage(482));\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nfunction resolveLazy(lazyType) {\n try {\n var init = lazyType._init;\n return init(lazyType._payload);\n } catch (x) {\n if (null !== x && \"object\" === typeof x && \"function\" === typeof x.then)\n throw ((suspendedThenable = x), SuspenseException);\n throw x;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (\n rejectedReason === SuspenseException ||\n rejectedReason === SuspenseActionException\n )\n throw Error(formatProdErrorMessage(483));\n}\nvar thenableState$1 = null,\n thenableIndexCounter$1 = 0;\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n return trackUsedThenable(thenableState$1, thenable, index);\n}\nfunction coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n}\nfunction throwOnInvalidObjectTypeImpl(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(formatProdErrorMessage(525));\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber\n )\n );\n}\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 67108866), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 67108866;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 67108866);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n createChild(returnFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren) throw Error(formatProdErrorMessage(151));\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber),\n isHydrating && pushTreeFork(returnFiber, newIdx),\n resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n isHydrating && pushTreeFork(returnFiber, newIdx);\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.children || []);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (newChild = resolveLazy(newChild)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key) throw Error(formatProdErrorMessage(150));\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectTypeImpl(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter$1 = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState$1 = null;\n return firstChildFiber;\n } catch (x) {\n if (x === SuspenseException || x === SuspenseActionException) throw x;\n var fiber = createFiberImplClass(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n}\nvar reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n}\nfunction createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194048))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nvar didReadFromEntangledAsyncAction = !1;\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(instance, newState, updateLane);\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(formatProdErrorMessage(191, callback));\n callback.call(context);\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n}\nvar currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0);\nfunction pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n}\nfunction reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n}\nfunction popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n}\nvar suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null;\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n}\nfunction pushDehydratedActivitySuspenseHandler(fiber) {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, fiber);\n null === shellBoundary && (shellBoundary = fiber);\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n 22 === fiber.tag\n ? (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary && (shellBoundary = fiber))\n : reuseSuspenseHandlerOnStack(fiber);\n}\nfunction reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n}\nvar suspenseStackCursor = createCursor(0);\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (\n null !== state &&\n ((state = state.dehydrated),\n null === state ||\n isSuspenseInstancePending(state) ||\n isSuspenseInstanceFallback(state))\n )\n return node;\n } else if (\n 19 === node.tag &&\n (\"forwards\" === node.memoizedProps.revealOrder ||\n \"backwards\" === node.memoizedProps.revealOrder ||\n \"unstable_legacy-backwards\" === node.memoizedProps.revealOrder ||\n \"together\" === node.memoizedProps.revealOrder)\n ) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nvar renderLanes = 0,\n currentlyRenderingFiber = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n localIdCounter = 0,\n thenableIndexCounter = 0,\n thenableState = null,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(formatProdErrorMessage(321));\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n}\nfunction finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n if (didRenderTooFewHooks) throw Error(formatProdErrorMessage(300));\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n}\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);\n thenableIndexCounter = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n}\nfunction TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber.flags |= 1024);\n return maybeThenable;\n}\nfunction checkDidRenderIdHook() {\n var didRenderIdHook = 0 !== localIdCounter;\n localIdCounter = 0;\n return didRenderIdHook;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter = localIdCounter = 0;\n thenableState = null;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber.alternate)\n throw Error(formatProdErrorMessage(467));\n throw Error(formatProdErrorMessage(310));\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nfunction createFunctionComponentUpdateQueue() {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n}\nfunction useThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n thenable = trackUsedThenable(thenableState, thenable, index);\n index = currentlyRenderingFiber;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n}\nfunction use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n}\nfunction useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$60 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$60 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$60 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n gesture: null,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n gesture: update.gesture,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$60 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue) throw Error(formatProdErrorMessage(311));\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = updateWorkInProgressHook(),\n isHydrating$jscomp$0 = isHydrating;\n if (isHydrating$jscomp$0) {\n if (void 0 === getServerSnapshot) throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else getServerSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n getServerSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = getServerSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [\n subscribe\n ]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n hook,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));\n isHydrating$jscomp$0 ||\n 0 !== (renderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n return getServerSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n}\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n}\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n}\nfunction dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n) {\n if (isRenderPhaseUpdate(fiber)) throw Error(formatProdErrorMessage(485));\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n}\nfunction runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$66) {\n onActionError(actionQueue, node, error$66);\n }\n}\nfunction handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n}\nfunction onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n}\nfunction onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n}\nfunction notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n}\nfunction actionStateReducer(oldState, newState) {\n return newState;\n}\nfunction mountActionState(action, initialStateProp) {\n if (isHydrating) {\n var ssrFormState = workInProgressRoot.formState;\n if (null !== ssrFormState) {\n a: {\n var JSCompiler_inline_result = currentlyRenderingFiber;\n if (isHydrating) {\n if (nextHydratableInstance) {\n b: {\n var JSCompiler_inline_result$jscomp$0 = nextHydratableInstance;\n for (\n var inRootOrSingleton = rootOrSingletonContext;\n 8 !== JSCompiler_inline_result$jscomp$0.nodeType;\n\n ) {\n if (!inRootOrSingleton) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n JSCompiler_inline_result$jscomp$0 = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n if (null === JSCompiler_inline_result$jscomp$0) {\n JSCompiler_inline_result$jscomp$0 = null;\n break b;\n }\n }\n inRootOrSingleton = JSCompiler_inline_result$jscomp$0.data;\n JSCompiler_inline_result$jscomp$0 =\n \"F!\" === inRootOrSingleton || \"F\" === inRootOrSingleton\n ? JSCompiler_inline_result$jscomp$0\n : null;\n }\n if (JSCompiler_inline_result$jscomp$0) {\n nextHydratableInstance = getNextHydratable(\n JSCompiler_inline_result$jscomp$0.nextSibling\n );\n JSCompiler_inline_result =\n \"F!\" === JSCompiler_inline_result$jscomp$0.data;\n break a;\n }\n }\n throwOnHydrationMismatch(JSCompiler_inline_result);\n }\n JSCompiler_inline_result = !1;\n }\n JSCompiler_inline_result && (initialStateProp = ssrFormState[0]);\n }\n }\n ssrFormState = mountWorkInProgressHook();\n ssrFormState.memoizedState = ssrFormState.baseState = initialStateProp;\n JSCompiler_inline_result = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n ssrFormState.queue = JSCompiler_inline_result;\n ssrFormState = dispatchSetState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result\n );\n JSCompiler_inline_result.dispatch = ssrFormState;\n JSCompiler_inline_result = mountStateImpl(!1);\n inRootOrSingleton = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !1,\n JSCompiler_inline_result.queue\n );\n JSCompiler_inline_result = mountWorkInProgressHook();\n JSCompiler_inline_result$jscomp$0 = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n JSCompiler_inline_result.queue = JSCompiler_inline_result$jscomp$0;\n ssrFormState = dispatchActionState.bind(\n null,\n currentlyRenderingFiber,\n JSCompiler_inline_result$jscomp$0,\n inRootOrSingleton,\n ssrFormState\n );\n JSCompiler_inline_result$jscomp$0.dispatch = ssrFormState;\n JSCompiler_inline_result.memoizedState = action;\n return [initialStateProp, ssrFormState, !1];\n}\nfunction updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n}\nfunction updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n if (\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n )\n try {\n var state = useThenable(currentStateHook);\n } catch (x) {\n if (x === SuspenseException) throw SuspenseActionException;\n throw x;\n }\n else state = currentStateHook;\n currentStateHook = updateWorkInProgressHook();\n var actionQueue = currentStateHook.queue,\n dispatch = actionQueue.dispatch;\n action !== currentStateHook.memoizedState &&\n ((currentlyRenderingFiber.flags |= 2048),\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n actionStateActionEffect.bind(null, actionQueue, action),\n null\n ));\n return [state, dispatch, stateHook];\n}\nfunction actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\nfunction rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n}\nfunction pushSimpleEffect(tag, inst, create, deps) {\n tag = { tag: tag, create: create, deps: deps, inst: inst, next: null };\n inst = currentlyRenderingFiber.updateQueue;\n null === inst &&\n ((inst = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = inst));\n create = inst.lastEffect;\n null === create\n ? (inst.lastEffect = tag.next = tag)\n : ((deps = create.next),\n (create.next = tag),\n (tag.next = deps),\n (inst.lastEffect = tag));\n return tag;\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n currentlyRenderingFiber.flags |= fiberFlags;\n hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n { destroy: void 0 },\n create,\n void 0 === deps ? null : deps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushSimpleEffect(hookFlags, inst, create, deps))\n : ((currentlyRenderingFiber.flags |= fiberFlags),\n (hook.memoizedState = pushSimpleEffect(\n 1 | hookFlags,\n inst,\n create,\n deps\n )));\n}\nfunction mountEffect(create, deps) {\n mountEffectImpl(8390656, 8, create, deps);\n}\nfunction updateEffect(create, deps) {\n updateEffectImpl(2048, 8, create, deps);\n}\nfunction useEffectEventImpl(payload) {\n currentlyRenderingFiber.flags |= 4;\n var componentUpdateQueue = currentlyRenderingFiber.updateQueue;\n if (null === componentUpdateQueue)\n (componentUpdateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber.updateQueue = componentUpdateQueue),\n (componentUpdateQueue.events = [payload]);\n else {\n var events = componentUpdateQueue.events;\n null === events\n ? (componentUpdateQueue.events = [payload])\n : events.push(payload);\n }\n}\nfunction updateEvent(callback) {\n var ref = updateWorkInProgressHook().memoizedState;\n useEffectEventImpl({ ref: ref, nextImpl: callback });\n return function () {\n if (0 !== (executionContext & 2)) throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps);\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n}\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n if (\n void 0 === initialValue ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (\n 0 === (renderLanes & 42) ||\n (0 !== (renderLanes & 1073741824) &&\n 0 === (workInProgressRootRenderLanes & 261930))\n )\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n}\nfunction startTransition(fiber, queue, pendingState, finishedState, callback) {\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p =\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane()\n );\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n null !== prevTransition &&\n null !== currentTransition.types &&\n (prevTransition.types = currentTransition.types),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction noop() {}\nfunction startHostTransition(formFiber, pendingState, action, formData) {\n if (5 !== formFiber.tag) throw Error(formatProdErrorMessage(476));\n var queue = ensureFormComponentIsStateful(formFiber).queue;\n startTransition(\n formFiber,\n queue,\n pendingState,\n sharedNotPendingObject,\n null === action\n ? noop\n : function () {\n requestFormReset$1(formFiber);\n return action(formData);\n }\n );\n}\nfunction ensureFormComponentIsStateful(formFiber) {\n var existingStateHook = formFiber.memoizedState;\n if (null !== existingStateHook) return existingStateHook;\n existingStateHook = {\n memoizedState: sharedNotPendingObject,\n baseState: sharedNotPendingObject,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: sharedNotPendingObject\n },\n next: null\n };\n var initialResetState = {};\n existingStateHook.next = {\n memoizedState: initialResetState,\n baseState: initialResetState,\n baseQueue: null,\n queue: {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialResetState\n },\n next: null\n };\n formFiber.memoizedState = existingStateHook;\n formFiber = formFiber.alternate;\n null !== formFiber && (formFiber.memoizedState = existingStateHook);\n return existingStateHook;\n}\nfunction requestFormReset$1(formFiber) {\n var stateHook = ensureFormComponentIsStateful(formFiber);\n null === stateHook.next && (stateHook = formFiber.alternate.memoizedState);\n dispatchSetStateInternal(\n formFiber,\n stateHook.next.queue,\n {},\n requestUpdateLane()\n );\n}\nfunction useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane();\n fiber = createUpdate(lane);\n var root$69 = enqueueUpdate(provider, fiber, lane);\n null !== root$69 &&\n (scheduleUpdateOnFiber(root$69, provider, lane),\n entangleTransitions(root$69, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane();\n action = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane();\n dispatchSetStateInternal(fiber, queue, action, lane);\n}\nfunction dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n}\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n gesture: null,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender) throw Error(formatProdErrorMessage(479));\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber ||\n (null !== alternate && alternate === currentlyRenderingFiber)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194048)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError,\n useHostTransitionStatus: throwInvalidHookError,\n useFormState: throwInvalidHookError,\n useActionState: throwInvalidHookError,\n useOptimistic: throwInvalidHookError,\n useMemoCache: throwInvalidHookError,\n useCacheRefresh: throwInvalidHookError\n};\nContextOnlyDispatcher.useEffectEvent = throwInvalidHookError;\nvar HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n var fiber = currentlyRenderingFiber,\n hook = mountWorkInProgressHook();\n if (isHydrating) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n getServerSnapshot = getServerSnapshot();\n } else {\n getServerSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(formatProdErrorMessage(349));\n 0 !== (workInProgressRootRenderLanes & 127) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);\n }\n hook.memoizedState = getServerSnapshot;\n var inst = { value: getServerSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushSimpleEffect(\n 9,\n { destroy: void 0 },\n updateStoreInstance.bind(\n null,\n fiber,\n inst,\n getServerSnapshot,\n getSnapshot\n ),\n null\n );\n return getServerSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix;\n if (isHydrating) {\n var JSCompiler_inline_result = treeContextOverflow;\n var idWithLeadingBit = treeContextId;\n JSCompiler_inline_result =\n (\n idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))\n ).toString(32) + JSCompiler_inline_result;\n identifierPrefix =\n \"_\" + identifierPrefix + \"R_\" + JSCompiler_inline_result;\n JSCompiler_inline_result = localIdCounter++;\n 0 < JSCompiler_inline_result &&\n (identifierPrefix += \"H\" + JSCompiler_inline_result.toString(32));\n identifierPrefix += \"_\";\n } else\n (JSCompiler_inline_result = globalClientIdCounter++),\n (identifierPrefix =\n \"_\" +\n identifierPrefix +\n \"r_\" +\n JSCompiler_inline_result.toString(32) +\n \"_\");\n return (hook.memoizedState = identifierPrefix);\n },\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: mountActionState,\n useActionState: mountActionState,\n useOptimistic: function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber\n ));\n },\n useEffectEvent: function (callback) {\n var hook = mountWorkInProgressHook(),\n ref = { impl: callback };\n hook.memoizedState = ref;\n return function () {\n if (0 !== (executionContext & 2))\n throw Error(formatProdErrorMessage(440));\n return ref.impl.apply(void 0, arguments);\n };\n }\n },\n HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: updateActionState,\n useActionState: updateActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n };\nHooksDispatcherOnUpdate.useEffectEvent = updateEvent;\nvar HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId,\n useHostTransitionStatus: useHostTransitionStatus,\n useFormState: rerenderActionState,\n useActionState: rerenderActionState,\n useOptimistic: function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n },\n useMemoCache: useMemoCache,\n useCacheRefresh: updateRefresh\n};\nHooksDispatcherOnRerender.useEffectEvent = updateEvent;\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$73 in Component)\n void 0 === newProps[propName$73] &&\n (newProps[propName$73] = Component[propName$73]);\n }\n return newProps;\n}\nfunction defaultOnUncaughtError(error) {\n reportGlobalError(error);\n}\nfunction defaultOnCaughtError(error) {\n console.error(error);\n}\nfunction defaultOnRecoverableError(error) {\n reportGlobalError(error);\n}\nfunction logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e$74) {\n setTimeout(function () {\n throw e$74;\n });\n }\n}\nfunction logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e$75) {\n setTimeout(function () {\n throw e$75;\n });\n }\n}\nfunction createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n}\nfunction initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n}\nfunction throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n returnFiber = sourceFiber.alternate;\n null !== returnFiber &&\n propagateParentContextChanges(\n returnFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n sourceFiber = suspenseHandlerStackCursor.current;\n if (null !== sourceFiber) {\n switch (sourceFiber.tag) {\n case 31:\n case 13:\n return (\n null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === sourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3),\n (sourceFiber.flags &= -257),\n (sourceFiber.flags |= 65536),\n (sourceFiber.lanes = rootRenderLanes),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? (sourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n return (\n (sourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (sourceFiber.flags |= 16384)\n : ((returnFiber = sourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (sourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(formatProdErrorMessage(435, sourceFiber.tag));\n }\n attachPingListener(root, value, rootRenderLanes);\n renderDidSuspendDelayIfPossible();\n return !1;\n }\n if (isHydrating)\n return (\n (returnFiber = suspenseHandlerStackCursor.current),\n null !== returnFiber\n ? (0 === (returnFiber.flags & 65536) && (returnFiber.flags |= 256),\n (returnFiber.flags |= 65536),\n (returnFiber.lanes = rootRenderLanes),\n value !== HydrationMismatchException &&\n ((root = Error(formatProdErrorMessage(422), { cause: value })),\n queueHydrationError(createCapturedValueAtFiber(root, sourceFiber))))\n : (value !== HydrationMismatchException &&\n ((returnFiber = Error(formatProdErrorMessage(423), {\n cause: value\n })),\n queueHydrationError(\n createCapturedValueAtFiber(returnFiber, sourceFiber)\n )),\n (root = root.current.alternate),\n (root.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (root.lanes |= rootRenderLanes),\n (value = createCapturedValueAtFiber(value, sourceFiber)),\n (rootRenderLanes = createRootErrorUpdate(\n root.stateNode,\n value,\n rootRenderLanes\n )),\n enqueueCapturedUpdate(root, rootRenderLanes),\n 4 !== workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 2)),\n !1\n );\n var wrapperError = Error(formatProdErrorMessage(520), { cause: value });\n wrapperError = createCapturedValueAtFiber(wrapperError, sourceFiber);\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [wrapperError])\n : workInProgressRootConcurrentErrors.push(wrapperError);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n sourceFiber = returnFiber;\n do {\n switch (sourceFiber.tag) {\n case 3:\n return (\n (sourceFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (sourceFiber.lanes |= root),\n (root = createRootErrorUpdate(sourceFiber.stateNode, value, root)),\n enqueueCapturedUpdate(sourceFiber, root),\n !1\n );\n case 1:\n if (\n ((returnFiber = sourceFiber.type),\n (wrapperError = sourceFiber.stateNode),\n 0 === (sourceFiber.flags & 128) &&\n (\"function\" === typeof returnFiber.getDerivedStateFromError ||\n (null !== wrapperError &&\n \"function\" === typeof wrapperError.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(wrapperError)))))\n )\n return (\n (sourceFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (sourceFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n sourceFiber,\n value\n ),\n enqueueCapturedUpdate(sourceFiber, rootRenderLanes),\n !1\n );\n }\n sourceFiber = sourceFiber.return;\n } while (null !== sourceFiber);\n return !1;\n}\nvar SelectiveHydrationException = Error(formatProdErrorMessage(461)),\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n key = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && key && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n nextProps\n) {\n var nextChildren = nextProps.children,\n prevState = null !== current ? current.memoizedState : null;\n null === current &&\n null === workInProgress.stateNode &&\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n if (\"hidden\" === nextProps.mode) {\n if (0 !== (workInProgress.flags & 128)) {\n prevState =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextProps = workInProgress.child = current.child;\n for (nextChildren = 0; null !== nextProps; )\n (nextChildren =\n nextChildren | nextProps.lanes | nextProps.childLanes),\n (nextProps = nextProps.sibling);\n nextProps = nextChildren & ~prevState;\n } else (nextProps = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n prevState,\n renderLanes,\n nextProps\n );\n }\n if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (nextProps = workInProgress.lanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes,\n renderLanes,\n nextProps\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction bailoutOffscreenComponent(current, workInProgress) {\n (null !== current && 22 === current.tag) ||\n null !== workInProgress.stateNode ||\n (workInProgress.stateNode = {\n _visibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null\n });\n return workInProgress.sibling;\n}\nfunction deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes,\n remainingChildLanes\n) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : { parent: CacheContext._currentValue, pool: JSCompiler_inline_result };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n workInProgress.childLanes = remainingChildLanes;\n return null;\n}\nfunction mountActivityChildren(workInProgress, nextProps) {\n nextProps = mountWorkInProgressOffscreenFiber(\n { mode: nextProps.mode, children: nextProps.children },\n workInProgress.mode\n );\n nextProps.ref = workInProgress.ref;\n workInProgress.child = nextProps;\n nextProps.return = workInProgress;\n return nextProps;\n}\nfunction retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountActivityChildren(workInProgress, workInProgress.pendingProps);\n current.flags |= 2;\n popSuspenseHandler(workInProgress);\n workInProgress.memoizedState = null;\n return current;\n}\nfunction updateActivityComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n didSuspend = 0 !== (workInProgress.flags & 128);\n workInProgress.flags &= -129;\n if (null === current) {\n if (isHydrating) {\n if (\"hidden\" === nextProps.mode)\n return (\n (current = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.lanes = 536870912),\n bailoutOffscreenComponent(null, current)\n );\n pushDehydratedActivitySuspenseHandler(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" === current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n workInProgress.lanes = 536870912;\n return null;\n }\n return mountActivityChildren(workInProgress, nextProps);\n }\n var prevState = current.memoizedState;\n if (null !== prevState) {\n var dehydrated = prevState.dehydrated;\n pushDehydratedActivitySuspenseHandler(workInProgress);\n if (didSuspend)\n if (workInProgress.flags & 256)\n (workInProgress.flags &= -257),\n (workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ));\n else if (null !== workInProgress.memoizedState)\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null);\n else throw Error(formatProdErrorMessage(558));\n else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (didSuspend = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || didSuspend)\n ) {\n nextProps = workInProgressRoot;\n if (\n null !== nextProps &&\n ((dehydrated = getBumpedLaneForHydration(nextProps, renderLanes)),\n 0 !== dehydrated && dehydrated !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = dehydrated),\n enqueueConcurrentRenderForLane(current, dehydrated),\n scheduleUpdateOnFiber(nextProps, current, dehydrated),\n SelectiveHydrationException)\n );\n renderDidSuspendDelayIfPossible();\n workInProgress = retryActivityComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n (current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(dehydrated.nextSibling)),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountActivityChildren(workInProgress, nextProps)),\n (workInProgress.flags |= 4096);\n return workInProgress;\n }\n current = createWorkInProgress(current.child, {\n mode: nextProps.mode,\n children: nextProps.children\n });\n current.ref = workInProgress.ref;\n workInProgress.child = current;\n current.return = workInProgress;\n return current;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 4194816);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(formatProdErrorMessage(284));\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 4194816;\n }\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n nextProps = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && nextProps && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n Component = checkDidRenderIdHook();\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n isHydrating && Component && pushMaterializedTreeId(workInProgress);\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode) {\n var context = emptyContextObject,\n contextType = Component.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n context = new Component(nextProps, context);\n workInProgress.memoizedState =\n null !== context.state && void 0 !== context.state ? context.state : null;\n context.updater = classComponentUpdater;\n workInProgress.stateNode = context;\n context._reactInternals = workInProgress;\n context = workInProgress.stateNode;\n context.props = nextProps;\n context.state = workInProgress.memoizedState;\n context.refs = {};\n initializeUpdateQueue(workInProgress);\n contextType = Component.contextType;\n context.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n context.state = workInProgress.memoizedState;\n contextType = Component.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n contextType,\n nextProps\n ),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof Component.getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n ((contextType = context.state),\n \"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount(),\n contextType !== context.state &&\n classComponentUpdater.enqueueReplaceState(context, context.state, null),\n processUpdateQueue(workInProgress, nextProps, context, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (context.state = workInProgress.memoizedState));\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308);\n nextProps = !0;\n } else if (null === current) {\n context = workInProgress.stateNode;\n var unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n context.props = oldProps;\n var oldContext = context.context,\n contextType$jscomp$0 = Component.contextType;\n contextType = emptyContextObject;\n \"object\" === typeof contextType$jscomp$0 &&\n null !== contextType$jscomp$0 &&\n (contextType = readContext(contextType$jscomp$0));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType$jscomp$0 =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== contextType) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n contextType\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n contextType\n ))\n ? (contextType$jscomp$0 ||\n (\"function\" !== typeof context.UNSAFE_componentWillMount &&\n \"function\" !== typeof context.componentWillMount) ||\n (\"function\" === typeof context.componentWillMount &&\n context.componentWillMount(),\n \"function\" === typeof context.UNSAFE_componentWillMount &&\n context.UNSAFE_componentWillMount()),\n \"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (context.props = nextProps),\n (context.state = oldContext),\n (context.context = contextType),\n (nextProps = oldProps))\n : (\"function\" === typeof context.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n context = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n contextType = workInProgress.memoizedProps;\n contextType$jscomp$0 = resolveClassComponentProps(Component, contextType);\n context.props = contextType$jscomp$0;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = context.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof context.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof context.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof context.componentWillReceiveProps) ||\n ((contextType !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n context,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n context.state = oldState;\n processUpdateQueue(workInProgress, nextProps, context, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n contextType !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType$jscomp$0 =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType$jscomp$0,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof context.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof context.componentWillUpdate) ||\n (\"function\" === typeof context.componentWillUpdate &&\n context.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof context.UNSAFE_componentWillUpdate &&\n context.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof context.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof context.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (context.props = nextProps),\n (context.state = newState),\n (context.context = oldProps),\n (nextProps = contextType$jscomp$0))\n : (\"function\" !== typeof context.componentDidUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof context.getSnapshotBeforeUpdate ||\n (contextType === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n context = nextProps;\n markRef(current, workInProgress);\n nextProps = 0 !== (workInProgress.flags & 128);\n context || nextProps\n ? ((context = workInProgress.stateNode),\n (Component =\n nextProps && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : context.render()),\n (workInProgress.flags |= 1),\n null !== current && nextProps\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes),\n (workInProgress.memoizedState = context.state),\n (current = workInProgress.child))\n : (current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ));\n return current;\n}\nfunction mountHostRootWithoutHydrating(\n current,\n workInProgress,\n nextChildren,\n renderLanes\n) {\n resetHydrationState();\n workInProgress.flags |= 256;\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nvar SUSPENDED_MARKER = {\n dehydrated: null,\n treeContext: null,\n retryLane: 0,\n hydrationErrors: null\n};\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n}\nfunction getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n if (isHydrating) {\n showFallback\n ? pushPrimaryTreeSuspenseHandler(workInProgress)\n : reuseSuspenseHandlerOnStack(workInProgress);\n (current = nextHydratableInstance)\n ? ((current = canHydrateHydrationBoundary(\n current,\n rootOrSingletonContext\n )),\n (current = null !== current && \"&\" !== current.data ? current : null),\n null !== current &&\n ((workInProgress.memoizedState = {\n dehydrated: current,\n treeContext:\n null !== treeContextProvider\n ? { id: treeContextId, overflow: treeContextOverflow }\n : null,\n retryLane: 536870912,\n hydrationErrors: null\n }),\n (renderLanes = createFiberFromDehydratedFragment(current)),\n (renderLanes.return = workInProgress),\n (workInProgress.child = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null)))\n : (current = null);\n if (null === current) throw throwOnHydrationMismatch(workInProgress);\n isSuspenseInstanceFallback(current)\n ? (workInProgress.lanes = 32)\n : (workInProgress.lanes = 536870912);\n return null;\n }\n var nextPrimaryChildren = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (nextPrimaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"hidden\", children: nextPrimaryChildren },\n showFallback\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.sibling = nextProps),\n (workInProgress.child = nextPrimaryChildren),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState = mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(null, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n var prevState = current.memoizedState;\n if (\n null !== prevState &&\n ((nextPrimaryChildren = prevState.dehydrated), null !== nextPrimaryChildren)\n ) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (nextProps = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: nextProps.children },\n showFallback\n )),\n (nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = bailoutOffscreenComponent(null, nextProps)));\n else if (\n (pushPrimaryTreeSuspenseHandler(workInProgress),\n isSuspenseInstanceFallback(nextPrimaryChildren))\n ) {\n JSCompiler_temp =\n nextPrimaryChildren.nextSibling &&\n nextPrimaryChildren.nextSibling.dataset;\n if (JSCompiler_temp) var digest = JSCompiler_temp.dgst;\n JSCompiler_temp = digest;\n nextProps = Error(formatProdErrorMessage(419));\n nextProps.stack = \"\";\n nextProps.digest = JSCompiler_temp;\n queueHydrationError({ value: nextProps, source: null, stack: null });\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (\n null !== JSCompiler_temp &&\n ((nextProps = getBumpedLaneForHydration(JSCompiler_temp, renderLanes)),\n 0 !== nextProps && nextProps !== prevState.retryLane)\n )\n throw (\n ((prevState.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n isSuspenseInstancePending(nextPrimaryChildren) ||\n renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n isSuspenseInstancePending(nextPrimaryChildren)\n ? ((workInProgress.flags |= 192),\n (workInProgress.child = current.child),\n (workInProgress = null))\n : ((current = prevState.treeContext),\n (nextHydratableInstance = getNextHydratable(\n nextPrimaryChildren.nextSibling\n )),\n (hydrationParentFiber = workInProgress),\n (isHydrating = !0),\n (hydrationErrors = null),\n (rootOrSingletonContext = !1),\n null !== current &&\n restoreSuspendedTreeContext(workInProgress, current),\n (workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (prevState = current.child),\n (digest = prevState.sibling),\n (nextProps = createWorkInProgress(prevState, {\n mode: \"hidden\",\n children: nextProps.children\n })),\n (nextProps.subtreeFlags = prevState.subtreeFlags & 65011712),\n null !== digest\n ? (nextPrimaryChildren = createWorkInProgress(\n digest,\n nextPrimaryChildren\n ))\n : ((nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2)),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n bailoutOffscreenComponent(null, nextProps),\n (nextProps = workInProgress.child),\n (nextPrimaryChildren = current.child.memoizedState),\n null === nextPrimaryChildren\n ? (nextPrimaryChildren = mountSuspenseOffscreenState(renderLanes))\n : ((showFallback = nextPrimaryChildren.cachePool),\n null !== showFallback\n ? ((prevState = CacheContext._currentValue),\n (showFallback =\n showFallback.parent !== prevState\n ? { parent: prevState, pool: prevState }\n : showFallback))\n : (showFallback = getSuspendedCache()),\n (nextPrimaryChildren = {\n baseLanes: nextPrimaryChildren.baseLanes | renderLanes,\n cachePool: showFallback\n })),\n (nextProps.memoizedState = nextPrimaryChildren),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n bailoutOffscreenComponent(current.child, nextProps)\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n renderLanes = current.child;\n current = renderLanes.sibling;\n renderLanes = createWorkInProgress(renderLanes, {\n mode: \"visible\",\n children: nextProps.children\n });\n renderLanes.return = workInProgress;\n renderLanes.sibling = null;\n null !== current &&\n ((JSCompiler_temp = workInProgress.deletions),\n null === JSCompiler_temp\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : JSCompiler_temp.push(current));\n workInProgress.child = renderLanes;\n workInProgress.memoizedState = null;\n return renderLanes;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = mountWorkInProgressOffscreenFiber(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction mountWorkInProgressOffscreenFiber(offscreenProps, mode) {\n offscreenProps = createFiberImplClass(22, offscreenProps, null, mode);\n offscreenProps.lanes = 0;\n return offscreenProps;\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode,\n treeForkCount\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode,\n treeForkCount: treeForkCount\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode),\n (renderState.treeForkCount = treeForkCount));\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n nextProps = nextProps.children;\n var suspenseContext = suspenseStackCursor.current,\n shouldForceFallback = 0 !== (suspenseContext & 2);\n shouldForceFallback\n ? ((suspenseContext = (suspenseContext & 1) | 2),\n (workInProgress.flags |= 128))\n : (suspenseContext &= 1);\n push(suspenseStackCursor, suspenseContext);\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n nextProps = isHydrating ? treeForkCount : 0;\n if (!shouldForceFallback && null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child), (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode,\n nextProps\n );\n break;\n case \"backwards\":\n case \"unstable_legacy-backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode,\n nextProps\n );\n break;\n case \"together\":\n initSuspenseListRenderState(\n workInProgress,\n !1,\n null,\n null,\n void 0,\n nextProps\n );\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(formatProdErrorMessage(153));\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n resetHydrationState();\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 31:\n if (null !== workInProgress.memoizedState)\n return (\n (workInProgress.flags |= 128),\n pushDehydratedActivitySuspenseHandler(workInProgress),\n null\n );\n break;\n case 13:\n var state$102 = workInProgress.memoizedState;\n if (null !== state$102) {\n if (null !== state$102.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state$102 = 0 !== (renderLanes & workInProgress.childLanes);\n state$102 ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state$102 = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state$102)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state$102) break;\n else return null;\n case 22:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n )\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else\n (didReceiveUpdate = !1),\n isHydrating &&\n 0 !== (workInProgress.flags & 1048576) &&\n pushTreeId(workInProgress, treeForkCount, workInProgress.index);\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n a: {\n var props = workInProgress.pendingProps;\n current = resolveLazy(workInProgress.elementType);\n workInProgress.type = current;\n if (\"function\" === typeof current)\n shouldConstruct(current)\n ? ((props = resolveClassComponentProps(current, props)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n )));\n else {\n if (void 0 !== current && null !== current) {\n var $$typeof = current.$$typeof;\n if ($$typeof === REACT_FORWARD_REF_TYPE) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n } else if ($$typeof === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n current,\n props,\n renderLanes\n );\n break a;\n }\n }\n workInProgress = getComponentNameFromType(current) || current;\n throw Error(formatProdErrorMessage(306, workInProgress, \"\"));\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (props = workInProgress.type),\n ($$typeof = resolveClassComponentProps(\n props,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n props,\n $$typeof,\n renderLanes\n )\n );\n case 3:\n a: {\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n );\n if (null === current) throw Error(formatProdErrorMessage(387));\n props = workInProgress.pendingProps;\n var prevState = workInProgress.memoizedState;\n $$typeof = prevState.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, props, null, renderLanes);\n var nextState = workInProgress.memoizedState;\n props = nextState.cache;\n pushProvider(workInProgress, CacheContext, props);\n props !== prevState.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n props = nextState.element;\n if (prevState.isDehydrated)\n if (\n ((prevState = {\n element: props,\n isDehydrated: !1,\n cache: nextState.cache\n }),\n (workInProgress.updateQueue.baseState = prevState),\n (workInProgress.memoizedState = prevState),\n workInProgress.flags & 256)\n ) {\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else if (props !== $$typeof) {\n $$typeof = createCapturedValueAtFiber(\n Error(formatProdErrorMessage(424)),\n workInProgress\n );\n queueHydrationError($$typeof);\n workInProgress = mountHostRootWithoutHydrating(\n current,\n workInProgress,\n props,\n renderLanes\n );\n break a;\n } else {\n current = workInProgress.stateNode.containerInfo;\n switch (current.nodeType) {\n case 9:\n current = current.body;\n break;\n default:\n current =\n \"HTML\" === current.nodeName\n ? current.ownerDocument.body\n : current;\n }\n nextHydratableInstance = getNextHydratable(current.firstChild);\n hydrationParentFiber = workInProgress;\n isHydrating = !0;\n hydrationErrors = null;\n rootOrSingletonContext = !0;\n renderLanes = mountChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n );\n for (workInProgress.child = renderLanes; renderLanes; )\n (renderLanes.flags = (renderLanes.flags & -3) | 4096),\n (renderLanes = renderLanes.sibling);\n }\n else {\n resetHydrationState();\n if (props === $$typeof) {\n workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n break a;\n }\n reconcileChildren(current, workInProgress, props, renderLanes);\n }\n workInProgress = workInProgress.child;\n }\n return workInProgress;\n case 26:\n return (\n markRef(current, workInProgress),\n null === current\n ? (renderLanes = getResource(\n workInProgress.type,\n null,\n workInProgress.pendingProps,\n null\n ))\n ? (workInProgress.memoizedState = renderLanes)\n : isHydrating ||\n ((renderLanes = workInProgress.type),\n (current = workInProgress.pendingProps),\n (props = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n ).createElement(renderLanes)),\n (props[internalInstanceKey] = workInProgress),\n (props[internalPropsKey] = current),\n setInitialProperties(props, renderLanes, current),\n markNodeAsHoistable(props),\n (workInProgress.stateNode = props))\n : (workInProgress.memoizedState = getResource(\n workInProgress.type,\n current.memoizedProps,\n workInProgress.pendingProps,\n current.memoizedState\n )),\n null\n );\n case 27:\n return (\n pushHostContext(workInProgress),\n null === current &&\n isHydrating &&\n ((props = workInProgress.stateNode =\n resolveSingletonInstance(\n workInProgress.type,\n workInProgress.pendingProps,\n rootInstanceStackCursor.current\n )),\n (hydrationParentFiber = workInProgress),\n (rootOrSingletonContext = !0),\n ($$typeof = nextHydratableInstance),\n isSingletonScope(workInProgress.type)\n ? ((previousHydratableOnEnteringScopedSingleton = $$typeof),\n (nextHydratableInstance = getNextHydratable(props.firstChild)))\n : (nextHydratableInstance = $$typeof)),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n markRef(current, workInProgress),\n null === current && (workInProgress.flags |= 4194304),\n workInProgress.child\n );\n case 5:\n if (null === current && isHydrating) {\n if (($$typeof = props = nextHydratableInstance))\n (props = canHydrateInstance(\n props,\n workInProgress.type,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== props\n ? ((workInProgress.stateNode = props),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = getNextHydratable(props.firstChild)),\n (rootOrSingletonContext = !1),\n ($$typeof = !0))\n : ($$typeof = !1);\n $$typeof || throwOnHydrationMismatch(workInProgress);\n }\n pushHostContext(workInProgress);\n $$typeof = workInProgress.type;\n prevState = workInProgress.pendingProps;\n nextState = null !== current ? current.memoizedProps : null;\n props = prevState.children;\n shouldSetTextContent($$typeof, prevState)\n ? (props = null)\n : null !== nextState &&\n shouldSetTextContent($$typeof, nextState) &&\n (workInProgress.flags |= 32);\n null !== workInProgress.memoizedState &&\n (($$typeof = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue = $$typeof));\n markRef(current, workInProgress);\n reconcileChildren(current, workInProgress, props, renderLanes);\n return workInProgress.child;\n case 6:\n if (null === current && isHydrating) {\n if ((current = renderLanes = nextHydratableInstance))\n (renderLanes = canHydrateTextInstance(\n renderLanes,\n workInProgress.pendingProps,\n rootOrSingletonContext\n )),\n null !== renderLanes\n ? ((workInProgress.stateNode = renderLanes),\n (hydrationParentFiber = workInProgress),\n (nextHydratableInstance = null),\n (current = !0))\n : (current = !1);\n current || throwOnHydrationMismatch(workInProgress);\n }\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (props = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n props,\n renderLanes\n ))\n : reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (props = workInProgress.pendingProps),\n pushProvider(workInProgress, workInProgress.type, props.value),\n reconcileChildren(current, workInProgress, props.children, renderLanes),\n workInProgress.child\n );\n case 9:\n return (\n ($$typeof = workInProgress.type._context),\n (props = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n ($$typeof = readContext($$typeof)),\n (props = props($$typeof)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, props, renderLanes),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 31:\n return updateActivityComponent(current, workInProgress, renderLanes);\n case 22:\n return updateOffscreenComponent(\n current,\n workInProgress,\n renderLanes,\n workInProgress.pendingProps\n );\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (props = readContext(CacheContext)),\n null === current\n ? (($$typeof = peekCacheFromPool()),\n null === $$typeof &&\n (($$typeof = workInProgressRoot),\n (prevState = createCache()),\n ($$typeof.pooledCache = prevState),\n prevState.refCount++,\n null !== prevState && ($$typeof.pooledCacheLanes |= renderLanes),\n ($$typeof = prevState)),\n (workInProgress.memoizedState = { parent: props, cache: $$typeof }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, $$typeof))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n ($$typeof = current.memoizedState),\n (prevState = workInProgress.memoizedState),\n $$typeof.parent !== props\n ? (($$typeof = { parent: props, cache: props }),\n (workInProgress.memoizedState = $$typeof),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n $$typeof),\n pushProvider(workInProgress, CacheContext, props))\n : ((props = prevState.cache),\n pushProvider(workInProgress, CacheContext, props),\n props !== $$typeof.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction markUpdate(workInProgress) {\n workInProgress.flags |= 4;\n}\nfunction preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n oldProps,\n newProps,\n renderLanes\n) {\n if ((type = 0 !== (workInProgress.mode & 32))) type = !1;\n if (type) {\n if (\n ((workInProgress.flags |= 16777216),\n (renderLanes & 335544128) === renderLanes)\n )\n if (workInProgress.stateNode.complete) workInProgress.flags |= 8192;\n else if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n } else workInProgress.flags &= -16777217;\n}\nfunction preloadResourceAndSuspendIfNeeded(workInProgress, resource) {\n if (\"stylesheet\" !== resource.type || 0 !== (resource.state.loading & 4))\n workInProgress.flags &= -16777217;\n else if (((workInProgress.flags |= 16777216), !preloadResource(resource)))\n if (shouldRemainOnPreviousScreen()) workInProgress.flags |= 8192;\n else\n throw (\n ((suspendedThenable = noopSuspenseyCommitThenable),\n SuspenseyCommitException)\n );\n}\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n}\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n if (!isHydrating)\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$106 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$106 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$106\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$106.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$107 = completedWork.child; null !== child$107; )\n (newChildLanes |= child$107.lanes | child$107.childLanes),\n (subtreeFlags |= child$107.subtreeFlags & 65011712),\n (subtreeFlags |= child$107.flags & 65011712),\n (child$107.return = completedWork),\n (child$107 = child$107.sibling);\n else\n for (child$107 = completedWork.child; null !== child$107; )\n (newChildLanes |= child$107.lanes | child$107.childLanes),\n (subtreeFlags |= child$107.subtreeFlags),\n (subtreeFlags |= child$107.flags),\n (child$107.return = completedWork),\n (child$107 = child$107.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n renderLanes = workInProgress.stateNode;\n newProps = null;\n null !== current && (newProps = current.memoizedState.cache);\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048);\n popProvider(CacheContext);\n popHostContainer();\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null));\n if (null === current || null === current.child)\n popHydrationState(workInProgress)\n ? markUpdate(workInProgress)\n : null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n upgradeHydrationErrorsToRecoverable());\n bubbleProperties(workInProgress);\n return null;\n case 26:\n var type = workInProgress.type,\n nextResource = workInProgress.memoizedState;\n null === current\n ? (markUpdate(workInProgress),\n null !== nextResource\n ? (bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n null,\n newProps,\n renderLanes\n )))\n : nextResource\n ? nextResource !== current.memoizedState\n ? (markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadResourceAndSuspendIfNeeded(workInProgress, nextResource))\n : (bubbleProperties(workInProgress),\n (workInProgress.flags &= -16777217))\n : ((current = current.memoizedProps),\n current !== newProps && markUpdate(workInProgress),\n bubbleProperties(workInProgress),\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n type,\n current,\n newProps,\n renderLanes\n ));\n return null;\n case 27:\n popHostContext(workInProgress);\n renderLanes = rootInstanceStackCursor.current;\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n current = contextStackCursor.current;\n popHydrationState(workInProgress)\n ? prepareToHydrateHostInstance(workInProgress, current)\n : ((current = resolveSingletonInstance(type, newProps, renderLanes)),\n (workInProgress.stateNode = current),\n markUpdate(workInProgress));\n }\n bubbleProperties(workInProgress);\n return null;\n case 5:\n popHostContext(workInProgress);\n type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n bubbleProperties(workInProgress);\n return null;\n }\n nextResource = contextStackCursor.current;\n if (popHydrationState(workInProgress))\n prepareToHydrateHostInstance(workInProgress, nextResource);\n else {\n var ownerDocument = getOwnerDocumentFromRootContainer(\n rootInstanceStackCursor.current\n );\n switch (nextResource) {\n case 1:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case 2:\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n default:\n switch (type) {\n case \"svg\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/2000/svg\",\n type\n );\n break;\n case \"math\":\n nextResource = ownerDocument.createElementNS(\n \"http://www.w3.org/1998/Math/MathML\",\n type\n );\n break;\n case \"script\":\n nextResource = ownerDocument.createElement(\"div\");\n nextResource.innerHTML = \"<script>\\x3c/script>\";\n nextResource = nextResource.removeChild(\n nextResource.firstChild\n );\n break;\n case \"select\":\n nextResource =\n \"string\" === typeof newProps.is\n ? ownerDocument.createElement(\"select\", {\n is: newProps.is\n })\n : ownerDocument.createElement(\"select\");\n newProps.multiple\n ? (nextResource.multiple = !0)\n : newProps.size && (nextResource.size = newProps.size);\n break;\n default:\n nextResource =\n \"string\" === typeof newProps.is\n ? ownerDocument.createElement(type, { is: newProps.is })\n : ownerDocument.createElement(type);\n }\n }\n nextResource[internalInstanceKey] = workInProgress;\n nextResource[internalPropsKey] = newProps;\n a: for (\n ownerDocument = workInProgress.child;\n null !== ownerDocument;\n\n ) {\n if (5 === ownerDocument.tag || 6 === ownerDocument.tag)\n nextResource.appendChild(ownerDocument.stateNode);\n else if (\n 4 !== ownerDocument.tag &&\n 27 !== ownerDocument.tag &&\n null !== ownerDocument.child\n ) {\n ownerDocument.child.return = ownerDocument;\n ownerDocument = ownerDocument.child;\n continue;\n }\n if (ownerDocument === workInProgress) break a;\n for (; null === ownerDocument.sibling; ) {\n if (\n null === ownerDocument.return ||\n ownerDocument.return === workInProgress\n )\n break a;\n ownerDocument = ownerDocument.return;\n }\n ownerDocument.sibling.return = ownerDocument.return;\n ownerDocument = ownerDocument.sibling;\n }\n workInProgress.stateNode = nextResource;\n a: switch (\n (setInitialProperties(nextResource, type, newProps), type)\n ) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n newProps = !!newProps.autoFocus;\n break a;\n case \"img\":\n newProps = !0;\n break a;\n default:\n newProps = !1;\n }\n newProps && markUpdate(workInProgress);\n }\n }\n bubbleProperties(workInProgress);\n preloadInstanceAndSuspendIfNeeded(\n workInProgress,\n workInProgress.type,\n null === current ? null : current.memoizedProps,\n workInProgress.pendingProps,\n renderLanes\n );\n return null;\n case 6:\n if (current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && markUpdate(workInProgress);\n else {\n if (\"string\" !== typeof newProps && null === workInProgress.stateNode)\n throw Error(formatProdErrorMessage(166));\n current = rootInstanceStackCursor.current;\n if (popHydrationState(workInProgress)) {\n current = workInProgress.stateNode;\n renderLanes = workInProgress.memoizedProps;\n newProps = null;\n type = hydrationParentFiber;\n if (null !== type)\n switch (type.tag) {\n case 27:\n case 5:\n newProps = type.memoizedProps;\n }\n current[internalInstanceKey] = workInProgress;\n current =\n current.nodeValue === renderLanes ||\n (null !== newProps && !0 === newProps.suppressHydrationWarning) ||\n checkForUnmatchedText(current.nodeValue, renderLanes)\n ? !0\n : !1;\n current || throwOnHydrationMismatch(workInProgress, !0);\n } else\n (current =\n getOwnerDocumentFromRootContainer(current).createTextNode(\n newProps\n )),\n (current[internalInstanceKey] = workInProgress),\n (workInProgress.stateNode = current);\n }\n bubbleProperties(workInProgress);\n return null;\n case 31:\n renderLanes = workInProgress.memoizedState;\n if (null === current || null !== current.memoizedState) {\n newProps = popHydrationState(workInProgress);\n if (null !== renderLanes) {\n if (null === current) {\n if (!newProps) throw Error(formatProdErrorMessage(318));\n current = workInProgress.memoizedState;\n current = null !== current ? current.dehydrated : null;\n if (!current) throw Error(formatProdErrorMessage(557));\n current[internalInstanceKey] = workInProgress;\n } else\n resetHydrationState(),\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null),\n (workInProgress.flags |= 4);\n bubbleProperties(workInProgress);\n current = !1;\n } else\n (renderLanes = upgradeHydrationErrorsToRecoverable()),\n null !== current &&\n null !== current.memoizedState &&\n (current.memoizedState.hydrationErrors = renderLanes),\n (current = !0);\n if (!current) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n if (0 !== (workInProgress.flags & 128))\n throw Error(formatProdErrorMessage(558));\n }\n bubbleProperties(workInProgress);\n return null;\n case 13:\n newProps = workInProgress.memoizedState;\n if (\n null === current ||\n (null !== current.memoizedState &&\n null !== current.memoizedState.dehydrated)\n ) {\n type = popHydrationState(workInProgress);\n if (null !== newProps && null !== newProps.dehydrated) {\n if (null === current) {\n if (!type) throw Error(formatProdErrorMessage(318));\n type = workInProgress.memoizedState;\n type = null !== type ? type.dehydrated : null;\n if (!type) throw Error(formatProdErrorMessage(317));\n type[internalInstanceKey] = workInProgress;\n } else\n resetHydrationState(),\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null),\n (workInProgress.flags |= 4);\n bubbleProperties(workInProgress);\n type = !1;\n } else\n (type = upgradeHydrationErrorsToRecoverable()),\n null !== current &&\n null !== current.memoizedState &&\n (current.memoizedState.hydrationErrors = type),\n (type = !0);\n if (!type) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n }\n popSuspenseHandler(workInProgress);\n if (0 !== (workInProgress.flags & 128))\n return (workInProgress.lanes = renderLanes), workInProgress;\n renderLanes = null !== newProps;\n current = null !== current && null !== current.memoizedState;\n renderLanes &&\n ((newProps = workInProgress.child),\n (type = null),\n null !== newProps.alternate &&\n null !== newProps.alternate.memoizedState &&\n null !== newProps.alternate.memoizedState.cachePool &&\n (type = newProps.alternate.memoizedState.cachePool.pool),\n (nextResource = null),\n null !== newProps.memoizedState &&\n null !== newProps.memoizedState.cachePool &&\n (nextResource = newProps.memoizedState.cachePool.pool),\n nextResource !== type && (newProps.flags |= 2048));\n renderLanes !== current &&\n renderLanes &&\n (workInProgress.child.flags |= 8192);\n scheduleRetryEffect(workInProgress, workInProgress.updateQueue);\n bubbleProperties(workInProgress);\n return null;\n case 4:\n return (\n popHostContainer(),\n null === current &&\n listenToAllSupportedEvents(workInProgress.stateNode.containerInfo),\n bubbleProperties(workInProgress),\n null\n );\n case 10:\n return (\n popProvider(workInProgress.type), bubbleProperties(workInProgress), null\n );\n case 19:\n pop(suspenseStackCursor);\n newProps = workInProgress.memoizedState;\n if (null === newProps) return bubbleProperties(workInProgress), null;\n type = 0 !== (workInProgress.flags & 128);\n nextResource = newProps.rendering;\n if (null === nextResource)\n if (type) cutOffTailIfNeeded(newProps, !1);\n else {\n if (\n 0 !== workInProgressRootExitStatus ||\n (null !== current && 0 !== (current.flags & 128))\n )\n for (current = workInProgress.child; null !== current; ) {\n nextResource = findFirstSuspended(current);\n if (null !== nextResource) {\n workInProgress.flags |= 128;\n cutOffTailIfNeeded(newProps, !1);\n current = nextResource.updateQueue;\n workInProgress.updateQueue = current;\n scheduleRetryEffect(workInProgress, current);\n workInProgress.subtreeFlags = 0;\n current = renderLanes;\n for (renderLanes = workInProgress.child; null !== renderLanes; )\n resetWorkInProgress(renderLanes, current),\n (renderLanes = renderLanes.sibling);\n push(\n suspenseStackCursor,\n (suspenseStackCursor.current & 1) | 2\n );\n isHydrating &&\n pushTreeFork(workInProgress, newProps.treeForkCount);\n return workInProgress.child;\n }\n current = current.sibling;\n }\n null !== newProps.tail &&\n now() > workInProgressRootRenderTargetTime &&\n ((workInProgress.flags |= 128),\n (type = !0),\n cutOffTailIfNeeded(newProps, !1),\n (workInProgress.lanes = 4194304));\n }\n else {\n if (!type)\n if (\n ((current = findFirstSuspended(nextResource)), null !== current)\n ) {\n if (\n ((workInProgress.flags |= 128),\n (type = !0),\n (current = current.updateQueue),\n (workInProgress.updateQueue = current),\n scheduleRetryEffect(workInProgress, current),\n cutOffTailIfNeeded(newProps, !0),\n null === newProps.tail &&\n \"hidden\" === newProps.tailMode &&\n !nextResource.alternate &&\n !isHydrating)\n )\n return bubbleProperties(workInProgress), null;\n } else\n 2 * now() - newProps.renderingStartTime >\n workInProgressRootRenderTargetTime &&\n 536870912 !== renderLanes &&\n ((workInProgress.flags |= 128),\n (type = !0),\n cutOffTailIfNeeded(newProps, !1),\n (workInProgress.lanes = 4194304));\n newProps.isBackwards\n ? ((nextResource.sibling = workInProgress.child),\n (workInProgress.child = nextResource))\n : ((current = newProps.last),\n null !== current\n ? (current.sibling = nextResource)\n : (workInProgress.child = nextResource),\n (newProps.last = nextResource));\n }\n if (null !== newProps.tail)\n return (\n (current = newProps.tail),\n (newProps.rendering = current),\n (newProps.tail = current.sibling),\n (newProps.renderingStartTime = now()),\n (current.sibling = null),\n (renderLanes = suspenseStackCursor.current),\n push(\n suspenseStackCursor,\n type ? (renderLanes & 1) | 2 : renderLanes & 1\n ),\n isHydrating && pushTreeFork(workInProgress, newProps.treeForkCount),\n current\n );\n bubbleProperties(workInProgress);\n return null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n (newProps = null !== workInProgress.memoizedState),\n null !== current\n ? (null !== current.memoizedState) !== newProps &&\n (workInProgress.flags |= 8192)\n : newProps && (workInProgress.flags |= 8192),\n newProps\n ? 0 !== (renderLanes & 536870912) &&\n 0 === (workInProgress.flags & 128) &&\n (bubbleProperties(workInProgress),\n workInProgress.subtreeFlags & 6 && (workInProgress.flags |= 8192))\n : bubbleProperties(workInProgress),\n (renderLanes = workInProgress.updateQueue),\n null !== renderLanes &&\n scheduleRetryEffect(workInProgress, renderLanes.retryQueue),\n (renderLanes = null),\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (renderLanes = current.memoizedState.cachePool.pool),\n (newProps = null),\n null !== workInProgress.memoizedState &&\n null !== workInProgress.memoizedState.cachePool &&\n (newProps = workInProgress.memoizedState.cachePool.pool),\n newProps !== renderLanes && (workInProgress.flags |= 2048),\n null !== current && pop(resumedCache),\n null\n );\n case 24:\n return (\n (renderLanes = null),\n null !== current && (renderLanes = current.memoizedState.cache),\n workInProgress.memoizedState.cache !== renderLanes &&\n (workInProgress.flags |= 2048),\n popProvider(CacheContext),\n bubbleProperties(workInProgress),\n null\n );\n case 25:\n return null;\n case 30:\n return null;\n }\n throw Error(formatProdErrorMessage(156, workInProgress.tag));\n}\nfunction unwindWork(current, workInProgress) {\n popTreeContext(workInProgress);\n switch (workInProgress.tag) {\n case 1:\n return (\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 3:\n return (\n popProvider(CacheContext),\n popHostContainer(),\n (current = workInProgress.flags),\n 0 !== (current & 65536) && 0 === (current & 128)\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 26:\n case 27:\n case 5:\n return popHostContext(workInProgress), null;\n case 31:\n if (null !== workInProgress.memoizedState) {\n popSuspenseHandler(workInProgress);\n if (null === workInProgress.alternate)\n throw Error(formatProdErrorMessage(340));\n resetHydrationState();\n }\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 13:\n popSuspenseHandler(workInProgress);\n current = workInProgress.memoizedState;\n if (null !== current && null !== current.dehydrated) {\n if (null === workInProgress.alternate)\n throw Error(formatProdErrorMessage(340));\n resetHydrationState();\n }\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 19:\n return pop(suspenseStackCursor), null;\n case 4:\n return popHostContainer(), null;\n case 10:\n return popProvider(workInProgress.type), null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n null !== current && pop(resumedCache),\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 24:\n return popProvider(CacheContext), null;\n case 25:\n return null;\n default:\n return null;\n }\n}\nfunction unwindInterruptedWork(current, interruptedWork) {\n popTreeContext(interruptedWork);\n switch (interruptedWork.tag) {\n case 3:\n popProvider(CacheContext);\n popHostContainer();\n break;\n case 26:\n case 27:\n case 5:\n popHostContext(interruptedWork);\n break;\n case 4:\n popHostContainer();\n break;\n case 31:\n null !== interruptedWork.memoizedState &&\n popSuspenseHandler(interruptedWork);\n break;\n case 13:\n popSuspenseHandler(interruptedWork);\n break;\n case 19:\n pop(suspenseStackCursor);\n break;\n case 10:\n popProvider(interruptedWork.type);\n break;\n case 22:\n case 23:\n popSuspenseHandler(interruptedWork);\n popHiddenContext();\n null !== current && pop(resumedCache);\n break;\n case 24:\n popProvider(CacheContext);\n }\n}\nfunction commitHookEffectListMount(flags, finishedWork) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n lastEffect = void 0;\n var create = updateQueue.create,\n inst = updateQueue.inst;\n lastEffect = create();\n inst.destroy = lastEffect;\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitHookEffectListUnmount(\n flags,\n finishedWork,\n nearestMountedAncestor$jscomp$0\n) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n var inst = updateQueue.inst,\n destroy = inst.destroy;\n if (void 0 !== destroy) {\n inst.destroy = void 0;\n lastEffect = finishedWork;\n var nearestMountedAncestor = nearestMountedAncestor$jscomp$0,\n destroy_ = destroy;\n try {\n destroy_();\n } catch (error) {\n captureCommitPhaseError(\n lastEffect,\n nearestMountedAncestor,\n error\n );\n }\n }\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitClassCallbacks(finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n if (null !== updateQueue) {\n var instance = finishedWork.stateNode;\n try {\n commitCallbacks(updateQueue, instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\nfunction safelyCallComponentWillUnmount(\n current,\n nearestMountedAncestor,\n instance\n) {\n instance.props = resolveClassComponentProps(\n current.type,\n current.memoizedProps\n );\n instance.state = current.memoizedState;\n try {\n instance.componentWillUnmount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n var ref = current.ref;\n if (null !== ref) {\n switch (current.tag) {\n case 26:\n case 27:\n case 5:\n var instanceToUse = current.stateNode;\n break;\n case 30:\n instanceToUse = current.stateNode;\n break;\n default:\n instanceToUse = current.stateNode;\n }\n \"function\" === typeof ref\n ? (current.refCleanup = ref(instanceToUse))\n : (ref.current = instanceToUse);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref,\n refCleanup = current.refCleanup;\n if (null !== ref)\n if (\"function\" === typeof refCleanup)\n try {\n refCleanup();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n } finally {\n (current.refCleanup = null),\n (current = current.alternate),\n null != current && (current.refCleanup = null);\n }\n else if (\"function\" === typeof ref)\n try {\n ref(null);\n } catch (error$140) {\n captureCommitPhaseError(current, nearestMountedAncestor, error$140);\n }\n else ref.current = null;\n}\nfunction commitHostMount(finishedWork) {\n var type = finishedWork.type,\n props = finishedWork.memoizedProps,\n instance = finishedWork.stateNode;\n try {\n a: switch (type) {\n case \"button\":\n case \"input\":\n case \"select\":\n case \"textarea\":\n props.autoFocus && instance.focus();\n break a;\n case \"img\":\n props.src\n ? (instance.src = props.src)\n : props.srcSet && (instance.srcset = props.srcSet);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitHostUpdate(finishedWork, newProps, oldProps) {\n try {\n var domElement = finishedWork.stateNode;\n updateProperties(domElement, finishedWork.type, oldProps, newProps);\n domElement[internalPropsKey] = newProps;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction isHostParent(fiber) {\n return (\n 5 === fiber.tag ||\n 3 === fiber.tag ||\n 26 === fiber.tag ||\n (27 === fiber.tag && isSingletonScope(fiber.type)) ||\n 4 === fiber.tag\n );\n}\nfunction getHostSibling(fiber) {\n a: for (;;) {\n for (; null === fiber.sibling; ) {\n if (null === fiber.return || isHostParent(fiber.return)) return null;\n fiber = fiber.return;\n }\n fiber.sibling.return = fiber.return;\n for (\n fiber = fiber.sibling;\n 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag;\n\n ) {\n if (27 === fiber.tag && isSingletonScope(fiber.type)) continue a;\n if (fiber.flags & 2) continue a;\n if (null === fiber.child || 4 === fiber.tag) continue a;\n else (fiber.child.return = fiber), (fiber = fiber.child);\n }\n if (!(fiber.flags & 2)) return fiber.stateNode;\n }\n}\nfunction insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before\n ? (9 === parent.nodeType\n ? parent.body\n : \"HTML\" === parent.nodeName\n ? parent.ownerDocument.body\n : parent\n ).insertBefore(node, before)\n : ((before =\n 9 === parent.nodeType\n ? parent.body\n : \"HTML\" === parent.nodeName\n ? parent.ownerDocument.body\n : parent),\n before.appendChild(node),\n (parent = parent._reactRootContainer),\n (null !== parent && void 0 !== parent) ||\n null !== before.onclick ||\n (before.onclick = noop$1));\n else if (\n 4 !== tag &&\n (27 === tag &&\n isSingletonScope(node.type) &&\n ((parent = node.stateNode), (before = null)),\n (node = node.child),\n null !== node)\n )\n for (\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n (node = node.sibling);\n}\nfunction insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n (node = node.stateNode),\n before ? parent.insertBefore(node, before) : parent.appendChild(node);\n else if (\n 4 !== tag &&\n (27 === tag && isSingletonScope(node.type) && (parent = node.stateNode),\n (node = node.child),\n null !== node)\n )\n for (\n insertOrAppendPlacementNode(node, before, parent), node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNode(node, before, parent), (node = node.sibling);\n}\nfunction commitHostSingletonAcquisition(finishedWork) {\n var singleton = finishedWork.stateNode,\n props = finishedWork.memoizedProps;\n try {\n for (\n var type = finishedWork.type, attributes = singleton.attributes;\n attributes.length;\n\n )\n singleton.removeAttributeNode(attributes[0]);\n setInitialProperties(singleton, type, props);\n singleton[internalInstanceKey] = finishedWork;\n singleton[internalPropsKey] = props;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nvar offscreenSubtreeIsHidden = !1,\n offscreenSubtreeWasHidden = !1,\n needsFormReset = !1,\n PossiblyWeakSet = \"function\" === typeof WeakSet ? WeakSet : Set,\n nextEffect = null;\nfunction commitBeforeMutationEffects(root, firstChild) {\n root = root.containerInfo;\n eventsEnabled = _enabled;\n root = getActiveElementDeep(root);\n if (hasSelectionCapabilities(root)) {\n if (\"selectionStart\" in root)\n var JSCompiler_temp = {\n start: root.selectionStart,\n end: root.selectionEnd\n };\n else\n a: {\n JSCompiler_temp =\n ((JSCompiler_temp = root.ownerDocument) &&\n JSCompiler_temp.defaultView) ||\n window;\n var selection =\n JSCompiler_temp.getSelection && JSCompiler_temp.getSelection();\n if (selection && 0 !== selection.rangeCount) {\n JSCompiler_temp = selection.anchorNode;\n var anchorOffset = selection.anchorOffset,\n focusNode = selection.focusNode;\n selection = selection.focusOffset;\n try {\n JSCompiler_temp.nodeType, focusNode.nodeType;\n } catch (e$20) {\n JSCompiler_temp = null;\n break a;\n }\n var length = 0,\n start = -1,\n end = -1,\n indexWithinAnchor = 0,\n indexWithinFocus = 0,\n node = root,\n parentNode = null;\n b: for (;;) {\n for (var next; ; ) {\n node !== JSCompiler_temp ||\n (0 !== anchorOffset && 3 !== node.nodeType) ||\n (start = length + anchorOffset);\n node !== focusNode ||\n (0 !== selection && 3 !== node.nodeType) ||\n (end = length + selection);\n 3 === node.nodeType && (length += node.nodeValue.length);\n if (null === (next = node.firstChild)) break;\n parentNode = node;\n node = next;\n }\n for (;;) {\n if (node === root) break b;\n parentNode === JSCompiler_temp &&\n ++indexWithinAnchor === anchorOffset &&\n (start = length);\n parentNode === focusNode &&\n ++indexWithinFocus === selection &&\n (end = length);\n if (null !== (next = node.nextSibling)) break;\n node = parentNode;\n parentNode = node.parentNode;\n }\n node = next;\n }\n JSCompiler_temp =\n -1 === start || -1 === end ? null : { start: start, end: end };\n } else JSCompiler_temp = null;\n }\n JSCompiler_temp = JSCompiler_temp || { start: 0, end: 0 };\n } else JSCompiler_temp = null;\n selectionInformation = { focusedElem: root, selectionRange: JSCompiler_temp };\n _enabled = !1;\n for (nextEffect = firstChild; null !== nextEffect; )\n if (\n ((firstChild = nextEffect),\n (root = firstChild.child),\n 0 !== (firstChild.subtreeFlags & 1028) && null !== root)\n )\n (root.return = firstChild), (nextEffect = root);\n else\n for (; null !== nextEffect; ) {\n firstChild = nextEffect;\n focusNode = firstChild.alternate;\n root = firstChild.flags;\n switch (firstChild.tag) {\n case 0:\n if (\n 0 !== (root & 4) &&\n ((root = firstChild.updateQueue),\n (root = null !== root ? root.events : null),\n null !== root)\n )\n for (\n JSCompiler_temp = 0;\n JSCompiler_temp < root.length;\n JSCompiler_temp++\n )\n (anchorOffset = root[JSCompiler_temp]),\n (anchorOffset.ref.impl = anchorOffset.nextImpl);\n break;\n case 11:\n case 15:\n break;\n case 1:\n if (0 !== (root & 1024) && null !== focusNode) {\n root = void 0;\n JSCompiler_temp = firstChild;\n anchorOffset = focusNode.memoizedProps;\n focusNode = focusNode.memoizedState;\n selection = JSCompiler_temp.stateNode;\n try {\n var resolvedPrevProps = resolveClassComponentProps(\n JSCompiler_temp.type,\n anchorOffset\n );\n root = selection.getSnapshotBeforeUpdate(\n resolvedPrevProps,\n focusNode\n );\n selection.__reactInternalSnapshotBeforeUpdate = root;\n } catch (error) {\n captureCommitPhaseError(\n JSCompiler_temp,\n JSCompiler_temp.return,\n error\n );\n }\n }\n break;\n case 3:\n if (0 !== (root & 1024))\n if (\n ((root = firstChild.stateNode.containerInfo),\n (JSCompiler_temp = root.nodeType),\n 9 === JSCompiler_temp)\n )\n clearContainerSparingly(root);\n else if (1 === JSCompiler_temp)\n switch (root.nodeName) {\n case \"HEAD\":\n case \"HTML\":\n case \"BODY\":\n clearContainerSparingly(root);\n break;\n default:\n root.textContent = \"\";\n }\n break;\n case 5:\n case 26:\n case 27:\n case 6:\n case 4:\n case 17:\n break;\n default:\n if (0 !== (root & 1024)) throw Error(formatProdErrorMessage(163));\n }\n root = firstChild.sibling;\n if (null !== root) {\n root.return = firstChild.return;\n nextEffect = root;\n break;\n }\n nextEffect = firstChild.return;\n }\n}\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitHookEffectListMount(5, finishedWork);\n break;\n case 1:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (flags & 4)\n if (((finishedRoot = finishedWork.stateNode), null === current))\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n else {\n var prevProps = resolveClassComponentProps(\n finishedWork.type,\n current.memoizedProps\n );\n current = current.memoizedState;\n try {\n finishedRoot.componentDidUpdate(\n prevProps,\n current,\n finishedRoot.__reactInternalSnapshotBeforeUpdate\n );\n } catch (error$139) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error$139\n );\n }\n }\n flags & 64 && commitClassCallbacks(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (\n flags & 64 &&\n ((finishedRoot = finishedWork.updateQueue), null !== finishedRoot)\n ) {\n current = null;\n if (null !== finishedWork.child)\n switch (finishedWork.child.tag) {\n case 27:\n case 5:\n current = finishedWork.child.stateNode;\n break;\n case 1:\n current = finishedWork.child.stateNode;\n }\n try {\n commitCallbacks(finishedRoot, current);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 27:\n null === current &&\n flags & 4 &&\n commitHostSingletonAcquisition(finishedWork);\n case 26:\n case 5:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n null === current && flags & 4 && commitHostMount(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n case 31:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitActivityHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n flags & 64 &&\n ((finishedRoot = finishedWork.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated),\n null !== finishedRoot &&\n ((finishedWork = retryDehydratedSuspenseBoundary.bind(\n null,\n finishedWork\n )),\n registerSuspenseInstanceRetry(finishedRoot, finishedWork))));\n break;\n case 22:\n flags = null !== finishedWork.memoizedState || offscreenSubtreeIsHidden;\n if (!flags) {\n current =\n (null !== current && null !== current.memoizedState) ||\n offscreenSubtreeWasHidden;\n prevProps = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = flags;\n (offscreenSubtreeWasHidden = current) && !prevOffscreenSubtreeWasHidden\n ? recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n 0 !== (finishedWork.subtreeFlags & 8772)\n )\n : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n offscreenSubtreeIsHidden = prevProps;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n }\n break;\n case 30:\n break;\n default:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n }\n}\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n null !== alternate &&\n ((fiber.alternate = null), detachFiberAfterEffects(alternate));\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null;\n 5 === fiber.tag &&\n ((alternate = fiber.stateNode),\n null !== alternate && detachDeletedInstance(alternate));\n fiber.stateNode = null;\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null;\n fiber.updateQueue = null;\n}\nvar hostParent = null,\n hostParentIsContainer = !1;\nfunction recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n parent\n) {\n for (parent = parent.child; null !== parent; )\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, parent),\n (parent = parent.sibling);\n}\nfunction commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberUnmount)\n try {\n injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);\n } catch (err) {}\n switch (deletedFiber.tag) {\n case 26:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n deletedFiber.memoizedState\n ? deletedFiber.memoizedState.count--\n : deletedFiber.stateNode &&\n ((deletedFiber = deletedFiber.stateNode),\n deletedFiber.parentNode.removeChild(deletedFiber));\n break;\n case 27:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var prevHostParent = hostParent,\n prevHostParentIsContainer = hostParentIsContainer;\n isSingletonScope(deletedFiber.type) &&\n ((hostParent = deletedFiber.stateNode), (hostParentIsContainer = !1));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n releaseSingletonInstance(deletedFiber.stateNode);\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n case 5:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n case 6:\n prevHostParent = hostParent;\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n if (null !== hostParent)\n if (hostParentIsContainer)\n try {\n (9 === hostParent.nodeType\n ? hostParent.body\n : \"HTML\" === hostParent.nodeName\n ? hostParent.ownerDocument.body\n : hostParent\n ).removeChild(deletedFiber.stateNode);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n else\n try {\n hostParent.removeChild(deletedFiber.stateNode);\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n break;\n case 18:\n null !== hostParent &&\n (hostParentIsContainer\n ? ((finishedRoot = hostParent),\n clearHydrationBoundary(\n 9 === finishedRoot.nodeType\n ? finishedRoot.body\n : \"HTML\" === finishedRoot.nodeName\n ? finishedRoot.ownerDocument.body\n : finishedRoot,\n deletedFiber.stateNode\n ),\n retryIfBlockedOn(finishedRoot))\n : clearHydrationBoundary(hostParent, deletedFiber.stateNode));\n break;\n case 4:\n prevHostParent = hostParent;\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = !0;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n break;\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(2, deletedFiber, nearestMountedAncestor);\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(4, deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 1:\n offscreenSubtreeWasHidden ||\n (safelyDetachRef(deletedFiber, nearestMountedAncestor),\n (prevHostParent = deletedFiber.stateNode),\n \"function\" === typeof prevHostParent.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n deletedFiber,\n nearestMountedAncestor,\n prevHostParent\n ));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 21:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 22:\n offscreenSubtreeWasHidden =\n (prevHostParent = offscreenSubtreeWasHidden) ||\n null !== deletedFiber.memoizedState;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n offscreenSubtreeWasHidden = prevHostParent;\n break;\n default:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n }\n}\nfunction commitActivityHydrationCallbacks(finishedRoot, finishedWork) {\n if (\n null === finishedWork.memoizedState &&\n ((finishedRoot = finishedWork.alternate),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.memoizedState), null !== finishedRoot))\n ) {\n finishedRoot = finishedRoot.dehydrated;\n try {\n retryIfBlockedOn(finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\nfunction commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\n if (\n null === finishedWork.memoizedState &&\n ((finishedRoot = finishedWork.alternate),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.memoizedState),\n null !== finishedRoot &&\n ((finishedRoot = finishedRoot.dehydrated), null !== finishedRoot)))\n )\n try {\n retryIfBlockedOn(finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction getRetryCache(finishedWork) {\n switch (finishedWork.tag) {\n case 31:\n case 13:\n case 19:\n var retryCache = finishedWork.stateNode;\n null === retryCache &&\n (retryCache = finishedWork.stateNode = new PossiblyWeakSet());\n return retryCache;\n case 22:\n return (\n (finishedWork = finishedWork.stateNode),\n (retryCache = finishedWork._retryCache),\n null === retryCache &&\n (retryCache = finishedWork._retryCache = new PossiblyWeakSet()),\n retryCache\n );\n default:\n throw Error(formatProdErrorMessage(435, finishedWork.tag));\n }\n}\nfunction attachSuspenseRetryListeners(finishedWork, wakeables) {\n var retryCache = getRetryCache(finishedWork);\n wakeables.forEach(function (wakeable) {\n if (!retryCache.has(wakeable)) {\n retryCache.add(wakeable);\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n wakeable.then(retry, retry);\n }\n });\n}\nfunction recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {\n var deletions = parentFiber.deletions;\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i],\n root = root$jscomp$0,\n returnFiber = parentFiber,\n parent = returnFiber;\n a: for (; null !== parent; ) {\n switch (parent.tag) {\n case 27:\n if (isSingletonScope(parent.type)) {\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n }\n break;\n case 5:\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n case 3:\n case 4:\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = !0;\n break a;\n }\n parent = parent.return;\n }\n if (null === hostParent) throw Error(formatProdErrorMessage(160));\n commitDeletionEffectsOnFiber(root, returnFiber, childToDelete);\n hostParent = null;\n hostParentIsContainer = !1;\n root = childToDelete.alternate;\n null !== root && (root.return = null);\n childToDelete.return = null;\n }\n if (parentFiber.subtreeFlags & 13886)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitMutationEffectsOnFiber(parentFiber, root$jscomp$0),\n (parentFiber = parentFiber.sibling);\n}\nvar currentHoistableRoot = null;\nfunction commitMutationEffectsOnFiber(finishedWork, root) {\n var current = finishedWork.alternate,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n (commitHookEffectListUnmount(3, finishedWork, finishedWork.return),\n commitHookEffectListMount(3, finishedWork),\n commitHookEffectListUnmount(5, finishedWork, finishedWork.return));\n break;\n case 1:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n flags & 64 &&\n offscreenSubtreeIsHidden &&\n ((finishedWork = finishedWork.updateQueue),\n null !== finishedWork &&\n ((flags = finishedWork.callbacks),\n null !== flags &&\n ((current = finishedWork.shared.hiddenCallbacks),\n (finishedWork.shared.hiddenCallbacks =\n null === current ? flags : current.concat(flags)))));\n break;\n case 26:\n var hoistableRoot = currentHoistableRoot;\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (flags & 4) {\n var currentResource = null !== current ? current.memoizedState : null;\n flags = finishedWork.memoizedState;\n if (null === current)\n if (null === flags)\n if (null === finishedWork.stateNode) {\n a: {\n flags = finishedWork.type;\n current = finishedWork.memoizedProps;\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n b: switch (flags) {\n case \"title\":\n currentResource =\n hoistableRoot.getElementsByTagName(\"title\")[0];\n if (\n !currentResource ||\n currentResource[internalHoistableMarker] ||\n currentResource[internalInstanceKey] ||\n \"http://www.w3.org/2000/svg\" ===\n currentResource.namespaceURI ||\n currentResource.hasAttribute(\"itemprop\")\n )\n (currentResource = hoistableRoot.createElement(flags)),\n hoistableRoot.head.insertBefore(\n currentResource,\n hoistableRoot.querySelector(\"head > title\")\n );\n setInitialProperties(currentResource, flags, current);\n currentResource[internalInstanceKey] = finishedWork;\n markNodeAsHoistable(currentResource);\n flags = currentResource;\n break a;\n case \"link\":\n var maybeNodes = getHydratableHoistableCache(\n \"link\",\n \"href\",\n hoistableRoot\n ).get(flags + (current.href || \"\"));\n if (maybeNodes)\n for (var i = 0; i < maybeNodes.length; i++)\n if (\n ((currentResource = maybeNodes[i]),\n currentResource.getAttribute(\"href\") ===\n (null == current.href || \"\" === current.href\n ? null\n : current.href) &&\n currentResource.getAttribute(\"rel\") ===\n (null == current.rel ? null : current.rel) &&\n currentResource.getAttribute(\"title\") ===\n (null == current.title ? null : current.title) &&\n currentResource.getAttribute(\"crossorigin\") ===\n (null == current.crossOrigin\n ? null\n : current.crossOrigin))\n ) {\n maybeNodes.splice(i, 1);\n break b;\n }\n currentResource = hoistableRoot.createElement(flags);\n setInitialProperties(currentResource, flags, current);\n hoistableRoot.head.appendChild(currentResource);\n break;\n case \"meta\":\n if (\n (maybeNodes = getHydratableHoistableCache(\n \"meta\",\n \"content\",\n hoistableRoot\n ).get(flags + (current.content || \"\")))\n )\n for (i = 0; i < maybeNodes.length; i++)\n if (\n ((currentResource = maybeNodes[i]),\n currentResource.getAttribute(\"content\") ===\n (null == current.content\n ? null\n : \"\" + current.content) &&\n currentResource.getAttribute(\"name\") ===\n (null == current.name ? null : current.name) &&\n currentResource.getAttribute(\"property\") ===\n (null == current.property\n ? null\n : current.property) &&\n currentResource.getAttribute(\"http-equiv\") ===\n (null == current.httpEquiv\n ? null\n : current.httpEquiv) &&\n currentResource.getAttribute(\"charset\") ===\n (null == current.charSet\n ? null\n : current.charSet))\n ) {\n maybeNodes.splice(i, 1);\n break b;\n }\n currentResource = hoistableRoot.createElement(flags);\n setInitialProperties(currentResource, flags, current);\n hoistableRoot.head.appendChild(currentResource);\n break;\n default:\n throw Error(formatProdErrorMessage(468, flags));\n }\n currentResource[internalInstanceKey] = finishedWork;\n markNodeAsHoistable(currentResource);\n flags = currentResource;\n }\n finishedWork.stateNode = flags;\n } else\n mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n );\n else\n finishedWork.stateNode = acquireResource(\n hoistableRoot,\n flags,\n finishedWork.memoizedProps\n );\n else\n currentResource !== flags\n ? (null === currentResource\n ? null !== current.stateNode &&\n ((current = current.stateNode),\n current.parentNode.removeChild(current))\n : currentResource.count--,\n null === flags\n ? mountHoistable(\n hoistableRoot,\n finishedWork.type,\n finishedWork.stateNode\n )\n : acquireResource(\n hoistableRoot,\n flags,\n finishedWork.memoizedProps\n ))\n : null === flags &&\n null !== finishedWork.stateNode &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n );\n }\n break;\n case 27:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n null !== current &&\n flags & 4 &&\n commitHostUpdate(\n finishedWork,\n finishedWork.memoizedProps,\n current.memoizedProps\n );\n break;\n case 5:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (finishedWork.flags & 32) {\n hoistableRoot = finishedWork.stateNode;\n try {\n setTextContent(hoistableRoot, \"\");\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n flags & 4 &&\n null != finishedWork.stateNode &&\n ((hoistableRoot = finishedWork.memoizedProps),\n commitHostUpdate(\n finishedWork,\n hoistableRoot,\n null !== current ? current.memoizedProps : hoistableRoot\n ));\n flags & 1024 && (needsFormReset = !0);\n break;\n case 6:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n if (flags & 4) {\n if (null === finishedWork.stateNode)\n throw Error(formatProdErrorMessage(162));\n flags = finishedWork.memoizedProps;\n current = finishedWork.stateNode;\n try {\n current.nodeValue = flags;\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 3:\n tagCaches = null;\n hoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(root.containerInfo);\n recursivelyTraverseMutationEffects(root, finishedWork);\n currentHoistableRoot = hoistableRoot;\n commitReconciliationEffects(finishedWork);\n if (flags & 4 && null !== current && current.memoizedState.isDehydrated)\n try {\n retryIfBlockedOn(root.containerInfo);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n needsFormReset &&\n ((needsFormReset = !1), recursivelyResetForms(finishedWork));\n break;\n case 4:\n flags = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(\n finishedWork.stateNode.containerInfo\n );\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n currentHoistableRoot = flags;\n break;\n case 12:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 31:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 13:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n finishedWork.child.flags & 8192 &&\n (null !== finishedWork.memoizedState) !==\n (null !== current && null !== current.memoizedState) &&\n (globalMostRecentFallbackTime = now());\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 22:\n hoistableRoot = null !== finishedWork.memoizedState;\n var wasHidden = null !== current && null !== current.memoizedState,\n prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || hoistableRoot;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n commitReconciliationEffects(finishedWork);\n if (flags & 8192)\n a: for (\n root = finishedWork.stateNode,\n root._visibility = hoistableRoot\n ? root._visibility & -2\n : root._visibility | 1,\n hoistableRoot &&\n (null === current ||\n wasHidden ||\n offscreenSubtreeIsHidden ||\n offscreenSubtreeWasHidden ||\n recursivelyTraverseDisappearLayoutEffects(finishedWork)),\n current = null,\n root = finishedWork;\n ;\n\n ) {\n if (5 === root.tag || 26 === root.tag) {\n if (null === current) {\n wasHidden = current = root;\n try {\n if (((currentResource = wasHidden.stateNode), hoistableRoot))\n (maybeNodes = currentResource.style),\n \"function\" === typeof maybeNodes.setProperty\n ? maybeNodes.setProperty(\"display\", \"none\", \"important\")\n : (maybeNodes.display = \"none\");\n else {\n i = wasHidden.stateNode;\n var styleProp = wasHidden.memoizedProps.style,\n display =\n void 0 !== styleProp &&\n null !== styleProp &&\n styleProp.hasOwnProperty(\"display\")\n ? styleProp.display\n : null;\n i.style.display =\n null == display || \"boolean\" === typeof display\n ? \"\"\n : (\"\" + display).trim();\n }\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (6 === root.tag) {\n if (null === current) {\n wasHidden = root;\n try {\n wasHidden.stateNode.nodeValue = hoistableRoot\n ? \"\"\n : wasHidden.memoizedProps;\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (18 === root.tag) {\n if (null === current) {\n wasHidden = root;\n try {\n var instance = wasHidden.stateNode;\n hoistableRoot\n ? hideOrUnhideDehydratedBoundary(instance, !0)\n : hideOrUnhideDehydratedBoundary(wasHidden.stateNode, !1);\n } catch (error) {\n captureCommitPhaseError(wasHidden, wasHidden.return, error);\n }\n }\n } else if (\n ((22 !== root.tag && 23 !== root.tag) ||\n null === root.memoizedState ||\n root === finishedWork) &&\n null !== root.child\n ) {\n root.child.return = root;\n root = root.child;\n continue;\n }\n if (root === finishedWork) break a;\n for (; null === root.sibling; ) {\n if (null === root.return || root.return === finishedWork) break a;\n current === root && (current = null);\n root = root.return;\n }\n current === root && (current = null);\n root.sibling.return = root.return;\n root = root.sibling;\n }\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((current = flags.retryQueue),\n null !== current &&\n ((flags.retryQueue = null),\n attachSuspenseRetryListeners(finishedWork, current))));\n break;\n case 19:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 30:\n break;\n case 21:\n break;\n default:\n recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork);\n }\n}\nfunction commitReconciliationEffects(finishedWork) {\n var flags = finishedWork.flags;\n if (flags & 2) {\n try {\n for (\n var hostParentFiber, parentFiber = finishedWork.return;\n null !== parentFiber;\n\n ) {\n if (isHostParent(parentFiber)) {\n hostParentFiber = parentFiber;\n break;\n }\n parentFiber = parentFiber.return;\n }\n if (null == hostParentFiber) throw Error(formatProdErrorMessage(160));\n switch (hostParentFiber.tag) {\n case 27:\n var parent = hostParentFiber.stateNode,\n before = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(finishedWork, before, parent);\n break;\n case 5:\n var parent$141 = hostParentFiber.stateNode;\n hostParentFiber.flags & 32 &&\n (setTextContent(parent$141, \"\"), (hostParentFiber.flags &= -33));\n var before$142 = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(finishedWork, before$142, parent$141);\n break;\n case 3:\n case 4:\n var parent$143 = hostParentFiber.stateNode.containerInfo,\n before$144 = getHostSibling(finishedWork);\n insertOrAppendPlacementNodeIntoContainer(\n finishedWork,\n before$144,\n parent$143\n );\n break;\n default:\n throw Error(formatProdErrorMessage(161));\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n finishedWork.flags &= -3;\n }\n flags & 4096 && (finishedWork.flags &= -4097);\n}\nfunction recursivelyResetForms(parentFiber) {\n if (parentFiber.subtreeFlags & 1024)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var fiber = parentFiber;\n recursivelyResetForms(fiber);\n 5 === fiber.tag && fiber.flags & 1024 && fiber.stateNode.reset();\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseLayoutEffects(root, parentFiber) {\n if (parentFiber.subtreeFlags & 8772)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitLayoutEffectOnFiber(root, parentFiber.alternate, parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction recursivelyTraverseDisappearLayoutEffects(parentFiber) {\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedWork = parentFiber;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(4, finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 1:\n safelyDetachRef(finishedWork, finishedWork.return);\n var instance = finishedWork.stateNode;\n \"function\" === typeof instance.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n finishedWork,\n finishedWork.return,\n instance\n );\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 27:\n releaseSingletonInstance(finishedWork.stateNode);\n case 26:\n case 5:\n safelyDetachRef(finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 30:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n default:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseReappearLayoutEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var current = parentFiber.alternate,\n finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(4, finishedWork);\n break;\n case 1:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n current = finishedWork;\n finishedRoot = current.stateNode;\n if (\"function\" === typeof finishedRoot.componentDidMount)\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n current = finishedWork;\n finishedRoot = current.updateQueue;\n if (null !== finishedRoot) {\n var instance = current.stateNode;\n try {\n var hiddenCallbacks = finishedRoot.shared.hiddenCallbacks;\n if (null !== hiddenCallbacks)\n for (\n finishedRoot.shared.hiddenCallbacks = null, finishedRoot = 0;\n finishedRoot < hiddenCallbacks.length;\n finishedRoot++\n )\n callCallback(hiddenCallbacks[finishedRoot], instance);\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n }\n includeWorkInProgressEffects &&\n flags & 64 &&\n commitClassCallbacks(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 27:\n commitHostSingletonAcquisition(finishedWork);\n case 26:\n case 5:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n null === current &&\n flags & 4 &&\n commitHostMount(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n break;\n case 31:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 4 &&\n commitActivityHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 4 &&\n commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 30:\n break;\n default:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitOffscreenPassiveMountEffects(current, finishedWork) {\n var previousCache = null;\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (previousCache = current.memoizedState.cachePool.pool);\n current = null;\n null !== finishedWork.memoizedState &&\n null !== finishedWork.memoizedState.cachePool &&\n (current = finishedWork.memoizedState.cachePool.pool);\n current !== previousCache &&\n (null != current && current.refCount++,\n null != previousCache && releaseCache(previousCache));\n}\nfunction commitCachePassiveMountEffect(current, finishedWork) {\n current = null;\n null !== finishedWork.alternate &&\n (current = finishedWork.alternate.memoizedState.cache);\n finishedWork = finishedWork.memoizedState.cache;\n finishedWork !== current &&\n (finishedWork.refCount++, null != current && releaseCache(current));\n}\nfunction recursivelyTraversePassiveMountEffects(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveMountOnFiber(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveMountOnFiber(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 && commitHookEffectListMount(9, finishedWork);\n break;\n case 1:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 3:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n ((finishedRoot = null),\n null !== finishedWork.alternate &&\n (finishedRoot = finishedWork.alternate.memoizedState.cache),\n (finishedWork = finishedWork.memoizedState.cache),\n finishedWork !== finishedRoot &&\n (finishedWork.refCount++,\n null != finishedRoot && releaseCache(finishedRoot)));\n break;\n case 12:\n if (flags & 2048) {\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n finishedRoot = finishedWork.stateNode;\n try {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n id = _finishedWork$memoize2.id,\n onPostCommit = _finishedWork$memoize2.onPostCommit;\n \"function\" === typeof onPostCommit &&\n onPostCommit(\n id,\n null === finishedWork.alternate ? \"mount\" : \"update\",\n finishedRoot.passiveEffectDuration,\n -0\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } else\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 31:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 13:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 23:\n break;\n case 22:\n _finishedWork$memoize2 = finishedWork.stateNode;\n id = finishedWork.alternate;\n null !== finishedWork.memoizedState\n ? _finishedWork$memoize2._visibility & 2\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork)\n : _finishedWork$memoize2._visibility & 2\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : ((_finishedWork$memoize2._visibility |= 2),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n 0 !== (finishedWork.subtreeFlags & 10256) || !1\n ));\n flags & 2048 && commitOffscreenPassiveMountEffects(id, finishedWork);\n break;\n case 24:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n }\n}\nfunction recursivelyTraverseReconnectPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n committedLanes$jscomp$0,\n committedTransitions$jscomp$0,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects &&\n (0 !== (parentFiber.subtreeFlags & 10256) || !1);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n committedLanes = committedLanes$jscomp$0,\n committedTransitions = committedTransitions$jscomp$0,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(8, finishedWork);\n break;\n case 23:\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? instance._visibility & 2\n ? recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n )\n : recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : ((instance._visibility |= 2),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ));\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseAtomicPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 22:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nvar suspenseyCommitFlag = 8192;\nfunction recursivelyAccumulateSuspenseyCommit(\n parentFiber,\n committedLanes,\n suspendedState\n) {\n if (parentFiber.subtreeFlags & suspenseyCommitFlag)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n accumulateSuspenseyCommitOnFiber(\n parentFiber,\n committedLanes,\n suspendedState\n ),\n (parentFiber = parentFiber.sibling);\n}\nfunction accumulateSuspenseyCommitOnFiber(\n fiber,\n committedLanes,\n suspendedState\n) {\n switch (fiber.tag) {\n case 26:\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n fiber.flags & suspenseyCommitFlag &&\n null !== fiber.memoizedState &&\n suspendResource(\n suspendedState,\n currentHoistableRoot,\n fiber.memoizedState,\n fiber.memoizedProps\n );\n break;\n case 5:\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n break;\n case 3:\n case 4:\n var previousHoistableRoot = currentHoistableRoot;\n currentHoistableRoot = getHoistableRoot(fiber.stateNode.containerInfo);\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n currentHoistableRoot = previousHoistableRoot;\n break;\n case 22:\n null === fiber.memoizedState &&\n ((previousHoistableRoot = fiber.alternate),\n null !== previousHoistableRoot &&\n null !== previousHoistableRoot.memoizedState\n ? ((previousHoistableRoot = suspenseyCommitFlag),\n (suspenseyCommitFlag = 16777216),\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n ),\n (suspenseyCommitFlag = previousHoistableRoot))\n : recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n ));\n break;\n default:\n recursivelyAccumulateSuspenseyCommit(\n fiber,\n committedLanes,\n suspendedState\n );\n }\n}\nfunction detachAlternateSiblings(parentFiber) {\n var previousFiber = parentFiber.alternate;\n if (\n null !== previousFiber &&\n ((parentFiber = previousFiber.child), null !== parentFiber)\n ) {\n previousFiber.child = null;\n do\n (previousFiber = parentFiber.sibling),\n (parentFiber.sibling = null),\n (parentFiber = previousFiber);\n while (null !== parentFiber);\n }\n}\nfunction recursivelyTraversePassiveUnmountEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveUnmountOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n finishedWork.flags & 2048 &&\n commitHookEffectListUnmount(9, finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 12:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState &&\n instance._visibility & 2 &&\n (null === finishedWork.return || 13 !== finishedWork.return.tag)\n ? ((instance._visibility &= -3),\n recursivelyTraverseDisconnectPassiveEffects(finishedWork))\n : recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n default:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n }\n}\nfunction recursivelyTraverseDisconnectPassiveEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n deletions = parentFiber;\n switch (deletions.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, deletions, deletions.return);\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n break;\n case 22:\n i = deletions.stateNode;\n i._visibility & 2 &&\n ((i._visibility &= -3),\n recursivelyTraverseDisconnectPassiveEffects(deletions));\n break;\n default:\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n deletedSubtreeRoot,\n nearestMountedAncestor\n) {\n for (; null !== nextEffect; ) {\n var fiber = nextEffect;\n switch (fiber.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, fiber, nearestMountedAncestor);\n break;\n case 23:\n case 22:\n if (\n null !== fiber.memoizedState &&\n null !== fiber.memoizedState.cachePool\n ) {\n var cache = fiber.memoizedState.cachePool.pool;\n null != cache && cache.refCount++;\n }\n break;\n case 24:\n releaseCache(fiber.memoizedState.cache);\n }\n cache = fiber.child;\n if (null !== cache) (cache.return = fiber), (nextEffect = cache);\n else\n a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {\n cache = nextEffect;\n var sibling = cache.sibling,\n returnFiber = cache.return;\n detachFiberAfterEffects(cache);\n if (cache === fiber) {\n nextEffect = null;\n break a;\n }\n if (null !== sibling) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n break a;\n }\n nextEffect = returnFiber;\n }\n }\n}\nvar DefaultAsyncDispatcher = {\n getCacheForType: function (resourceType) {\n var cache = readContext(CacheContext),\n cacheForType = cache.data.get(resourceType);\n void 0 === cacheForType &&\n ((cacheForType = resourceType()),\n cache.data.set(resourceType, cacheForType));\n return cacheForType;\n },\n cacheSignal: function () {\n return readContext(CacheContext).controller.signal;\n }\n },\n PossiblyWeakMap = \"function\" === typeof WeakMap ? WeakMap : Map,\n executionContext = 0,\n workInProgressRoot = null,\n workInProgress = null,\n workInProgressRootRenderLanes = 0,\n workInProgressSuspendedReason = 0,\n workInProgressThrownValue = null,\n workInProgressRootDidSkipSuspendedSiblings = !1,\n workInProgressRootIsPrerendering = !1,\n workInProgressRootDidAttachPingListener = !1,\n entangledRenderLanes = 0,\n workInProgressRootExitStatus = 0,\n workInProgressRootSkippedLanes = 0,\n workInProgressRootInterleavedUpdatedLanes = 0,\n workInProgressRootPingedLanes = 0,\n workInProgressDeferredLane = 0,\n workInProgressSuspendedRetryLanes = 0,\n workInProgressRootConcurrentErrors = null,\n workInProgressRootRecoverableErrors = null,\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1,\n globalMostRecentFallbackTime = 0,\n globalMostRecentTransitionTime = 0,\n workInProgressRootRenderTargetTime = Infinity,\n workInProgressTransitions = null,\n legacyErrorBoundariesThatAlreadyFailed = null,\n pendingEffectsStatus = 0,\n pendingEffectsRoot = null,\n pendingFinishedWork = null,\n pendingEffectsLanes = 0,\n pendingEffectsRemainingLanes = 0,\n pendingPassiveTransitions = null,\n pendingRecoverableErrors = null,\n nestedUpdateCount = 0,\n rootWithNestedUpdates = null;\nfunction requestUpdateLane() {\n return 0 !== (executionContext & 2) && 0 !== workInProgressRootRenderLanes\n ? workInProgressRootRenderLanes & -workInProgressRootRenderLanes\n : null !== ReactSharedInternals.T\n ? requestTransitionLane()\n : resolveUpdatePriority();\n}\nfunction requestDeferredLane() {\n if (0 === workInProgressDeferredLane)\n if (0 === (workInProgressRootRenderLanes & 536870912) || isHydrating) {\n var lane = nextTransitionDeferredLane;\n nextTransitionDeferredLane <<= 1;\n 0 === (nextTransitionDeferredLane & 3932160) &&\n (nextTransitionDeferredLane = 262144);\n workInProgressDeferredLane = lane;\n } else workInProgressDeferredLane = 536870912;\n lane = suspenseHandlerStackCursor.current;\n null !== lane && (lane.flags |= 32);\n return workInProgressDeferredLane;\n}\nfunction scheduleUpdateOnFiber(root, fiber, lane) {\n if (\n (root === workInProgressRoot &&\n (2 === workInProgressSuspendedReason ||\n 9 === workInProgressSuspendedReason)) ||\n null !== root.cancelPendingCommit\n )\n prepareFreshStack(root, 0),\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n markRootUpdated$1(root, lane);\n if (0 === (executionContext & 2) || root !== workInProgressRoot)\n root === workInProgressRoot &&\n (0 === (executionContext & 2) &&\n (workInProgressRootInterleavedUpdatedLanes |= lane),\n 4 === workInProgressRootExitStatus &&\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n )),\n ensureRootIsScheduled(root);\n}\nfunction performWorkOnRoot(root$jscomp$0, lanes, forceSync) {\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n var shouldTimeSlice =\n (!forceSync &&\n 0 === (lanes & 127) &&\n 0 === (lanes & root$jscomp$0.expiredLanes)) ||\n checkIfRootIsPrerendering(root$jscomp$0, lanes),\n exitStatus = shouldTimeSlice\n ? renderRootConcurrent(root$jscomp$0, lanes)\n : renderRootSync(root$jscomp$0, lanes, !0),\n renderWasConcurrent = shouldTimeSlice;\n do {\n if (0 === exitStatus) {\n workInProgressRootIsPrerendering &&\n !shouldTimeSlice &&\n markRootSuspended(root$jscomp$0, lanes, 0, !1);\n break;\n } else {\n forceSync = root$jscomp$0.current.alternate;\n if (\n renderWasConcurrent &&\n !isRenderConsistentWithExternalStores(forceSync)\n ) {\n exitStatus = renderRootSync(root$jscomp$0, lanes, !1);\n renderWasConcurrent = !1;\n continue;\n }\n if (2 === exitStatus) {\n renderWasConcurrent = lanes;\n if (root$jscomp$0.errorRecoveryDisabledLanes & renderWasConcurrent)\n var JSCompiler_inline_result = 0;\n else\n (JSCompiler_inline_result = root$jscomp$0.pendingLanes & -536870913),\n (JSCompiler_inline_result =\n 0 !== JSCompiler_inline_result\n ? JSCompiler_inline_result\n : JSCompiler_inline_result & 536870912\n ? 536870912\n : 0);\n if (0 !== JSCompiler_inline_result) {\n lanes = JSCompiler_inline_result;\n a: {\n var root = root$jscomp$0;\n exitStatus = workInProgressRootConcurrentErrors;\n var wasRootDehydrated = root.current.memoizedState.isDehydrated;\n wasRootDehydrated &&\n (prepareFreshStack(root, JSCompiler_inline_result).flags |= 256);\n JSCompiler_inline_result = renderRootSync(\n root,\n JSCompiler_inline_result,\n !1\n );\n if (2 !== JSCompiler_inline_result) {\n if (\n workInProgressRootDidAttachPingListener &&\n !wasRootDehydrated\n ) {\n root.errorRecoveryDisabledLanes |= renderWasConcurrent;\n workInProgressRootInterleavedUpdatedLanes |=\n renderWasConcurrent;\n exitStatus = 4;\n break a;\n }\n renderWasConcurrent = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = exitStatus;\n null !== renderWasConcurrent &&\n (null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = renderWasConcurrent)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n renderWasConcurrent\n ));\n }\n exitStatus = JSCompiler_inline_result;\n }\n renderWasConcurrent = !1;\n if (2 !== exitStatus) continue;\n }\n }\n if (1 === exitStatus) {\n prepareFreshStack(root$jscomp$0, 0);\n markRootSuspended(root$jscomp$0, lanes, 0, !0);\n break;\n }\n a: {\n shouldTimeSlice = root$jscomp$0;\n renderWasConcurrent = exitStatus;\n switch (renderWasConcurrent) {\n case 0:\n case 1:\n throw Error(formatProdErrorMessage(345));\n case 4:\n if ((lanes & 4194048) !== lanes) break;\n case 6:\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n break a;\n case 2:\n workInProgressRootRecoverableErrors = null;\n break;\n case 3:\n case 5:\n break;\n default:\n throw Error(formatProdErrorMessage(329));\n }\n if (\n (lanes & 62914560) === lanes &&\n ((exitStatus = globalMostRecentFallbackTime + 300 - now()),\n 10 < exitStatus)\n ) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n if (0 !== getNextLanes(shouldTimeSlice, 0, !0)) break a;\n pendingEffectsLanes = lanes;\n shouldTimeSlice.timeoutHandle = scheduleTimeout(\n commitRootWhenReady.bind(\n null,\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n renderWasConcurrent,\n \"Throttled\",\n -0,\n 0\n ),\n exitStatus\n );\n break a;\n }\n commitRootWhenReady(\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n renderWasConcurrent,\n null,\n -0,\n 0\n );\n }\n }\n break;\n } while (1);\n ensureRootIsScheduled(root$jscomp$0);\n}\nfunction commitRootWhenReady(\n root,\n finishedWork,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n exitStatus,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n) {\n root.timeoutHandle = -1;\n suspendedCommitReason = finishedWork.subtreeFlags;\n if (\n suspendedCommitReason & 8192 ||\n 16785408 === (suspendedCommitReason & 16785408)\n ) {\n suspendedCommitReason = {\n stylesheets: null,\n count: 0,\n imgCount: 0,\n imgBytes: 0,\n suspenseyImages: [],\n waitingForImages: !0,\n waitingForViewTransition: !1,\n unsuspend: noop$1\n };\n accumulateSuspenseyCommitOnFiber(\n finishedWork,\n lanes,\n suspendedCommitReason\n );\n var timeoutOffset =\n (lanes & 62914560) === lanes\n ? globalMostRecentFallbackTime - now()\n : (lanes & 4194048) === lanes\n ? globalMostRecentTransitionTime - now()\n : 0;\n timeoutOffset = waitForCommitToBeReady(\n suspendedCommitReason,\n timeoutOffset\n );\n if (null !== timeoutOffset) {\n pendingEffectsLanes = lanes;\n root.cancelPendingCommit = timeoutOffset(\n commitRoot.bind(\n null,\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n exitStatus,\n suspendedCommitReason,\n null,\n completedRenderStartTime,\n completedRenderEndTime\n )\n );\n markRootSuspended(root, lanes, spawnedLane, !didSkipSuspendedSiblings);\n return;\n }\n }\n commitRoot(\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n}\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n for (var node = finishedWork; ; ) {\n var tag = node.tag;\n if (\n (0 === tag || 11 === tag || 15 === tag) &&\n node.flags & 16384 &&\n ((tag = node.updateQueue),\n null !== tag && ((tag = tag.stores), null !== tag))\n )\n for (var i = 0; i < tag.length; i++) {\n var check = tag[i],\n getSnapshot = check.getSnapshot;\n check = check.value;\n try {\n if (!objectIs(getSnapshot(), check)) return !1;\n } catch (error) {\n return !1;\n }\n }\n tag = node.child;\n if (node.subtreeFlags & 16384 && null !== tag)\n (tag.return = node), (node = tag);\n else {\n if (node === finishedWork) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === finishedWork) return !0;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n return !0;\n}\nfunction markRootSuspended(\n root,\n suspendedLanes,\n spawnedLane,\n didAttemptEntireTree\n) {\n suspendedLanes &= ~workInProgressRootPingedLanes;\n suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes;\n didAttemptEntireTree && (root.warmLanes |= suspendedLanes);\n didAttemptEntireTree = root.expirationTimes;\n for (var lanes = suspendedLanes; 0 < lanes; ) {\n var index$6 = 31 - clz32(lanes),\n lane = 1 << index$6;\n didAttemptEntireTree[index$6] = -1;\n lanes &= ~lane;\n }\n 0 !== spawnedLane &&\n markSpawnedDeferredLane(root, spawnedLane, suspendedLanes);\n}\nfunction flushSyncWork$1() {\n return 0 === (executionContext & 6)\n ? (flushSyncWorkAcrossRoots_impl(0, !1), !1)\n : !0;\n}\nfunction resetWorkInProgressStack() {\n if (null !== workInProgress) {\n if (0 === workInProgressSuspendedReason)\n var interruptedWork = workInProgress.return;\n else\n (interruptedWork = workInProgress),\n (lastContextDependency = currentlyRenderingFiber$1 = null),\n resetHooksOnUnwind(interruptedWork),\n (thenableState$1 = null),\n (thenableIndexCounter$1 = 0),\n (interruptedWork = workInProgress);\n for (; null !== interruptedWork; )\n unwindInterruptedWork(interruptedWork.alternate, interruptedWork),\n (interruptedWork = interruptedWork.return);\n workInProgress = null;\n }\n}\nfunction prepareFreshStack(root, lanes) {\n var timeoutHandle = root.timeoutHandle;\n -1 !== timeoutHandle &&\n ((root.timeoutHandle = -1), cancelTimeout(timeoutHandle));\n timeoutHandle = root.cancelPendingCommit;\n null !== timeoutHandle &&\n ((root.cancelPendingCommit = null), timeoutHandle());\n pendingEffectsLanes = 0;\n resetWorkInProgressStack();\n workInProgressRoot = root;\n workInProgress = timeoutHandle = createWorkInProgress(root.current, null);\n workInProgressRootRenderLanes = lanes;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n workInProgressRootDidSkipSuspendedSiblings = !1;\n workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root, lanes);\n workInProgressRootDidAttachPingListener = !1;\n workInProgressSuspendedRetryLanes =\n workInProgressDeferredLane =\n workInProgressRootPingedLanes =\n workInProgressRootInterleavedUpdatedLanes =\n workInProgressRootSkippedLanes =\n workInProgressRootExitStatus =\n 0;\n workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors =\n null;\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1;\n 0 !== (lanes & 8) && (lanes |= lanes & 32);\n var allEntangledLanes = root.entangledLanes;\n if (0 !== allEntangledLanes)\n for (\n root = root.entanglements, allEntangledLanes &= lanes;\n 0 < allEntangledLanes;\n\n ) {\n var index$4 = 31 - clz32(allEntangledLanes),\n lane = 1 << index$4;\n lanes |= root[index$4];\n allEntangledLanes &= ~lane;\n }\n entangledRenderLanes = lanes;\n finishQueueingConcurrentUpdates();\n return timeoutHandle;\n}\nfunction handleThrow(root, thrownValue) {\n currentlyRenderingFiber = null;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n thrownValue === SuspenseException || thrownValue === SuspenseActionException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 3))\n : thrownValue === SuspenseyCommitException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 4))\n : (workInProgressSuspendedReason =\n thrownValue === SelectiveHydrationException\n ? 8\n : null !== thrownValue &&\n \"object\" === typeof thrownValue &&\n \"function\" === typeof thrownValue.then\n ? 6\n : 1);\n workInProgressThrownValue = thrownValue;\n null === workInProgress &&\n ((workInProgressRootExitStatus = 1),\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n ));\n}\nfunction shouldRemainOnPreviousScreen() {\n var handler = suspenseHandlerStackCursor.current;\n return null === handler\n ? !0\n : (workInProgressRootRenderLanes & 4194048) ===\n workInProgressRootRenderLanes\n ? null === shellBoundary\n ? !0\n : !1\n : (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n ? handler === shellBoundary\n : !1;\n}\nfunction pushDispatcher() {\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;\n}\nfunction pushAsyncDispatcher() {\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n return prevAsyncDispatcher;\n}\nfunction renderDidSuspendDelayIfPossible() {\n workInProgressRootExitStatus = 4;\n workInProgressRootDidSkipSuspendedSiblings ||\n ((workInProgressRootRenderLanes & 4194048) !==\n workInProgressRootRenderLanes &&\n null !== suspenseHandlerStackCursor.current) ||\n (workInProgressRootIsPrerendering = !0);\n (0 === (workInProgressRootSkippedLanes & 134217727) &&\n 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727)) ||\n null === workInProgressRoot ||\n markRootSuspended(\n workInProgressRoot,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n}\nfunction renderRootSync(root, lanes, shouldYieldForPrerendering) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes)\n (workInProgressTransitions = null), prepareFreshStack(root, lanes);\n lanes = !1;\n var exitStatus = workInProgressRootExitStatus;\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n var unitOfWork = workInProgress,\n thrownValue = workInProgressThrownValue;\n switch (workInProgressSuspendedReason) {\n case 8:\n resetWorkInProgressStack();\n exitStatus = 6;\n break a;\n case 3:\n case 2:\n case 9:\n case 6:\n null === suspenseHandlerStackCursor.current && (lanes = !0);\n var reason = workInProgressSuspendedReason;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n if (\n shouldYieldForPrerendering &&\n workInProgressRootIsPrerendering\n ) {\n exitStatus = 0;\n break a;\n }\n break;\n default:\n (reason = workInProgressSuspendedReason),\n (workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n }\n }\n workLoopSync();\n exitStatus = workInProgressRootExitStatus;\n break;\n } catch (thrownValue$165) {\n handleThrow(root, thrownValue$165);\n }\n while (1);\n lanes && root.shellSuspendCounter++;\n lastContextDependency = currentlyRenderingFiber$1 = null;\n executionContext = prevExecutionContext;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n null === workInProgress &&\n ((workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0),\n finishQueueingConcurrentUpdates());\n return exitStatus;\n}\nfunction workLoopSync() {\n for (; null !== workInProgress; ) performUnitOfWork(workInProgress);\n}\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes\n ? ((workInProgressTransitions = null),\n (workInProgressRootRenderTargetTime = now() + 500),\n prepareFreshStack(root, lanes))\n : (workInProgressRootIsPrerendering = checkIfRootIsPrerendering(\n root,\n lanes\n ));\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n lanes = workInProgress;\n var thrownValue = workInProgressThrownValue;\n b: switch (workInProgressSuspendedReason) {\n case 1:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 1);\n break;\n case 2:\n case 9:\n if (isThenableResolved(thrownValue)) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n replaySuspendedUnitOfWork(lanes);\n break;\n }\n lanes = function () {\n (2 !== workInProgressSuspendedReason &&\n 9 !== workInProgressSuspendedReason) ||\n workInProgressRoot !== root ||\n (workInProgressSuspendedReason = 7);\n ensureRootIsScheduled(root);\n };\n thrownValue.then(lanes, lanes);\n break a;\n case 3:\n workInProgressSuspendedReason = 7;\n break a;\n case 4:\n workInProgressSuspendedReason = 5;\n break a;\n case 7:\n isThenableResolved(thrownValue)\n ? ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n replaySuspendedUnitOfWork(lanes))\n : ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 7));\n break;\n case 5:\n var resource = null;\n switch (workInProgress.tag) {\n case 26:\n resource = workInProgress.memoizedState;\n case 5:\n case 27:\n var hostFiber = workInProgress;\n if (\n resource\n ? preloadResource(resource)\n : hostFiber.stateNode.complete\n ) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n var sibling = hostFiber.sibling;\n if (null !== sibling) workInProgress = sibling;\n else {\n var returnFiber = hostFiber.return;\n null !== returnFiber\n ? ((workInProgress = returnFiber),\n completeUnitOfWork(returnFiber))\n : (workInProgress = null);\n }\n break b;\n }\n }\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 5);\n break;\n case 6:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 6);\n break;\n case 8:\n resetWorkInProgressStack();\n workInProgressRootExitStatus = 6;\n break a;\n default:\n throw Error(formatProdErrorMessage(462));\n }\n }\n workLoopConcurrentByScheduler();\n break;\n } catch (thrownValue$167) {\n handleThrow(root, thrownValue$167);\n }\n while (1);\n lastContextDependency = currentlyRenderingFiber$1 = null;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n executionContext = prevExecutionContext;\n if (null !== workInProgress) return 0;\n workInProgressRoot = null;\n workInProgressRootRenderLanes = 0;\n finishQueueingConcurrentUpdates();\n return workInProgressRootExitStatus;\n}\nfunction workLoopConcurrentByScheduler() {\n for (; null !== workInProgress && !shouldYield(); )\n performUnitOfWork(workInProgress);\n}\nfunction performUnitOfWork(unitOfWork) {\n var next = beginWork(unitOfWork.alternate, unitOfWork, entangledRenderLanes);\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction replaySuspendedUnitOfWork(unitOfWork) {\n var next = unitOfWork;\n var current = next.alternate;\n switch (next.tag) {\n case 15:\n case 0:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type,\n void 0,\n workInProgressRootRenderLanes\n );\n break;\n case 11:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type.render,\n next.ref,\n workInProgressRootRenderLanes\n );\n break;\n case 5:\n resetHooksOnUnwind(next);\n default:\n unwindInterruptedWork(current, next),\n (next = workInProgress =\n resetWorkInProgress(next, entangledRenderLanes)),\n (next = beginWork(current, next, entangledRenderLanes));\n }\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction throwAndUnwindWorkLoop(\n root,\n unitOfWork,\n thrownValue,\n suspendedReason\n) {\n lastContextDependency = currentlyRenderingFiber$1 = null;\n resetHooksOnUnwind(unitOfWork);\n thenableState$1 = null;\n thenableIndexCounter$1 = 0;\n var returnFiber = unitOfWork.return;\n try {\n if (\n throwException(\n root,\n returnFiber,\n unitOfWork,\n thrownValue,\n workInProgressRootRenderLanes\n )\n ) {\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n } catch (error) {\n if (null !== returnFiber) throw ((workInProgress = returnFiber), error);\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n if (unitOfWork.flags & 32768) {\n if (isHydrating || 1 === suspendedReason) root = !0;\n else if (\n workInProgressRootIsPrerendering ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n )\n root = !1;\n else if (\n ((workInProgressRootDidSkipSuspendedSiblings = root = !0),\n 2 === suspendedReason ||\n 9 === suspendedReason ||\n 3 === suspendedReason ||\n 6 === suspendedReason)\n )\n (suspendedReason = suspenseHandlerStackCursor.current),\n null !== suspendedReason &&\n 13 === suspendedReason.tag &&\n (suspendedReason.flags |= 16384);\n unwindUnitOfWork(unitOfWork, root);\n } else completeUnitOfWork(unitOfWork);\n}\nfunction completeUnitOfWork(unitOfWork) {\n var completedWork = unitOfWork;\n do {\n if (0 !== (completedWork.flags & 32768)) {\n unwindUnitOfWork(\n completedWork,\n workInProgressRootDidSkipSuspendedSiblings\n );\n return;\n }\n unitOfWork = completedWork.return;\n var next = completeWork(\n completedWork.alternate,\n completedWork,\n entangledRenderLanes\n );\n if (null !== next) {\n workInProgress = next;\n return;\n }\n completedWork = completedWork.sibling;\n if (null !== completedWork) {\n workInProgress = completedWork;\n return;\n }\n workInProgress = completedWork = unitOfWork;\n } while (null !== completedWork);\n 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 5);\n}\nfunction unwindUnitOfWork(unitOfWork, skipSiblings) {\n do {\n var next = unwindWork(unitOfWork.alternate, unitOfWork);\n if (null !== next) {\n next.flags &= 32767;\n workInProgress = next;\n return;\n }\n next = unitOfWork.return;\n null !== next &&\n ((next.flags |= 32768), (next.subtreeFlags = 0), (next.deletions = null));\n if (\n !skipSiblings &&\n ((unitOfWork = unitOfWork.sibling), null !== unitOfWork)\n ) {\n workInProgress = unitOfWork;\n return;\n }\n workInProgress = unitOfWork = next;\n } while (null !== unitOfWork);\n workInProgressRootExitStatus = 6;\n workInProgress = null;\n}\nfunction commitRoot(\n root,\n finishedWork,\n lanes,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n root.cancelPendingCommit = null;\n do flushPendingEffects();\n while (0 !== pendingEffectsStatus);\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));\n if (null !== finishedWork) {\n if (finishedWork === root.current) throw Error(formatProdErrorMessage(177));\n didIncludeRenderPhaseUpdate = finishedWork.lanes | finishedWork.childLanes;\n didIncludeRenderPhaseUpdate |= concurrentlyUpdatedLanes;\n markRootFinished(\n root,\n lanes,\n didIncludeRenderPhaseUpdate,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n root === workInProgressRoot &&\n ((workInProgress = workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0));\n pendingFinishedWork = finishedWork;\n pendingEffectsRoot = root;\n pendingEffectsLanes = lanes;\n pendingEffectsRemainingLanes = didIncludeRenderPhaseUpdate;\n pendingPassiveTransitions = transitions;\n pendingRecoverableErrors = recoverableErrors;\n 0 !== (finishedWork.subtreeFlags & 10256) ||\n 0 !== (finishedWork.flags & 10256)\n ? ((root.callbackNode = null),\n (root.callbackPriority = 0),\n scheduleCallback$1(NormalPriority$1, function () {\n flushPassiveEffects();\n return null;\n }))\n : ((root.callbackNode = null), (root.callbackPriority = 0));\n recoverableErrors = 0 !== (finishedWork.flags & 13878);\n if (0 !== (finishedWork.subtreeFlags & 13878) || recoverableErrors) {\n recoverableErrors = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n transitions = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n spawnedLane = executionContext;\n executionContext |= 4;\n try {\n commitBeforeMutationEffects(root, finishedWork, lanes);\n } finally {\n (executionContext = spawnedLane),\n (ReactDOMSharedInternals.p = transitions),\n (ReactSharedInternals.T = recoverableErrors);\n }\n }\n pendingEffectsStatus = 1;\n flushMutationEffects();\n flushLayoutEffects();\n flushSpawnedWork();\n }\n}\nfunction flushMutationEffects() {\n if (1 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n rootMutationHasEffect = 0 !== (finishedWork.flags & 13878);\n if (0 !== (finishedWork.subtreeFlags & 13878) || rootMutationHasEffect) {\n rootMutationHasEffect = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n try {\n commitMutationEffectsOnFiber(finishedWork, root);\n var priorSelectionInformation = selectionInformation,\n curFocusedElem = getActiveElementDeep(root.containerInfo),\n priorFocusedElem = priorSelectionInformation.focusedElem,\n priorSelectionRange = priorSelectionInformation.selectionRange;\n if (\n curFocusedElem !== priorFocusedElem &&\n priorFocusedElem &&\n priorFocusedElem.ownerDocument &&\n containsNode(\n priorFocusedElem.ownerDocument.documentElement,\n priorFocusedElem\n )\n ) {\n if (\n null !== priorSelectionRange &&\n hasSelectionCapabilities(priorFocusedElem)\n ) {\n var start = priorSelectionRange.start,\n end = priorSelectionRange.end;\n void 0 === end && (end = start);\n if (\"selectionStart\" in priorFocusedElem)\n (priorFocusedElem.selectionStart = start),\n (priorFocusedElem.selectionEnd = Math.min(\n end,\n priorFocusedElem.value.length\n ));\n else {\n var doc = priorFocusedElem.ownerDocument || document,\n win = (doc && doc.defaultView) || window;\n if (win.getSelection) {\n var selection = win.getSelection(),\n length = priorFocusedElem.textContent.length,\n start$jscomp$0 = Math.min(priorSelectionRange.start, length),\n end$jscomp$0 =\n void 0 === priorSelectionRange.end\n ? start$jscomp$0\n : Math.min(priorSelectionRange.end, length);\n !selection.extend &&\n start$jscomp$0 > end$jscomp$0 &&\n ((curFocusedElem = end$jscomp$0),\n (end$jscomp$0 = start$jscomp$0),\n (start$jscomp$0 = curFocusedElem));\n var startMarker = getNodeForCharacterOffset(\n priorFocusedElem,\n start$jscomp$0\n ),\n endMarker = getNodeForCharacterOffset(\n priorFocusedElem,\n end$jscomp$0\n );\n if (\n startMarker &&\n endMarker &&\n (1 !== selection.rangeCount ||\n selection.anchorNode !== startMarker.node ||\n selection.anchorOffset !== startMarker.offset ||\n selection.focusNode !== endMarker.node ||\n selection.focusOffset !== endMarker.offset)\n ) {\n var range = doc.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n start$jscomp$0 > end$jscomp$0\n ? (selection.addRange(range),\n selection.extend(endMarker.node, endMarker.offset))\n : (range.setEnd(endMarker.node, endMarker.offset),\n selection.addRange(range));\n }\n }\n }\n }\n doc = [];\n for (\n selection = priorFocusedElem;\n (selection = selection.parentNode);\n\n )\n 1 === selection.nodeType &&\n doc.push({\n element: selection,\n left: selection.scrollLeft,\n top: selection.scrollTop\n });\n \"function\" === typeof priorFocusedElem.focus &&\n priorFocusedElem.focus();\n for (\n priorFocusedElem = 0;\n priorFocusedElem < doc.length;\n priorFocusedElem++\n ) {\n var info = doc[priorFocusedElem];\n info.element.scrollLeft = info.left;\n info.element.scrollTop = info.top;\n }\n }\n _enabled = !!eventsEnabled;\n selectionInformation = eventsEnabled = null;\n } finally {\n (executionContext = prevExecutionContext),\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = rootMutationHasEffect);\n }\n }\n root.current = finishedWork;\n pendingEffectsStatus = 2;\n }\n}\nfunction flushLayoutEffects() {\n if (2 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n rootHasLayoutEffect = 0 !== (finishedWork.flags & 8772);\n if (0 !== (finishedWork.subtreeFlags & 8772) || rootHasLayoutEffect) {\n rootHasLayoutEffect = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n try {\n commitLayoutEffectOnFiber(root, finishedWork.alternate, finishedWork);\n } finally {\n (executionContext = prevExecutionContext),\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = rootHasLayoutEffect);\n }\n }\n pendingEffectsStatus = 3;\n }\n}\nfunction flushSpawnedWork() {\n if (4 === pendingEffectsStatus || 3 === pendingEffectsStatus) {\n pendingEffectsStatus = 0;\n requestPaint();\n var root = pendingEffectsRoot,\n finishedWork = pendingFinishedWork,\n lanes = pendingEffectsLanes,\n recoverableErrors = pendingRecoverableErrors;\n 0 !== (finishedWork.subtreeFlags & 10256) ||\n 0 !== (finishedWork.flags & 10256)\n ? (pendingEffectsStatus = 5)\n : ((pendingEffectsStatus = 0),\n (pendingFinishedWork = pendingEffectsRoot = null),\n releaseRootPooledCache(root, root.pendingLanes));\n var remainingLanes = root.pendingLanes;\n 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);\n lanesToEventPriority(lanes);\n finishedWork = finishedWork.stateNode;\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberRoot)\n try {\n injectedHook.onCommitFiberRoot(\n rendererID,\n finishedWork,\n void 0,\n 128 === (finishedWork.current.flags & 128)\n );\n } catch (err) {}\n if (null !== recoverableErrors) {\n finishedWork = ReactSharedInternals.T;\n remainingLanes = ReactDOMSharedInternals.p;\n ReactDOMSharedInternals.p = 2;\n ReactSharedInternals.T = null;\n try {\n for (\n var onRecoverableError = root.onRecoverableError, i = 0;\n i < recoverableErrors.length;\n i++\n ) {\n var recoverableError = recoverableErrors[i];\n onRecoverableError(recoverableError.value, {\n componentStack: recoverableError.stack\n });\n }\n } finally {\n (ReactSharedInternals.T = finishedWork),\n (ReactDOMSharedInternals.p = remainingLanes);\n }\n }\n 0 !== (pendingEffectsLanes & 3) && flushPendingEffects();\n ensureRootIsScheduled(root);\n remainingLanes = root.pendingLanes;\n 0 !== (lanes & 261930) && 0 !== (remainingLanes & 42)\n ? root === rootWithNestedUpdates\n ? nestedUpdateCount++\n : ((nestedUpdateCount = 0), (rootWithNestedUpdates = root))\n : (nestedUpdateCount = 0);\n flushSyncWorkAcrossRoots_impl(0, !1);\n }\n}\nfunction releaseRootPooledCache(root, remainingLanes) {\n 0 === (root.pooledCacheLanes &= remainingLanes) &&\n ((remainingLanes = root.pooledCache),\n null != remainingLanes &&\n ((root.pooledCache = null), releaseCache(remainingLanes)));\n}\nfunction flushPendingEffects() {\n flushMutationEffects();\n flushLayoutEffects();\n flushSpawnedWork();\n return flushPassiveEffects();\n}\nfunction flushPassiveEffects() {\n if (5 !== pendingEffectsStatus) return !1;\n var root = pendingEffectsRoot,\n remainingLanes = pendingEffectsRemainingLanes;\n pendingEffectsRemainingLanes = 0;\n var renderPriority = lanesToEventPriority(pendingEffectsLanes),\n prevTransition = ReactSharedInternals.T,\n previousPriority = ReactDOMSharedInternals.p;\n try {\n ReactDOMSharedInternals.p = 32 > renderPriority ? 32 : renderPriority;\n ReactSharedInternals.T = null;\n renderPriority = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root$jscomp$0 = pendingEffectsRoot,\n lanes = pendingEffectsLanes;\n pendingEffectsStatus = 0;\n pendingFinishedWork = pendingEffectsRoot = null;\n pendingEffectsLanes = 0;\n if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(331));\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n commitPassiveUnmountOnFiber(root$jscomp$0.current);\n commitPassiveMountOnFiber(\n root$jscomp$0,\n root$jscomp$0.current,\n lanes,\n renderPriority\n );\n executionContext = prevExecutionContext;\n flushSyncWorkAcrossRoots_impl(0, !1);\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onPostCommitFiberRoot\n )\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0);\n } catch (err) {}\n return !0;\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition),\n releaseRootPooledCache(root, remainingLanes);\n }\n}\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);\n rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);\n null !== rootFiber &&\n (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));\n}\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {\n if (3 === sourceFiber.tag)\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);\n else\n for (; null !== nearestMountedAncestor; ) {\n if (3 === nearestMountedAncestor.tag) {\n captureCommitPhaseErrorOnRoot(\n nearestMountedAncestor,\n sourceFiber,\n error\n );\n break;\n } else if (1 === nearestMountedAncestor.tag) {\n var instance = nearestMountedAncestor.stateNode;\n if (\n \"function\" ===\n typeof nearestMountedAncestor.type.getDerivedStateFromError ||\n (\"function\" === typeof instance.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(instance)))\n ) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n error = createClassErrorUpdate(2);\n instance = enqueueUpdate(nearestMountedAncestor, error, 2);\n null !== instance &&\n (initializeClassErrorUpdate(\n error,\n instance,\n nearestMountedAncestor,\n sourceFiber\n ),\n markRootUpdated$1(instance, 2),\n ensureRootIsScheduled(instance));\n break;\n }\n }\n nearestMountedAncestor = nearestMountedAncestor.return;\n }\n}\nfunction attachPingListener(root, wakeable, lanes) {\n var pingCache = root.pingCache;\n if (null === pingCache) {\n pingCache = root.pingCache = new PossiblyWeakMap();\n var threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else\n (threadIDs = pingCache.get(wakeable)),\n void 0 === threadIDs &&\n ((threadIDs = new Set()), pingCache.set(wakeable, threadIDs));\n threadIDs.has(lanes) ||\n ((workInProgressRootDidAttachPingListener = !0),\n threadIDs.add(lanes),\n (root = pingSuspendedRoot.bind(null, root, wakeable, lanes)),\n wakeable.then(root, root));\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n null !== pingCache && pingCache.delete(wakeable);\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n root.warmLanes &= ~pingedLanes;\n workInProgressRoot === root &&\n (workInProgressRootRenderLanes & pingedLanes) === pingedLanes &&\n (4 === workInProgressRootExitStatus ||\n (3 === workInProgressRootExitStatus &&\n (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes &&\n 300 > now() - globalMostRecentFallbackTime)\n ? 0 === (executionContext & 2) && prepareFreshStack(root, 0)\n : (workInProgressRootPingedLanes |= pingedLanes),\n workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes &&\n (workInProgressSuspendedRetryLanes = 0));\n ensureRootIsScheduled(root);\n}\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n 0 === retryLane && (retryLane = claimNextRetryLane());\n boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n null !== boundaryFiber &&\n (markRootUpdated$1(boundaryFiber, retryLane),\n ensureRootIsScheduled(boundaryFiber));\n}\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState,\n retryLane = 0;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = 0;\n switch (boundaryFiber.tag) {\n case 31:\n case 13:\n var retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n break;\n case 19:\n retryCache = boundaryFiber.stateNode;\n break;\n case 22:\n retryCache = boundaryFiber.stateNode._retryCache;\n break;\n default:\n throw Error(formatProdErrorMessage(314));\n }\n null !== retryCache && retryCache.delete(wakeable);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction scheduleCallback$1(priorityLevel, callback) {\n return scheduleCallback$3(priorityLevel, callback);\n}\nvar firstScheduledRoot = null,\n lastScheduledRoot = null,\n didScheduleMicrotask = !1,\n mightHavePendingSyncWork = !1,\n isFlushingWork = !1,\n currentEventTransitionLane = 0;\nfunction ensureRootIsScheduled(root) {\n root !== lastScheduledRoot &&\n null === root.next &&\n (null === lastScheduledRoot\n ? (firstScheduledRoot = lastScheduledRoot = root)\n : (lastScheduledRoot = lastScheduledRoot.next = root));\n mightHavePendingSyncWork = !0;\n didScheduleMicrotask ||\n ((didScheduleMicrotask = !0), scheduleImmediateRootScheduleTask());\n}\nfunction flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {\n if (!isFlushingWork && mightHavePendingSyncWork) {\n isFlushingWork = !0;\n do {\n var didPerformSomeWork = !1;\n for (var root$170 = firstScheduledRoot; null !== root$170; ) {\n if (!onlyLegacy)\n if (0 !== syncTransitionLanes) {\n var pendingLanes = root$170.pendingLanes;\n if (0 === pendingLanes) var JSCompiler_inline_result = 0;\n else {\n var suspendedLanes = root$170.suspendedLanes,\n pingedLanes = root$170.pingedLanes;\n JSCompiler_inline_result =\n (1 << (31 - clz32(42 | syncTransitionLanes) + 1)) - 1;\n JSCompiler_inline_result &=\n pendingLanes & ~(suspendedLanes & ~pingedLanes);\n JSCompiler_inline_result =\n JSCompiler_inline_result & 201326741\n ? (JSCompiler_inline_result & 201326741) | 1\n : JSCompiler_inline_result\n ? JSCompiler_inline_result | 2\n : 0;\n }\n 0 !== JSCompiler_inline_result &&\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root$170, JSCompiler_inline_result));\n } else\n (JSCompiler_inline_result = workInProgressRootRenderLanes),\n (JSCompiler_inline_result = getNextLanes(\n root$170,\n root$170 === workInProgressRoot ? JSCompiler_inline_result : 0,\n null !== root$170.cancelPendingCommit ||\n -1 !== root$170.timeoutHandle\n )),\n 0 === (JSCompiler_inline_result & 3) ||\n checkIfRootIsPrerendering(root$170, JSCompiler_inline_result) ||\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root$170, JSCompiler_inline_result));\n root$170 = root$170.next;\n }\n } while (didPerformSomeWork);\n isFlushingWork = !1;\n }\n}\nfunction processRootScheduleInImmediateTask() {\n processRootScheduleInMicrotask();\n}\nfunction processRootScheduleInMicrotask() {\n mightHavePendingSyncWork = didScheduleMicrotask = !1;\n var syncTransitionLanes = 0;\n 0 !== currentEventTransitionLane &&\n shouldAttemptEagerTransition() &&\n (syncTransitionLanes = currentEventTransitionLane);\n for (\n var currentTime = now(), prev = null, root = firstScheduledRoot;\n null !== root;\n\n ) {\n var next = root.next,\n nextLanes = scheduleTaskForRootDuringMicrotask(root, currentTime);\n if (0 === nextLanes)\n (root.next = null),\n null === prev ? (firstScheduledRoot = next) : (prev.next = next),\n null === next && (lastScheduledRoot = prev);\n else if (\n ((prev = root), 0 !== syncTransitionLanes || 0 !== (nextLanes & 3))\n )\n mightHavePendingSyncWork = !0;\n root = next;\n }\n (0 !== pendingEffectsStatus && 5 !== pendingEffectsStatus) ||\n flushSyncWorkAcrossRoots_impl(syncTransitionLanes, !1);\n 0 !== currentEventTransitionLane && (currentEventTransitionLane = 0);\n}\nfunction scheduleTaskForRootDuringMicrotask(root, currentTime) {\n for (\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n expirationTimes = root.expirationTimes,\n lanes = root.pendingLanes & -62914561;\n 0 < lanes;\n\n ) {\n var index$5 = 31 - clz32(lanes),\n lane = 1 << index$5,\n expirationTime = expirationTimes[index$5];\n if (-1 === expirationTime) {\n if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))\n expirationTimes[index$5] = computeExpirationTime(lane, currentTime);\n } else expirationTime <= currentTime && (root.expiredLanes |= lane);\n lanes &= ~lane;\n }\n currentTime = workInProgressRoot;\n suspendedLanes = workInProgressRootRenderLanes;\n suspendedLanes = getNextLanes(\n root,\n root === currentTime ? suspendedLanes : 0,\n null !== root.cancelPendingCommit || -1 !== root.timeoutHandle\n );\n pingedLanes = root.callbackNode;\n if (\n 0 === suspendedLanes ||\n (root === currentTime &&\n (2 === workInProgressSuspendedReason ||\n 9 === workInProgressSuspendedReason)) ||\n null !== root.cancelPendingCommit\n )\n return (\n null !== pingedLanes &&\n null !== pingedLanes &&\n cancelCallback$1(pingedLanes),\n (root.callbackNode = null),\n (root.callbackPriority = 0)\n );\n if (\n 0 === (suspendedLanes & 3) ||\n checkIfRootIsPrerendering(root, suspendedLanes)\n ) {\n currentTime = suspendedLanes & -suspendedLanes;\n if (currentTime === root.callbackPriority) return currentTime;\n null !== pingedLanes && cancelCallback$1(pingedLanes);\n switch (lanesToEventPriority(suspendedLanes)) {\n case 2:\n case 8:\n suspendedLanes = UserBlockingPriority;\n break;\n case 32:\n suspendedLanes = NormalPriority$1;\n break;\n case 268435456:\n suspendedLanes = IdlePriority;\n break;\n default:\n suspendedLanes = NormalPriority$1;\n }\n pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root);\n suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);\n root.callbackPriority = currentTime;\n root.callbackNode = suspendedLanes;\n return currentTime;\n }\n null !== pingedLanes && null !== pingedLanes && cancelCallback$1(pingedLanes);\n root.callbackPriority = 2;\n root.callbackNode = null;\n return 2;\n}\nfunction performWorkOnRootViaSchedulerTask(root, didTimeout) {\n if (0 !== pendingEffectsStatus && 5 !== pendingEffectsStatus)\n return (root.callbackNode = null), (root.callbackPriority = 0), null;\n var originalCallbackNode = root.callbackNode;\n if (flushPendingEffects() && root.callbackNode !== originalCallbackNode)\n return null;\n var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;\n workInProgressRootRenderLanes$jscomp$0 = getNextLanes(\n root,\n root === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0,\n null !== root.cancelPendingCommit || -1 !== root.timeoutHandle\n );\n if (0 === workInProgressRootRenderLanes$jscomp$0) return null;\n performWorkOnRoot(root, workInProgressRootRenderLanes$jscomp$0, didTimeout);\n scheduleTaskForRootDuringMicrotask(root, now());\n return null != root.callbackNode && root.callbackNode === originalCallbackNode\n ? performWorkOnRootViaSchedulerTask.bind(null, root)\n : null;\n}\nfunction performSyncWorkOnRoot(root, lanes) {\n if (flushPendingEffects()) return null;\n performWorkOnRoot(root, lanes, !0);\n}\nfunction scheduleImmediateRootScheduleTask() {\n scheduleMicrotask(function () {\n 0 !== (executionContext & 6)\n ? scheduleCallback$3(\n ImmediatePriority,\n processRootScheduleInImmediateTask\n )\n : processRootScheduleInMicrotask();\n });\n}\nfunction requestTransitionLane() {\n if (0 === currentEventTransitionLane) {\n var actionScopeLane = currentEntangledLane;\n 0 === actionScopeLane &&\n ((actionScopeLane = nextTransitionUpdateLane),\n (nextTransitionUpdateLane <<= 1),\n 0 === (nextTransitionUpdateLane & 261888) &&\n (nextTransitionUpdateLane = 256));\n currentEventTransitionLane = actionScopeLane;\n }\n return currentEventTransitionLane;\n}\nfunction coerceFormActionProp(actionProp) {\n return null == actionProp ||\n \"symbol\" === typeof actionProp ||\n \"boolean\" === typeof actionProp\n ? null\n : \"function\" === typeof actionProp\n ? actionProp\n : sanitizeURL(\"\" + actionProp);\n}\nfunction createFormDataWithSubmitter(form, submitter) {\n var temp = submitter.ownerDocument.createElement(\"input\");\n temp.name = submitter.name;\n temp.value = submitter.value;\n form.id && temp.setAttribute(\"form\", form.id);\n submitter.parentNode.insertBefore(temp, submitter);\n form = new FormData(form);\n temp.parentNode.removeChild(temp);\n return form;\n}\nfunction extractEvents$1(\n dispatchQueue,\n domEventName,\n maybeTargetInst,\n nativeEvent,\n nativeEventTarget\n) {\n if (\n \"submit\" === domEventName &&\n maybeTargetInst &&\n maybeTargetInst.stateNode === nativeEventTarget\n ) {\n var action = coerceFormActionProp(\n (nativeEventTarget[internalPropsKey] || null).action\n ),\n submitter = nativeEvent.submitter;\n submitter &&\n ((domEventName = (domEventName = submitter[internalPropsKey] || null)\n ? coerceFormActionProp(domEventName.formAction)\n : submitter.getAttribute(\"formAction\")),\n null !== domEventName && ((action = domEventName), (submitter = null)));\n var event = new SyntheticEvent(\n \"action\",\n \"action\",\n null,\n nativeEvent,\n nativeEventTarget\n );\n dispatchQueue.push({\n event: event,\n listeners: [\n {\n instance: null,\n listener: function () {\n if (nativeEvent.defaultPrevented) {\n if (0 !== currentEventTransitionLane) {\n var formData = submitter\n ? createFormDataWithSubmitter(nativeEventTarget, submitter)\n : new FormData(nativeEventTarget);\n startHostTransition(\n maybeTargetInst,\n {\n pending: !0,\n data: formData,\n method: nativeEventTarget.method,\n action: action\n },\n null,\n formData\n );\n }\n } else\n \"function\" === typeof action &&\n (event.preventDefault(),\n (formData = submitter\n ? createFormDataWithSubmitter(nativeEventTarget, submitter)\n : new FormData(nativeEventTarget)),\n startHostTransition(\n maybeTargetInst,\n {\n pending: !0,\n data: formData,\n method: nativeEventTarget.method,\n action: action\n },\n action,\n formData\n ));\n },\n currentTarget: nativeEventTarget\n }\n ]\n });\n }\n}\nfor (\n var i$jscomp$inline_1577 = 0;\n i$jscomp$inline_1577 < simpleEventPluginEvents.length;\n i$jscomp$inline_1577++\n) {\n var eventName$jscomp$inline_1578 =\n simpleEventPluginEvents[i$jscomp$inline_1577],\n domEventName$jscomp$inline_1579 =\n eventName$jscomp$inline_1578.toLowerCase(),\n capitalizedEvent$jscomp$inline_1580 =\n eventName$jscomp$inline_1578[0].toUpperCase() +\n eventName$jscomp$inline_1578.slice(1);\n registerSimpleEvent(\n domEventName$jscomp$inline_1579,\n \"on\" + capitalizedEvent$jscomp$inline_1580\n );\n}\nregisterSimpleEvent(ANIMATION_END, \"onAnimationEnd\");\nregisterSimpleEvent(ANIMATION_ITERATION, \"onAnimationIteration\");\nregisterSimpleEvent(ANIMATION_START, \"onAnimationStart\");\nregisterSimpleEvent(\"dblclick\", \"onDoubleClick\");\nregisterSimpleEvent(\"focusin\", \"onFocus\");\nregisterSimpleEvent(\"focusout\", \"onBlur\");\nregisterSimpleEvent(TRANSITION_RUN, \"onTransitionRun\");\nregisterSimpleEvent(TRANSITION_START, \"onTransitionStart\");\nregisterSimpleEvent(TRANSITION_CANCEL, \"onTransitionCancel\");\nregisterSimpleEvent(TRANSITION_END, \"onTransitionEnd\");\nregisterDirectEvent(\"onMouseEnter\", [\"mouseout\", \"mouseover\"]);\nregisterDirectEvent(\"onMouseLeave\", [\"mouseout\", \"mouseover\"]);\nregisterDirectEvent(\"onPointerEnter\", [\"pointerout\", \"pointerover\"]);\nregisterDirectEvent(\"onPointerLeave\", [\"pointerout\", \"pointerover\"]);\nregisterTwoPhaseEvent(\n \"onChange\",\n \"change click focusin focusout input keydown keyup selectionchange\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onSelect\",\n \"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\n \" \"\n )\n);\nregisterTwoPhaseEvent(\"onBeforeInput\", [\n \"compositionend\",\n \"keypress\",\n \"textInput\",\n \"paste\"\n]);\nregisterTwoPhaseEvent(\n \"onCompositionEnd\",\n \"compositionend focusout keydown keypress keyup mousedown\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onCompositionStart\",\n \"compositionstart focusout keydown keypress keyup mousedown\".split(\" \")\n);\nregisterTwoPhaseEvent(\n \"onCompositionUpdate\",\n \"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \")\n);\nvar mediaEventTypes =\n \"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\n \" \"\n ),\n nonDelegatedEvents = new Set(\n \"beforetoggle cancel close invalid load scroll scrollend toggle\"\n .split(\" \")\n .concat(mediaEventTypes)\n );\nfunction processDispatchQueue(dispatchQueue, eventSystemFlags) {\n eventSystemFlags = 0 !== (eventSystemFlags & 4);\n for (var i = 0; i < dispatchQueue.length; i++) {\n var _dispatchQueue$i = dispatchQueue[i],\n event = _dispatchQueue$i.event;\n _dispatchQueue$i = _dispatchQueue$i.listeners;\n a: {\n var previousInstance = void 0;\n if (eventSystemFlags)\n for (\n var i$jscomp$0 = _dispatchQueue$i.length - 1;\n 0 <= i$jscomp$0;\n i$jscomp$0--\n ) {\n var _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0],\n instance = _dispatchListeners$i.instance,\n currentTarget = _dispatchListeners$i.currentTarget;\n _dispatchListeners$i = _dispatchListeners$i.listener;\n if (instance !== previousInstance && event.isPropagationStopped())\n break a;\n previousInstance = _dispatchListeners$i;\n event.currentTarget = currentTarget;\n try {\n previousInstance(event);\n } catch (error) {\n reportGlobalError(error);\n }\n event.currentTarget = null;\n previousInstance = instance;\n }\n else\n for (\n i$jscomp$0 = 0;\n i$jscomp$0 < _dispatchQueue$i.length;\n i$jscomp$0++\n ) {\n _dispatchListeners$i = _dispatchQueue$i[i$jscomp$0];\n instance = _dispatchListeners$i.instance;\n currentTarget = _dispatchListeners$i.currentTarget;\n _dispatchListeners$i = _dispatchListeners$i.listener;\n if (instance !== previousInstance && event.isPropagationStopped())\n break a;\n previousInstance = _dispatchListeners$i;\n event.currentTarget = currentTarget;\n try {\n previousInstance(event);\n } catch (error) {\n reportGlobalError(error);\n }\n event.currentTarget = null;\n previousInstance = instance;\n }\n }\n }\n}\nfunction listenToNonDelegatedEvent(domEventName, targetElement) {\n var JSCompiler_inline_result = targetElement[internalEventHandlersKey];\n void 0 === JSCompiler_inline_result &&\n (JSCompiler_inline_result = targetElement[internalEventHandlersKey] =\n new Set());\n var listenerSetKey = domEventName + \"__bubble\";\n JSCompiler_inline_result.has(listenerSetKey) ||\n (addTrappedEventListener(targetElement, domEventName, 2, !1),\n JSCompiler_inline_result.add(listenerSetKey));\n}\nfunction listenToNativeEvent(domEventName, isCapturePhaseListener, target) {\n var eventSystemFlags = 0;\n isCapturePhaseListener && (eventSystemFlags |= 4);\n addTrappedEventListener(\n target,\n domEventName,\n eventSystemFlags,\n isCapturePhaseListener\n );\n}\nvar listeningMarker = \"_reactListening\" + Math.random().toString(36).slice(2);\nfunction listenToAllSupportedEvents(rootContainerElement) {\n if (!rootContainerElement[listeningMarker]) {\n rootContainerElement[listeningMarker] = !0;\n allNativeEvents.forEach(function (domEventName) {\n \"selectionchange\" !== domEventName &&\n (nonDelegatedEvents.has(domEventName) ||\n listenToNativeEvent(domEventName, !1, rootContainerElement),\n listenToNativeEvent(domEventName, !0, rootContainerElement));\n });\n var ownerDocument =\n 9 === rootContainerElement.nodeType\n ? rootContainerElement\n : rootContainerElement.ownerDocument;\n null === ownerDocument ||\n ownerDocument[listeningMarker] ||\n ((ownerDocument[listeningMarker] = !0),\n listenToNativeEvent(\"selectionchange\", !1, ownerDocument));\n }\n}\nfunction addTrappedEventListener(\n targetContainer,\n domEventName,\n eventSystemFlags,\n isCapturePhaseListener\n) {\n switch (getEventPriority(domEventName)) {\n case 2:\n var listenerWrapper = dispatchDiscreteEvent;\n break;\n case 8:\n listenerWrapper = dispatchContinuousEvent;\n break;\n default:\n listenerWrapper = dispatchEvent;\n }\n eventSystemFlags = listenerWrapper.bind(\n null,\n domEventName,\n eventSystemFlags,\n targetContainer\n );\n listenerWrapper = void 0;\n !passiveBrowserEventsSupported ||\n (\"touchstart\" !== domEventName &&\n \"touchmove\" !== domEventName &&\n \"wheel\" !== domEventName) ||\n (listenerWrapper = !0);\n isCapturePhaseListener\n ? void 0 !== listenerWrapper\n ? targetContainer.addEventListener(domEventName, eventSystemFlags, {\n capture: !0,\n passive: listenerWrapper\n })\n : targetContainer.addEventListener(domEventName, eventSystemFlags, !0)\n : void 0 !== listenerWrapper\n ? targetContainer.addEventListener(domEventName, eventSystemFlags, {\n passive: listenerWrapper\n })\n : targetContainer.addEventListener(domEventName, eventSystemFlags, !1);\n}\nfunction dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n targetInst$jscomp$0,\n targetContainer\n) {\n var ancestorInst = targetInst$jscomp$0;\n if (\n 0 === (eventSystemFlags & 1) &&\n 0 === (eventSystemFlags & 2) &&\n null !== targetInst$jscomp$0\n )\n a: for (;;) {\n if (null === targetInst$jscomp$0) return;\n var nodeTag = targetInst$jscomp$0.tag;\n if (3 === nodeTag || 4 === nodeTag) {\n var container = targetInst$jscomp$0.stateNode.containerInfo;\n if (container === targetContainer) break;\n if (4 === nodeTag)\n for (nodeTag = targetInst$jscomp$0.return; null !== nodeTag; ) {\n var grandTag = nodeTag.tag;\n if (\n (3 === grandTag || 4 === grandTag) &&\n nodeTag.stateNode.containerInfo === targetContainer\n )\n return;\n nodeTag = nodeTag.return;\n }\n for (; null !== container; ) {\n nodeTag = getClosestInstanceFromNode(container);\n if (null === nodeTag) return;\n grandTag = nodeTag.tag;\n if (\n 5 === grandTag ||\n 6 === grandTag ||\n 26 === grandTag ||\n 27 === grandTag\n ) {\n targetInst$jscomp$0 = ancestorInst = nodeTag;\n continue a;\n }\n container = container.parentNode;\n }\n }\n targetInst$jscomp$0 = targetInst$jscomp$0.return;\n }\n batchedUpdates$1(function () {\n var targetInst = ancestorInst,\n nativeEventTarget = getEventTarget(nativeEvent),\n dispatchQueue = [];\n a: {\n var reactName = topLevelEventsToReactNames.get(domEventName);\n if (void 0 !== reactName) {\n var SyntheticEventCtor = SyntheticEvent,\n reactEventType = domEventName;\n switch (domEventName) {\n case \"keypress\":\n if (0 === getEventCharCode(nativeEvent)) break a;\n case \"keydown\":\n case \"keyup\":\n SyntheticEventCtor = SyntheticKeyboardEvent;\n break;\n case \"focusin\":\n reactEventType = \"focus\";\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"focusout\":\n reactEventType = \"blur\";\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"beforeblur\":\n case \"afterblur\":\n SyntheticEventCtor = SyntheticFocusEvent;\n break;\n case \"click\":\n if (2 === nativeEvent.button) break a;\n case \"auxclick\":\n case \"dblclick\":\n case \"mousedown\":\n case \"mousemove\":\n case \"mouseup\":\n case \"mouseout\":\n case \"mouseover\":\n case \"contextmenu\":\n SyntheticEventCtor = SyntheticMouseEvent;\n break;\n case \"drag\":\n case \"dragend\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"dragstart\":\n case \"drop\":\n SyntheticEventCtor = SyntheticDragEvent;\n break;\n case \"touchcancel\":\n case \"touchend\":\n case \"touchmove\":\n case \"touchstart\":\n SyntheticEventCtor = SyntheticTouchEvent;\n break;\n case ANIMATION_END:\n case ANIMATION_ITERATION:\n case ANIMATION_START:\n SyntheticEventCtor = SyntheticAnimationEvent;\n break;\n case TRANSITION_END:\n SyntheticEventCtor = SyntheticTransitionEvent;\n break;\n case \"scroll\":\n case \"scrollend\":\n SyntheticEventCtor = SyntheticUIEvent;\n break;\n case \"wheel\":\n SyntheticEventCtor = SyntheticWheelEvent;\n break;\n case \"copy\":\n case \"cut\":\n case \"paste\":\n SyntheticEventCtor = SyntheticClipboardEvent;\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"pointerup\":\n SyntheticEventCtor = SyntheticPointerEvent;\n break;\n case \"toggle\":\n case \"beforetoggle\":\n SyntheticEventCtor = SyntheticToggleEvent;\n }\n var inCapturePhase = 0 !== (eventSystemFlags & 4),\n accumulateTargetOnly =\n !inCapturePhase &&\n (\"scroll\" === domEventName || \"scrollend\" === domEventName),\n reactEventName = inCapturePhase\n ? null !== reactName\n ? reactName + \"Capture\"\n : null\n : reactName;\n inCapturePhase = [];\n for (\n var instance = targetInst, lastHostComponent;\n null !== instance;\n\n ) {\n var _instance = instance;\n lastHostComponent = _instance.stateNode;\n _instance = _instance.tag;\n (5 !== _instance && 26 !== _instance && 27 !== _instance) ||\n null === lastHostComponent ||\n null === reactEventName ||\n ((_instance = getListener(instance, reactEventName)),\n null != _instance &&\n inCapturePhase.push(\n createDispatchListener(instance, _instance, lastHostComponent)\n ));\n if (accumulateTargetOnly) break;\n instance = instance.return;\n }\n 0 < inCapturePhase.length &&\n ((reactName = new SyntheticEventCtor(\n reactName,\n reactEventType,\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: reactName, listeners: inCapturePhase }));\n }\n }\n if (0 === (eventSystemFlags & 7)) {\n a: {\n reactName =\n \"mouseover\" === domEventName || \"pointerover\" === domEventName;\n SyntheticEventCtor =\n \"mouseout\" === domEventName || \"pointerout\" === domEventName;\n if (\n reactName &&\n nativeEvent !== currentReplayingEvent &&\n (reactEventType =\n nativeEvent.relatedTarget || nativeEvent.fromElement) &&\n (getClosestInstanceFromNode(reactEventType) ||\n reactEventType[internalContainerInstanceKey])\n )\n break a;\n if (SyntheticEventCtor || reactName) {\n reactName =\n nativeEventTarget.window === nativeEventTarget\n ? nativeEventTarget\n : (reactName = nativeEventTarget.ownerDocument)\n ? reactName.defaultView || reactName.parentWindow\n : window;\n if (SyntheticEventCtor) {\n if (\n ((reactEventType =\n nativeEvent.relatedTarget || nativeEvent.toElement),\n (SyntheticEventCtor = targetInst),\n (reactEventType = reactEventType\n ? getClosestInstanceFromNode(reactEventType)\n : null),\n null !== reactEventType &&\n ((accumulateTargetOnly =\n getNearestMountedFiber(reactEventType)),\n (inCapturePhase = reactEventType.tag),\n reactEventType !== accumulateTargetOnly ||\n (5 !== inCapturePhase &&\n 27 !== inCapturePhase &&\n 6 !== inCapturePhase)))\n )\n reactEventType = null;\n } else (SyntheticEventCtor = null), (reactEventType = targetInst);\n if (SyntheticEventCtor !== reactEventType) {\n inCapturePhase = SyntheticMouseEvent;\n _instance = \"onMouseLeave\";\n reactEventName = \"onMouseEnter\";\n instance = \"mouse\";\n if (\"pointerout\" === domEventName || \"pointerover\" === domEventName)\n (inCapturePhase = SyntheticPointerEvent),\n (_instance = \"onPointerLeave\"),\n (reactEventName = \"onPointerEnter\"),\n (instance = \"pointer\");\n accumulateTargetOnly =\n null == SyntheticEventCtor\n ? reactName\n : getNodeFromInstance(SyntheticEventCtor);\n lastHostComponent =\n null == reactEventType\n ? reactName\n : getNodeFromInstance(reactEventType);\n reactName = new inCapturePhase(\n _instance,\n instance + \"leave\",\n SyntheticEventCtor,\n nativeEvent,\n nativeEventTarget\n );\n reactName.target = accumulateTargetOnly;\n reactName.relatedTarget = lastHostComponent;\n _instance = null;\n getClosestInstanceFromNode(nativeEventTarget) === targetInst &&\n ((inCapturePhase = new inCapturePhase(\n reactEventName,\n instance + \"enter\",\n reactEventType,\n nativeEvent,\n nativeEventTarget\n )),\n (inCapturePhase.target = lastHostComponent),\n (inCapturePhase.relatedTarget = accumulateTargetOnly),\n (_instance = inCapturePhase));\n accumulateTargetOnly = _instance;\n if (SyntheticEventCtor && reactEventType)\n b: {\n inCapturePhase = getParent;\n reactEventName = SyntheticEventCtor;\n instance = reactEventType;\n lastHostComponent = 0;\n for (\n _instance = reactEventName;\n _instance;\n _instance = inCapturePhase(_instance)\n )\n lastHostComponent++;\n _instance = 0;\n for (var tempB = instance; tempB; tempB = inCapturePhase(tempB))\n _instance++;\n for (; 0 < lastHostComponent - _instance; )\n (reactEventName = inCapturePhase(reactEventName)),\n lastHostComponent--;\n for (; 0 < _instance - lastHostComponent; )\n (instance = inCapturePhase(instance)), _instance--;\n for (; lastHostComponent--; ) {\n if (\n reactEventName === instance ||\n (null !== instance && reactEventName === instance.alternate)\n ) {\n inCapturePhase = reactEventName;\n break b;\n }\n reactEventName = inCapturePhase(reactEventName);\n instance = inCapturePhase(instance);\n }\n inCapturePhase = null;\n }\n else inCapturePhase = null;\n null !== SyntheticEventCtor &&\n accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n reactName,\n SyntheticEventCtor,\n inCapturePhase,\n !1\n );\n null !== reactEventType &&\n null !== accumulateTargetOnly &&\n accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n accumulateTargetOnly,\n reactEventType,\n inCapturePhase,\n !0\n );\n }\n }\n }\n a: {\n reactName = targetInst ? getNodeFromInstance(targetInst) : window;\n SyntheticEventCtor =\n reactName.nodeName && reactName.nodeName.toLowerCase();\n if (\n \"select\" === SyntheticEventCtor ||\n (\"input\" === SyntheticEventCtor && \"file\" === reactName.type)\n )\n var getTargetInstFunc = getTargetInstForChangeEvent;\n else if (isTextInputElement(reactName))\n if (isInputEventSupported)\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n var handleEventFunc = handleEventsForInputEventPolyfill;\n }\n else\n (SyntheticEventCtor = reactName.nodeName),\n !SyntheticEventCtor ||\n \"input\" !== SyntheticEventCtor.toLowerCase() ||\n (\"checkbox\" !== reactName.type && \"radio\" !== reactName.type)\n ? targetInst &&\n isCustomElement(targetInst.elementType) &&\n (getTargetInstFunc = getTargetInstForChangeEvent)\n : (getTargetInstFunc = getTargetInstForClickEvent);\n if (\n getTargetInstFunc &&\n (getTargetInstFunc = getTargetInstFunc(domEventName, targetInst))\n ) {\n createAndAccumulateChangeEvent(\n dispatchQueue,\n getTargetInstFunc,\n nativeEvent,\n nativeEventTarget\n );\n break a;\n }\n handleEventFunc && handleEventFunc(domEventName, reactName, targetInst);\n \"focusout\" === domEventName &&\n targetInst &&\n \"number\" === reactName.type &&\n null != targetInst.memoizedProps.value &&\n setDefaultValue(reactName, \"number\", reactName.value);\n }\n handleEventFunc = targetInst ? getNodeFromInstance(targetInst) : window;\n switch (domEventName) {\n case \"focusin\":\n if (\n isTextInputElement(handleEventFunc) ||\n \"true\" === handleEventFunc.contentEditable\n )\n (activeElement = handleEventFunc),\n (activeElementInst = targetInst),\n (lastSelection = null);\n break;\n case \"focusout\":\n lastSelection = activeElementInst = activeElement = null;\n break;\n case \"mousedown\":\n mouseDown = !0;\n break;\n case \"contextmenu\":\n case \"mouseup\":\n case \"dragend\":\n mouseDown = !1;\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n break;\n case \"selectionchange\":\n if (skipSelectionChangeEvent) break;\n case \"keydown\":\n case \"keyup\":\n constructSelectEvent(dispatchQueue, nativeEvent, nativeEventTarget);\n }\n var fallbackData;\n if (canUseCompositionEvent)\n b: {\n switch (domEventName) {\n case \"compositionstart\":\n var eventType = \"onCompositionStart\";\n break b;\n case \"compositionend\":\n eventType = \"onCompositionEnd\";\n break b;\n case \"compositionupdate\":\n eventType = \"onCompositionUpdate\";\n break b;\n }\n eventType = void 0;\n }\n else\n isComposing\n ? isFallbackCompositionEnd(domEventName, nativeEvent) &&\n (eventType = \"onCompositionEnd\")\n : \"keydown\" === domEventName &&\n 229 === nativeEvent.keyCode &&\n (eventType = \"onCompositionStart\");\n eventType &&\n (useFallbackCompositionData &&\n \"ko\" !== nativeEvent.locale &&\n (isComposing || \"onCompositionStart\" !== eventType\n ? \"onCompositionEnd\" === eventType &&\n isComposing &&\n (fallbackData = getData())\n : ((root = nativeEventTarget),\n (startText = \"value\" in root ? root.value : root.textContent),\n (isComposing = !0))),\n (handleEventFunc = accumulateTwoPhaseListeners(targetInst, eventType)),\n 0 < handleEventFunc.length &&\n ((eventType = new SyntheticCompositionEvent(\n eventType,\n domEventName,\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({ event: eventType, listeners: handleEventFunc }),\n fallbackData\n ? (eventType.data = fallbackData)\n : ((fallbackData = getDataFromCustomEvent(nativeEvent)),\n null !== fallbackData && (eventType.data = fallbackData))));\n if (\n (fallbackData = canUseTextInputEvent\n ? getNativeBeforeInputChars(domEventName, nativeEvent)\n : getFallbackBeforeInputChars(domEventName, nativeEvent))\n )\n (eventType = accumulateTwoPhaseListeners(targetInst, \"onBeforeInput\")),\n 0 < eventType.length &&\n ((handleEventFunc = new SyntheticCompositionEvent(\n \"onBeforeInput\",\n \"beforeinput\",\n null,\n nativeEvent,\n nativeEventTarget\n )),\n dispatchQueue.push({\n event: handleEventFunc,\n listeners: eventType\n }),\n (handleEventFunc.data = fallbackData));\n extractEvents$1(\n dispatchQueue,\n domEventName,\n targetInst,\n nativeEvent,\n nativeEventTarget\n );\n }\n processDispatchQueue(dispatchQueue, eventSystemFlags);\n });\n}\nfunction createDispatchListener(instance, listener, currentTarget) {\n return {\n instance: instance,\n listener: listener,\n currentTarget: currentTarget\n };\n}\nfunction accumulateTwoPhaseListeners(targetFiber, reactName) {\n for (\n var captureName = reactName + \"Capture\", listeners = [];\n null !== targetFiber;\n\n ) {\n var _instance2 = targetFiber,\n stateNode = _instance2.stateNode;\n _instance2 = _instance2.tag;\n (5 !== _instance2 && 26 !== _instance2 && 27 !== _instance2) ||\n null === stateNode ||\n ((_instance2 = getListener(targetFiber, captureName)),\n null != _instance2 &&\n listeners.unshift(\n createDispatchListener(targetFiber, _instance2, stateNode)\n ),\n (_instance2 = getListener(targetFiber, reactName)),\n null != _instance2 &&\n listeners.push(\n createDispatchListener(targetFiber, _instance2, stateNode)\n ));\n if (3 === targetFiber.tag) return listeners;\n targetFiber = targetFiber.return;\n }\n return [];\n}\nfunction getParent(inst) {\n if (null === inst) return null;\n do inst = inst.return;\n while (inst && 5 !== inst.tag && 27 !== inst.tag);\n return inst ? inst : null;\n}\nfunction accumulateEnterLeaveListenersForEvent(\n dispatchQueue,\n event,\n target,\n common,\n inCapturePhase\n) {\n for (\n var registrationName = event._reactName, listeners = [];\n null !== target && target !== common;\n\n ) {\n var _instance3 = target,\n alternate = _instance3.alternate,\n stateNode = _instance3.stateNode;\n _instance3 = _instance3.tag;\n if (null !== alternate && alternate === common) break;\n (5 !== _instance3 && 26 !== _instance3 && 27 !== _instance3) ||\n null === stateNode ||\n ((alternate = stateNode),\n inCapturePhase\n ? ((stateNode = getListener(target, registrationName)),\n null != stateNode &&\n listeners.unshift(\n createDispatchListener(target, stateNode, alternate)\n ))\n : inCapturePhase ||\n ((stateNode = getListener(target, registrationName)),\n null != stateNode &&\n listeners.push(\n createDispatchListener(target, stateNode, alternate)\n )));\n target = target.return;\n }\n 0 !== listeners.length &&\n dispatchQueue.push({ event: event, listeners: listeners });\n}\nvar NORMALIZE_NEWLINES_REGEX = /\\r\\n?/g,\n NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\u0000|\\uFFFD/g;\nfunction normalizeMarkupForTextOrAttribute(markup) {\n return (\"string\" === typeof markup ? markup : \"\" + markup)\n .replace(NORMALIZE_NEWLINES_REGEX, \"\\n\")\n .replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, \"\");\n}\nfunction checkForUnmatchedText(serverText, clientText) {\n clientText = normalizeMarkupForTextOrAttribute(clientText);\n return normalizeMarkupForTextOrAttribute(serverText) === clientText ? !0 : !1;\n}\nfunction setProp(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case \"children\":\n \"string\" === typeof value\n ? \"body\" === tag ||\n (\"textarea\" === tag && \"\" === value) ||\n setTextContent(domElement, value)\n : (\"number\" === typeof value || \"bigint\" === typeof value) &&\n \"body\" !== tag &&\n setTextContent(domElement, \"\" + value);\n break;\n case \"className\":\n setValueForKnownAttribute(domElement, \"class\", value);\n break;\n case \"tabIndex\":\n setValueForKnownAttribute(domElement, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n setValueForKnownAttribute(domElement, key, value);\n break;\n case \"style\":\n setValueForStyles(domElement, value, prevValue);\n break;\n case \"data\":\n if (\"object\" !== tag) {\n setValueForKnownAttribute(domElement, \"data\", value);\n break;\n }\n case \"src\":\n case \"href\":\n if (\"\" === value && (\"a\" !== tag || \"href\" !== key)) {\n domElement.removeAttribute(key);\n break;\n }\n if (\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n ) {\n domElement.removeAttribute(key);\n break;\n }\n value = sanitizeURL(\"\" + value);\n domElement.setAttribute(key, value);\n break;\n case \"action\":\n case \"formAction\":\n if (\"function\" === typeof value) {\n domElement.setAttribute(\n key,\n \"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')\"\n );\n break;\n } else\n \"function\" === typeof prevValue &&\n (\"formAction\" === key\n ? (\"input\" !== tag &&\n setProp(domElement, tag, \"name\", props.name, props, null),\n setProp(\n domElement,\n tag,\n \"formEncType\",\n props.formEncType,\n props,\n null\n ),\n setProp(\n domElement,\n tag,\n \"formMethod\",\n props.formMethod,\n props,\n null\n ),\n setProp(\n domElement,\n tag,\n \"formTarget\",\n props.formTarget,\n props,\n null\n ))\n : (setProp(domElement, tag, \"encType\", props.encType, props, null),\n setProp(domElement, tag, \"method\", props.method, props, null),\n setProp(domElement, tag, \"target\", props.target, props, null)));\n if (\n null == value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n ) {\n domElement.removeAttribute(key);\n break;\n }\n value = sanitizeURL(\"\" + value);\n domElement.setAttribute(key, value);\n break;\n case \"onClick\":\n null != value && (domElement.onclick = noop$1);\n break;\n case \"onScroll\":\n null != value && listenToNonDelegatedEvent(\"scroll\", domElement);\n break;\n case \"onScrollEnd\":\n null != value && listenToNonDelegatedEvent(\"scrollend\", domElement);\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != value) {\n if (\"object\" !== typeof value || !(\"__html\" in value))\n throw Error(formatProdErrorMessage(61));\n key = value.__html;\n if (null != key) {\n if (null != props.children) throw Error(formatProdErrorMessage(60));\n domElement.innerHTML = key;\n }\n }\n break;\n case \"multiple\":\n domElement.multiple =\n value && \"function\" !== typeof value && \"symbol\" !== typeof value;\n break;\n case \"muted\":\n domElement.muted =\n value && \"function\" !== typeof value && \"symbol\" !== typeof value;\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"ref\":\n break;\n case \"autoFocus\":\n break;\n case \"xlinkHref\":\n if (\n null == value ||\n \"function\" === typeof value ||\n \"boolean\" === typeof value ||\n \"symbol\" === typeof value\n ) {\n domElement.removeAttribute(\"xlink:href\");\n break;\n }\n key = sanitizeURL(\"\" + value);\n domElement.setAttributeNS(\n \"http://www.w3.org/1999/xlink\",\n \"xlink:href\",\n key\n );\n break;\n case \"contentEditable\":\n case \"spellCheck\":\n case \"draggable\":\n case \"value\":\n case \"autoReverse\":\n case \"externalResourcesRequired\":\n case \"focusable\":\n case \"preserveAlpha\":\n null != value && \"function\" !== typeof value && \"symbol\" !== typeof value\n ? domElement.setAttribute(key, \"\" + value)\n : domElement.removeAttribute(key);\n break;\n case \"inert\":\n case \"allowFullScreen\":\n case \"async\":\n case \"autoPlay\":\n case \"controls\":\n case \"default\":\n case \"defer\":\n case \"disabled\":\n case \"disablePictureInPicture\":\n case \"disableRemotePlayback\":\n case \"formNoValidate\":\n case \"hidden\":\n case \"loop\":\n case \"noModule\":\n case \"noValidate\":\n case \"open\":\n case \"playsInline\":\n case \"readOnly\":\n case \"required\":\n case \"reversed\":\n case \"scoped\":\n case \"seamless\":\n case \"itemScope\":\n value && \"function\" !== typeof value && \"symbol\" !== typeof value\n ? domElement.setAttribute(key, \"\")\n : domElement.removeAttribute(key);\n break;\n case \"capture\":\n case \"download\":\n !0 === value\n ? domElement.setAttribute(key, \"\")\n : !1 !== value &&\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value\n ? domElement.setAttribute(key, value)\n : domElement.removeAttribute(key);\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n null != value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n !isNaN(value) &&\n 1 <= value\n ? domElement.setAttribute(key, value)\n : domElement.removeAttribute(key);\n break;\n case \"rowSpan\":\n case \"start\":\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n isNaN(value)\n ? domElement.removeAttribute(key)\n : domElement.setAttribute(key, value);\n break;\n case \"popover\":\n listenToNonDelegatedEvent(\"beforetoggle\", domElement);\n listenToNonDelegatedEvent(\"toggle\", domElement);\n setValueForAttribute(domElement, \"popover\", value);\n break;\n case \"xlinkActuate\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:actuate\",\n value\n );\n break;\n case \"xlinkArcrole\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:arcrole\",\n value\n );\n break;\n case \"xlinkRole\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:role\",\n value\n );\n break;\n case \"xlinkShow\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:show\",\n value\n );\n break;\n case \"xlinkTitle\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:title\",\n value\n );\n break;\n case \"xlinkType\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/1999/xlink\",\n \"xlink:type\",\n value\n );\n break;\n case \"xmlBase\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:base\",\n value\n );\n break;\n case \"xmlLang\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:lang\",\n value\n );\n break;\n case \"xmlSpace\":\n setValueForNamespacedAttribute(\n domElement,\n \"http://www.w3.org/XML/1998/namespace\",\n \"xml:space\",\n value\n );\n break;\n case \"is\":\n setValueForAttribute(domElement, \"is\", value);\n break;\n case \"innerText\":\n case \"textContent\":\n break;\n default:\n if (\n !(2 < key.length) ||\n (\"o\" !== key[0] && \"O\" !== key[0]) ||\n (\"n\" !== key[1] && \"N\" !== key[1])\n )\n (key = aliases.get(key) || key),\n setValueForAttribute(domElement, key, value);\n }\n}\nfunction setPropOnCustomElement(domElement, tag, key, value, props, prevValue) {\n switch (key) {\n case \"style\":\n setValueForStyles(domElement, value, prevValue);\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != value) {\n if (\"object\" !== typeof value || !(\"__html\" in value))\n throw Error(formatProdErrorMessage(61));\n key = value.__html;\n if (null != key) {\n if (null != props.children) throw Error(formatProdErrorMessage(60));\n domElement.innerHTML = key;\n }\n }\n break;\n case \"children\":\n \"string\" === typeof value\n ? setTextContent(domElement, value)\n : (\"number\" === typeof value || \"bigint\" === typeof value) &&\n setTextContent(domElement, \"\" + value);\n break;\n case \"onScroll\":\n null != value && listenToNonDelegatedEvent(\"scroll\", domElement);\n break;\n case \"onScrollEnd\":\n null != value && listenToNonDelegatedEvent(\"scrollend\", domElement);\n break;\n case \"onClick\":\n null != value && (domElement.onclick = noop$1);\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"innerHTML\":\n case \"ref\":\n break;\n case \"innerText\":\n case \"textContent\":\n break;\n default:\n if (!registrationNameDependencies.hasOwnProperty(key))\n a: {\n if (\n \"o\" === key[0] &&\n \"n\" === key[1] &&\n ((props = key.endsWith(\"Capture\")),\n (tag = key.slice(2, props ? key.length - 7 : void 0)),\n (prevValue = domElement[internalPropsKey] || null),\n (prevValue = null != prevValue ? prevValue[key] : null),\n \"function\" === typeof prevValue &&\n domElement.removeEventListener(tag, prevValue, props),\n \"function\" === typeof value)\n ) {\n \"function\" !== typeof prevValue &&\n null !== prevValue &&\n (key in domElement\n ? (domElement[key] = null)\n : domElement.hasAttribute(key) &&\n domElement.removeAttribute(key));\n domElement.addEventListener(tag, value, props);\n break a;\n }\n key in domElement\n ? (domElement[key] = value)\n : !0 === value\n ? domElement.setAttribute(key, \"\")\n : setValueForAttribute(domElement, key, value);\n }\n }\n}\nfunction setInitialProperties(domElement, tag, props) {\n switch (tag) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n case \"a\":\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"img\":\n listenToNonDelegatedEvent(\"error\", domElement);\n listenToNonDelegatedEvent(\"load\", domElement);\n var hasSrc = !1,\n hasSrcSet = !1,\n propKey;\n for (propKey in props)\n if (props.hasOwnProperty(propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"src\":\n hasSrc = !0;\n break;\n case \"srcSet\":\n hasSrcSet = !0;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(137, tag));\n default:\n setProp(domElement, tag, propKey, propValue, props, null);\n }\n }\n hasSrcSet &&\n setProp(domElement, tag, \"srcSet\", props.srcSet, props, null);\n hasSrc && setProp(domElement, tag, \"src\", props.src, props, null);\n return;\n case \"input\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n var defaultValue = (propKey = propValue = hasSrcSet = null),\n checked = null,\n defaultChecked = null;\n for (hasSrc in props)\n if (props.hasOwnProperty(hasSrc)) {\n var propValue$184 = props[hasSrc];\n if (null != propValue$184)\n switch (hasSrc) {\n case \"name\":\n hasSrcSet = propValue$184;\n break;\n case \"type\":\n propValue = propValue$184;\n break;\n case \"checked\":\n checked = propValue$184;\n break;\n case \"defaultChecked\":\n defaultChecked = propValue$184;\n break;\n case \"value\":\n propKey = propValue$184;\n break;\n case \"defaultValue\":\n defaultValue = propValue$184;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propValue$184)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n setProp(domElement, tag, hasSrc, propValue$184, props, null);\n }\n }\n initInput(\n domElement,\n propKey,\n defaultValue,\n checked,\n defaultChecked,\n propValue,\n hasSrcSet,\n !1\n );\n return;\n case \"select\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n hasSrc = propValue = propKey = null;\n for (hasSrcSet in props)\n if (\n props.hasOwnProperty(hasSrcSet) &&\n ((defaultValue = props[hasSrcSet]), null != defaultValue)\n )\n switch (hasSrcSet) {\n case \"value\":\n propKey = defaultValue;\n break;\n case \"defaultValue\":\n propValue = defaultValue;\n break;\n case \"multiple\":\n hasSrc = defaultValue;\n default:\n setProp(domElement, tag, hasSrcSet, defaultValue, props, null);\n }\n tag = propKey;\n props = propValue;\n domElement.multiple = !!hasSrc;\n null != tag\n ? updateOptions(domElement, !!hasSrc, tag, !1)\n : null != props && updateOptions(domElement, !!hasSrc, props, !0);\n return;\n case \"textarea\":\n listenToNonDelegatedEvent(\"invalid\", domElement);\n propKey = hasSrcSet = hasSrc = null;\n for (propValue in props)\n if (\n props.hasOwnProperty(propValue) &&\n ((defaultValue = props[propValue]), null != defaultValue)\n )\n switch (propValue) {\n case \"value\":\n hasSrc = defaultValue;\n break;\n case \"defaultValue\":\n hasSrcSet = defaultValue;\n break;\n case \"children\":\n propKey = defaultValue;\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != defaultValue) throw Error(formatProdErrorMessage(91));\n break;\n default:\n setProp(domElement, tag, propValue, defaultValue, props, null);\n }\n initTextarea(domElement, hasSrc, hasSrcSet, propKey);\n return;\n case \"option\":\n for (checked in props)\n if (\n props.hasOwnProperty(checked) &&\n ((hasSrc = props[checked]), null != hasSrc)\n )\n switch (checked) {\n case \"selected\":\n domElement.selected =\n hasSrc &&\n \"function\" !== typeof hasSrc &&\n \"symbol\" !== typeof hasSrc;\n break;\n default:\n setProp(domElement, tag, checked, hasSrc, props, null);\n }\n return;\n case \"dialog\":\n listenToNonDelegatedEvent(\"beforetoggle\", domElement);\n listenToNonDelegatedEvent(\"toggle\", domElement);\n listenToNonDelegatedEvent(\"cancel\", domElement);\n listenToNonDelegatedEvent(\"close\", domElement);\n break;\n case \"iframe\":\n case \"object\":\n listenToNonDelegatedEvent(\"load\", domElement);\n break;\n case \"video\":\n case \"audio\":\n for (hasSrc = 0; hasSrc < mediaEventTypes.length; hasSrc++)\n listenToNonDelegatedEvent(mediaEventTypes[hasSrc], domElement);\n break;\n case \"image\":\n listenToNonDelegatedEvent(\"error\", domElement);\n listenToNonDelegatedEvent(\"load\", domElement);\n break;\n case \"details\":\n listenToNonDelegatedEvent(\"toggle\", domElement);\n break;\n case \"embed\":\n case \"source\":\n case \"link\":\n listenToNonDelegatedEvent(\"error\", domElement),\n listenToNonDelegatedEvent(\"load\", domElement);\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"hr\":\n case \"keygen\":\n case \"meta\":\n case \"param\":\n case \"track\":\n case \"wbr\":\n case \"menuitem\":\n for (defaultChecked in props)\n if (\n props.hasOwnProperty(defaultChecked) &&\n ((hasSrc = props[defaultChecked]), null != hasSrc)\n )\n switch (defaultChecked) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(137, tag));\n default:\n setProp(domElement, tag, defaultChecked, hasSrc, props, null);\n }\n return;\n default:\n if (isCustomElement(tag)) {\n for (propValue$184 in props)\n props.hasOwnProperty(propValue$184) &&\n ((hasSrc = props[propValue$184]),\n void 0 !== hasSrc &&\n setPropOnCustomElement(\n domElement,\n tag,\n propValue$184,\n hasSrc,\n props,\n void 0\n ));\n return;\n }\n }\n for (defaultValue in props)\n props.hasOwnProperty(defaultValue) &&\n ((hasSrc = props[defaultValue]),\n null != hasSrc &&\n setProp(domElement, tag, defaultValue, hasSrc, props, null));\n}\nfunction updateProperties(domElement, tag, lastProps, nextProps) {\n switch (tag) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n case \"a\":\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"input\":\n var name = null,\n type = null,\n value = null,\n defaultValue = null,\n lastDefaultValue = null,\n checked = null,\n defaultChecked = null;\n for (propKey in lastProps) {\n var lastProp = lastProps[propKey];\n if (lastProps.hasOwnProperty(propKey) && null != lastProp)\n switch (propKey) {\n case \"checked\":\n break;\n case \"value\":\n break;\n case \"defaultValue\":\n lastDefaultValue = lastProp;\n default:\n nextProps.hasOwnProperty(propKey) ||\n setProp(domElement, tag, propKey, null, nextProps, lastProp);\n }\n }\n for (var propKey$201 in nextProps) {\n var propKey = nextProps[propKey$201];\n lastProp = lastProps[propKey$201];\n if (\n nextProps.hasOwnProperty(propKey$201) &&\n (null != propKey || null != lastProp)\n )\n switch (propKey$201) {\n case \"type\":\n type = propKey;\n break;\n case \"name\":\n name = propKey;\n break;\n case \"checked\":\n checked = propKey;\n break;\n case \"defaultChecked\":\n defaultChecked = propKey;\n break;\n case \"value\":\n value = propKey;\n break;\n case \"defaultValue\":\n defaultValue = propKey;\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propKey)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n propKey !== lastProp &&\n setProp(\n domElement,\n tag,\n propKey$201,\n propKey,\n nextProps,\n lastProp\n );\n }\n }\n updateInput(\n domElement,\n value,\n defaultValue,\n lastDefaultValue,\n checked,\n defaultChecked,\n type,\n name\n );\n return;\n case \"select\":\n propKey = value = defaultValue = propKey$201 = null;\n for (type in lastProps)\n if (\n ((lastDefaultValue = lastProps[type]),\n lastProps.hasOwnProperty(type) && null != lastDefaultValue)\n )\n switch (type) {\n case \"value\":\n break;\n case \"multiple\":\n propKey = lastDefaultValue;\n default:\n nextProps.hasOwnProperty(type) ||\n setProp(\n domElement,\n tag,\n type,\n null,\n nextProps,\n lastDefaultValue\n );\n }\n for (name in nextProps)\n if (\n ((type = nextProps[name]),\n (lastDefaultValue = lastProps[name]),\n nextProps.hasOwnProperty(name) &&\n (null != type || null != lastDefaultValue))\n )\n switch (name) {\n case \"value\":\n propKey$201 = type;\n break;\n case \"defaultValue\":\n defaultValue = type;\n break;\n case \"multiple\":\n value = type;\n default:\n type !== lastDefaultValue &&\n setProp(\n domElement,\n tag,\n name,\n type,\n nextProps,\n lastDefaultValue\n );\n }\n tag = defaultValue;\n lastProps = value;\n nextProps = propKey;\n null != propKey$201\n ? updateOptions(domElement, !!lastProps, propKey$201, !1)\n : !!nextProps !== !!lastProps &&\n (null != tag\n ? updateOptions(domElement, !!lastProps, tag, !0)\n : updateOptions(domElement, !!lastProps, lastProps ? [] : \"\", !1));\n return;\n case \"textarea\":\n propKey = propKey$201 = null;\n for (defaultValue in lastProps)\n if (\n ((name = lastProps[defaultValue]),\n lastProps.hasOwnProperty(defaultValue) &&\n null != name &&\n !nextProps.hasOwnProperty(defaultValue))\n )\n switch (defaultValue) {\n case \"value\":\n break;\n case \"children\":\n break;\n default:\n setProp(domElement, tag, defaultValue, null, nextProps, name);\n }\n for (value in nextProps)\n if (\n ((name = nextProps[value]),\n (type = lastProps[value]),\n nextProps.hasOwnProperty(value) && (null != name || null != type))\n )\n switch (value) {\n case \"value\":\n propKey$201 = name;\n break;\n case \"defaultValue\":\n propKey = name;\n break;\n case \"children\":\n break;\n case \"dangerouslySetInnerHTML\":\n if (null != name) throw Error(formatProdErrorMessage(91));\n break;\n default:\n name !== type &&\n setProp(domElement, tag, value, name, nextProps, type);\n }\n updateTextarea(domElement, propKey$201, propKey);\n return;\n case \"option\":\n for (var propKey$217 in lastProps)\n if (\n ((propKey$201 = lastProps[propKey$217]),\n lastProps.hasOwnProperty(propKey$217) &&\n null != propKey$201 &&\n !nextProps.hasOwnProperty(propKey$217))\n )\n switch (propKey$217) {\n case \"selected\":\n domElement.selected = !1;\n break;\n default:\n setProp(\n domElement,\n tag,\n propKey$217,\n null,\n nextProps,\n propKey$201\n );\n }\n for (lastDefaultValue in nextProps)\n if (\n ((propKey$201 = nextProps[lastDefaultValue]),\n (propKey = lastProps[lastDefaultValue]),\n nextProps.hasOwnProperty(lastDefaultValue) &&\n propKey$201 !== propKey &&\n (null != propKey$201 || null != propKey))\n )\n switch (lastDefaultValue) {\n case \"selected\":\n domElement.selected =\n propKey$201 &&\n \"function\" !== typeof propKey$201 &&\n \"symbol\" !== typeof propKey$201;\n break;\n default:\n setProp(\n domElement,\n tag,\n lastDefaultValue,\n propKey$201,\n nextProps,\n propKey\n );\n }\n return;\n case \"img\":\n case \"link\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n case \"menuitem\":\n for (var propKey$222 in lastProps)\n (propKey$201 = lastProps[propKey$222]),\n lastProps.hasOwnProperty(propKey$222) &&\n null != propKey$201 &&\n !nextProps.hasOwnProperty(propKey$222) &&\n setProp(domElement, tag, propKey$222, null, nextProps, propKey$201);\n for (checked in nextProps)\n if (\n ((propKey$201 = nextProps[checked]),\n (propKey = lastProps[checked]),\n nextProps.hasOwnProperty(checked) &&\n propKey$201 !== propKey &&\n (null != propKey$201 || null != propKey))\n )\n switch (checked) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n if (null != propKey$201)\n throw Error(formatProdErrorMessage(137, tag));\n break;\n default:\n setProp(\n domElement,\n tag,\n checked,\n propKey$201,\n nextProps,\n propKey\n );\n }\n return;\n default:\n if (isCustomElement(tag)) {\n for (var propKey$227 in lastProps)\n (propKey$201 = lastProps[propKey$227]),\n lastProps.hasOwnProperty(propKey$227) &&\n void 0 !== propKey$201 &&\n !nextProps.hasOwnProperty(propKey$227) &&\n setPropOnCustomElement(\n domElement,\n tag,\n propKey$227,\n void 0,\n nextProps,\n propKey$201\n );\n for (defaultChecked in nextProps)\n (propKey$201 = nextProps[defaultChecked]),\n (propKey = lastProps[defaultChecked]),\n !nextProps.hasOwnProperty(defaultChecked) ||\n propKey$201 === propKey ||\n (void 0 === propKey$201 && void 0 === propKey) ||\n setPropOnCustomElement(\n domElement,\n tag,\n defaultChecked,\n propKey$201,\n nextProps,\n propKey\n );\n return;\n }\n }\n for (var propKey$232 in lastProps)\n (propKey$201 = lastProps[propKey$232]),\n lastProps.hasOwnProperty(propKey$232) &&\n null != propKey$201 &&\n !nextProps.hasOwnProperty(propKey$232) &&\n setProp(domElement, tag, propKey$232, null, nextProps, propKey$201);\n for (lastProp in nextProps)\n (propKey$201 = nextProps[lastProp]),\n (propKey = lastProps[lastProp]),\n !nextProps.hasOwnProperty(lastProp) ||\n propKey$201 === propKey ||\n (null == propKey$201 && null == propKey) ||\n setProp(domElement, tag, lastProp, propKey$201, nextProps, propKey);\n}\nfunction isLikelyStaticResource(initiatorType) {\n switch (initiatorType) {\n case \"css\":\n case \"script\":\n case \"font\":\n case \"img\":\n case \"image\":\n case \"input\":\n case \"link\":\n return !0;\n default:\n return !1;\n }\n}\nfunction estimateBandwidth() {\n if (\"function\" === typeof performance.getEntriesByType) {\n for (\n var count = 0,\n bits = 0,\n resourceEntries = performance.getEntriesByType(\"resource\"),\n i = 0;\n i < resourceEntries.length;\n i++\n ) {\n var entry = resourceEntries[i],\n transferSize = entry.transferSize,\n initiatorType = entry.initiatorType,\n duration = entry.duration;\n if (transferSize && duration && isLikelyStaticResource(initiatorType)) {\n initiatorType = 0;\n duration = entry.responseEnd;\n for (i += 1; i < resourceEntries.length; i++) {\n var overlapEntry = resourceEntries[i],\n overlapStartTime = overlapEntry.startTime;\n if (overlapStartTime > duration) break;\n var overlapTransferSize = overlapEntry.transferSize,\n overlapInitiatorType = overlapEntry.initiatorType;\n overlapTransferSize &&\n isLikelyStaticResource(overlapInitiatorType) &&\n ((overlapEntry = overlapEntry.responseEnd),\n (initiatorType +=\n overlapTransferSize *\n (overlapEntry < duration\n ? 1\n : (duration - overlapStartTime) /\n (overlapEntry - overlapStartTime))));\n }\n --i;\n bits += (8 * (transferSize + initiatorType)) / (entry.duration / 1e3);\n count++;\n if (10 < count) break;\n }\n }\n if (0 < count) return bits / count / 1e6;\n }\n return navigator.connection &&\n ((count = navigator.connection.downlink), \"number\" === typeof count)\n ? count\n : 5;\n}\nvar eventsEnabled = null,\n selectionInformation = null;\nfunction getOwnerDocumentFromRootContainer(rootContainerElement) {\n return 9 === rootContainerElement.nodeType\n ? rootContainerElement\n : rootContainerElement.ownerDocument;\n}\nfunction getOwnHostContext(namespaceURI) {\n switch (namespaceURI) {\n case \"http://www.w3.org/2000/svg\":\n return 1;\n case \"http://www.w3.org/1998/Math/MathML\":\n return 2;\n default:\n return 0;\n }\n}\nfunction getChildHostContextProd(parentNamespace, type) {\n if (0 === parentNamespace)\n switch (type) {\n case \"svg\":\n return 1;\n case \"math\":\n return 2;\n default:\n return 0;\n }\n return 1 === parentNamespace && \"foreignObject\" === type\n ? 0\n : parentNamespace;\n}\nfunction shouldSetTextContent(type, props) {\n return (\n \"textarea\" === type ||\n \"noscript\" === type ||\n \"string\" === typeof props.children ||\n \"number\" === typeof props.children ||\n \"bigint\" === typeof props.children ||\n (\"object\" === typeof props.dangerouslySetInnerHTML &&\n null !== props.dangerouslySetInnerHTML &&\n null != props.dangerouslySetInnerHTML.__html)\n );\n}\nvar currentPopstateTransitionEvent = null;\nfunction shouldAttemptEagerTransition() {\n var event = window.event;\n if (event && \"popstate\" === event.type) {\n if (event === currentPopstateTransitionEvent) return !1;\n currentPopstateTransitionEvent = event;\n return !0;\n }\n currentPopstateTransitionEvent = null;\n return !1;\n}\nvar scheduleTimeout = \"function\" === typeof setTimeout ? setTimeout : void 0,\n cancelTimeout = \"function\" === typeof clearTimeout ? clearTimeout : void 0,\n localPromise = \"function\" === typeof Promise ? Promise : void 0,\n scheduleMicrotask =\n \"function\" === typeof queueMicrotask\n ? queueMicrotask\n : \"undefined\" !== typeof localPromise\n ? function (callback) {\n return localPromise\n .resolve(null)\n .then(callback)\n .catch(handleErrorInNextTick);\n }\n : scheduleTimeout;\nfunction handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n}\nfunction isSingletonScope(type) {\n return \"head\" === type;\n}\nfunction clearHydrationBoundary(parentInstance, hydrationInstance) {\n var node = hydrationInstance,\n depth = 0;\n do {\n var nextNode = node.nextSibling;\n parentInstance.removeChild(node);\n if (nextNode && 8 === nextNode.nodeType)\n if (((node = nextNode.data), \"/$\" === node || \"/&\" === node)) {\n if (0 === depth) {\n parentInstance.removeChild(nextNode);\n retryIfBlockedOn(hydrationInstance);\n return;\n }\n depth--;\n } else if (\n \"$\" === node ||\n \"$?\" === node ||\n \"$~\" === node ||\n \"$!\" === node ||\n \"&\" === node\n )\n depth++;\n else if (\"html\" === node)\n releaseSingletonInstance(parentInstance.ownerDocument.documentElement);\n else if (\"head\" === node) {\n node = parentInstance.ownerDocument.head;\n releaseSingletonInstance(node);\n for (var node$jscomp$0 = node.firstChild; node$jscomp$0; ) {\n var nextNode$jscomp$0 = node$jscomp$0.nextSibling,\n nodeName = node$jscomp$0.nodeName;\n node$jscomp$0[internalHoistableMarker] ||\n \"SCRIPT\" === nodeName ||\n \"STYLE\" === nodeName ||\n (\"LINK\" === nodeName &&\n \"stylesheet\" === node$jscomp$0.rel.toLowerCase()) ||\n node.removeChild(node$jscomp$0);\n node$jscomp$0 = nextNode$jscomp$0;\n }\n } else\n \"body\" === node &&\n releaseSingletonInstance(parentInstance.ownerDocument.body);\n node = nextNode;\n } while (node);\n retryIfBlockedOn(hydrationInstance);\n}\nfunction hideOrUnhideDehydratedBoundary(suspenseInstance, isHidden) {\n var node = suspenseInstance;\n suspenseInstance = 0;\n do {\n var nextNode = node.nextSibling;\n 1 === node.nodeType\n ? isHidden\n ? ((node._stashedDisplay = node.style.display),\n (node.style.display = \"none\"))\n : ((node.style.display = node._stashedDisplay || \"\"),\n \"\" === node.getAttribute(\"style\") && node.removeAttribute(\"style\"))\n : 3 === node.nodeType &&\n (isHidden\n ? ((node._stashedText = node.nodeValue), (node.nodeValue = \"\"))\n : (node.nodeValue = node._stashedText || \"\"));\n if (nextNode && 8 === nextNode.nodeType)\n if (((node = nextNode.data), \"/$\" === node))\n if (0 === suspenseInstance) break;\n else suspenseInstance--;\n else\n (\"$\" !== node && \"$?\" !== node && \"$~\" !== node && \"$!\" !== node) ||\n suspenseInstance++;\n node = nextNode;\n } while (node);\n}\nfunction clearContainerSparingly(container) {\n var nextNode = container.firstChild;\n nextNode && 10 === nextNode.nodeType && (nextNode = nextNode.nextSibling);\n for (; nextNode; ) {\n var node = nextNode;\n nextNode = nextNode.nextSibling;\n switch (node.nodeName) {\n case \"HTML\":\n case \"HEAD\":\n case \"BODY\":\n clearContainerSparingly(node);\n detachDeletedInstance(node);\n continue;\n case \"SCRIPT\":\n case \"STYLE\":\n continue;\n case \"LINK\":\n if (\"stylesheet\" === node.rel.toLowerCase()) continue;\n }\n container.removeChild(node);\n }\n}\nfunction canHydrateInstance(instance, type, props, inRootOrSingleton) {\n for (; 1 === instance.nodeType; ) {\n var anyProps = props;\n if (instance.nodeName.toLowerCase() !== type.toLowerCase()) {\n if (\n !inRootOrSingleton &&\n (\"INPUT\" !== instance.nodeName || \"hidden\" !== instance.type)\n )\n break;\n } else if (!inRootOrSingleton)\n if (\"input\" === type && \"hidden\" === instance.type) {\n var name = null == anyProps.name ? null : \"\" + anyProps.name;\n if (\n \"hidden\" === anyProps.type &&\n instance.getAttribute(\"name\") === name\n )\n return instance;\n } else return instance;\n else if (!instance[internalHoistableMarker])\n switch (type) {\n case \"meta\":\n if (!instance.hasAttribute(\"itemprop\")) break;\n return instance;\n case \"link\":\n name = instance.getAttribute(\"rel\");\n if (\"stylesheet\" === name && instance.hasAttribute(\"data-precedence\"))\n break;\n else if (\n name !== anyProps.rel ||\n instance.getAttribute(\"href\") !==\n (null == anyProps.href || \"\" === anyProps.href\n ? null\n : anyProps.href) ||\n instance.getAttribute(\"crossorigin\") !==\n (null == anyProps.crossOrigin ? null : anyProps.crossOrigin) ||\n instance.getAttribute(\"title\") !==\n (null == anyProps.title ? null : anyProps.title)\n )\n break;\n return instance;\n case \"style\":\n if (instance.hasAttribute(\"data-precedence\")) break;\n return instance;\n case \"script\":\n name = instance.getAttribute(\"src\");\n if (\n (name !== (null == anyProps.src ? null : anyProps.src) ||\n instance.getAttribute(\"type\") !==\n (null == anyProps.type ? null : anyProps.type) ||\n instance.getAttribute(\"crossorigin\") !==\n (null == anyProps.crossOrigin ? null : anyProps.crossOrigin)) &&\n name &&\n instance.hasAttribute(\"async\") &&\n !instance.hasAttribute(\"itemprop\")\n )\n break;\n return instance;\n default:\n return instance;\n }\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) break;\n }\n return null;\n}\nfunction canHydrateTextInstance(instance, text, inRootOrSingleton) {\n if (\"\" === text) return null;\n for (; 3 !== instance.nodeType; ) {\n if (\n (1 !== instance.nodeType ||\n \"INPUT\" !== instance.nodeName ||\n \"hidden\" !== instance.type) &&\n !inRootOrSingleton\n )\n return null;\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) return null;\n }\n return instance;\n}\nfunction canHydrateHydrationBoundary(instance, inRootOrSingleton) {\n for (; 8 !== instance.nodeType; ) {\n if (\n (1 !== instance.nodeType ||\n \"INPUT\" !== instance.nodeName ||\n \"hidden\" !== instance.type) &&\n !inRootOrSingleton\n )\n return null;\n instance = getNextHydratable(instance.nextSibling);\n if (null === instance) return null;\n }\n return instance;\n}\nfunction isSuspenseInstancePending(instance) {\n return \"$?\" === instance.data || \"$~\" === instance.data;\n}\nfunction isSuspenseInstanceFallback(instance) {\n return (\n \"$!\" === instance.data ||\n (\"$?\" === instance.data && \"loading\" !== instance.ownerDocument.readyState)\n );\n}\nfunction registerSuspenseInstanceRetry(instance, callback) {\n var ownerDocument = instance.ownerDocument;\n if (\"$~\" === instance.data) instance._reactRetry = callback;\n else if (\"$?\" !== instance.data || \"loading\" !== ownerDocument.readyState)\n callback();\n else {\n var listener = function () {\n callback();\n ownerDocument.removeEventListener(\"DOMContentLoaded\", listener);\n };\n ownerDocument.addEventListener(\"DOMContentLoaded\", listener);\n instance._reactRetry = listener;\n }\n}\nfunction getNextHydratable(node) {\n for (; null != node; node = node.nextSibling) {\n var nodeType = node.nodeType;\n if (1 === nodeType || 3 === nodeType) break;\n if (8 === nodeType) {\n nodeType = node.data;\n if (\n \"$\" === nodeType ||\n \"$!\" === nodeType ||\n \"$?\" === nodeType ||\n \"$~\" === nodeType ||\n \"&\" === nodeType ||\n \"F!\" === nodeType ||\n \"F\" === nodeType\n )\n break;\n if (\"/$\" === nodeType || \"/&\" === nodeType) return null;\n }\n }\n return node;\n}\nvar previousHydratableOnEnteringScopedSingleton = null;\nfunction getNextHydratableInstanceAfterHydrationBoundary(hydrationInstance) {\n hydrationInstance = hydrationInstance.nextSibling;\n for (var depth = 0; hydrationInstance; ) {\n if (8 === hydrationInstance.nodeType) {\n var data = hydrationInstance.data;\n if (\"/$\" === data || \"/&\" === data) {\n if (0 === depth)\n return getNextHydratable(hydrationInstance.nextSibling);\n depth--;\n } else\n (\"$\" !== data &&\n \"$!\" !== data &&\n \"$?\" !== data &&\n \"$~\" !== data &&\n \"&\" !== data) ||\n depth++;\n }\n hydrationInstance = hydrationInstance.nextSibling;\n }\n return null;\n}\nfunction getParentHydrationBoundary(targetInstance) {\n targetInstance = targetInstance.previousSibling;\n for (var depth = 0; targetInstance; ) {\n if (8 === targetInstance.nodeType) {\n var data = targetInstance.data;\n if (\n \"$\" === data ||\n \"$!\" === data ||\n \"$?\" === data ||\n \"$~\" === data ||\n \"&\" === data\n ) {\n if (0 === depth) return targetInstance;\n depth--;\n } else (\"/$\" !== data && \"/&\" !== data) || depth++;\n }\n targetInstance = targetInstance.previousSibling;\n }\n return null;\n}\nfunction resolveSingletonInstance(type, props, rootContainerInstance) {\n props = getOwnerDocumentFromRootContainer(rootContainerInstance);\n switch (type) {\n case \"html\":\n type = props.documentElement;\n if (!type) throw Error(formatProdErrorMessage(452));\n return type;\n case \"head\":\n type = props.head;\n if (!type) throw Error(formatProdErrorMessage(453));\n return type;\n case \"body\":\n type = props.body;\n if (!type) throw Error(formatProdErrorMessage(454));\n return type;\n default:\n throw Error(formatProdErrorMessage(451));\n }\n}\nfunction releaseSingletonInstance(instance) {\n for (var attributes = instance.attributes; attributes.length; )\n instance.removeAttributeNode(attributes[0]);\n detachDeletedInstance(instance);\n}\nvar preloadPropsMap = new Map(),\n preconnectsSet = new Set();\nfunction getHoistableRoot(container) {\n return \"function\" === typeof container.getRootNode\n ? container.getRootNode()\n : 9 === container.nodeType\n ? container\n : container.ownerDocument;\n}\nvar previousDispatcher = ReactDOMSharedInternals.d;\nReactDOMSharedInternals.d = {\n f: flushSyncWork,\n r: requestFormReset,\n D: prefetchDNS,\n C: preconnect,\n L: preload,\n m: preloadModule,\n X: preinitScript,\n S: preinitStyle,\n M: preinitModuleScript\n};\nfunction flushSyncWork() {\n var previousWasRendering = previousDispatcher.f(),\n wasRendering = flushSyncWork$1();\n return previousWasRendering || wasRendering;\n}\nfunction requestFormReset(form) {\n var formInst = getInstanceFromNode(form);\n null !== formInst && 5 === formInst.tag && \"form\" === formInst.type\n ? requestFormReset$1(formInst)\n : previousDispatcher.r(form);\n}\nvar globalDocument = \"undefined\" === typeof document ? null : document;\nfunction preconnectAs(rel, href, crossOrigin) {\n var ownerDocument = globalDocument;\n if (ownerDocument && \"string\" === typeof href && href) {\n var limitedEscapedHref =\n escapeSelectorAttributeValueInsideDoubleQuotes(href);\n limitedEscapedHref =\n 'link[rel=\"' + rel + '\"][href=\"' + limitedEscapedHref + '\"]';\n \"string\" === typeof crossOrigin &&\n (limitedEscapedHref += '[crossorigin=\"' + crossOrigin + '\"]');\n preconnectsSet.has(limitedEscapedHref) ||\n (preconnectsSet.add(limitedEscapedHref),\n (rel = { rel: rel, crossOrigin: crossOrigin, href: href }),\n null === ownerDocument.querySelector(limitedEscapedHref) &&\n ((href = ownerDocument.createElement(\"link\")),\n setInitialProperties(href, \"link\", rel),\n markNodeAsHoistable(href),\n ownerDocument.head.appendChild(href)));\n }\n}\nfunction prefetchDNS(href) {\n previousDispatcher.D(href);\n preconnectAs(\"dns-prefetch\", href, null);\n}\nfunction preconnect(href, crossOrigin) {\n previousDispatcher.C(href, crossOrigin);\n preconnectAs(\"preconnect\", href, crossOrigin);\n}\nfunction preload(href, as, options) {\n previousDispatcher.L(href, as, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href && as) {\n var preloadSelector =\n 'link[rel=\"preload\"][as=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(as) +\n '\"]';\n \"image\" === as\n ? options && options.imageSrcSet\n ? ((preloadSelector +=\n '[imagesrcset=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n options.imageSrcSet\n ) +\n '\"]'),\n \"string\" === typeof options.imageSizes &&\n (preloadSelector +=\n '[imagesizes=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(\n options.imageSizes\n ) +\n '\"]'))\n : (preloadSelector +=\n '[href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]')\n : (preloadSelector +=\n '[href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]');\n var key = preloadSelector;\n switch (as) {\n case \"style\":\n key = getStyleKey(href);\n break;\n case \"script\":\n key = getScriptKey(href);\n }\n preloadPropsMap.has(key) ||\n ((href = assign(\n {\n rel: \"preload\",\n href:\n \"image\" === as && options && options.imageSrcSet ? void 0 : href,\n as: as\n },\n options\n )),\n preloadPropsMap.set(key, href),\n null !== ownerDocument.querySelector(preloadSelector) ||\n (\"style\" === as &&\n ownerDocument.querySelector(getStylesheetSelectorFromKey(key))) ||\n (\"script\" === as &&\n ownerDocument.querySelector(getScriptSelectorFromKey(key))) ||\n ((as = ownerDocument.createElement(\"link\")),\n setInitialProperties(as, \"link\", href),\n markNodeAsHoistable(as),\n ownerDocument.head.appendChild(as)));\n }\n}\nfunction preloadModule(href, options) {\n previousDispatcher.m(href, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href) {\n var as = options && \"string\" === typeof options.as ? options.as : \"script\",\n preloadSelector =\n 'link[rel=\"modulepreload\"][as=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(as) +\n '\"][href=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(href) +\n '\"]',\n key = preloadSelector;\n switch (as) {\n case \"audioworklet\":\n case \"paintworklet\":\n case \"serviceworker\":\n case \"sharedworker\":\n case \"worker\":\n case \"script\":\n key = getScriptKey(href);\n }\n if (\n !preloadPropsMap.has(key) &&\n ((href = assign({ rel: \"modulepreload\", href: href }, options)),\n preloadPropsMap.set(key, href),\n null === ownerDocument.querySelector(preloadSelector))\n ) {\n switch (as) {\n case \"audioworklet\":\n case \"paintworklet\":\n case \"serviceworker\":\n case \"sharedworker\":\n case \"worker\":\n case \"script\":\n if (ownerDocument.querySelector(getScriptSelectorFromKey(key)))\n return;\n }\n as = ownerDocument.createElement(\"link\");\n setInitialProperties(as, \"link\", href);\n markNodeAsHoistable(as);\n ownerDocument.head.appendChild(as);\n }\n }\n}\nfunction preinitStyle(href, precedence, options) {\n previousDispatcher.S(href, precedence, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && href) {\n var styles = getResourcesFromRoot(ownerDocument).hoistableStyles,\n key = getStyleKey(href);\n precedence = precedence || \"default\";\n var resource = styles.get(key);\n if (!resource) {\n var state = { loading: 0, preload: null };\n if (\n (resource = ownerDocument.querySelector(\n getStylesheetSelectorFromKey(key)\n ))\n )\n state.loading = 5;\n else {\n href = assign(\n { rel: \"stylesheet\", href: href, \"data-precedence\": precedence },\n options\n );\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForStylesheet(href, options);\n var link = (resource = ownerDocument.createElement(\"link\"));\n markNodeAsHoistable(link);\n setInitialProperties(link, \"link\", href);\n link._p = new Promise(function (resolve, reject) {\n link.onload = resolve;\n link.onerror = reject;\n });\n link.addEventListener(\"load\", function () {\n state.loading |= 1;\n });\n link.addEventListener(\"error\", function () {\n state.loading |= 2;\n });\n state.loading |= 4;\n insertStylesheet(resource, precedence, ownerDocument);\n }\n resource = {\n type: \"stylesheet\",\n instance: resource,\n count: 1,\n state: state\n };\n styles.set(key, resource);\n }\n }\n}\nfunction preinitScript(src, options) {\n previousDispatcher.X(src, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts,\n key = getScriptKey(src),\n resource = scripts.get(key);\n resource ||\n ((resource = ownerDocument.querySelector(getScriptSelectorFromKey(key))),\n resource ||\n ((src = assign({ src: src, async: !0 }, options)),\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForScript(src, options),\n (resource = ownerDocument.createElement(\"script\")),\n markNodeAsHoistable(resource),\n setInitialProperties(resource, \"link\", src),\n ownerDocument.head.appendChild(resource)),\n (resource = {\n type: \"script\",\n instance: resource,\n count: 1,\n state: null\n }),\n scripts.set(key, resource));\n }\n}\nfunction preinitModuleScript(src, options) {\n previousDispatcher.M(src, options);\n var ownerDocument = globalDocument;\n if (ownerDocument && src) {\n var scripts = getResourcesFromRoot(ownerDocument).hoistableScripts,\n key = getScriptKey(src),\n resource = scripts.get(key);\n resource ||\n ((resource = ownerDocument.querySelector(getScriptSelectorFromKey(key))),\n resource ||\n ((src = assign({ src: src, async: !0, type: \"module\" }, options)),\n (options = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForScript(src, options),\n (resource = ownerDocument.createElement(\"script\")),\n markNodeAsHoistable(resource),\n setInitialProperties(resource, \"link\", src),\n ownerDocument.head.appendChild(resource)),\n (resource = {\n type: \"script\",\n instance: resource,\n count: 1,\n state: null\n }),\n scripts.set(key, resource));\n }\n}\nfunction getResource(type, currentProps, pendingProps, currentResource) {\n var JSCompiler_inline_result = (JSCompiler_inline_result =\n rootInstanceStackCursor.current)\n ? getHoistableRoot(JSCompiler_inline_result)\n : null;\n if (!JSCompiler_inline_result) throw Error(formatProdErrorMessage(446));\n switch (type) {\n case \"meta\":\n case \"title\":\n return null;\n case \"style\":\n return \"string\" === typeof pendingProps.precedence &&\n \"string\" === typeof pendingProps.href\n ? ((currentProps = getStyleKey(pendingProps.href)),\n (pendingProps = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableStyles),\n (currentResource = pendingProps.get(currentProps)),\n currentResource ||\n ((currentResource = {\n type: \"style\",\n instance: null,\n count: 0,\n state: null\n }),\n pendingProps.set(currentProps, currentResource)),\n currentResource)\n : { type: \"void\", instance: null, count: 0, state: null };\n case \"link\":\n if (\n \"stylesheet\" === pendingProps.rel &&\n \"string\" === typeof pendingProps.href &&\n \"string\" === typeof pendingProps.precedence\n ) {\n type = getStyleKey(pendingProps.href);\n var styles$243 = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableStyles,\n resource$244 = styles$243.get(type);\n resource$244 ||\n ((JSCompiler_inline_result =\n JSCompiler_inline_result.ownerDocument || JSCompiler_inline_result),\n (resource$244 = {\n type: \"stylesheet\",\n instance: null,\n count: 0,\n state: { loading: 0, preload: null }\n }),\n styles$243.set(type, resource$244),\n (styles$243 = JSCompiler_inline_result.querySelector(\n getStylesheetSelectorFromKey(type)\n )) &&\n !styles$243._p &&\n ((resource$244.instance = styles$243),\n (resource$244.state.loading = 5)),\n preloadPropsMap.has(type) ||\n ((pendingProps = {\n rel: \"preload\",\n as: \"style\",\n href: pendingProps.href,\n crossOrigin: pendingProps.crossOrigin,\n integrity: pendingProps.integrity,\n media: pendingProps.media,\n hrefLang: pendingProps.hrefLang,\n referrerPolicy: pendingProps.referrerPolicy\n }),\n preloadPropsMap.set(type, pendingProps),\n styles$243 ||\n preloadStylesheet(\n JSCompiler_inline_result,\n type,\n pendingProps,\n resource$244.state\n )));\n if (currentProps && null === currentResource)\n throw Error(formatProdErrorMessage(528, \"\"));\n return resource$244;\n }\n if (currentProps && null !== currentResource)\n throw Error(formatProdErrorMessage(529, \"\"));\n return null;\n case \"script\":\n return (\n (currentProps = pendingProps.async),\n (pendingProps = pendingProps.src),\n \"string\" === typeof pendingProps &&\n currentProps &&\n \"function\" !== typeof currentProps &&\n \"symbol\" !== typeof currentProps\n ? ((currentProps = getScriptKey(pendingProps)),\n (pendingProps = getResourcesFromRoot(\n JSCompiler_inline_result\n ).hoistableScripts),\n (currentResource = pendingProps.get(currentProps)),\n currentResource ||\n ((currentResource = {\n type: \"script\",\n instance: null,\n count: 0,\n state: null\n }),\n pendingProps.set(currentProps, currentResource)),\n currentResource)\n : { type: \"void\", instance: null, count: 0, state: null }\n );\n default:\n throw Error(formatProdErrorMessage(444, type));\n }\n}\nfunction getStyleKey(href) {\n return 'href=\"' + escapeSelectorAttributeValueInsideDoubleQuotes(href) + '\"';\n}\nfunction getStylesheetSelectorFromKey(key) {\n return 'link[rel=\"stylesheet\"][' + key + \"]\";\n}\nfunction stylesheetPropsFromRawProps(rawProps) {\n return assign({}, rawProps, {\n \"data-precedence\": rawProps.precedence,\n precedence: null\n });\n}\nfunction preloadStylesheet(ownerDocument, key, preloadProps, state) {\n ownerDocument.querySelector('link[rel=\"preload\"][as=\"style\"][' + key + \"]\")\n ? (state.loading = 1)\n : ((key = ownerDocument.createElement(\"link\")),\n (state.preload = key),\n key.addEventListener(\"load\", function () {\n return (state.loading |= 1);\n }),\n key.addEventListener(\"error\", function () {\n return (state.loading |= 2);\n }),\n setInitialProperties(key, \"link\", preloadProps),\n markNodeAsHoistable(key),\n ownerDocument.head.appendChild(key));\n}\nfunction getScriptKey(src) {\n return '[src=\"' + escapeSelectorAttributeValueInsideDoubleQuotes(src) + '\"]';\n}\nfunction getScriptSelectorFromKey(key) {\n return \"script[async]\" + key;\n}\nfunction acquireResource(hoistableRoot, resource, props) {\n resource.count++;\n if (null === resource.instance)\n switch (resource.type) {\n case \"style\":\n var instance = hoistableRoot.querySelector(\n 'style[data-href~=\"' +\n escapeSelectorAttributeValueInsideDoubleQuotes(props.href) +\n '\"]'\n );\n if (instance)\n return (\n (resource.instance = instance),\n markNodeAsHoistable(instance),\n instance\n );\n var styleProps = assign({}, props, {\n \"data-href\": props.href,\n \"data-precedence\": props.precedence,\n href: null,\n precedence: null\n });\n instance = (hoistableRoot.ownerDocument || hoistableRoot).createElement(\n \"style\"\n );\n markNodeAsHoistable(instance);\n setInitialProperties(instance, \"style\", styleProps);\n insertStylesheet(instance, props.precedence, hoistableRoot);\n return (resource.instance = instance);\n case \"stylesheet\":\n styleProps = getStyleKey(props.href);\n var instance$249 = hoistableRoot.querySelector(\n getStylesheetSelectorFromKey(styleProps)\n );\n if (instance$249)\n return (\n (resource.state.loading |= 4),\n (resource.instance = instance$249),\n markNodeAsHoistable(instance$249),\n instance$249\n );\n instance = stylesheetPropsFromRawProps(props);\n (styleProps = preloadPropsMap.get(styleProps)) &&\n adoptPreloadPropsForStylesheet(instance, styleProps);\n instance$249 = (\n hoistableRoot.ownerDocument || hoistableRoot\n ).createElement(\"link\");\n markNodeAsHoistable(instance$249);\n var linkInstance = instance$249;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(instance$249, \"link\", instance);\n resource.state.loading |= 4;\n insertStylesheet(instance$249, props.precedence, hoistableRoot);\n return (resource.instance = instance$249);\n case \"script\":\n instance$249 = getScriptKey(props.src);\n if (\n (styleProps = hoistableRoot.querySelector(\n getScriptSelectorFromKey(instance$249)\n ))\n )\n return (\n (resource.instance = styleProps),\n markNodeAsHoistable(styleProps),\n styleProps\n );\n instance = props;\n if ((styleProps = preloadPropsMap.get(instance$249)))\n (instance = assign({}, props)),\n adoptPreloadPropsForScript(instance, styleProps);\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n styleProps = hoistableRoot.createElement(\"script\");\n markNodeAsHoistable(styleProps);\n setInitialProperties(styleProps, \"link\", instance);\n hoistableRoot.head.appendChild(styleProps);\n return (resource.instance = styleProps);\n case \"void\":\n return null;\n default:\n throw Error(formatProdErrorMessage(443, resource.type));\n }\n else\n \"stylesheet\" === resource.type &&\n 0 === (resource.state.loading & 4) &&\n ((instance = resource.instance),\n (resource.state.loading |= 4),\n insertStylesheet(instance, props.precedence, hoistableRoot));\n return resource.instance;\n}\nfunction insertStylesheet(instance, precedence, root) {\n for (\n var nodes = root.querySelectorAll(\n 'link[rel=\"stylesheet\"][data-precedence],style[data-precedence]'\n ),\n last = nodes.length ? nodes[nodes.length - 1] : null,\n prior = last,\n i = 0;\n i < nodes.length;\n i++\n ) {\n var node = nodes[i];\n if (node.dataset.precedence === precedence) prior = node;\n else if (prior !== last) break;\n }\n prior\n ? prior.parentNode.insertBefore(instance, prior.nextSibling)\n : ((precedence = 9 === root.nodeType ? root.head : root),\n precedence.insertBefore(instance, precedence.firstChild));\n}\nfunction adoptPreloadPropsForStylesheet(stylesheetProps, preloadProps) {\n null == stylesheetProps.crossOrigin &&\n (stylesheetProps.crossOrigin = preloadProps.crossOrigin);\n null == stylesheetProps.referrerPolicy &&\n (stylesheetProps.referrerPolicy = preloadProps.referrerPolicy);\n null == stylesheetProps.title && (stylesheetProps.title = preloadProps.title);\n}\nfunction adoptPreloadPropsForScript(scriptProps, preloadProps) {\n null == scriptProps.crossOrigin &&\n (scriptProps.crossOrigin = preloadProps.crossOrigin);\n null == scriptProps.referrerPolicy &&\n (scriptProps.referrerPolicy = preloadProps.referrerPolicy);\n null == scriptProps.integrity &&\n (scriptProps.integrity = preloadProps.integrity);\n}\nvar tagCaches = null;\nfunction getHydratableHoistableCache(type, keyAttribute, ownerDocument) {\n if (null === tagCaches) {\n var cache = new Map();\n var caches = (tagCaches = new Map());\n caches.set(ownerDocument, cache);\n } else\n (caches = tagCaches),\n (cache = caches.get(ownerDocument)),\n cache || ((cache = new Map()), caches.set(ownerDocument, cache));\n if (cache.has(type)) return cache;\n cache.set(type, null);\n ownerDocument = ownerDocument.getElementsByTagName(type);\n for (caches = 0; caches < ownerDocument.length; caches++) {\n var node = ownerDocument[caches];\n if (\n !(\n node[internalHoistableMarker] ||\n node[internalInstanceKey] ||\n (\"link\" === type && \"stylesheet\" === node.getAttribute(\"rel\"))\n ) &&\n \"http://www.w3.org/2000/svg\" !== node.namespaceURI\n ) {\n var nodeKey = node.getAttribute(keyAttribute) || \"\";\n nodeKey = type + nodeKey;\n var existing = cache.get(nodeKey);\n existing ? existing.push(node) : cache.set(nodeKey, [node]);\n }\n }\n return cache;\n}\nfunction mountHoistable(hoistableRoot, type, instance) {\n hoistableRoot = hoistableRoot.ownerDocument || hoistableRoot;\n hoistableRoot.head.insertBefore(\n instance,\n \"title\" === type ? hoistableRoot.querySelector(\"head > title\") : null\n );\n}\nfunction isHostHoistableType(type, props, hostContext) {\n if (1 === hostContext || null != props.itemProp) return !1;\n switch (type) {\n case \"meta\":\n case \"title\":\n return !0;\n case \"style\":\n if (\n \"string\" !== typeof props.precedence ||\n \"string\" !== typeof props.href ||\n \"\" === props.href\n )\n break;\n return !0;\n case \"link\":\n if (\n \"string\" !== typeof props.rel ||\n \"string\" !== typeof props.href ||\n \"\" === props.href ||\n props.onLoad ||\n props.onError\n )\n break;\n switch (props.rel) {\n case \"stylesheet\":\n return (\n (type = props.disabled),\n \"string\" === typeof props.precedence && null == type\n );\n default:\n return !0;\n }\n case \"script\":\n if (\n props.async &&\n \"function\" !== typeof props.async &&\n \"symbol\" !== typeof props.async &&\n !props.onLoad &&\n !props.onError &&\n props.src &&\n \"string\" === typeof props.src\n )\n return !0;\n }\n return !1;\n}\nfunction preloadResource(resource) {\n return \"stylesheet\" === resource.type && 0 === (resource.state.loading & 3)\n ? !1\n : !0;\n}\nfunction suspendResource(state, hoistableRoot, resource, props) {\n if (\n \"stylesheet\" === resource.type &&\n (\"string\" !== typeof props.media ||\n !1 !== matchMedia(props.media).matches) &&\n 0 === (resource.state.loading & 4)\n ) {\n if (null === resource.instance) {\n var key = getStyleKey(props.href),\n instance = hoistableRoot.querySelector(\n getStylesheetSelectorFromKey(key)\n );\n if (instance) {\n hoistableRoot = instance._p;\n null !== hoistableRoot &&\n \"object\" === typeof hoistableRoot &&\n \"function\" === typeof hoistableRoot.then &&\n (state.count++,\n (state = onUnsuspend.bind(state)),\n hoistableRoot.then(state, state));\n resource.state.loading |= 4;\n resource.instance = instance;\n markNodeAsHoistable(instance);\n return;\n }\n instance = hoistableRoot.ownerDocument || hoistableRoot;\n props = stylesheetPropsFromRawProps(props);\n (key = preloadPropsMap.get(key)) &&\n adoptPreloadPropsForStylesheet(props, key);\n instance = instance.createElement(\"link\");\n markNodeAsHoistable(instance);\n var linkInstance = instance;\n linkInstance._p = new Promise(function (resolve, reject) {\n linkInstance.onload = resolve;\n linkInstance.onerror = reject;\n });\n setInitialProperties(instance, \"link\", props);\n resource.instance = instance;\n }\n null === state.stylesheets && (state.stylesheets = new Map());\n state.stylesheets.set(resource, hoistableRoot);\n (hoistableRoot = resource.state.preload) &&\n 0 === (resource.state.loading & 3) &&\n (state.count++,\n (resource = onUnsuspend.bind(state)),\n hoistableRoot.addEventListener(\"load\", resource),\n hoistableRoot.addEventListener(\"error\", resource));\n }\n}\nvar estimatedBytesWithinLimit = 0;\nfunction waitForCommitToBeReady(state, timeoutOffset) {\n state.stylesheets &&\n 0 === state.count &&\n insertSuspendedStylesheets(state, state.stylesheets);\n return 0 < state.count || 0 < state.imgCount\n ? function (commit) {\n var stylesheetTimer = setTimeout(function () {\n state.stylesheets &&\n insertSuspendedStylesheets(state, state.stylesheets);\n if (state.unsuspend) {\n var unsuspend = state.unsuspend;\n state.unsuspend = null;\n unsuspend();\n }\n }, 6e4 + timeoutOffset);\n 0 < state.imgBytes &&\n 0 === estimatedBytesWithinLimit &&\n (estimatedBytesWithinLimit = 62500 * estimateBandwidth());\n var imgTimer = setTimeout(\n function () {\n state.waitingForImages = !1;\n if (\n 0 === state.count &&\n (state.stylesheets &&\n insertSuspendedStylesheets(state, state.stylesheets),\n state.unsuspend)\n ) {\n var unsuspend = state.unsuspend;\n state.unsuspend = null;\n unsuspend();\n }\n },\n (state.imgBytes > estimatedBytesWithinLimit ? 50 : 800) +\n timeoutOffset\n );\n state.unsuspend = commit;\n return function () {\n state.unsuspend = null;\n clearTimeout(stylesheetTimer);\n clearTimeout(imgTimer);\n };\n }\n : null;\n}\nfunction onUnsuspend() {\n this.count--;\n if (0 === this.count && (0 === this.imgCount || !this.waitingForImages))\n if (this.stylesheets) insertSuspendedStylesheets(this, this.stylesheets);\n else if (this.unsuspend) {\n var unsuspend = this.unsuspend;\n this.unsuspend = null;\n unsuspend();\n }\n}\nvar precedencesByRoot = null;\nfunction insertSuspendedStylesheets(state, resources) {\n state.stylesheets = null;\n null !== state.unsuspend &&\n (state.count++,\n (precedencesByRoot = new Map()),\n resources.forEach(insertStylesheetIntoRoot, state),\n (precedencesByRoot = null),\n onUnsuspend.call(state));\n}\nfunction insertStylesheetIntoRoot(root, resource) {\n if (!(resource.state.loading & 4)) {\n var precedences = precedencesByRoot.get(root);\n if (precedences) var last = precedences.get(null);\n else {\n precedences = new Map();\n precedencesByRoot.set(root, precedences);\n for (\n var nodes = root.querySelectorAll(\n \"link[data-precedence],style[data-precedence]\"\n ),\n i = 0;\n i < nodes.length;\n i++\n ) {\n var node = nodes[i];\n if (\n \"LINK\" === node.nodeName ||\n \"not all\" !== node.getAttribute(\"media\")\n )\n precedences.set(node.dataset.precedence, node), (last = node);\n }\n last && precedences.set(null, last);\n }\n nodes = resource.instance;\n node = nodes.getAttribute(\"data-precedence\");\n i = precedences.get(node) || last;\n i === last && precedences.set(null, nodes);\n precedences.set(node, nodes);\n this.count++;\n last = onUnsuspend.bind(this);\n nodes.addEventListener(\"load\", last);\n nodes.addEventListener(\"error\", last);\n i\n ? i.parentNode.insertBefore(nodes, i.nextSibling)\n : ((root = 9 === root.nodeType ? root.head : root),\n root.insertBefore(nodes, root.firstChild));\n resource.state.loading |= 4;\n }\n}\nvar HostTransitionContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Provider: null,\n Consumer: null,\n _currentValue: sharedNotPendingObject,\n _currentValue2: sharedNotPendingObject,\n _threadCount: 0\n};\nfunction FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n onDefaultTransitionIndicator,\n formState\n) {\n this.tag = 1;\n this.containerInfo = containerInfo;\n this.pingCache = this.current = this.pendingChildren = null;\n this.timeoutHandle = -1;\n this.callbackNode =\n this.next =\n this.pendingContext =\n this.context =\n this.cancelPendingCommit =\n null;\n this.callbackPriority = 0;\n this.expirationTimes = createLaneMap(-1);\n this.entangledLanes =\n this.shellSuspendCounter =\n this.errorRecoveryDisabledLanes =\n this.expiredLanes =\n this.warmLanes =\n this.pingedLanes =\n this.suspendedLanes =\n this.pendingLanes =\n 0;\n this.entanglements = createLaneMap(0);\n this.hiddenUpdates = createLaneMap(null);\n this.identifierPrefix = identifierPrefix;\n this.onUncaughtError = onUncaughtError;\n this.onCaughtError = onCaughtError;\n this.onRecoverableError = onRecoverableError;\n this.pooledCache = null;\n this.pooledCacheLanes = 0;\n this.formState = formState;\n this.incompleteTransitions = new Map();\n}\nfunction createFiberRoot(\n containerInfo,\n tag,\n hydrate,\n initialChildren,\n hydrationCallbacks,\n isStrictMode,\n identifierPrefix,\n formState,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n onDefaultTransitionIndicator\n) {\n containerInfo = new FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n onDefaultTransitionIndicator,\n formState\n );\n tag = 1;\n !0 === isStrictMode && (tag |= 24);\n isStrictMode = createFiberImplClass(3, null, null, tag);\n containerInfo.current = isStrictMode;\n isStrictMode.stateNode = containerInfo;\n tag = createCache();\n tag.refCount++;\n containerInfo.pooledCache = tag;\n tag.refCount++;\n isStrictMode.memoizedState = {\n element: initialChildren,\n isDehydrated: hydrate,\n cache: tag\n };\n initializeUpdateQueue(isStrictMode);\n return containerInfo;\n}\nfunction getContextForSubtree(parentComponent) {\n if (!parentComponent) return emptyContextObject;\n parentComponent = emptyContextObject;\n return parentComponent;\n}\nfunction updateContainerImpl(\n rootFiber,\n lane,\n element,\n container,\n parentComponent,\n callback\n) {\n parentComponent = getContextForSubtree(parentComponent);\n null === container.context\n ? (container.context = parentComponent)\n : (container.pendingContext = parentComponent);\n container = createUpdate(lane);\n container.payload = { element: element };\n callback = void 0 === callback ? null : callback;\n null !== callback && (container.callback = callback);\n element = enqueueUpdate(rootFiber, container, lane);\n null !== element &&\n (scheduleUpdateOnFiber(element, rootFiber, lane),\n entangleTransitions(element, rootFiber, lane));\n}\nfunction markRetryLaneImpl(fiber, retryLane) {\n fiber = fiber.memoizedState;\n if (null !== fiber && null !== fiber.dehydrated) {\n var a = fiber.retryLane;\n fiber.retryLane = 0 !== a && a < retryLane ? a : retryLane;\n }\n}\nfunction markRetryLaneIfNotHydrated(fiber, retryLane) {\n markRetryLaneImpl(fiber, retryLane);\n (fiber = fiber.alternate) && markRetryLaneImpl(fiber, retryLane);\n}\nfunction attemptContinuousHydration(fiber) {\n if (13 === fiber.tag || 31 === fiber.tag) {\n var root = enqueueConcurrentRenderForLane(fiber, 67108864);\n null !== root && scheduleUpdateOnFiber(root, fiber, 67108864);\n markRetryLaneIfNotHydrated(fiber, 67108864);\n }\n}\nfunction attemptHydrationAtCurrentPriority(fiber) {\n if (13 === fiber.tag || 31 === fiber.tag) {\n var lane = requestUpdateLane();\n lane = getBumpedLaneForHydrationByLane(lane);\n var root = enqueueConcurrentRenderForLane(fiber, lane);\n null !== root && scheduleUpdateOnFiber(root, fiber, lane);\n markRetryLaneIfNotHydrated(fiber, lane);\n }\n}\nvar _enabled = !0;\nfunction dispatchDiscreteEvent(\n domEventName,\n eventSystemFlags,\n container,\n nativeEvent\n) {\n var prevTransition = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n (ReactDOMSharedInternals.p = 2),\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction dispatchContinuousEvent(\n domEventName,\n eventSystemFlags,\n container,\n nativeEvent\n) {\n var prevTransition = ReactSharedInternals.T;\n ReactSharedInternals.T = null;\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n (ReactDOMSharedInternals.p = 8),\n dispatchEvent(domEventName, eventSystemFlags, container, nativeEvent);\n } finally {\n (ReactDOMSharedInternals.p = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction dispatchEvent(\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n if (_enabled) {\n var blockedOn = findInstanceBlockingEvent(nativeEvent);\n if (null === blockedOn)\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n return_targetInst,\n targetContainer\n ),\n clearIfContinuousEvent(domEventName, nativeEvent);\n else if (\n queueIfContinuousEvent(\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n )\n nativeEvent.stopPropagation();\n else if (\n (clearIfContinuousEvent(domEventName, nativeEvent),\n eventSystemFlags & 4 &&\n -1 < discreteReplayableEvents.indexOf(domEventName))\n ) {\n for (; null !== blockedOn; ) {\n var fiber = getInstanceFromNode(blockedOn);\n if (null !== fiber)\n switch (fiber.tag) {\n case 3:\n fiber = fiber.stateNode;\n if (fiber.current.memoizedState.isDehydrated) {\n var lanes = getHighestPriorityLanes(fiber.pendingLanes);\n if (0 !== lanes) {\n var root = fiber;\n root.pendingLanes |= 2;\n for (root.entangledLanes |= 2; lanes; ) {\n var lane = 1 << (31 - clz32(lanes));\n root.entanglements[1] |= lane;\n lanes &= ~lane;\n }\n ensureRootIsScheduled(fiber);\n 0 === (executionContext & 6) &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n flushSyncWorkAcrossRoots_impl(0, !1));\n }\n }\n break;\n case 31:\n case 13:\n (root = enqueueConcurrentRenderForLane(fiber, 2)),\n null !== root && scheduleUpdateOnFiber(root, fiber, 2),\n flushSyncWork$1(),\n markRetryLaneIfNotHydrated(fiber, 2);\n }\n fiber = findInstanceBlockingEvent(nativeEvent);\n null === fiber &&\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n return_targetInst,\n targetContainer\n );\n if (fiber === blockedOn) break;\n blockedOn = fiber;\n }\n null !== blockedOn && nativeEvent.stopPropagation();\n } else\n dispatchEventForPluginEventSystem(\n domEventName,\n eventSystemFlags,\n nativeEvent,\n null,\n targetContainer\n );\n }\n}\nfunction findInstanceBlockingEvent(nativeEvent) {\n nativeEvent = getEventTarget(nativeEvent);\n return findInstanceBlockingTarget(nativeEvent);\n}\nvar return_targetInst = null;\nfunction findInstanceBlockingTarget(targetNode) {\n return_targetInst = null;\n targetNode = getClosestInstanceFromNode(targetNode);\n if (null !== targetNode) {\n var nearestMounted = getNearestMountedFiber(targetNode);\n if (null === nearestMounted) targetNode = null;\n else {\n var tag = nearestMounted.tag;\n if (13 === tag) {\n targetNode = getSuspenseInstanceFromFiber(nearestMounted);\n if (null !== targetNode) return targetNode;\n targetNode = null;\n } else if (31 === tag) {\n targetNode = getActivityInstanceFromFiber(nearestMounted);\n if (null !== targetNode) return targetNode;\n targetNode = null;\n } else if (3 === tag) {\n if (nearestMounted.stateNode.current.memoizedState.isDehydrated)\n return 3 === nearestMounted.tag\n ? nearestMounted.stateNode.containerInfo\n : null;\n targetNode = null;\n } else nearestMounted !== targetNode && (targetNode = null);\n }\n }\n return_targetInst = targetNode;\n return null;\n}\nfunction getEventPriority(domEventName) {\n switch (domEventName) {\n case \"beforetoggle\":\n case \"cancel\":\n case \"click\":\n case \"close\":\n case \"contextmenu\":\n case \"copy\":\n case \"cut\":\n case \"auxclick\":\n case \"dblclick\":\n case \"dragend\":\n case \"dragstart\":\n case \"drop\":\n case \"focusin\":\n case \"focusout\":\n case \"input\":\n case \"invalid\":\n case \"keydown\":\n case \"keypress\":\n case \"keyup\":\n case \"mousedown\":\n case \"mouseup\":\n case \"paste\":\n case \"pause\":\n case \"play\":\n case \"pointercancel\":\n case \"pointerdown\":\n case \"pointerup\":\n case \"ratechange\":\n case \"reset\":\n case \"resize\":\n case \"seeked\":\n case \"submit\":\n case \"toggle\":\n case \"touchcancel\":\n case \"touchend\":\n case \"touchstart\":\n case \"volumechange\":\n case \"change\":\n case \"selectionchange\":\n case \"textInput\":\n case \"compositionstart\":\n case \"compositionend\":\n case \"compositionupdate\":\n case \"beforeblur\":\n case \"afterblur\":\n case \"beforeinput\":\n case \"blur\":\n case \"fullscreenchange\":\n case \"focus\":\n case \"hashchange\":\n case \"popstate\":\n case \"select\":\n case \"selectstart\":\n return 2;\n case \"drag\":\n case \"dragenter\":\n case \"dragexit\":\n case \"dragleave\":\n case \"dragover\":\n case \"mousemove\":\n case \"mouseout\":\n case \"mouseover\":\n case \"pointermove\":\n case \"pointerout\":\n case \"pointerover\":\n case \"scroll\":\n case \"touchmove\":\n case \"wheel\":\n case \"mouseenter\":\n case \"mouseleave\":\n case \"pointerenter\":\n case \"pointerleave\":\n return 8;\n case \"message\":\n switch (getCurrentPriorityLevel()) {\n case ImmediatePriority:\n return 2;\n case UserBlockingPriority:\n return 8;\n case NormalPriority$1:\n case LowPriority:\n return 32;\n case IdlePriority:\n return 268435456;\n default:\n return 32;\n }\n default:\n return 32;\n }\n}\nvar hasScheduledReplayAttempt = !1,\n queuedFocus = null,\n queuedDrag = null,\n queuedMouse = null,\n queuedPointers = new Map(),\n queuedPointerCaptures = new Map(),\n queuedExplicitHydrationTargets = [],\n discreteReplayableEvents =\n \"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset\".split(\n \" \"\n );\nfunction clearIfContinuousEvent(domEventName, nativeEvent) {\n switch (domEventName) {\n case \"focusin\":\n case \"focusout\":\n queuedFocus = null;\n break;\n case \"dragenter\":\n case \"dragleave\":\n queuedDrag = null;\n break;\n case \"mouseover\":\n case \"mouseout\":\n queuedMouse = null;\n break;\n case \"pointerover\":\n case \"pointerout\":\n queuedPointers.delete(nativeEvent.pointerId);\n break;\n case \"gotpointercapture\":\n case \"lostpointercapture\":\n queuedPointerCaptures.delete(nativeEvent.pointerId);\n }\n}\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(\n existingQueuedEvent,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n if (\n null === existingQueuedEvent ||\n existingQueuedEvent.nativeEvent !== nativeEvent\n )\n return (\n (existingQueuedEvent = {\n blockedOn: blockedOn,\n domEventName: domEventName,\n eventSystemFlags: eventSystemFlags,\n nativeEvent: nativeEvent,\n targetContainers: [targetContainer]\n }),\n null !== blockedOn &&\n ((blockedOn = getInstanceFromNode(blockedOn)),\n null !== blockedOn && attemptContinuousHydration(blockedOn)),\n existingQueuedEvent\n );\n existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\n blockedOn = existingQueuedEvent.targetContainers;\n null !== targetContainer &&\n -1 === blockedOn.indexOf(targetContainer) &&\n blockedOn.push(targetContainer);\n return existingQueuedEvent;\n}\nfunction queueIfContinuousEvent(\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n) {\n switch (domEventName) {\n case \"focusin\":\n return (\n (queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedFocus,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"dragenter\":\n return (\n (queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedDrag,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"mouseover\":\n return (\n (queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedMouse,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )),\n !0\n );\n case \"pointerover\":\n var pointerId = nativeEvent.pointerId;\n queuedPointers.set(\n pointerId,\n accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedPointers.get(pointerId) || null,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n );\n return !0;\n case \"gotpointercapture\":\n return (\n (pointerId = nativeEvent.pointerId),\n queuedPointerCaptures.set(\n pointerId,\n accumulateOrCreateContinuousQueuedReplayableEvent(\n queuedPointerCaptures.get(pointerId) || null,\n blockedOn,\n domEventName,\n eventSystemFlags,\n targetContainer,\n nativeEvent\n )\n ),\n !0\n );\n }\n return !1;\n}\nfunction attemptExplicitHydrationTarget(queuedTarget) {\n var targetInst = getClosestInstanceFromNode(queuedTarget.target);\n if (null !== targetInst) {\n var nearestMounted = getNearestMountedFiber(targetInst);\n if (null !== nearestMounted)\n if (((targetInst = nearestMounted.tag), 13 === targetInst)) {\n if (\n ((targetInst = getSuspenseInstanceFromFiber(nearestMounted)),\n null !== targetInst)\n ) {\n queuedTarget.blockedOn = targetInst;\n runWithPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (31 === targetInst) {\n if (\n ((targetInst = getActivityInstanceFromFiber(nearestMounted)),\n null !== targetInst)\n ) {\n queuedTarget.blockedOn = targetInst;\n runWithPriority(queuedTarget.priority, function () {\n attemptHydrationAtCurrentPriority(nearestMounted);\n });\n return;\n }\n } else if (\n 3 === targetInst &&\n nearestMounted.stateNode.current.memoizedState.isDehydrated\n ) {\n queuedTarget.blockedOn =\n 3 === nearestMounted.tag\n ? nearestMounted.stateNode.containerInfo\n : null;\n return;\n }\n }\n queuedTarget.blockedOn = null;\n}\nfunction attemptReplayContinuousQueuedEvent(queuedEvent) {\n if (null !== queuedEvent.blockedOn) return !1;\n for (\n var targetContainers = queuedEvent.targetContainers;\n 0 < targetContainers.length;\n\n ) {\n var nextBlockedOn = findInstanceBlockingEvent(queuedEvent.nativeEvent);\n if (null === nextBlockedOn) {\n nextBlockedOn = queuedEvent.nativeEvent;\n var nativeEventClone = new nextBlockedOn.constructor(\n nextBlockedOn.type,\n nextBlockedOn\n );\n currentReplayingEvent = nativeEventClone;\n nextBlockedOn.target.dispatchEvent(nativeEventClone);\n currentReplayingEvent = null;\n } else\n return (\n (targetContainers = getInstanceFromNode(nextBlockedOn)),\n null !== targetContainers &&\n attemptContinuousHydration(targetContainers),\n (queuedEvent.blockedOn = nextBlockedOn),\n !1\n );\n targetContainers.shift();\n }\n return !0;\n}\nfunction attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\n attemptReplayContinuousQueuedEvent(queuedEvent) && map.delete(key);\n}\nfunction replayUnblockedEvents() {\n hasScheduledReplayAttempt = !1;\n null !== queuedFocus &&\n attemptReplayContinuousQueuedEvent(queuedFocus) &&\n (queuedFocus = null);\n null !== queuedDrag &&\n attemptReplayContinuousQueuedEvent(queuedDrag) &&\n (queuedDrag = null);\n null !== queuedMouse &&\n attemptReplayContinuousQueuedEvent(queuedMouse) &&\n (queuedMouse = null);\n queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\n queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\n}\nfunction scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\n queuedEvent.blockedOn === unblocked &&\n ((queuedEvent.blockedOn = null),\n hasScheduledReplayAttempt ||\n ((hasScheduledReplayAttempt = !0),\n Scheduler.unstable_scheduleCallback(\n Scheduler.unstable_NormalPriority,\n replayUnblockedEvents\n )));\n}\nvar lastScheduledReplayQueue = null;\nfunction scheduleReplayQueueIfNeeded(formReplayingQueue) {\n lastScheduledReplayQueue !== formReplayingQueue &&\n ((lastScheduledReplayQueue = formReplayingQueue),\n Scheduler.unstable_scheduleCallback(\n Scheduler.unstable_NormalPriority,\n function () {\n lastScheduledReplayQueue === formReplayingQueue &&\n (lastScheduledReplayQueue = null);\n for (var i = 0; i < formReplayingQueue.length; i += 3) {\n var form = formReplayingQueue[i],\n submitterOrAction = formReplayingQueue[i + 1],\n formData = formReplayingQueue[i + 2];\n if (\"function\" !== typeof submitterOrAction)\n if (null === findInstanceBlockingTarget(submitterOrAction || form))\n continue;\n else break;\n var formInst = getInstanceFromNode(form);\n null !== formInst &&\n (formReplayingQueue.splice(i, 3),\n (i -= 3),\n startHostTransition(\n formInst,\n {\n pending: !0,\n data: formData,\n method: form.method,\n action: submitterOrAction\n },\n submitterOrAction,\n formData\n ));\n }\n }\n ));\n}\nfunction retryIfBlockedOn(unblocked) {\n function unblock(queuedEvent) {\n return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\n }\n null !== queuedFocus && scheduleCallbackIfUnblocked(queuedFocus, unblocked);\n null !== queuedDrag && scheduleCallbackIfUnblocked(queuedDrag, unblocked);\n null !== queuedMouse && scheduleCallbackIfUnblocked(queuedMouse, unblocked);\n queuedPointers.forEach(unblock);\n queuedPointerCaptures.forEach(unblock);\n for (var i = 0; i < queuedExplicitHydrationTargets.length; i++) {\n var queuedTarget = queuedExplicitHydrationTargets[i];\n queuedTarget.blockedOn === unblocked && (queuedTarget.blockedOn = null);\n }\n for (\n ;\n 0 < queuedExplicitHydrationTargets.length &&\n ((i = queuedExplicitHydrationTargets[0]), null === i.blockedOn);\n\n )\n attemptExplicitHydrationTarget(i),\n null === i.blockedOn && queuedExplicitHydrationTargets.shift();\n i = (unblocked.ownerDocument || unblocked).$$reactFormReplay;\n if (null != i)\n for (queuedTarget = 0; queuedTarget < i.length; queuedTarget += 3) {\n var form = i[queuedTarget],\n submitterOrAction = i[queuedTarget + 1],\n formProps = form[internalPropsKey] || null;\n if (\"function\" === typeof submitterOrAction)\n formProps || scheduleReplayQueueIfNeeded(i);\n else if (formProps) {\n var action = null;\n if (submitterOrAction && submitterOrAction.hasAttribute(\"formAction\"))\n if (\n ((form = submitterOrAction),\n (formProps = submitterOrAction[internalPropsKey] || null))\n )\n action = formProps.formAction;\n else {\n if (null !== findInstanceBlockingTarget(form)) continue;\n }\n else action = formProps.action;\n \"function\" === typeof action\n ? (i[queuedTarget + 1] = action)\n : (i.splice(queuedTarget, 3), (queuedTarget -= 3));\n scheduleReplayQueueIfNeeded(i);\n }\n }\n}\nfunction defaultOnDefaultTransitionIndicator() {\n function handleNavigate(event) {\n event.canIntercept &&\n \"react-transition\" === event.info &&\n event.intercept({\n handler: function () {\n return new Promise(function (resolve) {\n return (pendingResolve = resolve);\n });\n },\n focusReset: \"manual\",\n scroll: \"manual\"\n });\n }\n function handleNavigateComplete() {\n null !== pendingResolve && (pendingResolve(), (pendingResolve = null));\n isCancelled || setTimeout(startFakeNavigation, 20);\n }\n function startFakeNavigation() {\n if (!isCancelled && !navigation.transition) {\n var currentEntry = navigation.currentEntry;\n currentEntry &&\n null != currentEntry.url &&\n navigation.navigate(currentEntry.url, {\n state: currentEntry.getState(),\n info: \"react-transition\",\n history: \"replace\"\n });\n }\n }\n if (\"object\" === typeof navigation) {\n var isCancelled = !1,\n pendingResolve = null;\n navigation.addEventListener(\"navigate\", handleNavigate);\n navigation.addEventListener(\"navigatesuccess\", handleNavigateComplete);\n navigation.addEventListener(\"navigateerror\", handleNavigateComplete);\n setTimeout(startFakeNavigation, 100);\n return function () {\n isCancelled = !0;\n navigation.removeEventListener(\"navigate\", handleNavigate);\n navigation.removeEventListener(\"navigatesuccess\", handleNavigateComplete);\n navigation.removeEventListener(\"navigateerror\", handleNavigateComplete);\n null !== pendingResolve && (pendingResolve(), (pendingResolve = null));\n };\n }\n}\nfunction ReactDOMRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\nReactDOMHydrationRoot.prototype.render = ReactDOMRoot.prototype.render =\n function (children) {\n var root = this._internalRoot;\n if (null === root) throw Error(formatProdErrorMessage(409));\n var current = root.current,\n lane = requestUpdateLane();\n updateContainerImpl(current, lane, children, root, null, null);\n };\nReactDOMHydrationRoot.prototype.unmount = ReactDOMRoot.prototype.unmount =\n function () {\n var root = this._internalRoot;\n if (null !== root) {\n this._internalRoot = null;\n var container = root.containerInfo;\n updateContainerImpl(root.current, 2, null, root, null, null);\n flushSyncWork$1();\n container[internalContainerInstanceKey] = null;\n }\n };\nfunction ReactDOMHydrationRoot(internalRoot) {\n this._internalRoot = internalRoot;\n}\nReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {\n if (target) {\n var updatePriority = resolveUpdatePriority();\n target = { blockedOn: null, target: target, priority: updatePriority };\n for (\n var i = 0;\n i < queuedExplicitHydrationTargets.length &&\n 0 !== updatePriority &&\n updatePriority < queuedExplicitHydrationTargets[i].priority;\n i++\n );\n queuedExplicitHydrationTargets.splice(i, 0, target);\n 0 === i && attemptExplicitHydrationTarget(target);\n }\n};\nvar isomorphicReactPackageVersion$jscomp$inline_1840 = React.version;\nif (\n \"19.2.8\" !==\n isomorphicReactPackageVersion$jscomp$inline_1840\n)\n throw Error(\n formatProdErrorMessage(\n 527,\n isomorphicReactPackageVersion$jscomp$inline_1840,\n \"19.2.8\"\n )\n );\nReactDOMSharedInternals.findDOMNode = function (componentOrElement) {\n var fiber = componentOrElement._reactInternals;\n if (void 0 === fiber) {\n if (\"function\" === typeof componentOrElement.render)\n throw Error(formatProdErrorMessage(188));\n componentOrElement = Object.keys(componentOrElement).join(\",\");\n throw Error(formatProdErrorMessage(268, componentOrElement));\n }\n componentOrElement = findCurrentFiberUsingSlowPath(fiber);\n componentOrElement =\n null !== componentOrElement\n ? findCurrentHostFiberImpl(componentOrElement)\n : null;\n componentOrElement =\n null === componentOrElement ? null : componentOrElement.stateNode;\n return componentOrElement;\n};\nvar internals$jscomp$inline_2347 = {\n bundleType: 0,\n version: \"19.2.8\",\n rendererPackageName: \"react-dom\",\n currentDispatcherRef: ReactSharedInternals,\n reconcilerVersion: \"19.2.8\"\n};\nif (\"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {\n var hook$jscomp$inline_2348 = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (\n !hook$jscomp$inline_2348.isDisabled &&\n hook$jscomp$inline_2348.supportsFiber\n )\n try {\n (rendererID = hook$jscomp$inline_2348.inject(\n internals$jscomp$inline_2347\n )),\n (injectedHook = hook$jscomp$inline_2348);\n } catch (err) {}\n}\nexports.createRoot = function (container, options) {\n if (!isValidContainer(container)) throw Error(formatProdErrorMessage(299));\n var isStrictMode = !1,\n identifierPrefix = \"\",\n onUncaughtError = defaultOnUncaughtError,\n onCaughtError = defaultOnCaughtError,\n onRecoverableError = defaultOnRecoverableError;\n null !== options &&\n void 0 !== options &&\n (!0 === options.unstable_strictMode && (isStrictMode = !0),\n void 0 !== options.identifierPrefix &&\n (identifierPrefix = options.identifierPrefix),\n void 0 !== options.onUncaughtError &&\n (onUncaughtError = options.onUncaughtError),\n void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError),\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError));\n options = createFiberRoot(\n container,\n 1,\n !1,\n null,\n null,\n isStrictMode,\n identifierPrefix,\n null,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n defaultOnDefaultTransitionIndicator\n );\n container[internalContainerInstanceKey] = options.current;\n listenToAllSupportedEvents(container);\n return new ReactDOMRoot(options);\n};\nexports.hydrateRoot = function (container, initialChildren, options) {\n if (!isValidContainer(container)) throw Error(formatProdErrorMessage(299));\n var isStrictMode = !1,\n identifierPrefix = \"\",\n onUncaughtError = defaultOnUncaughtError,\n onCaughtError = defaultOnCaughtError,\n onRecoverableError = defaultOnRecoverableError,\n formState = null;\n null !== options &&\n void 0 !== options &&\n (!0 === options.unstable_strictMode && (isStrictMode = !0),\n void 0 !== options.identifierPrefix &&\n (identifierPrefix = options.identifierPrefix),\n void 0 !== options.onUncaughtError &&\n (onUncaughtError = options.onUncaughtError),\n void 0 !== options.onCaughtError && (onCaughtError = options.onCaughtError),\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError),\n void 0 !== options.formState && (formState = options.formState));\n initialChildren = createFiberRoot(\n container,\n 1,\n !0,\n initialChildren,\n null != options ? options : null,\n isStrictMode,\n identifierPrefix,\n formState,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n defaultOnDefaultTransitionIndicator\n );\n initialChildren.context = getContextForSubtree(null);\n options = initialChildren.current;\n isStrictMode = requestUpdateLane();\n isStrictMode = getBumpedLaneForHydrationByLane(isStrictMode);\n identifierPrefix = createUpdate(isStrictMode);\n identifierPrefix.callback = null;\n enqueueUpdate(options, identifierPrefix, isStrictMode);\n options = isStrictMode;\n initialChildren.current.lanes = options;\n markRootUpdated$1(initialChildren, options);\n ensureRootIsScheduled(initialChildren);\n container[internalContainerInstanceKey] = initialChildren.current;\n listenToAllSupportedEvents(container);\n return new ReactDOMHydrationRoot(initialChildren);\n};\nexports.version = \"19.2.8\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom-client.production.js');\n} else {\n module.exports = require('./cjs/react-dom-client.development.js');\n}\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n//#region lib/router/url.ts\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|[\\\\/]{2})/i;\nconst PROTOCOL_RELATIVE_URL_REGEX = /^[\\\\/]{2}/;\nfunction normalizeProtocolRelativeUrl(url, protocol) {\n\treturn protocol + url.replace(/\\\\/g, \"/\");\n}\n//#endregion\nexport { ABSOLUTE_URL_REGEX, PROTOCOL_RELATIVE_URL_REGEX, normalizeProtocolRelativeUrl };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { PROTOCOL_RELATIVE_URL_REGEX } from \"./url.js\";\n//#region lib/router/history.ts\n/**\n* Actions represent the type of change to a location value.\n*/\nlet Action = /* @__PURE__ */ function(Action) {\n\t/**\n\t* A POP indicates a change to an arbitrary index in the history stack, such\n\t* as a back or forward navigation. It does not describe the direction of the\n\t* navigation, only that the current index changed.\n\t*\n\t* Note: This is the default action for newly created history objects.\n\t*/\n\tAction[\"Pop\"] = \"POP\";\n\t/**\n\t* A PUSH indicates a new entry being added to the history stack, such as when\n\t* a link is clicked and a new page loads. When this happens, all subsequent\n\t* entries in the stack are lost.\n\t*/\n\tAction[\"Push\"] = \"PUSH\";\n\t/**\n\t* A REPLACE indicates the entry at the current index in the history stack\n\t* being replaced by a new one.\n\t*/\n\tAction[\"Replace\"] = \"REPLACE\";\n\treturn Action;\n}({});\nconst PopStateEventType = \"popstate\";\nfunction isLocation(obj) {\n\treturn typeof obj === \"object\" && obj != null && \"pathname\" in obj && \"search\" in obj && \"hash\" in obj && \"state\" in obj && \"key\" in obj;\n}\n/**\n* Memory history stores the current location in memory. It is designed for use\n* in stateful non-browser environments like tests and React Native.\n*/\nfunction createMemoryHistory(options = {}) {\n\tlet { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n\tlet entries;\n\tentries = initialEntries.map((entry, index) => createMemoryLocation(entry, typeof entry === \"string\" ? null : entry.state, index === 0 ? \"default\" : void 0, typeof entry === \"string\" ? void 0 : entry.mask));\n\tlet index = clampIndex(initialIndex == null ? entries.length - 1 : initialIndex);\n\tlet action = \"POP\";\n\tlet listener = null;\n\tfunction clampIndex(n) {\n\t\treturn Math.min(Math.max(n, 0), entries.length - 1);\n\t}\n\tfunction getCurrentLocation() {\n\t\treturn entries[index];\n\t}\n\tfunction createMemoryLocation(to, state = null, key, mask) {\n\t\tlet location = createLocation(entries ? getCurrentLocation().pathname : \"/\", to, state, key, mask);\n\t\twarning(location.pathname.charAt(0) === \"/\", `relative pathnames are not supported in memory history: ${JSON.stringify(to)}`);\n\t\treturn location;\n\t}\n\tfunction createHref(to) {\n\t\treturn typeof to === \"string\" ? to : createPath(to);\n\t}\n\treturn {\n\t\tget index() {\n\t\t\treturn index;\n\t\t},\n\t\tget action() {\n\t\t\treturn action;\n\t\t},\n\t\tget location() {\n\t\t\treturn getCurrentLocation();\n\t\t},\n\t\tcreateHref,\n\t\tcreateURL(to) {\n\t\t\treturn new URL(createHref(to), \"http://localhost\");\n\t\t},\n\t\tencodeLocation(to) {\n\t\t\tlet path = typeof to === \"string\" ? parsePath(to) : to;\n\t\t\treturn {\n\t\t\t\tpathname: path.pathname || \"\",\n\t\t\t\tsearch: path.search || \"\",\n\t\t\t\thash: path.hash || \"\"\n\t\t\t};\n\t\t},\n\t\tpush(to, state) {\n\t\t\taction = \"PUSH\";\n\t\t\tlet nextLocation = isLocation(to) ? to : createMemoryLocation(to, state);\n\t\t\tindex += 1;\n\t\t\tentries.splice(index, entries.length, nextLocation);\n\t\t\tif (v5Compat && listener) listener({\n\t\t\t\taction,\n\t\t\t\tlocation: nextLocation,\n\t\t\t\tdelta: 1\n\t\t\t});\n\t\t},\n\t\treplace(to, state) {\n\t\t\taction = \"REPLACE\";\n\t\t\tlet nextLocation = isLocation(to) ? to : createMemoryLocation(to, state);\n\t\t\tentries[index] = nextLocation;\n\t\t\tif (v5Compat && listener) listener({\n\t\t\t\taction,\n\t\t\t\tlocation: nextLocation,\n\t\t\t\tdelta: 0\n\t\t\t});\n\t\t},\n\t\tgo(delta) {\n\t\t\taction = \"POP\";\n\t\t\tlet nextIndex = clampIndex(index + delta);\n\t\t\tlet nextLocation = entries[nextIndex];\n\t\t\tindex = nextIndex;\n\t\t\tif (listener) listener({\n\t\t\t\taction,\n\t\t\t\tlocation: nextLocation,\n\t\t\t\tdelta\n\t\t\t});\n\t\t},\n\t\tlisten(fn) {\n\t\t\tlistener = fn;\n\t\t\treturn () => {\n\t\t\t\tlistener = null;\n\t\t\t};\n\t\t}\n\t};\n}\n/**\n* Browser history stores the location in regular URLs. This is the standard for\n* most web apps, but it requires some configuration on the server to ensure you\n* serve the same app at multiple URLs.\n*\n* @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n*/\nfunction createBrowserHistory(options = {}) {\n\tfunction createBrowserLocation(window, globalHistory) {\n\t\tlet maskedLocation = globalHistory.state?.masked;\n\t\tlet { pathname, search, hash } = maskedLocation || window.location;\n\t\treturn createLocation(\"\", {\n\t\t\tpathname,\n\t\t\tsearch,\n\t\t\thash\n\t\t}, globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\", maskedLocation ? {\n\t\t\tpathname: window.location.pathname,\n\t\t\tsearch: window.location.search,\n\t\t\thash: window.location.hash\n\t\t} : void 0);\n\t}\n\tfunction createBrowserHref(window, to) {\n\t\treturn typeof to === \"string\" ? to : createPath(to);\n\t}\n\treturn getUrlBasedHistory(createBrowserLocation, createBrowserHref, null, options);\n}\n/**\n* Hash history stores the location in window.location.hash. This makes it ideal\n* for situations where you don't want to send the location to the server for\n* some reason, either because you do cannot configure it or the URL space is\n* reserved for something else.\n*\n* @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n*/\nfunction createHashHistory(options = {}) {\n\tfunction createHashLocation(window, globalHistory) {\n\t\tlet { pathname = \"/\", search = \"\", hash = \"\" } = parsePath(window.location.hash.substring(1));\n\t\tif (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) pathname = \"/\" + pathname;\n\t\treturn createLocation(\"\", {\n\t\t\tpathname,\n\t\t\tsearch,\n\t\t\thash\n\t\t}, globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n\t}\n\tfunction createHashHref(window, to) {\n\t\tlet base = window.document.querySelector(\"base\");\n\t\tlet href = \"\";\n\t\tif (base && base.getAttribute(\"href\")) {\n\t\t\tlet url = window.location.href;\n\t\t\tlet hashIndex = url.indexOf(\"#\");\n\t\t\thref = hashIndex === -1 ? url : url.slice(0, hashIndex);\n\t\t}\n\t\treturn href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n\t}\n\tfunction validateHashLocation(location, to) {\n\t\twarning(location.pathname.charAt(0) === \"/\", `relative pathnames are not supported in hash history.push(${JSON.stringify(to)})`);\n\t}\n\treturn getUrlBasedHistory(createHashLocation, createHashHref, validateHashLocation, options);\n}\nfunction invariant(value, message) {\n\tif (value === false || value === null || typeof value === \"undefined\") throw new Error(message);\n}\nfunction warning(cond, message) {\n\tif (!cond) {\n\t\tif (typeof console !== \"undefined\") console.warn(message);\n\t\ttry {\n\t\t\tthrow new Error(message);\n\t\t} catch (e) {}\n\t}\n}\nfunction createKey() {\n\treturn Math.random().toString(36).substring(2, 10);\n}\n/**\n* For browser-based histories, we combine the state and key into an object\n*/\nfunction getHistoryState(location, index) {\n\treturn {\n\t\tusr: location.state,\n\t\tkey: location.key,\n\t\tidx: index,\n\t\tmasked: location.mask ? {\n\t\t\tpathname: location.pathname,\n\t\t\tsearch: location.search,\n\t\t\thash: location.hash\n\t\t} : void 0\n\t};\n}\n/**\n* Creates a Location object with a unique key from the given Path\n*/\nfunction createLocation(current, to, state = null, key, mask) {\n\treturn {\n\t\tpathname: typeof current === \"string\" ? current : current.pathname,\n\t\tsearch: \"\",\n\t\thash: \"\",\n\t\t...typeof to === \"string\" ? parsePath(to) : to,\n\t\tstate,\n\t\tkey: to && to.key || key || createKey(),\n\t\tmask\n\t};\n}\n/**\n* Creates a string URL path from the given pathname, search, and hash components.\n*\n* @public\n* @category Utils\n* @param path The pathname, search, and hash components to combine.\n* @returns The combined URL path.\n*/\nfunction createPath({ pathname = \"/\", search = \"\", hash = \"\" }) {\n\tif (search && search !== \"?\") pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n\tif (hash && hash !== \"#\") pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n\treturn pathname;\n}\n/**\n* Parses a string URL path into its separate pathname, search, and hash components.\n*\n* @public\n* @category Utils\n* @param path The URL path to parse.\n* @returns The parsed pathname, search, and hash components.\n*/\nfunction parsePath(path) {\n\tlet parsedPath = {};\n\tif (path) {\n\t\tlet hashIndex = path.indexOf(\"#\");\n\t\tif (hashIndex >= 0) {\n\t\t\tparsedPath.hash = path.substring(hashIndex);\n\t\t\tpath = path.substring(0, hashIndex);\n\t\t}\n\t\tlet searchIndex = path.indexOf(\"?\");\n\t\tif (searchIndex >= 0) {\n\t\t\tparsedPath.search = path.substring(searchIndex);\n\t\t\tpath = path.substring(0, searchIndex);\n\t\t}\n\t\tif (path) parsedPath.pathname = path;\n\t}\n\treturn parsedPath;\n}\nfunction getUrlBasedHistory(getLocation, createHref, validateLocation, options = {}) {\n\tlet { window = document.defaultView, v5Compat = false } = options;\n\tlet globalHistory = window.history;\n\tlet action = \"POP\";\n\tlet listener = null;\n\tlet index = getIndex();\n\tif (index == null) {\n\t\tindex = 0;\n\t\tglobalHistory.replaceState({\n\t\t\t...globalHistory.state,\n\t\t\tidx: index\n\t\t}, \"\");\n\t}\n\tfunction getIndex() {\n\t\treturn (globalHistory.state || { idx: null }).idx;\n\t}\n\tfunction handlePop() {\n\t\taction = \"POP\";\n\t\tlet nextIndex = getIndex();\n\t\tlet delta = nextIndex == null ? null : nextIndex - index;\n\t\tindex = nextIndex;\n\t\tif (listener) listener({\n\t\t\taction,\n\t\t\tlocation: history.location,\n\t\t\tdelta\n\t\t});\n\t}\n\tfunction push(to, state) {\n\t\taction = \"PUSH\";\n\t\tlet location = isLocation(to) ? to : createLocation(history.location, to, state);\n\t\tif (validateLocation) validateLocation(location, to);\n\t\tindex = getIndex() + 1;\n\t\tlet historyState = getHistoryState(location, index);\n\t\tlet url = history.createHref(location.mask || location);\n\t\ttry {\n\t\t\tglobalHistory.pushState(historyState, \"\", url);\n\t\t} catch (error) {\n\t\t\tif (error instanceof DOMException && error.name === \"DataCloneError\") throw error;\n\t\t\twindow.location.assign(url);\n\t\t}\n\t\tif (v5Compat && listener) listener({\n\t\t\taction,\n\t\t\tlocation: history.location,\n\t\t\tdelta: 1\n\t\t});\n\t}\n\tfunction replace(to, state) {\n\t\taction = \"REPLACE\";\n\t\tlet location = isLocation(to) ? to : createLocation(history.location, to, state);\n\t\tif (validateLocation) validateLocation(location, to);\n\t\tindex = getIndex();\n\t\tlet historyState = getHistoryState(location, index);\n\t\tlet url = history.createHref(location.mask || location);\n\t\tglobalHistory.replaceState(historyState, \"\", url);\n\t\tif (v5Compat && listener) listener({\n\t\t\taction,\n\t\t\tlocation: history.location,\n\t\t\tdelta: 0\n\t\t});\n\t}\n\tfunction createURL(to) {\n\t\treturn createBrowserURLImpl(window, to);\n\t}\n\tlet history = {\n\t\tget action() {\n\t\t\treturn action;\n\t\t},\n\t\tget location() {\n\t\t\treturn getLocation(window, globalHistory);\n\t\t},\n\t\tlisten(fn) {\n\t\t\tif (listener) throw new Error(\"A history only accepts one active listener\");\n\t\t\twindow.addEventListener(PopStateEventType, handlePop);\n\t\t\tlistener = fn;\n\t\t\treturn () => {\n\t\t\t\twindow.removeEventListener(PopStateEventType, handlePop);\n\t\t\t\tlistener = null;\n\t\t\t};\n\t\t},\n\t\tcreateHref(to) {\n\t\t\treturn createHref(window, to);\n\t\t},\n\t\tcreateURL,\n\t\tencodeLocation(to) {\n\t\t\tlet url = createURL(to);\n\t\t\treturn {\n\t\t\t\tpathname: url.pathname,\n\t\t\t\tsearch: url.search,\n\t\t\t\thash: url.hash\n\t\t\t};\n\t\t},\n\t\tpush,\n\t\treplace,\n\t\tgo(n) {\n\t\t\treturn globalHistory.go(n);\n\t\t}\n\t};\n\treturn history;\n}\nfunction createBrowserURLImpl(windowImpl, to, isAbsolute = false) {\n\tlet base = \"http://localhost\";\n\tif (windowImpl) base = windowImpl.location.origin !== \"null\" ? windowImpl.location.origin : windowImpl.location.href;\n\tinvariant(base, \"No window.location.(origin|href) available to create URL\");\n\tlet href = typeof to === \"string\" ? to : createPath(to);\n\thref = href.replace(/ $/, \"%20\");\n\tif (!isAbsolute && PROTOCOL_RELATIVE_URL_REGEX.test(href)) href = base + href;\n\treturn new URL(href, base);\n}\n//#endregion\nexport { Action, createBrowserHistory, createBrowserURLImpl, createHashHistory, createLocation, createMemoryHistory, createPath, invariant, parsePath, warning };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { ABSOLUTE_URL_REGEX, PROTOCOL_RELATIVE_URL_REGEX, normalizeProtocolRelativeUrl } from \"./url.js\";\nimport { invariant, parsePath, warning } from \"./history.js\";\nimport * as React$1 from \"react\";\n//#region lib/router/utils.ts\n/**\n* Creates a type-safe {@link RouterContext} object that can be used to\n* store and retrieve arbitrary values in [`action`](../../start/framework/route-module#action)s,\n* [`loader`](../../start/framework/route-module#loader)s, and [middleware](../../how-to/middleware).\n* Similar to React's [`createContext`](https://react.dev/reference/react/createContext),\n* but specifically designed for React Router's request/response lifecycle.\n*\n* If a `defaultValue` is provided, it will be returned from `context.get()`\n* when no value has been set for the context. Otherwise, reading this context\n* when no value has been set will throw an error.\n*\n* ```tsx filename=app/context.ts\n* import { createContext } from \"react-router\";\n*\n* // Create a context for user data\n* export const userContext =\n* createContext<User | null>(null);\n* ```\n*\n* ```tsx filename=app/middleware/auth.ts\n* import { getUserFromSession } from \"~/auth.server\";\n* import { userContext } from \"~/context\";\n*\n* export const authMiddleware = async ({\n* context,\n* request,\n* }) => {\n* const user = await getUserFromSession(request);\n* context.set(userContext, user);\n* };\n* ```\n*\n* ```tsx filename=app/routes/profile.tsx\n* import { userContext } from \"~/context\";\n*\n* export async function loader({\n* context,\n* }: Route.LoaderArgs) {\n* const user = context.get(userContext);\n*\n* if (!user) {\n* throw new Response(\"Unauthorized\", { status: 401 });\n* }\n*\n* return { user };\n* }\n* ```\n*\n* @public\n* @category Utils\n* @mode framework\n* @mode data\n* @param defaultValue An optional default value for the context. This value\n* will be returned if no value has been set for this context.\n* @returns A {@link RouterContext} object that can be used with\n* `context.get()` and `context.set()` in [`action`](../../start/framework/route-module#action)s,\n* [`loader`](../../start/framework/route-module#loader)s, and [middleware](../../how-to/middleware).\n*/\nfunction createContext(defaultValue) {\n\treturn { defaultValue };\n}\n/**\n* Provides methods for writing/reading values in application context in a\n* type-safe way. Primarily for usage with [middleware](../../how-to/middleware).\n*\n* @example\n* import {\n* createContext,\n* RouterContextProvider\n* } from \"react-router\";\n*\n* const userContext = createContext<User | null>(null);\n* const contextProvider = new RouterContextProvider();\n* contextProvider.set(userContext, getUser());\n* // ^ Type-safe\n* const user = contextProvider.get(userContext);\n* // ^ User\n*\n* @public\n* @category Utils\n* @mode framework\n* @mode data\n*/\nvar RouterContextProvider = class {\n\t#map = /* @__PURE__ */ new Map();\n\t/**\n\t* Create a new `RouterContextProvider` instance\n\t* @param init An optional initial context map to populate the provider with\n\t*/\n\tconstructor(init) {\n\t\tif (init) for (let [context, value] of init) this.set(context, value);\n\t}\n\t/**\n\t* Access a value from the context. If no value has been set for the context,\n\t* it will return the context's `defaultValue` if provided, or throw an error\n\t* if no `defaultValue` was set.\n\t* @param context The context to get the value for\n\t* @returns The value for the context, or the context's `defaultValue` if no\n\t* value was set\n\t*/\n\tget(context) {\n\t\tif (this.#map.has(context)) return this.#map.get(context);\n\t\tif (context.defaultValue !== void 0) return context.defaultValue;\n\t\tthrow new Error(\"No value found for context\");\n\t}\n\t/**\n\t* Set a value for the context. If the context already has a value set, this\n\t* will overwrite it.\n\t*\n\t* @param context The context to set the value for\n\t* @param value The value to set for the context\n\t* @returns {void}\n\t*/\n\tset(context, value) {\n\t\tthis.#map.set(context, value);\n\t}\n};\nconst unsupportedLazyRouteObjectKeys = new Set([\n\t\"lazy\",\n\t\"caseSensitive\",\n\t\"path\",\n\t\"id\",\n\t\"index\",\n\t\"children\"\n]);\nfunction isUnsupportedLazyRouteObjectKey(key) {\n\treturn unsupportedLazyRouteObjectKeys.has(key);\n}\nconst unsupportedLazyRouteFunctionKeys = new Set([\n\t\"lazy\",\n\t\"caseSensitive\",\n\t\"path\",\n\t\"id\",\n\t\"index\",\n\t\"middleware\",\n\t\"children\"\n]);\nfunction isUnsupportedLazyRouteFunctionKey(key) {\n\treturn unsupportedLazyRouteFunctionKeys.has(key);\n}\nfunction isIndexRoute(route) {\n\treturn route.index === true;\n}\nfunction defaultMapRouteProperties(route) {\n\tlet updates = {};\n\tif (route.Component) Object.assign(updates, {\n\t\telement: React$1.createElement(route.Component),\n\t\tComponent: void 0\n\t});\n\tif (route.HydrateFallback) Object.assign(updates, {\n\t\thydrateFallbackElement: React$1.createElement(route.HydrateFallback),\n\t\tHydrateFallback: void 0\n\t});\n\tif (route.ErrorBoundary) Object.assign(updates, {\n\t\terrorElement: React$1.createElement(route.ErrorBoundary),\n\t\tErrorBoundary: void 0\n\t});\n\treturn updates;\n}\nfunction convertRoutesToDataRoutes(routes, mapRouteProperties = defaultMapRouteProperties, parentPath = [], manifest = {}, allowInPlaceMutations = false) {\n\treturn routes.map((route, index) => {\n\t\tlet treePath = [...parentPath, String(index)];\n\t\tlet id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n\t\tinvariant(route.index !== true || !route.children, `Cannot specify children on an index route`);\n\t\tinvariant(allowInPlaceMutations || !manifest[id], `Found a route id collision on id \"${id}\". Route id's must be globally unique within Data Router usages`);\n\t\tif (isIndexRoute(route)) {\n\t\t\tlet indexRoute = {\n\t\t\t\t...route,\n\t\t\t\tid\n\t\t\t};\n\t\t\tmanifest[id] = mergeRouteUpdates(indexRoute, mapRouteProperties(indexRoute));\n\t\t\treturn indexRoute;\n\t\t} else {\n\t\t\tlet pathOrLayoutRoute = {\n\t\t\t\t...route,\n\t\t\t\tid,\n\t\t\t\tchildren: void 0\n\t\t\t};\n\t\t\tmanifest[id] = mergeRouteUpdates(pathOrLayoutRoute, mapRouteProperties(pathOrLayoutRoute));\n\t\t\tif (route.children) pathOrLayoutRoute.children = convertRoutesToDataRoutes(route.children, mapRouteProperties, treePath, manifest, allowInPlaceMutations);\n\t\t\treturn pathOrLayoutRoute;\n\t\t}\n\t});\n}\nfunction mergeRouteUpdates(route, updates) {\n\treturn Object.assign(route, {\n\t\t...updates,\n\t\t...typeof updates.lazy === \"object\" && updates.lazy != null ? { lazy: {\n\t\t\t...route.lazy,\n\t\t\t...updates.lazy\n\t\t} } : {}\n\t});\n}\n/**\n* Matches the given routes to a location and returns the match data.\n*\n* @example\n* import { matchRoutes } from \"react-router\";\n*\n* let routes = [{\n* path: \"/\",\n* Component: Root,\n* children: [{\n* path: \"dashboard\",\n* Component: Dashboard,\n* }]\n* }];\n*\n* matchRoutes(routes, \"/dashboard\"); // [rootMatch, dashboardMatch]\n*\n* @public\n* @category Utils\n* @param routes The array of route objects to match against.\n* @param locationArg The location to match against, either a string path or a\n* partial {@link Location} object\n* @param basename Optional base path to strip from the location before matching.\n* Defaults to `/`.\n* @returns An array of matched routes, or `null` if no matches were found.\n*/\nfunction matchRoutes(routes, locationArg, basename = \"/\") {\n\treturn matchRoutesImpl(routes, locationArg, basename, false);\n}\nfunction matchRoutesImpl(routes, locationArg, basename, allowPartial, precomputedBranches) {\n\tlet pathname = stripBasename((typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg).pathname || \"/\", basename);\n\tif (pathname == null) return null;\n\tlet branches = precomputedBranches ?? flattenAndRankRoutes(routes);\n\tlet matches = null;\n\tlet decoded = decodePath(pathname);\n\tfor (let i = 0; matches == null && i < branches.length; ++i) matches = matchRouteBranch(branches[i], decoded, allowPartial);\n\treturn matches;\n}\nfunction convertRouteMatchToUiMatch(match, loaderData) {\n\tlet { route, pathname, params } = match;\n\treturn {\n\t\tid: route.id,\n\t\tpathname,\n\t\tparams,\n\t\tloaderData: loaderData[route.id],\n\t\thandle: route.handle\n\t};\n}\nfunction flattenAndRankRoutes(routes) {\n\tlet branches = flattenRoutes(routes);\n\trankRouteBranches(branches);\n\treturn branches;\n}\nfunction flattenRoutes(routes, branches = [], parentsMeta = [], parentPath = \"\", _hasParentOptionalSegments = false) {\n\tlet flattenRoute = (route, index, hasParentOptionalSegments = _hasParentOptionalSegments, relativePath) => {\n\t\tlet meta = {\n\t\t\trelativePath: relativePath === void 0 ? route.path || \"\" : relativePath,\n\t\t\tcaseSensitive: route.caseSensitive === true,\n\t\t\tchildrenIndex: index,\n\t\t\troute\n\t\t};\n\t\tif (meta.relativePath.startsWith(\"/\")) {\n\t\t\tif (!meta.relativePath.startsWith(parentPath) && hasParentOptionalSegments) return;\n\t\t\tinvariant(meta.relativePath.startsWith(parentPath), `Absolute route path \"${meta.relativePath}\" nested under path \"${parentPath}\" is not valid. An absolute child route path must start with the combined path of all its parent routes.`);\n\t\t\tmeta.relativePath = meta.relativePath.slice(parentPath.length);\n\t\t}\n\t\tlet path = joinPaths([parentPath, meta.relativePath]);\n\t\tlet routesMeta = parentsMeta.concat(meta);\n\t\tif (route.children && route.children.length > 0) {\n\t\t\tinvariant(route.index !== true, `Index routes must not have child routes. Please remove all child routes from route path \"${path}\".`);\n\t\t\tflattenRoutes(route.children, branches, routesMeta, path, hasParentOptionalSegments);\n\t\t}\n\t\tif (route.path == null && !route.index) return;\n\t\tbranches.push({\n\t\t\tpath,\n\t\t\tscore: computeScore(path, route.index),\n\t\t\troutesMeta: routesMeta.map((meta, i) => {\n\t\t\t\tlet [matcher, params] = compilePath(meta.relativePath, meta.caseSensitive, i === routesMeta.length - 1);\n\t\t\t\treturn {\n\t\t\t\t\t...meta,\n\t\t\t\t\tmatcher,\n\t\t\t\t\tcompiledParams: params\n\t\t\t\t};\n\t\t\t})\n\t\t});\n\t};\n\troutes.forEach((route, index) => {\n\t\tif (route.path === \"\" || !route.path?.includes(\"?\")) flattenRoute(route, index);\n\t\telse for (let exploded of explodeOptionalSegments(route.path)) flattenRoute(route, index, true, exploded);\n\t});\n\treturn branches;\n}\nfunction explodeOptionalSegments(path) {\n\tlet segments = path.split(\"/\");\n\tif (segments.length === 0) return [];\n\tlet [first, ...rest] = segments;\n\tlet isOptional = first.endsWith(\"?\");\n\tlet required = first.replace(/\\?$/, \"\");\n\tif (rest.length === 0) return isOptional ? [required, \"\"] : [required];\n\tlet restExploded = explodeOptionalSegments(rest.join(\"/\"));\n\tlet result = [];\n\tresult.push(...restExploded.map((subpath) => subpath === \"\" ? required : [required, subpath].join(\"/\")));\n\tif (isOptional) result.push(...restExploded);\n\treturn result.map((exploded) => path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded);\n}\nfunction rankRouteBranches(branches) {\n\tbranches.sort((a, b) => a.score !== b.score ? b.score - a.score : compareIndexes(a.routesMeta.map((meta) => meta.childrenIndex), b.routesMeta.map((meta) => meta.childrenIndex)));\n}\nconst paramRe = /^:[\\w-]+$/;\nconst partialParamRe = /^:[\\w-]+/;\nconst partialDynamicSegmentValue = 3.5;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s) => s === \"*\";\nfunction computeScore(path, index) {\n\tlet segments = path.split(\"/\");\n\tlet initialScore = segments.length;\n\tif (segments.some(isSplat)) initialScore += splatPenalty;\n\tif (index) initialScore += indexRouteValue;\n\treturn segments.filter((s) => !isSplat(s)).reduce((score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : partialParamRe.test(segment) ? partialDynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue), initialScore);\n}\nfunction compareIndexes(a, b) {\n\treturn a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]) ? a[a.length - 1] - b[b.length - 1] : 0;\n}\nfunction matchRouteBranch(branch, pathname, allowPartial = false) {\n\tlet { routesMeta } = branch;\n\tlet matchedParams = {};\n\tlet matchedPathname = \"/\";\n\tlet matches = [];\n\tfor (let i = 0; i < routesMeta.length; ++i) {\n\t\tlet meta = routesMeta[i];\n\t\tlet end = i === routesMeta.length - 1;\n\t\tlet remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n\t\tlet pattern = {\n\t\t\tpath: meta.relativePath,\n\t\t\tcaseSensitive: meta.caseSensitive,\n\t\t\tend\n\t\t};\n\t\tlet match = meta.matcher && meta.compiledParams ? matchPathImpl(pattern, remainingPathname, meta.matcher, meta.compiledParams) : matchPath(pattern, remainingPathname);\n\t\tlet route = meta.route;\n\t\tif (!match && end && allowPartial && !routesMeta[routesMeta.length - 1].route.index) match = matchPath({\n\t\t\tpath: meta.relativePath,\n\t\t\tcaseSensitive: meta.caseSensitive,\n\t\t\tend: false\n\t\t}, remainingPathname);\n\t\tif (!match) return null;\n\t\tObject.assign(matchedParams, match.params);\n\t\tmatches.push({\n\t\t\tparams: matchedParams,\n\t\t\tpathname: joinPaths([matchedPathname, match.pathname]),\n\t\t\tpathnameBase: normalizePathname(joinPaths([matchedPathname, match.pathnameBase])),\n\t\t\troute\n\t\t});\n\t\tif (match.pathnameBase !== \"/\") matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n\t}\n\treturn matches;\n}\n/**\n* Characters that `encodeURIComponent` escapes but that are valid literally in\n* a URL path segment. Per RFC 3986 §3.3, a path segment is made of `pchar`:\n*\n* ```\n* pchar = unreserved / pct-encoded / sub-delims / \":\" / \"@\"\n* sub-delims = \"!\" / \"$\" / \"&\" / \"'\" / \"(\" / \")\" / \"*\" / \"+\" / \",\" / \";\" / \"=\"\n* ```\n*\n* `encodeURIComponent` targets query-string values, where `$ & + , ; = : @`\n* are delimiters and must be escaped — but in a path segment they carry no\n* special meaning, and browsers keep them literal in `location.pathname`.\n* (`! ' ( ) *` and the unreserved set are already left alone by\n* `encodeURIComponent`, so they need no restoring.)\n*/\nconst PATH_PARAM_OVERESCAPED = {\n\t\"%24\": \"$\",\n\t\"%26\": \"&\",\n\t\"%2B\": \"+\",\n\t\"%2C\": \",\",\n\t\"%3A\": \":\",\n\t\"%3B\": \";\",\n\t\"%3D\": \"=\",\n\t\"%40\": \"@\"\n};\n/**\n* Encodes a param value for interpolation into a single URL path segment.\n*\n* Escapes characters that would break the path (`/ ? # %`, whitespace,\n* non-ASCII, …) while leaving characters that RFC 3986 permits literally in a\n* path segment untouched. Escaping those would needlessly rewrite URLs — e.g.\n* a semver build param `1.0.0+1` would become `1.0.0%2B1` even though browsers\n* display and match the `+` literally in `location.pathname`.\n*\n* See [RFC 3986 §3.3](https://datatracker.ietf.org/doc/html/rfc3986#section-3.3))\n*\n* @param value The param value to encode.\n* @returns The encoded value, safe for use as a single path segment.\n*/\nfunction encodePathParam(value) {\n\treturn encodeURIComponent(value).replace(/%(?:24|26|2B|2C|3A|3B|3D|40)/g, (match) => PATH_PARAM_OVERESCAPED[match]);\n}\n/**\n* Returns a path with params interpolated.\n*\n* Param values are percent-encoded for use in a path segment: characters that\n* would change the URL structure (`/`, `?`, `#`, `%`, whitespace, non-ASCII)\n* are escaped, while characters that RFC 3986 allows literally in a path\n* segment (`$ & + , ; = : @`) are kept as-is. Note this differs from query-string\n* encoding (`encodeURIComponent`/`URLSearchParams`), where those characters are\n* delimiters and must be escaped. Splat (`*`) values are encoded per segment,\n* preserving `/` separators.\n*\n* See [RFC 3986 §3.3](https://datatracker.ietf.org/doc/html/rfc3986#section-3.3)\n*\n* @example\n* import { generatePath } from \"react-router\";\n*\n* generatePath(\"/users/:id\", { id: \"123\" }); // \"/users/123\"\n* generatePath(\"/files/:name\", { name: \"a b\" }); // \"/files/a%20b\"\n* generatePath(\"/releases/:v\", { v: \"1.0.0+1\" }); // \"/releases/1.0.0+1\"\n*\n* @public\n* @category Utils\n* @param originalPath The original path to generate.\n* @param params The parameters to interpolate into the path.\n* @returns The generated path with parameters interpolated.\n*/\nfunction generatePath(originalPath, params = {}) {\n\tlet path = originalPath;\n\tif (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n\t\twarning(false, `Route path \"${path}\" will be treated as if it were \"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must always follow a \\`/\\` in the pattern. To get rid of this warning, please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`);\n\t\tpath = path.replace(/\\*$/, \"/*\");\n\t}\n\tconst prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n\tconst stringify = (p) => p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n\treturn prefix + path.split(/\\/+/).map((segment, index, array) => {\n\t\tif (index === array.length - 1 && segment === \"*\") return stringify(params[\"*\"]);\n\t\tconst keyMatch = segment.match(/^:([\\w-]+)(\\??)(.*)/);\n\t\tif (keyMatch) {\n\t\t\tconst [, key, optional, suffix] = keyMatch;\n\t\t\tlet param = params[key];\n\t\t\tinvariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n\t\t\treturn encodePathParam(stringify(param)) + suffix;\n\t\t}\n\t\treturn segment.replace(/\\?$/g, \"\");\n\t}).filter((segment) => !!segment).join(\"/\");\n}\n/**\n* Performs pattern matching on a URL pathname and returns information about\n* the match.\n*\n* @public\n* @category Utils\n* @param pattern The pattern to match against the URL pathname. This can be a\n* string or a {@link PathPattern} object. If a string is provided, it will be\n* treated as a pattern with `caseSensitive` set to `false` and `end` set to\n* `true`.\n* @param pathname The URL pathname to match against the pattern.\n* @returns A path match object if the pattern matches the pathname,\n* or `null` if it does not match.\n*/\nfunction matchPath(pattern, pathname) {\n\tif (typeof pattern === \"string\") pattern = {\n\t\tpath: pattern,\n\t\tcaseSensitive: false,\n\t\tend: true\n\t};\n\tlet [matcher, compiledParams] = compilePath(pattern.path, pattern.caseSensitive, pattern.end);\n\treturn matchPathImpl(pattern, pathname, matcher, compiledParams);\n}\nfunction matchPathImpl(pattern, pathname, matcher, compiledParams) {\n\tlet match = pathname.match(matcher);\n\tif (!match) return null;\n\tlet matchedPathname = match[0];\n\tlet pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n\tlet captureGroups = match.slice(1);\n\treturn {\n\t\tparams: compiledParams.reduce((memo, { paramName, isOptional }, index) => {\n\t\t\tif (paramName === \"*\") {\n\t\t\t\tlet splatValue = captureGroups[index] || \"\";\n\t\t\t\tpathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n\t\t\t}\n\t\t\tconst value = captureGroups[index];\n\t\t\tif (isOptional && !value) memo[paramName] = void 0;\n\t\t\telse memo[paramName] = (value || \"\").replace(/%2F/g, \"/\");\n\t\t\treturn memo;\n\t\t}, {}),\n\t\tpathname: matchedPathname,\n\t\tpathnameBase,\n\t\tpattern\n\t};\n}\nfunction compilePath(path, caseSensitive = false, end = true) {\n\twarning(path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"), `Route path \"${path}\" will be treated as if it were \"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must always follow a \\`/\\` in the pattern. To get rid of this warning, please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`);\n\tlet params = [];\n\tlet regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\").replace(/^\\/*/, \"/\").replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\").replace(/\\/:([\\w-]+)(\\?)?/g, (match, paramName, isOptional, index, str) => {\n\t\tparams.push({\n\t\t\tparamName,\n\t\t\tisOptional: isOptional != null\n\t\t});\n\t\tif (isOptional) {\n\t\t\tlet nextChar = str.charAt(index + match.length);\n\t\t\tif (nextChar && nextChar !== \"/\") return \"/([^\\\\/]*)\";\n\t\t\treturn \"(?:/([^\\\\/]*))?\";\n\t\t}\n\t\treturn \"/([^\\\\/]+)\";\n\t}).replace(/\\/([\\w-]+)\\?(?=\\/|$|\\()/g, \"(?:/$1)?\");\n\tif (path.endsWith(\"*\")) {\n\t\tparams.push({ paramName: \"*\" });\n\t\tregexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" : \"(?:\\\\/(.+)|\\\\/*)$\";\n\t} else if (end) regexpSource += \"\\\\/*$\";\n\telse if (path !== \"\" && path !== \"/\") regexpSource += \"(?:(?=\\\\/|$))\";\n\treturn [new RegExp(regexpSource, caseSensitive ? void 0 : \"i\"), params];\n}\nfunction decodePath(value) {\n\ttry {\n\t\treturn value.split(\"/\").map((v) => decodeURIComponent(v).replace(/\\//g, \"%2F\")).join(\"/\");\n\t} catch (error) {\n\t\twarning(false, `The URL path \"${value}\" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${error}).`);\n\t\treturn value;\n\t}\n}\nfunction stripBasename(pathname, basename) {\n\tif (basename === \"/\") return pathname;\n\tif (!pathname.toLowerCase().startsWith(basename.toLowerCase())) return null;\n\tlet startIndex = basename.endsWith(\"/\") ? basename.length - 1 : basename.length;\n\tlet nextChar = pathname.charAt(startIndex);\n\tif (nextChar && nextChar !== \"/\") return null;\n\treturn pathname.slice(startIndex) || \"/\";\n}\nfunction prependBasename({ basename, pathname }) {\n\treturn pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n}\nconst isAbsoluteUrl = (url) => ABSOLUTE_URL_REGEX.test(url);\n/**\n* Returns a resolved {@link Path} object relative to the given pathname.\n*\n* @public\n* @category Utils\n* @param to The path to resolve, either a string or a partial {@link Path}\n* object.\n* @param fromPathname The pathname to resolve the path from. Defaults to `/`.\n* @returns A {@link Path} object with the resolved pathname, search, and hash.\n*/\nfunction resolvePath(to, fromPathname = \"/\") {\n\tlet { pathname: toPathname, search = \"\", hash = \"\" } = typeof to === \"string\" ? parsePath(to) : to;\n\tlet pathname;\n\tif (toPathname) {\n\t\ttoPathname = removeDoubleSlashes(toPathname);\n\t\tif (toPathname.startsWith(\"/\")) pathname = resolvePathname(toPathname.substring(1), \"/\");\n\t\telse pathname = resolvePathname(toPathname, fromPathname);\n\t} else pathname = fromPathname;\n\treturn {\n\t\tpathname,\n\t\tsearch: normalizeSearch(search),\n\t\thash: normalizeHash(hash)\n\t};\n}\nfunction resolvePathname(relativePath, fromPathname) {\n\tlet segments = removeTrailingSlash(fromPathname).split(\"/\");\n\trelativePath.split(\"/\").forEach((segment) => {\n\t\tif (segment === \"..\") {\n\t\t\tif (segments.length > 1) segments.pop();\n\t\t} else if (segment !== \".\") segments.push(segment);\n\t});\n\treturn segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\nfunction getInvalidPathError(char, field, dest, path) {\n\treturn `Cannot include a '${char}' character in a manually specified \\`to.${field}\\` field [${JSON.stringify(path)}]. Please separate it out to the \\`to.${dest}\\` field. Alternatively you may provide the full path as a string in <Link to=\"...\"> and the router will parse it for you.`;\n}\nfunction getPathContributingMatches(matches) {\n\treturn matches.filter((match, index) => index === 0 || match.route.path && match.route.path.length > 0);\n}\nfunction getResolveToMatches(matches) {\n\tlet pathMatches = getPathContributingMatches(matches);\n\treturn pathMatches.map((match, idx) => idx === pathMatches.length - 1 ? match.pathname : match.pathnameBase);\n}\nfunction resolveTo(toArg, routePathnames, locationPathname, isPathRelative = false) {\n\tlet to;\n\tif (typeof toArg === \"string\") to = parsePath(toArg);\n\telse {\n\t\tto = { ...toArg };\n\t\tinvariant(!to.pathname || !to.pathname.includes(\"?\"), getInvalidPathError(\"?\", \"pathname\", \"search\", to));\n\t\tinvariant(!to.pathname || !to.pathname.includes(\"#\"), getInvalidPathError(\"#\", \"pathname\", \"hash\", to));\n\t\tinvariant(!to.search || !to.search.includes(\"#\"), getInvalidPathError(\"#\", \"search\", \"hash\", to));\n\t}\n\tlet isEmptyPath = toArg === \"\" || to.pathname === \"\";\n\tlet toPathname = isEmptyPath ? \"/\" : to.pathname;\n\tlet from;\n\tif (toPathname == null) from = locationPathname;\n\telse {\n\t\tlet routePathnameIndex = routePathnames.length - 1;\n\t\tif (!isPathRelative && toPathname.startsWith(\"..\")) {\n\t\t\tlet toSegments = toPathname.split(\"/\");\n\t\t\twhile (toSegments[0] === \"..\") {\n\t\t\t\ttoSegments.shift();\n\t\t\t\troutePathnameIndex -= 1;\n\t\t\t}\n\t\t\tto.pathname = toSegments.join(\"/\");\n\t\t}\n\t\tfrom = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n\t}\n\tlet path = resolvePath(to, from);\n\tlet hasExplicitTrailingSlash = toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n\tlet hasCurrentTrailingSlash = (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n\tif (!path.pathname.endsWith(\"/\") && (hasExplicitTrailingSlash || hasCurrentTrailingSlash)) path.pathname += \"/\";\n\treturn path;\n}\nconst removeDoubleSlashes = (path) => path.replace(/[\\\\/]{2,}/g, \"/\");\nconst joinPaths = (paths) => removeDoubleSlashes(paths.join(\"/\"));\nconst removeTrailingSlash = (path) => path.replace(/\\/+$/, \"\");\nconst normalizePathname = (pathname) => removeTrailingSlash(pathname).replace(/^\\/*/, \"/\");\nconst normalizeSearch = (search) => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\nconst normalizeHash = (hash) => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\nvar DataWithResponseInit = class {\n\ttype = \"DataWithResponseInit\";\n\tdata;\n\tinit;\n\tconstructor(data, init) {\n\t\tthis.data = data;\n\t\tthis.init = init || null;\n\t}\n};\n/**\n* Create \"responses\" that contain `headers`/`status` without forcing\n* serialization into an actual [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)\n*\n* @example\n* import { data } from \"react-router\";\n*\n* export async function action({ request }: Route.ActionArgs) {\n* let formData = await request.formData();\n* let item = await createItem(formData);\n* return data(item, {\n* headers: { \"X-Custom-Header\": \"value\" }\n* status: 201,\n* });\n* }\n*\n* @public\n* @category Utils\n* @mode framework\n* @mode data\n* @param data The data to be included in the response.\n* @param init The status code or a `ResponseInit` object to be included in the\n* response.\n* @returns A {@link DataWithResponseInit} instance containing the data and\n* response init.\n*/\nfunction data(data, init) {\n\treturn new DataWithResponseInit(data, typeof init === \"number\" ? { status: init } : init);\n}\n/**\n* A redirect [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response).\n* Sets the status code and the [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location)\n* header. Defaults to [`302 Found`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302).\n*\n* This utility accepts absolute URLs and can navigate to external domains, so\n* the application should validate any user-supplied inputs to redirects.\n*\n* @example\n* import { redirect } from \"react-router\";\n*\n* export async function loader({ request }: Route.LoaderArgs) {\n* if (!isLoggedIn(request))\n* throw redirect(\"/login\");\n* }\n*\n* // ...\n* }\n*\n* @public\n* @category Utils\n* @mode framework\n* @mode data\n* @param url The URL to redirect to.\n* @param init The status code or a `ResponseInit` object to be included in the\n* response.\n* @returns A [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)\n* object with the redirect status and [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location)\n* header.\n*/\nconst redirect = (url, init = 302) => {\n\tlet responseInit = init;\n\tif (typeof responseInit === \"number\") responseInit = { status: responseInit };\n\telse if (typeof responseInit.status === \"undefined\") responseInit.status = 302;\n\tlet headers = new Headers(responseInit.headers);\n\theaders.set(\"Location\", url);\n\treturn new Response(null, {\n\t\t...responseInit,\n\t\theaders\n\t});\n};\n/**\n* A redirect [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)\n* that will force a document reload to the new location. Sets the status code\n* and the [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location)\n* header. Defaults to [`302 Found`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302).\n*\n* This utility accepts absolute URLs and can navigate to external domains, so\n* the application should validate any user-supplied inputs to redirects.\n*\n* ```tsx filename=routes/logout.tsx\n* import { redirectDocument } from \"react-router\";\n*\n* import { destroySession } from \"../sessions.server\";\n*\n* export async function action({ request }: Route.ActionArgs) {\n* let session = await getSession(request.headers.get(\"Cookie\"));\n* return redirectDocument(\"/\", {\n* headers: { \"Set-Cookie\": await destroySession(session) }\n* });\n* }\n* ```\n*\n* @public\n* @category Utils\n* @mode framework\n* @mode data\n* @param url The URL to redirect to.\n* @param init The status code or a `ResponseInit` object to be included in the\n* response.\n* @returns A [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)\n* object with the redirect status and [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location)\n* header.\n*/\nconst redirectDocument = (url, init) => {\n\tlet response = redirect(url, init);\n\tresponse.headers.set(\"X-Remix-Reload-Document\", \"true\");\n\treturn response;\n};\n/**\n* A redirect [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)\n* that will perform a [`history.replaceState`](https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState)\n* instead of a [`history.pushState`](https://developer.mozilla.org/en-US/docs/Web/API/History/pushState)\n* for client-side navigation redirects. Sets the status code and the [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location)\n* header. Defaults to [`302 Found`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302).\n*\n* @example\n* import { replace } from \"react-router\";\n*\n* export async function loader() {\n* return replace(\"/new-location\");\n* }\n*\n* @public\n* @category Utils\n* @mode framework\n* @mode data\n* @param url The URL to redirect to.\n* @param init The status code or a `ResponseInit` object to be included in the\n* response.\n* @returns A [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)\n* object with the redirect status and [`Location`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location)\n* header.\n*/\nconst replace = (url, init) => {\n\tlet response = redirect(url, init);\n\tresponse.headers.set(\"X-Remix-Replace\", \"true\");\n\treturn response;\n};\nconst SUPPORTED_ERROR_TYPES = [\n\t\"EvalError\",\n\t\"RangeError\",\n\t\"ReferenceError\",\n\t\"SyntaxError\",\n\t\"TypeError\",\n\t\"URIError\"\n];\nvar ErrorResponseImpl = class {\n\tstatus;\n\tstatusText;\n\tdata;\n\terror;\n\tinternal;\n\tconstructor(status, statusText, data, internal = false) {\n\t\tthis.status = status;\n\t\tthis.statusText = statusText || \"\";\n\t\tthis.internal = internal;\n\t\tif (data instanceof Error) {\n\t\t\tthis.data = data.toString();\n\t\t\tthis.error = data;\n\t\t} else this.data = data;\n\t}\n};\n/**\n* Check if the given error is an {@link ErrorResponse} generated from a 4xx/5xx\n* [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)\n* thrown from an [`action`](../../start/framework/route-module#action) or\n* [`loader`](../../start/framework/route-module#loader) function.\n*\n* @example\n* import { isRouteErrorResponse } from \"react-router\";\n*\n* export function ErrorBoundary({ error }: Route.ErrorBoundaryProps) {\n* if (isRouteErrorResponse(error)) {\n* return (\n* <>\n* <p>Error: `${error.status}: ${error.statusText}`</p>\n* <p>{error.data}</p>\n* </>\n* );\n* }\n*\n* return (\n* <p>Error: {error instanceof Error ? error.message : \"Unknown Error\"}</p>\n* );\n* }\n*\n* @public\n* @category Utils\n* @mode framework\n* @mode data\n* @param error The error to check.\n* @returns `true` if the error is an {@link ErrorResponse}, `false` otherwise.\n*/\nfunction isRouteErrorResponse(error) {\n\treturn error != null && typeof error.status === \"number\" && typeof error.statusText === \"string\" && typeof error.internal === \"boolean\" && \"data\" in error;\n}\nfunction getRoutePattern(matches) {\n\treturn joinPaths(matches.map((m) => m.route.path).filter(Boolean)) || \"/\";\n}\nfunction createDataFunctionUrl(request, path) {\n\tlet url = new URL(typeof request === \"string\" || request instanceof URL ? request : request.url);\n\tlet parsed = typeof path === \"string\" ? parsePath(path) : path;\n\turl.pathname = parsed.pathname || \"/\";\n\tif (parsed.search) {\n\t\tlet searchParams = new URLSearchParams(parsed.search);\n\t\tlet indexValues = searchParams.getAll(\"index\");\n\t\tsearchParams.delete(\"index\");\n\t\tfor (let value of indexValues.filter(Boolean)) searchParams.append(\"index\", value);\n\t\tlet search = searchParams.toString();\n\t\turl.search = search ? `?${search}` : \"\";\n\t} else url.search = \"\";\n\turl.hash = parsed.hash || \"\";\n\treturn url;\n}\nconst isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\";\nfunction parseToInfo(_to, basename) {\n\tlet to = _to;\n\tif (typeof to !== \"string\" || !ABSOLUTE_URL_REGEX.test(to)) return {\n\t\tabsoluteURL: void 0,\n\t\tisExternal: false,\n\t\tto\n\t};\n\tlet absoluteURL = to;\n\tlet isExternal = false;\n\tif (isBrowser) try {\n\t\tlet currentUrl = new URL(window.location.href);\n\t\tlet targetUrl = PROTOCOL_RELATIVE_URL_REGEX.test(to) ? new URL(normalizeProtocolRelativeUrl(to, currentUrl.protocol)) : new URL(to);\n\t\tlet path = stripBasename(targetUrl.pathname, basename);\n\t\tif (targetUrl.origin === currentUrl.origin && path != null) to = path + targetUrl.search + targetUrl.hash;\n\t\telse isExternal = true;\n\t} catch (e) {\n\t\twarning(false, `<Link to=\"${to}\"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`);\n\t}\n\treturn {\n\t\tabsoluteURL,\n\t\tisExternal,\n\t\tto\n\t};\n}\n//#endregion\nexport { ErrorResponseImpl, RouterContextProvider, SUPPORTED_ERROR_TYPES, compilePath, convertRouteMatchToUiMatch, convertRoutesToDataRoutes, createContext, createDataFunctionUrl, data, decodePath, defaultMapRouteProperties, encodePathParam, flattenAndRankRoutes, generatePath, getPathContributingMatches, getResolveToMatches, getRoutePattern, isAbsoluteUrl, isBrowser, isRouteErrorResponse, isUnsupportedLazyRouteFunctionKey, isUnsupportedLazyRouteObjectKey, joinPaths, matchPath, matchRoutes, matchRoutesImpl, parseToInfo, prependBasename, redirect, redirectDocument, removeDoubleSlashes, removeTrailingSlash, replace, resolvePath, resolveTo, stripBasename };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { PROTOCOL_RELATIVE_URL_REGEX, normalizeProtocolRelativeUrl } from \"./url.js\";\nimport { createBrowserURLImpl, createLocation, createPath, invariant, parsePath, warning } from \"./history.js\";\nimport { ErrorResponseImpl, RouterContextProvider, convertRouteMatchToUiMatch, convertRoutesToDataRoutes, createDataFunctionUrl, flattenAndRankRoutes, getPathContributingMatches, getResolveToMatches, getRoutePattern, isAbsoluteUrl, isRouteErrorResponse, isUnsupportedLazyRouteFunctionKey, isUnsupportedLazyRouteObjectKey, matchRoutesImpl, prependBasename, removeDoubleSlashes, resolveTo, stripBasename } from \"./utils.js\";\nimport { consumeInstrumentationClientResultMetaReceiver, getRouteInstrumentationUpdates, instrumentClientSideRouter } from \"./instrumentation.js\";\n//#region lib/router/router.ts\nconst validMutationMethodsArr = [\n\t\"POST\",\n\t\"PUT\",\n\t\"PATCH\",\n\t\"DELETE\"\n];\nconst validMutationMethods = new Set(validMutationMethodsArr);\nconst validRequestMethodsArr = [\"GET\", ...validMutationMethodsArr];\nconst validRequestMethods = new Set(validRequestMethodsArr);\nconst redirectStatusCodes = new Set([\n\t301,\n\t302,\n\t303,\n\t307,\n\t308\n]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\nconst IDLE_NAVIGATION = {\n\tstate: \"idle\",\n\tlocation: void 0,\n\tmatches: void 0,\n\thistoryAction: void 0,\n\tformMethod: void 0,\n\tformAction: void 0,\n\tformEncType: void 0,\n\tformData: void 0,\n\tjson: void 0,\n\ttext: void 0\n};\nconst IDLE_FETCHER = {\n\tstate: \"idle\",\n\tdata: void 0,\n\tformMethod: void 0,\n\tformAction: void 0,\n\tformEncType: void 0,\n\tformData: void 0,\n\tjson: void 0,\n\ttext: void 0\n};\nconst IDLE_BLOCKER = {\n\tstate: \"unblocked\",\n\tproceed: void 0,\n\treset: void 0,\n\tlocation: void 0\n};\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\nconst ResetLoaderDataSymbol = Symbol(\"ResetLoaderData\");\n/**\n* Encapsulates the stable and in-flight route trees together with their\n* pre-computed branch caches so the structures always stay in sync.\n*/\nvar DataRoutes = class {\n\t#routes;\n\t#branches;\n\t#hmrRoutes;\n\t#hmrBranches;\n\tconstructor(routes) {\n\t\tthis.#routes = routes;\n\t\tthis.#branches = flattenAndRankRoutes(routes);\n\t}\n\t/** The stable route tree */\n\tget stableRoutes() {\n\t\treturn this.#routes;\n\t}\n\t/** The in-flight route tree if one is active, otherwise the stable tree */\n\tget activeRoutes() {\n\t\treturn this.#hmrRoutes ?? this.#routes;\n\t}\n\t/** Pre-computed branches */\n\tget branches() {\n\t\treturn this.#hmrBranches ?? this.#branches;\n\t}\n\tget hasHMRRoutes() {\n\t\treturn this.#hmrRoutes != null;\n\t}\n\t/** Replace the stable route tree and recompute its branches */\n\tsetRoutes(routes) {\n\t\tthis.#routes = routes;\n\t\tthis.#branches = flattenAndRankRoutes(routes);\n\t}\n\t/** Set a new in-flight route tree and recompute its branches */\n\tsetHmrRoutes(routes) {\n\t\tthis.#hmrRoutes = routes;\n\t\tthis.#hmrBranches = flattenAndRankRoutes(routes);\n\t}\n\t/** Commit in-flight routes/branches to the stable slot and clear in-flight */\n\tcommitHmrRoutes() {\n\t\tif (this.#hmrRoutes) {\n\t\t\tthis.#routes = this.#hmrRoutes;\n\t\t\tthis.#branches = this.#hmrBranches;\n\t\t\tthis.#hmrRoutes = void 0;\n\t\t\tthis.#hmrBranches = void 0;\n\t\t}\n\t}\n};\n/**\n* Create a router and listen to history POP navigations\n*/\nfunction createRouter(init) {\n\tconst routerWindow = init.window ? init.window : typeof window !== \"undefined\" ? window : void 0;\n\tconst isBrowser = typeof routerWindow !== \"undefined\" && typeof routerWindow.document !== \"undefined\" && typeof routerWindow.document.createElement !== \"undefined\";\n\tinvariant(init.routes.length > 0, \"You must provide a non-empty routes array to createRouter\");\n\tlet hydrationRouteProperties = init.hydrationRouteProperties || [];\n\tlet _mapRouteProperties = init.mapRouteProperties;\n\tlet mapRouteProperties = _mapRouteProperties ? _mapRouteProperties : () => ({});\n\tif (init.instrumentations) {\n\t\tlet instrumentations = init.instrumentations;\n\t\tmapRouteProperties = (route) => {\n\t\t\treturn {\n\t\t\t\t..._mapRouteProperties?.(route),\n\t\t\t\t...getRouteInstrumentationUpdates(instrumentations.map((i) => i.route).filter(Boolean), route)\n\t\t\t};\n\t\t};\n\t}\n\tlet manifest = {};\n\tlet dataRoutes = new DataRoutes(convertRoutesToDataRoutes(init.routes, mapRouteProperties, void 0, manifest));\n\tlet basename = init.basename || \"/\";\n\tif (!basename.startsWith(\"/\")) basename = `/${basename}`;\n\tlet dataStrategyImpl = init.dataStrategy || defaultDataStrategyWithMiddleware;\n\tlet future = { ...init.future };\n\tlet unlistenHistory = null;\n\tlet subscribers = /* @__PURE__ */ new Set();\n\tlet bufferedInitialStateUpdate = null;\n\tlet savedScrollPositions = null;\n\tlet getScrollRestorationKey = null;\n\tlet getScrollPosition = null;\n\tlet initialScrollRestored = init.hydrationData != null;\n\tlet initialMatches = matchRoutesImpl(dataRoutes.activeRoutes, init.history.location, basename, false, dataRoutes.branches);\n\tlet initialMatchesIsFOW = false;\n\tlet initialErrors = null;\n\tlet initialized;\n\tlet renderFallback;\n\tif (initialMatches == null && !init.patchRoutesOnNavigation) {\n\t\tlet error = getInternalRouterError(404, { pathname: init.history.location.pathname });\n\t\tlet { matches, route } = getShortCircuitMatches(dataRoutes.activeRoutes);\n\t\tinitialized = true;\n\t\trenderFallback = !initialized;\n\t\tinitialMatches = matches;\n\t\tinitialErrors = { [route.id]: error };\n\t} else {\n\t\tif (initialMatches && !init.hydrationData) {\n\t\t\tif (checkFogOfWar(initialMatches, dataRoutes.activeRoutes, init.history.location.pathname).active) initialMatches = null;\n\t\t}\n\t\tif (!initialMatches) {\n\t\t\tinitialized = false;\n\t\t\trenderFallback = !initialized;\n\t\t\tinitialMatches = [];\n\t\t\tlet fogOfWar = checkFogOfWar(null, dataRoutes.activeRoutes, init.history.location.pathname);\n\t\t\tif (fogOfWar.active && fogOfWar.matches) {\n\t\t\t\tinitialMatchesIsFOW = true;\n\t\t\t\tinitialMatches = fogOfWar.matches;\n\t\t\t}\n\t\t} else if (initialMatches.some((m) => m.route.lazy)) {\n\t\t\tinitialized = false;\n\t\t\trenderFallback = !initialized;\n\t\t} else if (!initialMatches.some((m) => routeHasLoaderOrMiddleware(m.route))) {\n\t\t\tinitialized = true;\n\t\t\trenderFallback = !initialized;\n\t\t} else {\n\t\t\tlet loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n\t\t\tlet errors = init.hydrationData ? init.hydrationData.errors : null;\n\t\t\tlet relevantMatches = initialMatches;\n\t\t\tif (errors) {\n\t\t\t\tlet idx = initialMatches.findIndex((m) => errors[m.route.id] !== void 0);\n\t\t\t\trelevantMatches = relevantMatches.slice(0, idx + 1);\n\t\t\t}\n\t\t\trenderFallback = false;\n\t\t\tinitialized = true;\n\t\t\trelevantMatches.forEach((m) => {\n\t\t\t\tlet status = getRouteHydrationStatus(m.route, loaderData, errors);\n\t\t\t\trenderFallback = renderFallback || status.renderFallback;\n\t\t\t\tinitialized = initialized && !status.shouldLoad;\n\t\t\t});\n\t\t}\n\t}\n\tlet router;\n\tlet state = {\n\t\thistoryAction: init.history.action,\n\t\tlocation: init.history.location,\n\t\tmatches: initialMatches,\n\t\tinitialized,\n\t\trenderFallback,\n\t\tnavigation: IDLE_NAVIGATION,\n\t\trestoreScrollPosition: init.hydrationData != null ? false : null,\n\t\tpreventScrollReset: false,\n\t\trevalidation: \"idle\",\n\t\tloaderData: init.hydrationData && init.hydrationData.loaderData || {},\n\t\tactionData: init.hydrationData && init.hydrationData.actionData || null,\n\t\terrors: init.hydrationData && init.hydrationData.errors || initialErrors,\n\t\tfetchers: /* @__PURE__ */ new Map(),\n\t\tblockers: /* @__PURE__ */ new Map()\n\t};\n\tlet pendingAction = \"POP\";\n\tlet pendingPopstateNavigationDfd = null;\n\tlet pendingPreventScrollReset = false;\n\tlet pendingNavigationController;\n\tlet pendingViewTransitionEnabled = false;\n\tlet appliedViewTransitions = /* @__PURE__ */ new Map();\n\tlet removePageHideEventListener = null;\n\tlet isUninterruptedRevalidation = false;\n\tlet isRevalidationRequired = false;\n\tlet cancelledFetcherLoads = /* @__PURE__ */ new Set();\n\tlet fetchControllers = /* @__PURE__ */ new Map();\n\tlet incrementingLoadId = 0;\n\tlet pendingNavigationLoadId = -1;\n\tlet fetchReloadIds = /* @__PURE__ */ new Map();\n\tlet fetchRedirectIds = /* @__PURE__ */ new Set();\n\tlet fetchLoadMatches = /* @__PURE__ */ new Map();\n\tlet activeFetchers = /* @__PURE__ */ new Map();\n\tlet fetchersQueuedForDeletion = /* @__PURE__ */ new Set();\n\tlet blockerFunctions = /* @__PURE__ */ new Map();\n\tlet unblockBlockerHistoryUpdate = void 0;\n\tlet pendingRevalidationDfd = null;\n\tfunction initialize() {\n\t\tunlistenHistory = init.history.listen(({ action: historyAction, location, delta }) => {\n\t\t\tif (unblockBlockerHistoryUpdate) {\n\t\t\t\tunblockBlockerHistoryUpdate();\n\t\t\t\tunblockBlockerHistoryUpdate = void 0;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\twarning(blockerFunctions.size === 0 || delta != null, \"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.\");\n\t\t\tlet blockerKey = shouldBlockNavigation({\n\t\t\t\tcurrentLocation: state.location,\n\t\t\t\tnextLocation: location,\n\t\t\t\thistoryAction\n\t\t\t});\n\t\t\tif (blockerKey && delta != null) {\n\t\t\t\tlet nextHistoryUpdatePromise = new Promise((resolve) => {\n\t\t\t\t\tunblockBlockerHistoryUpdate = resolve;\n\t\t\t\t});\n\t\t\t\tinit.history.go(delta * -1);\n\t\t\t\tupdateBlocker(blockerKey, {\n\t\t\t\t\tstate: \"blocked\",\n\t\t\t\t\tlocation,\n\t\t\t\t\tproceed() {\n\t\t\t\t\t\tupdateBlocker(blockerKey, {\n\t\t\t\t\t\t\tstate: \"proceeding\",\n\t\t\t\t\t\t\tproceed: void 0,\n\t\t\t\t\t\t\treset: void 0,\n\t\t\t\t\t\t\tlocation\n\t\t\t\t\t\t});\n\t\t\t\t\t\tnextHistoryUpdatePromise.then(() => init.history.go(delta));\n\t\t\t\t\t},\n\t\t\t\t\treset() {\n\t\t\t\t\t\tlet blockers = new Map(state.blockers);\n\t\t\t\t\t\tblockers.set(blockerKey, IDLE_BLOCKER);\n\t\t\t\t\t\tupdateState({ blockers });\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tpendingPopstateNavigationDfd?.resolve();\n\t\t\t\tpendingPopstateNavigationDfd = null;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn startNavigation(historyAction, location);\n\t\t});\n\t\tif (isBrowser) {\n\t\t\trestoreAppliedTransitions(routerWindow, appliedViewTransitions);\n\t\t\tlet _saveAppliedTransitions = () => persistAppliedTransitions(routerWindow, appliedViewTransitions);\n\t\t\trouterWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n\t\t\tremovePageHideEventListener = () => routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n\t\t}\n\t\tif (!state.initialized) startNavigation(\"POP\", state.location, { initialHydration: true });\n\t\treturn router;\n\t}\n\tfunction dispose() {\n\t\tif (unlistenHistory) unlistenHistory();\n\t\tif (removePageHideEventListener) removePageHideEventListener();\n\t\tsubscribers.clear();\n\t\tpendingNavigationController && pendingNavigationController.abort();\n\t\tstate.fetchers.forEach((_, key) => deleteFetcher(state.fetchers, key));\n\t\tstate.blockers.forEach((_, key) => deleteBlocker(key));\n\t}\n\tfunction subscribe(fn) {\n\t\tsubscribers.add(fn);\n\t\tif (bufferedInitialStateUpdate) {\n\t\t\tlet { newErrors } = bufferedInitialStateUpdate;\n\t\t\tbufferedInitialStateUpdate = null;\n\t\t\tfn(state, {\n\t\t\t\tdeletedFetchers: [],\n\t\t\t\tnewErrors,\n\t\t\t\tviewTransitionOpts: void 0,\n\t\t\t\tflushSync: false\n\t\t\t});\n\t\t}\n\t\treturn () => subscribers.delete(fn);\n\t}\n\tfunction updateState(newState, opts = {}) {\n\t\tif (newState.matches) newState.matches = newState.matches.map((m) => {\n\t\t\tlet route = manifest[m.route.id];\n\t\t\tlet matchRoute = m.route;\n\t\t\tif (matchRoute.element !== route.element || matchRoute.errorElement !== route.errorElement || matchRoute.hydrateFallbackElement !== route.hydrateFallbackElement) return {\n\t\t\t\t...m,\n\t\t\t\troute\n\t\t\t};\n\t\t\treturn m;\n\t\t});\n\t\tstate = {\n\t\t\t...state,\n\t\t\t...newState\n\t\t};\n\t\tlet unmountedFetchers = [];\n\t\tlet mountedFetchers = [];\n\t\tstate.fetchers.forEach((fetcher, key) => {\n\t\t\tif (fetcher.state === \"idle\") if (fetchersQueuedForDeletion.has(key)) unmountedFetchers.push(key);\n\t\t\telse mountedFetchers.push(key);\n\t\t});\n\t\tfetchersQueuedForDeletion.forEach((key) => {\n\t\t\tif (!state.fetchers.has(key) && !fetchControllers.has(key)) unmountedFetchers.push(key);\n\t\t});\n\t\tif (subscribers.size === 0) bufferedInitialStateUpdate = { newErrors: newState.errors ?? null };\n\t\t[...subscribers].forEach((subscriber) => subscriber(state, {\n\t\t\tdeletedFetchers: unmountedFetchers,\n\t\t\tnewErrors: newState.errors ?? null,\n\t\t\tviewTransitionOpts: opts.viewTransitionOpts,\n\t\t\tflushSync: opts.flushSync === true\n\t\t}));\n\t\tunmountedFetchers.forEach((key) => deleteFetcher(state.fetchers, key));\n\t\tmountedFetchers.forEach((key) => state.fetchers.delete(key));\n\t}\n\tfunction completeNavigation(location, newState, { flushSync } = {}) {\n\t\tlet isActionReload = state.actionData != null && state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && state.navigation.state === \"loading\" && location.state?._isRedirect !== true;\n\t\tlet actionData;\n\t\tif (newState.actionData) if (Object.keys(newState.actionData).length > 0) actionData = newState.actionData;\n\t\telse actionData = null;\n\t\telse if (isActionReload) actionData = state.actionData;\n\t\telse actionData = null;\n\t\tlet loaderData = newState.loaderData ? mergeLoaderData(state.loaderData, newState.loaderData, newState.matches || [], newState.errors) : state.loaderData;\n\t\tlet blockers = state.blockers;\n\t\tif (blockers.size > 0 && !isUninterruptedRevalidation) {\n\t\t\tblockers = new Map(blockers);\n\t\t\tblockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n\t\t}\n\t\tlet restoreScrollPosition = isUninterruptedRevalidation ? false : getSavedScrollPosition(location, newState.matches || state.matches);\n\t\tlet preventScrollReset = pendingPreventScrollReset === true || state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && location.state?._isRedirect !== true;\n\t\tdataRoutes.commitHmrRoutes();\n\t\tif (isUninterruptedRevalidation) {} else if (pendingAction === \"POP\") {} else if (pendingAction === \"PUSH\") init.history.push(location, location.state);\n\t\telse if (pendingAction === \"REPLACE\") init.history.replace(location, location.state);\n\t\tlet viewTransitionOpts;\n\t\tif (pendingAction === \"POP\") {\n\t\t\tlet priorPaths = appliedViewTransitions.get(state.location.pathname);\n\t\t\tif (priorPaths && priorPaths.has(location.pathname)) viewTransitionOpts = {\n\t\t\t\tcurrentLocation: state.location,\n\t\t\t\tnextLocation: location\n\t\t\t};\n\t\t\telse if (appliedViewTransitions.has(location.pathname)) viewTransitionOpts = {\n\t\t\t\tcurrentLocation: location,\n\t\t\t\tnextLocation: state.location\n\t\t\t};\n\t\t} else if (pendingViewTransitionEnabled) {\n\t\t\tlet toPaths = appliedViewTransitions.get(state.location.pathname);\n\t\t\tif (toPaths) toPaths.add(location.pathname);\n\t\t\telse {\n\t\t\t\ttoPaths = new Set([location.pathname]);\n\t\t\t\tappliedViewTransitions.set(state.location.pathname, toPaths);\n\t\t\t}\n\t\t\tviewTransitionOpts = {\n\t\t\t\tcurrentLocation: state.location,\n\t\t\t\tnextLocation: location\n\t\t\t};\n\t\t}\n\t\tupdateState({\n\t\t\t...newState,\n\t\t\tactionData,\n\t\t\tloaderData,\n\t\t\thistoryAction: pendingAction,\n\t\t\tlocation,\n\t\t\tinitialized: true,\n\t\t\trenderFallback: false,\n\t\t\tnavigation: IDLE_NAVIGATION,\n\t\t\trevalidation: \"idle\",\n\t\t\trestoreScrollPosition,\n\t\t\tpreventScrollReset,\n\t\t\tblockers\n\t\t}, {\n\t\t\tviewTransitionOpts,\n\t\t\tflushSync: flushSync === true\n\t\t});\n\t\tpendingAction = \"POP\";\n\t\tpendingPreventScrollReset = false;\n\t\tpendingViewTransitionEnabled = false;\n\t\tisUninterruptedRevalidation = false;\n\t\tisRevalidationRequired = false;\n\t\tpendingPopstateNavigationDfd?.resolve();\n\t\tpendingPopstateNavigationDfd = null;\n\t\tpendingRevalidationDfd?.resolve();\n\t\tpendingRevalidationDfd = null;\n\t}\n\tasync function navigate(to, opts) {\n\t\tpendingPopstateNavigationDfd?.resolve();\n\t\tpendingPopstateNavigationDfd = null;\n\t\tif (typeof to === \"number\") {\n\t\t\tif (!pendingPopstateNavigationDfd) pendingPopstateNavigationDfd = createDeferred();\n\t\t\tlet promise = pendingPopstateNavigationDfd.promise;\n\t\t\tinit.history.go(to);\n\t\t\treturn promise;\n\t\t}\n\t\tlet instrumentationNavigateMetaReceiver = consumeInstrumentationClientResultMetaReceiver(router);\n\t\tlet { path, submission, error } = normalizeNavigateOptions(false, normalizeTo(state.location, state.matches, basename, to, opts?.fromRouteId, opts?.relative), opts);\n\t\tlet maskPath;\n\t\tif (opts?.mask) maskPath = {\n\t\t\tpathname: \"\",\n\t\t\tsearch: \"\",\n\t\t\thash: \"\",\n\t\t\t...typeof opts.mask === \"string\" ? parsePath(opts.mask) : {\n\t\t\t\t...state.location.mask,\n\t\t\t\t...opts.mask\n\t\t\t}\n\t\t};\n\t\tlet currentLocation = state.location;\n\t\tlet nextLocation = createLocation(currentLocation, path, opts && opts.state, void 0, maskPath);\n\t\tnextLocation = {\n\t\t\t...nextLocation,\n\t\t\t...init.history.encodeLocation(nextLocation)\n\t\t};\n\t\tlet userReplace = opts && opts.replace != null ? opts.replace : void 0;\n\t\tlet historyAction = \"PUSH\";\n\t\tif (userReplace === true) historyAction = \"REPLACE\";\n\t\telse if (userReplace === false) {} else if (submission != null && isMutationMethod(submission.formMethod) && submission.formAction === state.location.pathname + state.location.search) historyAction = \"REPLACE\";\n\t\tlet preventScrollReset = opts && \"preventScrollReset\" in opts ? opts.preventScrollReset === true : void 0;\n\t\tlet flushSync = (opts && opts.flushSync) === true;\n\t\tlet blockerKey = shouldBlockNavigation({\n\t\t\tcurrentLocation,\n\t\t\tnextLocation,\n\t\t\thistoryAction\n\t\t});\n\t\tif (blockerKey) {\n\t\t\tupdateBlocker(blockerKey, {\n\t\t\t\tstate: \"blocked\",\n\t\t\t\tlocation: nextLocation,\n\t\t\t\tproceed() {\n\t\t\t\t\tupdateBlocker(blockerKey, {\n\t\t\t\t\t\tstate: \"proceeding\",\n\t\t\t\t\t\tproceed: void 0,\n\t\t\t\t\t\treset: void 0,\n\t\t\t\t\t\tlocation: nextLocation\n\t\t\t\t\t});\n\t\t\t\t\tnavigate(to, opts);\n\t\t\t\t},\n\t\t\t\treset() {\n\t\t\t\t\tlet blockers = new Map(state.blockers);\n\t\t\t\t\tblockers.set(blockerKey, IDLE_BLOCKER);\n\t\t\t\t\tupdateState({ blockers });\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tawait startNavigation(historyAction, nextLocation, {\n\t\t\tsubmission,\n\t\t\tpendingError: error,\n\t\t\tpreventScrollReset,\n\t\t\treplace: opts && opts.replace,\n\t\t\tenableViewTransition: opts && opts.viewTransition,\n\t\t\tflushSync,\n\t\t\tcallSiteDefaultShouldRevalidate: opts && opts.defaultShouldRevalidate,\n\t\t\tinstrumentationNavigateMetaReceiver\n\t\t});\n\t}\n\tfunction revalidate() {\n\t\tif (!pendingRevalidationDfd) pendingRevalidationDfd = createDeferred();\n\t\tinterruptActiveLoads();\n\t\tupdateState({ revalidation: \"loading\" });\n\t\tlet promise = pendingRevalidationDfd.promise;\n\t\tif (state.navigation.state === \"submitting\") return promise;\n\t\tif (state.navigation.state === \"idle\") {\n\t\t\tstartNavigation(state.historyAction, state.location, { startUninterruptedRevalidation: true });\n\t\t\treturn promise;\n\t\t}\n\t\tstartNavigation(pendingAction || state.historyAction, state.navigation.location, {\n\t\t\toverrideNavigation: state.navigation,\n\t\t\tenableViewTransition: pendingViewTransitionEnabled === true\n\t\t});\n\t\treturn promise;\n\t}\n\tasync function startNavigation(historyAction, location, opts) {\n\t\tpendingNavigationController && pendingNavigationController.abort();\n\t\tpendingNavigationController = null;\n\t\tpendingAction = historyAction;\n\t\tisUninterruptedRevalidation = (opts && opts.startUninterruptedRevalidation) === true;\n\t\tsaveScrollPosition(state.location, state.matches);\n\t\tpendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\t\tpendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n\t\tlet routesToUse = dataRoutes.activeRoutes;\n\t\tlet matches = opts?.initialHydration && state.matches && state.matches.length > 0 && !initialMatchesIsFOW ? state.matches : matchRoutesImpl(routesToUse, location, basename, false, dataRoutes.branches);\n\t\tlet flushSync = (opts && opts.flushSync) === true;\n\t\tif (matches && state.initialized && !isRevalidationRequired && isHashChangeOnly(state.location, location) && !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))) {\n\t\t\tcompleteNavigation(location, { matches }, { flushSync });\n\t\t\treturn;\n\t\t}\n\t\tlet fogOfWar = checkFogOfWar(matches, routesToUse, location.pathname);\n\t\tif (fogOfWar.active && fogOfWar.matches) matches = fogOfWar.matches;\n\t\tif (opts?.instrumentationNavigateMetaReceiver) {\n\t\t\tlet meta = getInstrumentationNavigateMeta(init.history, location, matches);\n\t\t\topts.instrumentationNavigateMetaReceiver(meta);\n\t\t}\n\t\tif (!matches) {\n\t\t\tlet { error, notFoundMatches, route } = handleNavigational404(location.pathname);\n\t\t\tcompleteNavigation(location, {\n\t\t\t\tmatches: notFoundMatches,\n\t\t\t\tloaderData: {},\n\t\t\t\terrors: { [route.id]: error }\n\t\t\t}, { flushSync });\n\t\t\treturn;\n\t\t}\n\t\tlet loadingNavigation = opts && opts.overrideNavigation ? {\n\t\t\t...opts.overrideNavigation,\n\t\t\tmatches,\n\t\t\thistoryAction\n\t\t} : void 0;\n\t\tpendingNavigationController = new AbortController();\n\t\tlet request = createClientSideRequest(init.history, location, pendingNavigationController.signal, opts && opts.submission);\n\t\tlet scopedContext = init.getContext ? await init.getContext() : new RouterContextProvider();\n\t\tlet pendingActionResult;\n\t\tif (opts && opts.pendingError) pendingActionResult = [findNearestBoundary(matches).route.id, {\n\t\t\ttype: \"error\",\n\t\t\terror: opts.pendingError\n\t\t}];\n\t\telse if (opts && opts.submission && isMutationMethod(opts.submission.formMethod)) {\n\t\t\tlet actionResult = await handleAction(request, location, opts.submission, matches, historyAction, scopedContext, fogOfWar.active, opts && opts.initialHydration === true, {\n\t\t\t\treplace: opts.replace,\n\t\t\t\tflushSync\n\t\t\t});\n\t\t\tif (actionResult.shortCircuited) return;\n\t\t\tif (actionResult.pendingActionResult) {\n\t\t\t\tlet [routeId, result] = actionResult.pendingActionResult;\n\t\t\t\tif (isErrorResult(result) && isRouteErrorResponse(result.error) && result.error.status === 404) {\n\t\t\t\t\tpendingNavigationController = null;\n\t\t\t\t\tcompleteNavigation(location, {\n\t\t\t\t\t\tmatches: actionResult.matches,\n\t\t\t\t\t\tloaderData: {},\n\t\t\t\t\t\terrors: { [routeId]: result.error }\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tmatches = actionResult.matches || matches;\n\t\t\tpendingActionResult = actionResult.pendingActionResult;\n\t\t\tloadingNavigation = getLoadingNavigation(location, matches, historyAction, opts.submission);\n\t\t\tflushSync = false;\n\t\t\tfogOfWar.active = false;\n\t\t\trequest = createClientSideRequest(init.history, request.url, request.signal);\n\t\t}\n\t\tlet { shortCircuited, matches: updatedMatches, loaderData, errors, workingFetchers } = await handleLoaders(request, location, matches, historyAction, scopedContext, fogOfWar.active, loadingNavigation, opts && opts.submission, opts && opts.fetcherSubmission, opts && opts.replace, opts && opts.initialHydration === true, flushSync, pendingActionResult, opts && opts.callSiteDefaultShouldRevalidate);\n\t\tif (shortCircuited) return;\n\t\tpendingNavigationController = null;\n\t\tcompleteNavigation(location, {\n\t\t\tmatches: updatedMatches || matches,\n\t\t\t...getActionDataForCommit(pendingActionResult),\n\t\t\tloaderData,\n\t\t\terrors,\n\t\t\t...workingFetchers ? { fetchers: workingFetchers } : {}\n\t\t});\n\t}\n\tasync function handleAction(request, location, submission, matches, historyAction, scopedContext, isFogOfWar, initialHydration, opts = {}) {\n\t\tinterruptActiveLoads();\n\t\tupdateState({ navigation: getSubmittingNavigation(location, matches, historyAction, submission) }, { flushSync: opts.flushSync === true });\n\t\tif (isFogOfWar) {\n\t\t\tlet discoverResult = await discoverRoutes(matches, location.pathname, request.signal);\n\t\t\tif (discoverResult.type === \"aborted\") return { shortCircuited: true };\n\t\t\telse if (discoverResult.type === \"error\") {\n\t\t\t\tif (discoverResult.partialMatches.length === 0) {\n\t\t\t\t\tlet { matches, route } = getShortCircuitMatches(dataRoutes.activeRoutes);\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmatches,\n\t\t\t\t\t\tpendingActionResult: [route.id, {\n\t\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\t\terror: discoverResult.error\n\t\t\t\t\t\t}]\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tlet boundaryId = findNearestBoundary(discoverResult.partialMatches).route.id;\n\t\t\t\treturn {\n\t\t\t\t\tmatches: discoverResult.partialMatches,\n\t\t\t\t\tpendingActionResult: [boundaryId, {\n\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\terror: discoverResult.error\n\t\t\t\t\t}]\n\t\t\t\t};\n\t\t\t} else if (!discoverResult.matches) {\n\t\t\t\tlet { notFoundMatches, error, route } = handleNavigational404(location.pathname);\n\t\t\t\treturn {\n\t\t\t\t\tmatches: notFoundMatches,\n\t\t\t\t\tpendingActionResult: [route.id, {\n\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\terror\n\t\t\t\t\t}]\n\t\t\t\t};\n\t\t\t} else matches = discoverResult.matches;\n\t\t}\n\t\tlet result;\n\t\tlet actionMatch = getTargetMatch(matches, location);\n\t\tif (!actionMatch.route.action && !actionMatch.route.lazy) result = {\n\t\t\ttype: \"error\",\n\t\t\terror: getInternalRouterError(405, {\n\t\t\t\tmethod: request.method,\n\t\t\t\tpathname: location.pathname,\n\t\t\t\trouteId: actionMatch.route.id\n\t\t\t})\n\t\t};\n\t\telse {\n\t\t\tlet results = await callDataStrategy(request, location, getTargetedDataStrategyMatches(mapRouteProperties, manifest, request, location, matches, actionMatch, initialHydration ? [] : hydrationRouteProperties, scopedContext), scopedContext, null);\n\t\t\tresult = results[actionMatch.route.id];\n\t\t\tif (!result) {\n\t\t\t\tfor (let match of matches) if (results[match.route.id]) {\n\t\t\t\t\tresult = results[match.route.id];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (request.signal.aborted) return { shortCircuited: true };\n\t\t}\n\t\tif (isRedirectResult(result)) {\n\t\t\tlet replace;\n\t\t\tif (opts && opts.replace != null) replace = opts.replace;\n\t\t\telse replace = normalizeRedirectLocation(result.response.headers.get(\"Location\"), new URL(request.url), basename, init.history) === state.location.pathname + state.location.search;\n\t\t\tawait startRedirectNavigation(request, result, true, {\n\t\t\t\tsubmission,\n\t\t\t\treplace\n\t\t\t});\n\t\t\treturn { shortCircuited: true };\n\t\t}\n\t\tif (isErrorResult(result)) {\n\t\t\tlet boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\t\t\tif ((opts && opts.replace) !== true) pendingAction = \"PUSH\";\n\t\t\treturn {\n\t\t\t\tmatches,\n\t\t\t\tpendingActionResult: [\n\t\t\t\t\tboundaryMatch.route.id,\n\t\t\t\t\tresult,\n\t\t\t\t\tactionMatch.route.id\n\t\t\t\t]\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tmatches,\n\t\t\tpendingActionResult: [actionMatch.route.id, result]\n\t\t};\n\t}\n\tasync function handleLoaders(request, location, matches, historyAction, scopedContext, isFogOfWar, overrideNavigation, submission, fetcherSubmission, replace, initialHydration, flushSync, pendingActionResult, callSiteDefaultShouldRevalidate) {\n\t\tlet loadingNavigation = overrideNavigation || getLoadingNavigation(location, matches, historyAction, submission);\n\t\tlet activeSubmission = submission || fetcherSubmission || getSubmissionFromNavigation(loadingNavigation);\n\t\tlet shouldUpdateNavigationState = !isUninterruptedRevalidation && !initialHydration;\n\t\tif (isFogOfWar) {\n\t\t\tif (shouldUpdateNavigationState) {\n\t\t\t\tlet actionData = getUpdatedActionData(pendingActionResult);\n\t\t\t\tupdateState({\n\t\t\t\t\tnavigation: loadingNavigation,\n\t\t\t\t\t...actionData !== void 0 ? { actionData } : {}\n\t\t\t\t}, { flushSync });\n\t\t\t}\n\t\t\tlet discoverResult = await discoverRoutes(matches, location.pathname, request.signal);\n\t\t\tif (discoverResult.type === \"aborted\") return { shortCircuited: true };\n\t\t\telse if (discoverResult.type === \"error\") {\n\t\t\t\tif (discoverResult.partialMatches.length === 0) {\n\t\t\t\t\tlet { matches, route } = getShortCircuitMatches(dataRoutes.activeRoutes);\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmatches,\n\t\t\t\t\t\tloaderData: {},\n\t\t\t\t\t\terrors: { [route.id]: discoverResult.error }\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tlet boundaryId = findNearestBoundary(discoverResult.partialMatches).route.id;\n\t\t\t\treturn {\n\t\t\t\t\tmatches: discoverResult.partialMatches,\n\t\t\t\t\tloaderData: {},\n\t\t\t\t\terrors: { [boundaryId]: discoverResult.error }\n\t\t\t\t};\n\t\t\t} else if (!discoverResult.matches) {\n\t\t\t\tlet { error, notFoundMatches, route } = handleNavigational404(location.pathname);\n\t\t\t\treturn {\n\t\t\t\t\tmatches: notFoundMatches,\n\t\t\t\t\tloaderData: {},\n\t\t\t\t\terrors: { [route.id]: error }\n\t\t\t\t};\n\t\t\t} else matches = discoverResult.matches;\n\t\t}\n\t\tlet routesToUse = dataRoutes.activeRoutes;\n\t\tlet { dsMatches, revalidatingFetchers } = getMatchesToLoad(request, scopedContext, mapRouteProperties, manifest, init.history, state, matches, activeSubmission, location, initialHydration ? [] : hydrationRouteProperties, initialHydration === true, isRevalidationRequired, cancelledFetcherLoads, fetchersQueuedForDeletion, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, init.patchRoutesOnNavigation != null, dataRoutes.branches, pendingActionResult, callSiteDefaultShouldRevalidate);\n\t\tpendingNavigationLoadId = ++incrementingLoadId;\n\t\tif (!init.dataStrategy && !dsMatches.some((m) => m.shouldLoad) && !dsMatches.some((m) => m.route.middleware && m.route.middleware.length > 0) && revalidatingFetchers.length === 0) {\n\t\t\tlet workingFetchers = new Map(state.fetchers);\n\t\t\tlet didUpdateFetcherRedirects = markFetchRedirectsDone(workingFetchers);\n\t\t\tcompleteNavigation(location, {\n\t\t\t\tmatches,\n\t\t\t\tloaderData: {},\n\t\t\t\terrors: pendingActionResult && isErrorResult(pendingActionResult[1]) ? { [pendingActionResult[0]]: pendingActionResult[1].error } : null,\n\t\t\t\t...getActionDataForCommit(pendingActionResult),\n\t\t\t\t...didUpdateFetcherRedirects ? { fetchers: workingFetchers } : {}\n\t\t\t}, { flushSync });\n\t\t\treturn { shortCircuited: true };\n\t\t}\n\t\tif (shouldUpdateNavigationState) {\n\t\t\tlet updates = {};\n\t\t\tif (!isFogOfWar) {\n\t\t\t\tupdates.navigation = loadingNavigation;\n\t\t\t\tlet actionData = getUpdatedActionData(pendingActionResult);\n\t\t\t\tif (actionData !== void 0) updates.actionData = actionData;\n\t\t\t}\n\t\t\tif (revalidatingFetchers.length > 0) updates.fetchers = getUpdatedRevalidatingFetchers(revalidatingFetchers);\n\t\t\tupdateState(updates, { flushSync });\n\t\t}\n\t\trevalidatingFetchers.forEach((rf) => {\n\t\t\tabortFetcher(rf.key);\n\t\t\tif (rf.controller) fetchControllers.set(rf.key, rf.controller);\n\t\t});\n\t\tlet abortPendingFetchRevalidations = () => revalidatingFetchers.forEach((f) => abortFetcher(f.key));\n\t\tif (pendingNavigationController) pendingNavigationController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n\t\tlet { loaderResults, fetcherResults } = await callLoadersAndMaybeResolveData(dsMatches, revalidatingFetchers, request, location, scopedContext);\n\t\tif (request.signal.aborted) return { shortCircuited: true };\n\t\tif (pendingNavigationController) pendingNavigationController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n\t\trevalidatingFetchers.forEach((rf) => fetchControllers.delete(rf.key));\n\t\tlet redirect = findRedirect(loaderResults);\n\t\tif (redirect) {\n\t\t\tawait startRedirectNavigation(request, redirect.result, true, { replace });\n\t\t\treturn { shortCircuited: true };\n\t\t}\n\t\tredirect = findRedirect(fetcherResults);\n\t\tif (redirect) {\n\t\t\tfetchRedirectIds.add(redirect.key);\n\t\t\tawait startRedirectNavigation(request, redirect.result, true, { replace });\n\t\t\treturn { shortCircuited: true };\n\t\t}\n\t\tlet workingFetchers = new Map(state.fetchers);\n\t\tlet { loaderData, errors } = processLoaderData(state, matches, loaderResults, pendingActionResult, revalidatingFetchers, fetcherResults, workingFetchers);\n\t\tif (initialHydration && state.errors) errors = {\n\t\t\t...state.errors,\n\t\t\t...errors\n\t\t};\n\t\tlet didUpdateFetcherRedirects = markFetchRedirectsDone(workingFetchers);\n\t\tlet didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId, workingFetchers);\n\t\tlet shouldUpdateFetchers = didUpdateFetcherRedirects || didAbortFetchLoads || revalidatingFetchers.length > 0;\n\t\treturn {\n\t\t\tmatches,\n\t\t\tloaderData,\n\t\t\terrors,\n\t\t\t...shouldUpdateFetchers ? { workingFetchers } : {}\n\t\t};\n\t}\n\tfunction getUpdatedActionData(pendingActionResult) {\n\t\tif (pendingActionResult && !isErrorResult(pendingActionResult[1])) return { [pendingActionResult[0]]: pendingActionResult[1].data };\n\t\telse if (state.actionData) if (Object.keys(state.actionData).length === 0) return null;\n\t\telse return state.actionData;\n\t}\n\tfunction getUpdatedRevalidatingFetchers(revalidatingFetchers) {\n\t\tlet workingFetchers = new Map(state.fetchers);\n\t\trevalidatingFetchers.forEach((rf) => {\n\t\t\tlet fetcher = workingFetchers.get(rf.key);\n\t\t\tlet revalidatingFetcher = getLoadingFetcher(void 0, fetcher ? fetcher.data : void 0);\n\t\t\tworkingFetchers.set(rf.key, revalidatingFetcher);\n\t\t});\n\t\treturn workingFetchers;\n\t}\n\tasync function fetch(key, routeId, href, opts) {\n\t\tabortFetcher(key);\n\t\tlet flushSync = (opts && opts.flushSync) === true;\n\t\tlet instrumentationResultMetaReceiver = consumeInstrumentationClientResultMetaReceiver(router);\n\t\tlet routesToUse = dataRoutes.activeRoutes;\n\t\tlet normalizedPath = normalizeTo(state.location, state.matches, basename, href, routeId, opts?.relative);\n\t\tlet matches = matchRoutesImpl(routesToUse, normalizedPath, basename, false, dataRoutes.branches);\n\t\tlet fogOfWar = checkFogOfWar(matches, routesToUse, normalizedPath);\n\t\tif (fogOfWar.active && fogOfWar.matches) matches = fogOfWar.matches;\n\t\tif (instrumentationResultMetaReceiver) instrumentationResultMetaReceiver(getInstrumentationNavigateMeta(init.history, normalizedPath, matches));\n\t\tif (!matches) {\n\t\t\tsetFetcherError(key, routeId, getInternalRouterError(404, { pathname: normalizedPath }), { flushSync });\n\t\t\treturn;\n\t\t}\n\t\tlet { path, submission, error } = normalizeNavigateOptions(true, normalizedPath, opts);\n\t\tif (error) {\n\t\t\tsetFetcherError(key, routeId, error, { flushSync });\n\t\t\treturn;\n\t\t}\n\t\tlet scopedContext = init.getContext ? await init.getContext() : new RouterContextProvider();\n\t\tlet preventScrollReset = (opts && opts.preventScrollReset) === true;\n\t\tif (submission && isMutationMethod(submission.formMethod)) {\n\t\t\tawait handleFetcherAction(key, routeId, path, matches, scopedContext, fogOfWar.active, flushSync, preventScrollReset, submission, opts && opts.defaultShouldRevalidate);\n\t\t\treturn;\n\t\t}\n\t\tfetchLoadMatches.set(key, {\n\t\t\trouteId,\n\t\t\tpath\n\t\t});\n\t\tawait handleFetcherLoader(key, routeId, path, matches, scopedContext, fogOfWar.active, flushSync, preventScrollReset, submission);\n\t}\n\tasync function handleFetcherAction(key, routeId, path, requestMatches, scopedContext, isFogOfWar, flushSync, preventScrollReset, submission, callSiteDefaultShouldRevalidate) {\n\t\tinterruptActiveLoads();\n\t\tfetchLoadMatches.delete(key);\n\t\tupdateFetcherState(key, getSubmittingFetcher(submission, state.fetchers.get(key)), { flushSync });\n\t\tlet abortController = new AbortController();\n\t\tlet fetchRequest = createClientSideRequest(init.history, path, abortController.signal, submission);\n\t\tif (isFogOfWar) {\n\t\t\tlet discoverResult = await discoverRoutes(requestMatches, new URL(fetchRequest.url).pathname, fetchRequest.signal, key);\n\t\t\tif (discoverResult.type === \"aborted\") return;\n\t\t\telse if (discoverResult.type === \"error\") {\n\t\t\t\tsetFetcherError(key, routeId, discoverResult.error, { flushSync });\n\t\t\t\treturn;\n\t\t\t} else if (!discoverResult.matches) {\n\t\t\t\tsetFetcherError(key, routeId, getInternalRouterError(404, { pathname: path }), { flushSync });\n\t\t\t\treturn;\n\t\t\t} else requestMatches = discoverResult.matches;\n\t\t}\n\t\tlet match = getTargetMatch(requestMatches, path);\n\t\tif (!match.route.action && !match.route.lazy) {\n\t\t\tsetFetcherError(key, routeId, getInternalRouterError(405, {\n\t\t\t\tmethod: submission.formMethod,\n\t\t\t\tpathname: path,\n\t\t\t\trouteId\n\t\t\t}), { flushSync });\n\t\t\treturn;\n\t\t}\n\t\tfetchControllers.set(key, abortController);\n\t\tlet originatingLoadId = incrementingLoadId;\n\t\tlet fetchMatches = getTargetedDataStrategyMatches(mapRouteProperties, manifest, fetchRequest, path, requestMatches, match, hydrationRouteProperties, scopedContext);\n\t\tlet actionResults = await callDataStrategy(fetchRequest, path, fetchMatches, scopedContext, key);\n\t\tlet actionResult = actionResults[match.route.id];\n\t\tif (!actionResult) {\n\t\t\tfor (let match of fetchMatches) if (actionResults[match.route.id]) {\n\t\t\t\tactionResult = actionResults[match.route.id];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (fetchRequest.signal.aborted) {\n\t\t\tif (fetchControllers.get(key) === abortController) fetchControllers.delete(key);\n\t\t\treturn;\n\t\t}\n\t\tif (fetchersQueuedForDeletion.has(key)) {\n\t\t\tif (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n\t\t\t\tupdateFetcherState(key, getDoneFetcher(void 0));\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else {\n\t\t\tif (isRedirectResult(actionResult)) {\n\t\t\t\tfetchControllers.delete(key);\n\t\t\t\tif (pendingNavigationLoadId > originatingLoadId) {\n\t\t\t\t\tupdateFetcherState(key, getDoneFetcher(void 0));\n\t\t\t\t\treturn;\n\t\t\t\t} else {\n\t\t\t\t\tfetchRedirectIds.add(key);\n\t\t\t\t\tupdateFetcherState(key, getLoadingFetcher(submission));\n\t\t\t\t\treturn startRedirectNavigation(fetchRequest, actionResult, false, {\n\t\t\t\t\t\tfetcherSubmission: submission,\n\t\t\t\t\t\tpreventScrollReset\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (isErrorResult(actionResult)) {\n\t\t\t\tsetFetcherError(key, routeId, actionResult.error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tlet nextLocation = state.navigation.location || state.location;\n\t\tlet revalidationRequest = createClientSideRequest(init.history, nextLocation, abortController.signal);\n\t\tlet routesToUse = dataRoutes.activeRoutes;\n\t\tlet matches = state.navigation.state !== \"idle\" ? matchRoutesImpl(routesToUse, state.navigation.location, basename, false, dataRoutes.branches) : state.matches;\n\t\tinvariant(matches, \"Didn't find any matches after fetcher action\");\n\t\tlet loadId = ++incrementingLoadId;\n\t\tfetchReloadIds.set(key, loadId);\n\t\tlet { dsMatches, revalidatingFetchers } = getMatchesToLoad(revalidationRequest, scopedContext, mapRouteProperties, manifest, init.history, state, matches, submission, nextLocation, hydrationRouteProperties, false, isRevalidationRequired, cancelledFetcherLoads, fetchersQueuedForDeletion, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, init.patchRoutesOnNavigation != null, dataRoutes.branches, [match.route.id, actionResult], callSiteDefaultShouldRevalidate);\n\t\tlet loadFetcher = getLoadingFetcher(submission, actionResult.data);\n\t\tlet workingFetchers = new Map(state.fetchers);\n\t\tworkingFetchers.set(key, loadFetcher);\n\t\trevalidatingFetchers.filter((rf) => rf.key !== key).forEach((rf) => {\n\t\t\tlet staleKey = rf.key;\n\t\t\tlet existingFetcher = workingFetchers.get(staleKey);\n\t\t\tlet revalidatingFetcher = getLoadingFetcher(void 0, existingFetcher ? existingFetcher.data : void 0);\n\t\t\tworkingFetchers.set(staleKey, revalidatingFetcher);\n\t\t\tabortFetcher(staleKey);\n\t\t\tif (rf.controller) fetchControllers.set(staleKey, rf.controller);\n\t\t});\n\t\tupdateState({ fetchers: workingFetchers });\n\t\tlet abortPendingFetchRevalidations = () => revalidatingFetchers.forEach((rf) => abortFetcher(rf.key));\n\t\tabortController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n\t\tlet { loaderResults, fetcherResults } = await callLoadersAndMaybeResolveData(dsMatches, revalidatingFetchers, revalidationRequest, nextLocation, scopedContext);\n\t\tif (abortController.signal.aborted) return;\n\t\tabortController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n\t\tfetchReloadIds.delete(key);\n\t\tfetchControllers.delete(key);\n\t\trevalidatingFetchers.forEach((r) => fetchControllers.delete(r.key));\n\t\tlet fetcherIsMounted = state.fetchers.has(key);\n\t\tlet getRedirectStateWithDoneFetcher = (s) => {\n\t\t\tif (!fetcherIsMounted) return s;\n\t\t\tlet workingFetchers = new Map(s.fetchers);\n\t\t\tworkingFetchers.set(key, getDoneFetcher(actionResult.data));\n\t\t\treturn {\n\t\t\t\t...s,\n\t\t\t\tfetchers: workingFetchers\n\t\t\t};\n\t\t};\n\t\tlet redirect = findRedirect(loaderResults);\n\t\tif (redirect) {\n\t\t\tstate = getRedirectStateWithDoneFetcher(state);\n\t\t\treturn startRedirectNavigation(revalidationRequest, redirect.result, false, { preventScrollReset });\n\t\t}\n\t\tredirect = findRedirect(fetcherResults);\n\t\tif (redirect) {\n\t\t\tfetchRedirectIds.add(redirect.key);\n\t\t\tstate = getRedirectStateWithDoneFetcher(state);\n\t\t\treturn startRedirectNavigation(revalidationRequest, redirect.result, false, { preventScrollReset });\n\t\t}\n\t\tlet finalFetchers = new Map(state.fetchers);\n\t\tif (fetcherIsMounted) finalFetchers.set(key, getDoneFetcher(actionResult.data));\n\t\tlet { loaderData, errors } = processLoaderData(state, matches, loaderResults, void 0, revalidatingFetchers, fetcherResults, finalFetchers);\n\t\tabortStaleFetchLoads(loadId, finalFetchers);\n\t\tif (state.navigation.state === \"loading\" && loadId > pendingNavigationLoadId) {\n\t\t\tinvariant(pendingAction, \"Expected pending action\");\n\t\t\tpendingNavigationController && pendingNavigationController.abort();\n\t\t\tcompleteNavigation(state.navigation.location, {\n\t\t\t\tmatches,\n\t\t\t\tloaderData,\n\t\t\t\terrors,\n\t\t\t\tfetchers: finalFetchers\n\t\t\t});\n\t\t} else {\n\t\t\tupdateState({\n\t\t\t\terrors,\n\t\t\t\tloaderData: mergeLoaderData(state.loaderData, loaderData, matches, errors),\n\t\t\t\tfetchers: finalFetchers\n\t\t\t});\n\t\t\tisRevalidationRequired = false;\n\t\t}\n\t}\n\tasync function handleFetcherLoader(key, routeId, path, matches, scopedContext, isFogOfWar, flushSync, preventScrollReset, submission) {\n\t\tlet existingFetcher = state.fetchers.get(key);\n\t\tupdateFetcherState(key, getLoadingFetcher(submission, existingFetcher ? existingFetcher.data : void 0), { flushSync });\n\t\tlet abortController = new AbortController();\n\t\tlet fetchRequest = createClientSideRequest(init.history, path, abortController.signal);\n\t\tif (isFogOfWar) {\n\t\t\tlet discoverResult = await discoverRoutes(matches, new URL(fetchRequest.url).pathname, fetchRequest.signal, key);\n\t\t\tif (discoverResult.type === \"aborted\") return;\n\t\t\telse if (discoverResult.type === \"error\") {\n\t\t\t\tsetFetcherError(key, routeId, discoverResult.error, { flushSync });\n\t\t\t\treturn;\n\t\t\t} else if (!discoverResult.matches) {\n\t\t\t\tsetFetcherError(key, routeId, getInternalRouterError(404, { pathname: path }), { flushSync });\n\t\t\t\treturn;\n\t\t\t} else matches = discoverResult.matches;\n\t\t}\n\t\tlet match = getTargetMatch(matches, path);\n\t\tfetchControllers.set(key, abortController);\n\t\tlet originatingLoadId = incrementingLoadId;\n\t\tlet results = await callDataStrategy(fetchRequest, path, getTargetedDataStrategyMatches(mapRouteProperties, manifest, fetchRequest, path, matches, match, hydrationRouteProperties, scopedContext), scopedContext, key);\n\t\tlet result = results[match.route.id];\n\t\tif (!result) {\n\t\t\tfor (let match of matches) if (results[match.route.id]) {\n\t\t\t\tresult = results[match.route.id];\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (fetchControllers.get(key) === abortController) fetchControllers.delete(key);\n\t\tif (fetchRequest.signal.aborted) return;\n\t\tif (fetchersQueuedForDeletion.has(key)) {\n\t\t\tupdateFetcherState(key, getDoneFetcher(void 0));\n\t\t\treturn;\n\t\t}\n\t\tif (isRedirectResult(result)) if (pendingNavigationLoadId > originatingLoadId) {\n\t\t\tupdateFetcherState(key, getDoneFetcher(void 0));\n\t\t\treturn;\n\t\t} else {\n\t\t\tfetchRedirectIds.add(key);\n\t\t\tawait startRedirectNavigation(fetchRequest, result, false, { preventScrollReset });\n\t\t\treturn;\n\t\t}\n\t\tif (isErrorResult(result)) {\n\t\t\tsetFetcherError(key, routeId, result.error);\n\t\t\treturn;\n\t\t}\n\t\tupdateFetcherState(key, getDoneFetcher(result.data));\n\t}\n\t/**\n\t* Utility function to handle redirects returned from an action or loader.\n\t* Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n\t* example:\n\t*\n\t* - user is on /a\n\t* - user clicks a link to /b\n\t* - loader for /b redirects to /c\n\t*\n\t* In a non-JS app the browser would track the in-flight navigation to /b and\n\t* then replace it with /c when it encountered the redirect response. In\n\t* the end it would only ever update the URL bar with /c.\n\t*\n\t* In client-side routing using pushState/replaceState, we aim to emulate\n\t* this behavior and we also do not update history until the end of the\n\t* navigation (including processed redirects). This means that we never\n\t* actually touch history until we've processed redirects, so we just use\n\t* the history action from the original navigation (PUSH or REPLACE).\n\t*/\n\tasync function startRedirectNavigation(request, redirect, isNavigation, { submission, fetcherSubmission, preventScrollReset, replace } = {}) {\n\t\tif (!isNavigation) {\n\t\t\tpendingPopstateNavigationDfd?.resolve();\n\t\t\tpendingPopstateNavigationDfd = null;\n\t\t}\n\t\tif (redirect.response.headers.has(\"X-Remix-Revalidate\")) isRevalidationRequired = true;\n\t\tlet location = redirect.response.headers.get(\"Location\");\n\t\tinvariant(location, \"Expected a Location header on the redirect Response\");\n\t\tlocation = normalizeRedirectLocation(location, new URL(request.url), basename, init.history);\n\t\tlet redirectLocation = createLocation(state.location, location, { _isRedirect: true });\n\t\tif (isBrowser) {\n\t\t\tlet isDocumentReload = false;\n\t\t\tif (redirect.response.headers.has(\"X-Remix-Reload-Document\")) isDocumentReload = true;\n\t\t\telse if (isAbsoluteUrl(location)) {\n\t\t\t\tconst url = createBrowserURLImpl(routerWindow, location, true);\n\t\t\t\tisDocumentReload = url.origin !== routerWindow.location.origin || stripBasename(url.pathname, basename) == null;\n\t\t\t}\n\t\t\tif (isDocumentReload) {\n\t\t\t\tif (replace) routerWindow.location.replace(location);\n\t\t\t\telse routerWindow.location.assign(location);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tpendingNavigationController = null;\n\t\tlet redirectNavigationType = replace === true || redirect.response.headers.has(\"X-Remix-Replace\") ? \"REPLACE\" : \"PUSH\";\n\t\tlet { formMethod, formAction, formEncType } = state.navigation;\n\t\tif (!submission && !fetcherSubmission && formMethod && formAction && formEncType) submission = getSubmissionFromNavigation(state.navigation);\n\t\tlet activeSubmission = submission || fetcherSubmission;\n\t\tif (redirectPreserveMethodStatusCodes.has(redirect.response.status) && activeSubmission && isMutationMethod(activeSubmission.formMethod)) await startNavigation(redirectNavigationType, redirectLocation, {\n\t\t\tsubmission: {\n\t\t\t\t...activeSubmission,\n\t\t\t\tformAction: location\n\t\t\t},\n\t\t\tpreventScrollReset: preventScrollReset || pendingPreventScrollReset,\n\t\t\tenableViewTransition: isNavigation ? pendingViewTransitionEnabled : void 0\n\t\t});\n\t\telse await startNavigation(redirectNavigationType, redirectLocation, {\n\t\t\toverrideNavigation: getLoadingNavigation(redirectLocation, [], redirectNavigationType, submission),\n\t\t\tfetcherSubmission,\n\t\t\tpreventScrollReset: preventScrollReset || pendingPreventScrollReset,\n\t\t\tenableViewTransition: isNavigation ? pendingViewTransitionEnabled : void 0\n\t\t});\n\t}\n\tasync function callDataStrategy(request, path, matches, scopedContext, fetcherKey) {\n\t\tlet results;\n\t\tlet dataResults = {};\n\t\ttry {\n\t\t\tresults = await callDataStrategyImpl(dataStrategyImpl, request, path, matches, fetcherKey, scopedContext, false);\n\t\t} catch (e) {\n\t\t\tmatches.filter((m) => m.shouldLoad).forEach((m) => {\n\t\t\t\tdataResults[m.route.id] = {\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\terror: e\n\t\t\t\t};\n\t\t\t});\n\t\t\treturn dataResults;\n\t\t}\n\t\tif (request.signal.aborted) return dataResults;\n\t\tif (!isMutationMethod(request.method)) for (let match of matches) {\n\t\t\tif (results[match.route.id]?.type === \"error\") break;\n\t\t\tif (!results.hasOwnProperty(match.route.id) && !state.loaderData.hasOwnProperty(match.route.id) && (!state.errors || !state.errors.hasOwnProperty(match.route.id)) && match.shouldCallHandler()) results[match.route.id] = {\n\t\t\t\ttype: \"error\",\n\t\t\t\tresult: /* @__PURE__ */ new Error(`No result returned from dataStrategy for route ${match.route.id}`)\n\t\t\t};\n\t\t}\n\t\tfor (let [routeId, result] of Object.entries(results)) if (isRedirectDataStrategyResult(result)) {\n\t\t\tlet response = result.result;\n\t\t\tdataResults[routeId] = {\n\t\t\t\ttype: \"redirect\",\n\t\t\t\tresponse: normalizeRelativeRoutingRedirectResponse(response, request, routeId, matches, basename)\n\t\t\t};\n\t\t} else dataResults[routeId] = await convertDataStrategyResultToDataResult(result);\n\t\treturn dataResults;\n\t}\n\tasync function callLoadersAndMaybeResolveData(matches, fetchersToLoad, request, location, scopedContext) {\n\t\tlet loaderResultsPromise = callDataStrategy(request, location, matches, scopedContext, null);\n\t\tlet fetcherResultsPromise = Promise.all(fetchersToLoad.map(async (f) => {\n\t\t\tif (f.matches && f.match && f.request && f.controller) {\n\t\t\t\tlet result = (await callDataStrategy(f.request, f.path, f.matches, scopedContext, f.key))[f.match.route.id];\n\t\t\t\treturn { [f.key]: result };\n\t\t\t} else return Promise.resolve({ [f.key]: {\n\t\t\t\ttype: \"error\",\n\t\t\t\terror: getInternalRouterError(404, { pathname: f.path })\n\t\t\t} });\n\t\t}));\n\t\treturn {\n\t\t\tloaderResults: await loaderResultsPromise,\n\t\t\tfetcherResults: (await fetcherResultsPromise).reduce((acc, r) => Object.assign(acc, r), {})\n\t\t};\n\t}\n\tfunction interruptActiveLoads() {\n\t\tisRevalidationRequired = true;\n\t\tfetchLoadMatches.forEach((_, key) => {\n\t\t\tif (fetchControllers.has(key)) cancelledFetcherLoads.add(key);\n\t\t\tabortFetcher(key);\n\t\t});\n\t}\n\tfunction updateFetcherState(key, fetcher, opts = {}) {\n\t\tlet workingFetchers = new Map(state.fetchers);\n\t\tworkingFetchers.set(key, fetcher);\n\t\tupdateState({ fetchers: workingFetchers }, { flushSync: (opts && opts.flushSync) === true });\n\t}\n\tfunction setFetcherError(key, routeId, error, opts = {}) {\n\t\tlet boundaryMatch = findNearestBoundary(state.matches, routeId);\n\t\tlet workingFetchers = new Map(state.fetchers);\n\t\tdeleteFetcher(workingFetchers, key);\n\t\tupdateState({\n\t\t\terrors: { [boundaryMatch.route.id]: error },\n\t\t\tfetchers: workingFetchers\n\t\t}, { flushSync: (opts && opts.flushSync) === true });\n\t}\n\tfunction getFetcher(key) {\n\t\tactiveFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n\t\tif (fetchersQueuedForDeletion.has(key)) fetchersQueuedForDeletion.delete(key);\n\t\treturn state.fetchers.get(key) || IDLE_FETCHER;\n\t}\n\tfunction resetFetcher(key, opts) {\n\t\tabortFetcher(key, opts?.reason);\n\t\tupdateFetcherState(key, getDoneFetcher(null));\n\t}\n\tfunction deleteFetcher(fetchers, key) {\n\t\tlet fetcher = state.fetchers.get(key);\n\t\tif (fetchControllers.has(key) && !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))) abortFetcher(key);\n\t\tfetchLoadMatches.delete(key);\n\t\tfetchReloadIds.delete(key);\n\t\tfetchRedirectIds.delete(key);\n\t\tfetchersQueuedForDeletion.delete(key);\n\t\tcancelledFetcherLoads.delete(key);\n\t\tfetchers.delete(key);\n\t}\n\tfunction queueFetcherForDeletion(key) {\n\t\tlet count = (activeFetchers.get(key) || 0) - 1;\n\t\tif (count <= 0) {\n\t\t\tactiveFetchers.delete(key);\n\t\t\tfetchersQueuedForDeletion.add(key);\n\t\t} else activeFetchers.set(key, count);\n\t\tupdateState({ fetchers: new Map(state.fetchers) });\n\t}\n\tfunction abortFetcher(key, reason) {\n\t\tlet controller = fetchControllers.get(key);\n\t\tif (controller) {\n\t\t\tcontroller.abort(reason);\n\t\t\tfetchControllers.delete(key);\n\t\t}\n\t}\n\tfunction markFetchersDone(keys, fetchers) {\n\t\tfor (let key of keys) {\n\t\t\tlet fetcher = fetchers.get(key);\n\t\t\tinvariant(fetcher, `Expected fetcher: ${key}`);\n\t\t\tlet doneFetcher = getDoneFetcher(fetcher.data);\n\t\t\tfetchers.set(key, doneFetcher);\n\t\t}\n\t}\n\tfunction markFetchRedirectsDone(fetchers) {\n\t\tlet doneKeys = [];\n\t\tlet didUpdateFetchers = false;\n\t\tfor (let key of fetchRedirectIds) {\n\t\t\tlet fetcher = fetchers.get(key);\n\t\t\tinvariant(fetcher, `Expected fetcher: ${key}`);\n\t\t\tif (fetcher.state === \"loading\") {\n\t\t\t\tfetchRedirectIds.delete(key);\n\t\t\t\tdoneKeys.push(key);\n\t\t\t\tdidUpdateFetchers = true;\n\t\t\t}\n\t\t}\n\t\tmarkFetchersDone(doneKeys, fetchers);\n\t\treturn didUpdateFetchers;\n\t}\n\tfunction abortStaleFetchLoads(landedId, fetchers) {\n\t\tlet yeetedKeys = [];\n\t\tfor (let [key, id] of fetchReloadIds) if (id < landedId) {\n\t\t\tlet fetcher = fetchers.get(key);\n\t\t\tinvariant(fetcher, `Expected fetcher: ${key}`);\n\t\t\tif (fetcher.state === \"loading\") {\n\t\t\t\tabortFetcher(key);\n\t\t\t\tfetchReloadIds.delete(key);\n\t\t\t\tyeetedKeys.push(key);\n\t\t\t}\n\t\t}\n\t\tmarkFetchersDone(yeetedKeys, fetchers);\n\t\treturn yeetedKeys.length > 0;\n\t}\n\tfunction getBlocker(key, fn) {\n\t\tlet blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\t\tif (blockerFunctions.get(key) !== fn) blockerFunctions.set(key, fn);\n\t\treturn blocker;\n\t}\n\tfunction deleteBlocker(key) {\n\t\tstate.blockers.delete(key);\n\t\tblockerFunctions.delete(key);\n\t}\n\tfunction updateBlocker(key, newBlocker) {\n\t\tlet blocker = state.blockers.get(key) || IDLE_BLOCKER;\n\t\tinvariant(blocker.state === \"unblocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"proceeding\" || blocker.state === \"blocked\" && newBlocker.state === \"unblocked\" || blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\", `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`);\n\t\tlet blockers = new Map(state.blockers);\n\t\tblockers.set(key, newBlocker);\n\t\tupdateState({ blockers });\n\t}\n\tfunction shouldBlockNavigation({ currentLocation, nextLocation, historyAction }) {\n\t\tif (blockerFunctions.size === 0) return;\n\t\tif (blockerFunctions.size > 1) warning(false, \"A router only supports one blocker at a time\");\n\t\tlet entries = Array.from(blockerFunctions.entries());\n\t\tlet [blockerKey, blockerFunction] = entries[entries.length - 1];\n\t\tlet blocker = state.blockers.get(blockerKey);\n\t\tif (blocker && blocker.state === \"proceeding\") return;\n\t\tif (blockerFunction({\n\t\t\tcurrentLocation,\n\t\t\tnextLocation,\n\t\t\thistoryAction\n\t\t})) return blockerKey;\n\t}\n\tfunction handleNavigational404(pathname) {\n\t\tlet error = getInternalRouterError(404, { pathname });\n\t\tlet routesToUse = dataRoutes.activeRoutes;\n\t\tlet { matches, route } = getShortCircuitMatches(routesToUse);\n\t\treturn {\n\t\t\tnotFoundMatches: matches,\n\t\t\troute,\n\t\t\terror\n\t\t};\n\t}\n\tfunction enableScrollRestoration(positions, getPosition, getKey) {\n\t\tsavedScrollPositions = positions;\n\t\tgetScrollPosition = getPosition;\n\t\tgetScrollRestorationKey = getKey || null;\n\t\tif (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n\t\t\tinitialScrollRestored = true;\n\t\t\tlet y = getSavedScrollPosition(state.location, state.matches);\n\t\t\tif (y != null) updateState({ restoreScrollPosition: y });\n\t\t}\n\t\treturn () => {\n\t\t\tsavedScrollPositions = null;\n\t\t\tgetScrollPosition = null;\n\t\t\tgetScrollRestorationKey = null;\n\t\t};\n\t}\n\tfunction getScrollKey(location, matches) {\n\t\tif (getScrollRestorationKey) return getScrollRestorationKey(location, matches.map((m) => convertRouteMatchToUiMatch(m, state.loaderData))) || location.key;\n\t\treturn location.key;\n\t}\n\tfunction saveScrollPosition(location, matches) {\n\t\tif (savedScrollPositions && getScrollPosition) {\n\t\t\tlet key = getScrollKey(location, matches);\n\t\t\tsavedScrollPositions[key] = getScrollPosition();\n\t\t}\n\t}\n\tfunction getSavedScrollPosition(location, matches) {\n\t\tif (savedScrollPositions) {\n\t\t\tlet key = getScrollKey(location, matches);\n\t\t\tlet y = savedScrollPositions[key];\n\t\t\tif (typeof y === \"number\") return y;\n\t\t}\n\t\treturn null;\n\t}\n\tfunction checkFogOfWar(matches, routesToUse, pathname) {\n\t\tif (init.patchRoutesOnNavigation) {\n\t\t\tlet activeBranches = dataRoutes.branches;\n\t\t\tif (!matches) return {\n\t\t\t\tactive: true,\n\t\t\t\tmatches: matchRoutesImpl(routesToUse, pathname, basename, true, activeBranches) || []\n\t\t\t};\n\t\t\telse if (Object.keys(matches[0].params).length > 0) return {\n\t\t\t\tactive: true,\n\t\t\t\tmatches: matchRoutesImpl(routesToUse, pathname, basename, true, activeBranches)\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tactive: false,\n\t\t\tmatches: null\n\t\t};\n\t}\n\tasync function discoverRoutes(matches, pathname, signal, fetcherKey) {\n\t\tif (!init.patchRoutesOnNavigation) return {\n\t\t\ttype: \"success\",\n\t\t\tmatches\n\t\t};\n\t\tlet partialMatches = matches;\n\t\twhile (true) {\n\t\t\tlet localManifest = manifest;\n\t\t\ttry {\n\t\t\t\tawait init.patchRoutesOnNavigation({\n\t\t\t\t\tsignal,\n\t\t\t\t\tpath: pathname,\n\t\t\t\t\tmatches: partialMatches,\n\t\t\t\t\tfetcherKey,\n\t\t\t\t\tpatch: (routeId, children) => {\n\t\t\t\t\t\tif (signal.aborted) return;\n\t\t\t\t\t\tpatchRoutesImpl(routeId, children, dataRoutes, localManifest, mapRouteProperties, false);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} catch (e) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\terror: e,\n\t\t\t\t\tpartialMatches\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (signal.aborted) return { type: \"aborted\" };\n\t\t\tlet activeBranches = dataRoutes.branches;\n\t\t\tlet newMatches = matchRoutesImpl(dataRoutes.activeRoutes, pathname, basename, false, activeBranches);\n\t\t\tlet newPartialMatches = null;\n\t\t\tif (newMatches) if (Object.keys(newMatches[0].params).length === 0) return {\n\t\t\t\ttype: \"success\",\n\t\t\t\tmatches: newMatches\n\t\t\t};\n\t\t\telse {\n\t\t\t\tnewPartialMatches = matchRoutesImpl(dataRoutes.activeRoutes, pathname, basename, true, activeBranches);\n\t\t\t\tif (!(newPartialMatches && partialMatches.length < newPartialMatches.length && compareMatches(partialMatches, newPartialMatches.slice(0, partialMatches.length)))) return {\n\t\t\t\t\ttype: \"success\",\n\t\t\t\t\tmatches: newMatches\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (!newPartialMatches) newPartialMatches = matchRoutesImpl(dataRoutes.activeRoutes, pathname, basename, true, activeBranches);\n\t\t\tif (!newPartialMatches || compareMatches(partialMatches, newPartialMatches)) return {\n\t\t\t\ttype: \"success\",\n\t\t\t\tmatches: null\n\t\t\t};\n\t\t\tpartialMatches = newPartialMatches;\n\t\t}\n\t}\n\tfunction compareMatches(a, b) {\n\t\treturn a.length === b.length && a.every((m, i) => m.route.id === b[i].route.id);\n\t}\n\tfunction _internalSetRoutes(newRoutes) {\n\t\tmanifest = {};\n\t\tdataRoutes.setHmrRoutes(convertRoutesToDataRoutes(newRoutes, mapRouteProperties, void 0, manifest));\n\t}\n\tfunction patchRoutes(routeId, children, unstable_allowElementMutations = false) {\n\t\tpatchRoutesImpl(routeId, children, dataRoutes, manifest, mapRouteProperties, unstable_allowElementMutations);\n\t\tif (!dataRoutes.hasHMRRoutes) updateState({});\n\t}\n\trouter = {\n\t\tget basename() {\n\t\t\treturn basename;\n\t\t},\n\t\tget future() {\n\t\t\treturn future;\n\t\t},\n\t\tget state() {\n\t\t\treturn state;\n\t\t},\n\t\tget routes() {\n\t\t\treturn dataRoutes.stableRoutes;\n\t\t},\n\t\tget branches() {\n\t\t\treturn dataRoutes.branches;\n\t\t},\n\t\tget manifest() {\n\t\t\treturn manifest;\n\t\t},\n\t\tget window() {\n\t\t\treturn routerWindow;\n\t\t},\n\t\tinitialize,\n\t\tsubscribe,\n\t\tenableScrollRestoration,\n\t\tnavigate,\n\t\tfetch,\n\t\trevalidate,\n\t\tcreateHref: (to) => init.history.createHref(to),\n\t\tencodeLocation: (to) => init.history.encodeLocation(to),\n\t\tgetFetcher,\n\t\tresetFetcher,\n\t\tdeleteFetcher: queueFetcherForDeletion,\n\t\tdispose,\n\t\tgetBlocker,\n\t\tdeleteBlocker,\n\t\tpatchRoutes,\n\t\t_internalFetchControllers: fetchControllers,\n\t\t_internalSetRoutes,\n\t\t_internalSetStateDoNotUseOrYouWillBreakYourApp(newState) {\n\t\t\tupdateState(newState);\n\t\t}\n\t};\n\tif (init.instrumentations) router = instrumentClientSideRouter(router, init.instrumentations.map((i) => i.router).filter(Boolean));\n\treturn router;\n}\n/**\n* Create a static handler to perform server-side data loading\n*\n* @example\n* export async function handleRequest(request: Request) {\n* let { query, dataRoutes } = createStaticHandler(routes);\n* let context = await query(request);\n*\n* if (context instanceof Response) {\n* return context;\n* }\n*\n* let router = createStaticRouter(dataRoutes, context);\n* return new Response(\n* ReactDOMServer.renderToString(<StaticRouterProvider ... />),\n* { headers: { \"Content-Type\": \"text/html\" } }\n* );\n* }\n*\n* @public\n* @category Data Routers\n* @mode data\n* @param routes The {@link RouteObject | route objects} to create a static\n* handler for\n* @param opts Options\n* @param opts.basename The base URL for the static handler (default: `/`)\n* @param opts.future Future flags for the static handler\n* @returns A static handler that can be used to query data for the provided\n* routes\n*/\nfunction createStaticHandler(routes, opts) {\n\tinvariant(routes.length > 0, \"You must provide a non-empty routes array to createStaticHandler\");\n\tlet manifest = {};\n\tlet basename = (opts ? opts.basename : null) || \"/\";\n\tlet _mapRouteProperties = opts?.mapRouteProperties;\n\tlet mapRouteProperties = _mapRouteProperties ? _mapRouteProperties : () => ({});\n\t({ ...opts?.future });\n\tif (opts?.instrumentations) {\n\t\tlet instrumentations = opts.instrumentations;\n\t\tmapRouteProperties = (route) => {\n\t\t\treturn {\n\t\t\t\t..._mapRouteProperties?.(route),\n\t\t\t\t...getRouteInstrumentationUpdates(instrumentations.map((i) => i.route).filter(Boolean), route)\n\t\t\t};\n\t\t};\n\t}\n\tlet dataRoutes = convertRoutesToDataRoutes(routes, mapRouteProperties, void 0, manifest);\n\tlet routeBranches = flattenAndRankRoutes(dataRoutes);\n\t/**\n\t* The query() method is intended for document requests, in which we want to\n\t* call an optional action and potentially multiple loaders for all nested\n\t* routes. It returns a StaticHandlerContext object, which is very similar\n\t* to the router state (location, loaderData, actionData, errors, etc.) and\n\t* also adds SSR-specific information such as the statusCode and headers\n\t* from action/loaders Responses.\n\t*\n\t* It _should_ never throw and should report all errors through the\n\t* returned handlerContext.errors object, properly associating errors to\n\t* their error boundary. Additionally, it tracks _deepestRenderedBoundaryId\n\t* which can be used to emulate React error boundaries during SSR by performing\n\t* a second pass only down to the boundaryId.\n\t*\n\t* The one exception where we do not return a StaticHandlerContext is when a\n\t* redirect response is returned or thrown from any action/loader. We\n\t* propagate that out and return the raw Response so the HTTP server can\n\t* return it directly.\n\t*\n\t* - `opts.requestContext` is an optional server context that will be passed\n\t* to actions/loaders in the `context` parameter\n\t* - `opts.skipLoaderErrorBubbling` is an optional parameter that will prevent\n\t* the bubbling of errors which allows single-fetch-type implementations\n\t* where the client will handle the bubbling and we may need to return data\n\t* for the handling route\n\t*/\n\tasync function query(request, { requestContext, filterMatchesToLoad, skipLoaderErrorBubbling, skipRevalidation, dataStrategy, generateMiddlewareResponse, normalizePath } = {}) {\n\t\tlet normalizePathImpl = normalizePath || defaultNormalizePath;\n\t\tlet method = request.method;\n\t\tlet location = createLocation(\"\", normalizePathImpl(request), null, \"default\");\n\t\tlet matches = matchRoutesImpl(dataRoutes, location, basename, false, routeBranches);\n\t\trequestContext = requestContext != null ? requestContext : new RouterContextProvider();\n\t\tif (!isValidMethod(method) && method !== \"HEAD\") {\n\t\t\tlet error = getInternalRouterError(405, { method });\n\t\t\tlet { matches: methodNotAllowedMatches, route } = getShortCircuitMatches(dataRoutes);\n\t\t\tlet staticContext = {\n\t\t\t\tbasename,\n\t\t\t\tlocation,\n\t\t\t\tmatches: methodNotAllowedMatches,\n\t\t\t\tloaderData: {},\n\t\t\t\tactionData: null,\n\t\t\t\terrors: { [route.id]: error },\n\t\t\t\tstatusCode: error.status,\n\t\t\t\tloaderHeaders: {},\n\t\t\t\tactionHeaders: {}\n\t\t\t};\n\t\t\treturn generateMiddlewareResponse ? generateMiddlewareResponse(() => Promise.resolve(staticContext)) : staticContext;\n\t\t} else if (!matches) {\n\t\t\tlet error = getInternalRouterError(404, { pathname: location.pathname });\n\t\t\tlet { matches: notFoundMatches, route } = getShortCircuitMatches(dataRoutes);\n\t\t\tlet staticContext = {\n\t\t\t\tbasename,\n\t\t\t\tlocation,\n\t\t\t\tmatches: notFoundMatches,\n\t\t\t\tloaderData: {},\n\t\t\t\tactionData: null,\n\t\t\t\terrors: { [route.id]: error },\n\t\t\t\tstatusCode: error.status,\n\t\t\t\tloaderHeaders: {},\n\t\t\t\tactionHeaders: {}\n\t\t\t};\n\t\t\treturn generateMiddlewareResponse ? generateMiddlewareResponse(() => Promise.resolve(staticContext)) : staticContext;\n\t\t}\n\t\tif (generateMiddlewareResponse) {\n\t\t\tinvariant(requestContext instanceof RouterContextProvider, \"When using middleware in `staticHandler.query()`, any provided `requestContext` must be an instance of `RouterContextProvider`\");\n\t\t\ttry {\n\t\t\t\tawait loadLazyMiddlewareForMatches(matches, manifest, mapRouteProperties);\n\t\t\t\tlet renderedStaticContext;\n\t\t\t\tlet response = await runServerMiddlewarePipeline({\n\t\t\t\t\trequest,\n\t\t\t\t\turl: createDataFunctionUrl(request, location),\n\t\t\t\t\tpattern: getRoutePattern(matches),\n\t\t\t\t\tmatches,\n\t\t\t\t\tparams: matches[0].params,\n\t\t\t\t\tcontext: requestContext\n\t\t\t\t}, async () => {\n\t\t\t\t\treturn await generateMiddlewareResponse(async (revalidationRequest, opts = {}) => {\n\t\t\t\t\t\tlet result = await queryImpl(revalidationRequest, location, matches, requestContext, dataStrategy || null, skipLoaderErrorBubbling === true, null, \"filterMatchesToLoad\" in opts ? opts.filterMatchesToLoad ?? null : filterMatchesToLoad ?? null, skipRevalidation === true);\n\t\t\t\t\t\tif (isResponse(result)) return result;\n\t\t\t\t\t\trenderedStaticContext = {\n\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\tbasename,\n\t\t\t\t\t\t\t...result\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn renderedStaticContext;\n\t\t\t\t\t});\n\t\t\t\t}, async (error, routeId) => {\n\t\t\t\t\tif (isRedirectResponse(error)) return error;\n\t\t\t\t\tif (isResponse(error)) try {\n\t\t\t\t\t\terror = new ErrorResponseImpl(error.status, error.statusText, await parseResponseBody(error));\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\terror = e;\n\t\t\t\t\t}\n\t\t\t\t\tif (isDataWithResponseInit(error)) error = dataWithResponseInitToErrorResponse(error);\n\t\t\t\t\tif (renderedStaticContext) {\n\t\t\t\t\t\tif (routeId in renderedStaticContext.loaderData) renderedStaticContext.loaderData[routeId] = void 0;\n\t\t\t\t\t\tlet staticContext = getStaticContextFromError(dataRoutes, renderedStaticContext, error, skipLoaderErrorBubbling ? routeId : findNearestBoundary(matches, routeId).route.id);\n\t\t\t\t\t\treturn generateMiddlewareResponse(() => Promise.resolve(staticContext));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet staticContext = {\n\t\t\t\t\t\t\tmatches,\n\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\tbasename,\n\t\t\t\t\t\t\tloaderData: {},\n\t\t\t\t\t\t\tactionData: null,\n\t\t\t\t\t\t\terrors: { [skipLoaderErrorBubbling ? routeId : findNearestBoundary(matches, matches.find((m) => m.route.id === routeId || m.route.loader)?.route.id || routeId).route.id]: error },\n\t\t\t\t\t\t\tstatusCode: isRouteErrorResponse(error) ? error.status : 500,\n\t\t\t\t\t\t\tactionHeaders: {},\n\t\t\t\t\t\t\tloaderHeaders: {}\n\t\t\t\t\t\t};\n\t\t\t\t\t\treturn generateMiddlewareResponse(() => Promise.resolve(staticContext));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tinvariant(isResponse(response), \"Expected a response in query()\");\n\t\t\t\treturn response;\n\t\t\t} catch (e) {\n\t\t\t\tif (isResponse(e)) return e;\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t}\n\t\tlet result = await queryImpl(request, location, matches, requestContext, dataStrategy || null, skipLoaderErrorBubbling === true, null, filterMatchesToLoad || null, skipRevalidation === true);\n\t\tif (isResponse(result)) return result;\n\t\treturn {\n\t\t\tlocation,\n\t\t\tbasename,\n\t\t\t...result\n\t\t};\n\t}\n\t/**\n\t* The queryRoute() method is intended for targeted route requests, either\n\t* for fetch ?_data requests or resource route requests. In this case, we\n\t* are only ever calling a single action or loader, and we are returning the\n\t* returned value directly. In most cases, this will be a Response returned\n\t* from the action/loader, but it may be a primitive or other value as well -\n\t* and in such cases the calling context should handle that accordingly.\n\t*\n\t* We do respect the throw/return differentiation, so if an action/loader\n\t* throws, then this method will throw the value. This is important so we\n\t* can do proper boundary identification in Remix where a thrown Response\n\t* must go to the Catch Boundary but a returned Response is happy-path.\n\t*\n\t* One thing to note is that any Router-initiated Errors that make sense\n\t* to associate with a status code will be thrown as an ErrorResponse\n\t* instance which include the raw Error, such that the calling context can\n\t* serialize the error as they see fit while including the proper response\n\t* code. Examples here are 404 and 405 errors that occur prior to reaching\n\t* any user-defined loaders.\n\t*\n\t* - `opts.routeId` allows you to specify the specific route handler to call.\n\t* If not provided the handler will determine the proper route by matching\n\t* against `request.url`\n\t* - `opts.requestContext` is an optional server context that will be passed\n\t* to actions/loaders in the `context` parameter\n\t*/\n\tasync function queryRoute(request, { routeId, requestContext, dataStrategy, generateMiddlewareResponse, normalizePath } = {}) {\n\t\tlet normalizePathImpl = normalizePath || defaultNormalizePath;\n\t\tlet method = request.method;\n\t\tlet location = createLocation(\"\", normalizePathImpl(request), null, \"default\");\n\t\tlet matches = matchRoutesImpl(dataRoutes, location, basename, false, routeBranches);\n\t\trequestContext = requestContext != null ? requestContext : new RouterContextProvider();\n\t\tif (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") throw getInternalRouterError(405, { method });\n\t\telse if (!matches) throw getInternalRouterError(404, { pathname: location.pathname });\n\t\tlet match = routeId ? matches.find((m) => m.route.id === routeId) : getTargetMatch(matches, location);\n\t\tif (routeId && !match) throw getInternalRouterError(403, {\n\t\t\tpathname: location.pathname,\n\t\t\trouteId\n\t\t});\n\t\telse if (!match) throw getInternalRouterError(404, { pathname: location.pathname });\n\t\tif (generateMiddlewareResponse) {\n\t\t\tinvariant(requestContext instanceof RouterContextProvider, \"When using middleware in `staticHandler.queryRoute()`, any provided `requestContext` must be an instance of `RouterContextProvider`\");\n\t\t\tawait loadLazyMiddlewareForMatches(matches, manifest, mapRouteProperties);\n\t\t\treturn await runServerMiddlewarePipeline({\n\t\t\t\trequest,\n\t\t\t\turl: createDataFunctionUrl(request, location),\n\t\t\t\tpattern: getRoutePattern(matches),\n\t\t\t\tmatches,\n\t\t\t\tparams: matches[0].params,\n\t\t\t\tcontext: requestContext\n\t\t\t}, async () => {\n\t\t\t\treturn await generateMiddlewareResponse(async (innerRequest) => {\n\t\t\t\t\tlet processed = handleQueryResult(await queryImpl(innerRequest, location, matches, requestContext, dataStrategy || null, false, match, null, false));\n\t\t\t\t\treturn isResponse(processed) ? processed : typeof processed === \"string\" ? new Response(processed) : Response.json(processed);\n\t\t\t\t});\n\t\t\t}, (error) => {\n\t\t\t\tif (isDataWithResponseInit(error)) return Promise.resolve(dataWithResponseInitToResponse(error));\n\t\t\t\tif (isResponse(error)) return Promise.resolve(error);\n\t\t\t\tthrow error;\n\t\t\t});\n\t\t}\n\t\treturn handleQueryResult(await queryImpl(request, location, matches, requestContext, dataStrategy || null, false, match, null, false));\n\t\tfunction handleQueryResult(result) {\n\t\t\tif (isResponse(result)) return result;\n\t\t\tlet error = result.errors ? Object.values(result.errors)[0] : void 0;\n\t\t\tif (error !== void 0) throw error;\n\t\t\tif (result.actionData) return Object.values(result.actionData)[0];\n\t\t\tif (result.loaderData) return Object.values(result.loaderData)[0];\n\t\t}\n\t}\n\tasync function queryImpl(request, location, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch, filterMatchesToLoad, skipRevalidation) {\n\t\tinvariant(request.signal, \"query()/queryRoute() requests must contain an AbortController signal\");\n\t\ttry {\n\t\t\tif (isMutationMethod(request.method)) return await submit(request, location, matches, routeMatch || getTargetMatch(matches, location), requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch != null, filterMatchesToLoad, skipRevalidation);\n\t\t\tlet result = await loadRouteData(request, location, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch, filterMatchesToLoad);\n\t\t\treturn isResponse(result) ? result : {\n\t\t\t\t...result,\n\t\t\t\tactionData: null,\n\t\t\t\tactionHeaders: {}\n\t\t\t};\n\t\t} catch (e) {\n\t\t\tif (isDataStrategyResult(e) && isResponse(e.result)) {\n\t\t\t\tif (e.type === \"error\") throw e.result;\n\t\t\t\treturn e.result;\n\t\t\t}\n\t\t\tif (isRedirectResponse(e)) return e;\n\t\t\tthrow e;\n\t\t}\n\t}\n\tasync function submit(request, location, matches, actionMatch, requestContext, dataStrategy, skipLoaderErrorBubbling, isRouteRequest, filterMatchesToLoad, skipRevalidation) {\n\t\tlet result;\n\t\tif (!actionMatch.route.action && !actionMatch.route.lazy) {\n\t\t\tlet error = getInternalRouterError(405, {\n\t\t\t\tmethod: request.method,\n\t\t\t\tpathname: new URL(request.url).pathname,\n\t\t\t\trouteId: actionMatch.route.id\n\t\t\t});\n\t\t\tif (isRouteRequest) throw error;\n\t\t\tresult = {\n\t\t\t\ttype: \"error\",\n\t\t\t\terror\n\t\t\t};\n\t\t} else {\n\t\t\tresult = (await callDataStrategy(request, location, getTargetedDataStrategyMatches(mapRouteProperties, manifest, request, location, matches, actionMatch, [], requestContext), isRouteRequest, requestContext, dataStrategy))[actionMatch.route.id];\n\t\t\tif (request.signal.aborted) throwStaticHandlerAbortedError(request, isRouteRequest);\n\t\t}\n\t\tif (isRedirectResult(result)) throw new Response(null, {\n\t\t\tstatus: result.response.status,\n\t\t\theaders: { Location: result.response.headers.get(\"Location\") }\n\t\t});\n\t\tif (isRouteRequest) {\n\t\t\tif (isErrorResult(result)) throw result.error;\n\t\t\treturn {\n\t\t\t\tmatches: [actionMatch],\n\t\t\t\tloaderData: {},\n\t\t\t\tactionData: { [actionMatch.route.id]: result.data },\n\t\t\t\terrors: null,\n\t\t\t\tstatusCode: 200,\n\t\t\t\tloaderHeaders: {},\n\t\t\t\tactionHeaders: {}\n\t\t\t};\n\t\t}\n\t\tif (skipRevalidation) if (isErrorResult(result)) {\n\t\t\tlet boundaryMatch = skipLoaderErrorBubbling ? actionMatch : findNearestBoundary(matches, actionMatch.route.id);\n\t\t\treturn {\n\t\t\t\tstatusCode: isRouteErrorResponse(result.error) ? result.error.status : result.statusCode != null ? result.statusCode : 500,\n\t\t\t\tactionData: null,\n\t\t\t\tactionHeaders: { ...result.headers ? { [actionMatch.route.id]: result.headers } : {} },\n\t\t\t\tmatches,\n\t\t\t\tloaderData: {},\n\t\t\t\terrors: { [boundaryMatch.route.id]: result.error },\n\t\t\t\tloaderHeaders: {}\n\t\t\t};\n\t\t} else return {\n\t\t\tactionData: { [actionMatch.route.id]: result.data },\n\t\t\tactionHeaders: result.headers ? { [actionMatch.route.id]: result.headers } : {},\n\t\t\tmatches,\n\t\t\tloaderData: {},\n\t\t\terrors: null,\n\t\t\tstatusCode: result.statusCode || 200,\n\t\t\tloaderHeaders: {}\n\t\t};\n\t\tlet loaderRequest = new Request(request.url, {\n\t\t\theaders: request.headers,\n\t\t\tredirect: request.redirect,\n\t\t\tsignal: request.signal\n\t\t});\n\t\tif (isErrorResult(result)) return {\n\t\t\t...await loadRouteData(loaderRequest, location, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, null, filterMatchesToLoad, [(skipLoaderErrorBubbling ? actionMatch : findNearestBoundary(matches, actionMatch.route.id)).route.id, result]),\n\t\t\tstatusCode: isRouteErrorResponse(result.error) ? result.error.status : result.statusCode != null ? result.statusCode : 500,\n\t\t\tactionData: null,\n\t\t\tactionHeaders: { ...result.headers ? { [actionMatch.route.id]: result.headers } : {} }\n\t\t};\n\t\treturn {\n\t\t\t...await loadRouteData(loaderRequest, location, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, null, filterMatchesToLoad),\n\t\t\tactionData: { [actionMatch.route.id]: result.data },\n\t\t\t...result.statusCode ? { statusCode: result.statusCode } : {},\n\t\t\tactionHeaders: result.headers ? { [actionMatch.route.id]: result.headers } : {}\n\t\t};\n\t}\n\tasync function loadRouteData(request, location, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch, filterMatchesToLoad, pendingActionResult) {\n\t\tlet isRouteRequest = routeMatch != null;\n\t\tif (isRouteRequest && !routeMatch?.route.loader && !routeMatch?.route.lazy) throw getInternalRouterError(400, {\n\t\t\tmethod: request.method,\n\t\t\tpathname: new URL(request.url).pathname,\n\t\t\trouteId: routeMatch?.route.id\n\t\t});\n\t\tlet dsMatches;\n\t\tif (routeMatch) dsMatches = getTargetedDataStrategyMatches(mapRouteProperties, manifest, request, location, matches, routeMatch, [], requestContext);\n\t\telse {\n\t\t\tlet maxIdx = pendingActionResult && isErrorResult(pendingActionResult[1]) ? matches.findIndex((m) => m.route.id === pendingActionResult[0]) - 1 : void 0;\n\t\t\tlet pattern = getRoutePattern(matches);\n\t\t\tdsMatches = matches.map((match, index) => {\n\t\t\t\tif (maxIdx != null && index > maxIdx) return getDataStrategyMatch(mapRouteProperties, manifest, request, location, pattern, match, [], requestContext, false);\n\t\t\t\treturn getDataStrategyMatch(mapRouteProperties, manifest, request, location, pattern, match, [], requestContext, (match.route.loader || match.route.lazy) != null && (!filterMatchesToLoad || filterMatchesToLoad(match)));\n\t\t\t});\n\t\t}\n\t\tif (!dataStrategy && !dsMatches.some((m) => m.shouldLoad)) return {\n\t\t\tmatches,\n\t\t\tloaderData: {},\n\t\t\terrors: pendingActionResult && isErrorResult(pendingActionResult[1]) ? { [pendingActionResult[0]]: pendingActionResult[1].error } : null,\n\t\t\tstatusCode: 200,\n\t\t\tloaderHeaders: {}\n\t\t};\n\t\tlet results = await callDataStrategy(request, location, dsMatches, isRouteRequest, requestContext, dataStrategy);\n\t\tif (request.signal.aborted) throwStaticHandlerAbortedError(request, isRouteRequest);\n\t\treturn {\n\t\t\t...processRouteLoaderData(matches, results, pendingActionResult, true, skipLoaderErrorBubbling),\n\t\t\tmatches\n\t\t};\n\t}\n\tasync function callDataStrategy(request, location, matches, isRouteRequest, requestContext, dataStrategy) {\n\t\tlet results = await callDataStrategyImpl(dataStrategy || defaultDataStrategy, request, location, matches, null, requestContext, true);\n\t\tlet dataResults = {};\n\t\tawait Promise.all(matches.map(async (match) => {\n\t\t\tif (!(match.route.id in results)) return;\n\t\t\tlet result = results[match.route.id];\n\t\t\tif (isRedirectDataStrategyResult(result)) {\n\t\t\t\tlet response = result.result;\n\t\t\t\tthrow normalizeRelativeRoutingRedirectResponse(response, request, match.route.id, matches, basename);\n\t\t\t}\n\t\t\tif (isRouteRequest) {\n\t\t\t\tif (isResponse(result.result)) throw result;\n\t\t\t\telse if (isDataWithResponseInit(result.result)) throw dataWithResponseInitToResponse(result.result);\n\t\t\t}\n\t\t\tdataResults[match.route.id] = await convertDataStrategyResultToDataResult(result);\n\t\t}));\n\t\treturn dataResults;\n\t}\n\treturn {\n\t\tdataRoutes,\n\t\t_internalRouteBranches: routeBranches,\n\t\tquery,\n\t\tqueryRoute\n\t};\n}\n/**\n* Given an existing StaticHandlerContext and an error thrown at render time,\n* provide an updated StaticHandlerContext suitable for a second SSR render\n*\n* @category Utils\n*/\nfunction getStaticContextFromError(routes, handlerContext, error, boundaryId) {\n\tlet errorBoundaryId = boundaryId || handlerContext._deepestRenderedBoundaryId || routes[0].id;\n\treturn {\n\t\t...handlerContext,\n\t\tstatusCode: isRouteErrorResponse(error) ? error.status : 500,\n\t\terrors: { [errorBoundaryId]: error }\n\t};\n}\nfunction throwStaticHandlerAbortedError(request, isRouteRequest) {\n\tif (request.signal.reason !== void 0) throw request.signal.reason;\n\tthrow new Error(`${isRouteRequest ? \"queryRoute\" : \"query\"}() call aborted without an \\`AbortSignal.reason\\`: ${request.method} ${request.url}`);\n}\nfunction isSubmissionNavigation(opts) {\n\treturn opts != null && (\"formData\" in opts && opts.formData != null || \"body\" in opts && opts.body !== void 0);\n}\nfunction defaultNormalizePath(request) {\n\tlet url = new URL(request.url);\n\treturn {\n\t\tpathname: url.pathname,\n\t\tsearch: url.search,\n\t\thash: url.hash\n\t};\n}\nfunction normalizeTo(location, matches, basename, to, fromRouteId, relative) {\n\tlet contextualMatches;\n\tlet activeRouteMatch;\n\tif (fromRouteId) {\n\t\tcontextualMatches = [];\n\t\tfor (let match of matches) {\n\t\t\tcontextualMatches.push(match);\n\t\t\tif (match.route.id === fromRouteId) {\n\t\t\t\tactiveRouteMatch = match;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t} else {\n\t\tcontextualMatches = matches;\n\t\tactiveRouteMatch = matches[matches.length - 1];\n\t}\n\tlet path = resolveTo(to ? to : \".\", getResolveToMatches(contextualMatches), stripBasename(location.pathname, basename) || location.pathname, relative === \"path\");\n\tif (to == null) {\n\t\tpath.search = location.search;\n\t\tpath.hash = location.hash;\n\t}\n\tif ((to == null || to === \"\" || to === \".\") && activeRouteMatch) {\n\t\tlet nakedIndex = hasNakedIndexQuery(path.search);\n\t\tif (activeRouteMatch.route.index && !nakedIndex) path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n\t\telse if (!activeRouteMatch.route.index && nakedIndex) {\n\t\t\tlet params = new URLSearchParams(path.search);\n\t\t\tlet indexValues = params.getAll(\"index\");\n\t\t\tparams.delete(\"index\");\n\t\t\tindexValues.filter((v) => v).forEach((v) => params.append(\"index\", v));\n\t\t\tlet qs = params.toString();\n\t\t\tpath.search = qs ? `?${qs}` : \"\";\n\t\t}\n\t}\n\tif (basename !== \"/\") path.pathname = prependBasename({\n\t\tbasename,\n\t\tpathname: path.pathname\n\t});\n\treturn createPath(path);\n}\nfunction normalizeNavigateOptions(isFetcher, path, opts) {\n\tif (!opts || !isSubmissionNavigation(opts)) return { path };\n\tif (opts.formMethod && !isValidMethod(opts.formMethod)) return {\n\t\tpath,\n\t\terror: getInternalRouterError(405, { method: opts.formMethod })\n\t};\n\tlet getInvalidBodyError = () => ({\n\t\tpath,\n\t\terror: getInternalRouterError(400, { type: \"invalid-body\" })\n\t});\n\tlet formMethod = (opts.formMethod || \"get\").toUpperCase();\n\tlet formAction = stripHashFromPath(path);\n\tif (opts.body !== void 0) {\n\t\tif (opts.formEncType === \"text/plain\") {\n\t\t\tif (!isMutationMethod(formMethod)) return getInvalidBodyError();\n\t\t\tlet text = typeof opts.body === \"string\" ? opts.body : opts.body instanceof FormData || opts.body instanceof URLSearchParams ? Array.from(opts.body.entries()).reduce((acc, [name, value]) => `${acc}${name}=${value}\\n`, \"\") : String(opts.body);\n\t\t\treturn {\n\t\t\t\tpath,\n\t\t\t\tsubmission: {\n\t\t\t\t\tformMethod,\n\t\t\t\t\tformAction,\n\t\t\t\t\tformEncType: opts.formEncType,\n\t\t\t\t\tformData: void 0,\n\t\t\t\t\tjson: void 0,\n\t\t\t\t\ttext\n\t\t\t\t}\n\t\t\t};\n\t\t} else if (opts.formEncType === \"application/json\") {\n\t\t\tif (!isMutationMethod(formMethod)) return getInvalidBodyError();\n\t\t\ttry {\n\t\t\t\tlet json = typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n\t\t\t\treturn {\n\t\t\t\t\tpath,\n\t\t\t\t\tsubmission: {\n\t\t\t\t\t\tformMethod,\n\t\t\t\t\t\tformAction,\n\t\t\t\t\t\tformEncType: opts.formEncType,\n\t\t\t\t\t\tformData: void 0,\n\t\t\t\t\t\tjson,\n\t\t\t\t\t\ttext: void 0\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t} catch (e) {\n\t\t\t\treturn getInvalidBodyError();\n\t\t\t}\n\t\t}\n\t}\n\tinvariant(typeof FormData === \"function\", \"FormData is not available in this environment\");\n\tlet searchParams;\n\tlet formData;\n\tif (opts.formData) {\n\t\tsearchParams = convertFormDataToSearchParams(opts.formData);\n\t\tformData = opts.formData;\n\t} else if (opts.body instanceof FormData) {\n\t\tsearchParams = convertFormDataToSearchParams(opts.body);\n\t\tformData = opts.body;\n\t} else if (opts.body instanceof URLSearchParams) {\n\t\tsearchParams = opts.body;\n\t\tformData = convertSearchParamsToFormData(searchParams);\n\t} else if (opts.body == null) {\n\t\tsearchParams = new URLSearchParams();\n\t\tformData = new FormData();\n\t} else try {\n\t\tsearchParams = new URLSearchParams(opts.body);\n\t\tformData = convertSearchParamsToFormData(searchParams);\n\t} catch (e) {\n\t\treturn getInvalidBodyError();\n\t}\n\tlet submission = {\n\t\tformMethod,\n\t\tformAction,\n\t\tformEncType: opts && opts.formEncType || \"application/x-www-form-urlencoded\",\n\t\tformData,\n\t\tjson: void 0,\n\t\ttext: void 0\n\t};\n\tif (isMutationMethod(submission.formMethod)) return {\n\t\tpath,\n\t\tsubmission\n\t};\n\tlet parsedPath = parsePath(path);\n\tif (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) searchParams.append(\"index\", \"\");\n\tparsedPath.search = `?${searchParams}`;\n\treturn {\n\t\tpath: createPath(parsedPath),\n\t\tsubmission\n\t};\n}\nfunction getMatchesToLoad(request, scopedContext, mapRouteProperties, manifest, history, state, matches, submission, location, lazyRoutePropertiesToSkip, initialHydration, isRevalidationRequired, cancelledFetcherLoads, fetchersQueuedForDeletion, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, hasPatchRoutesOnNavigation, branches, pendingActionResult, callSiteDefaultShouldRevalidate) {\n\tlet actionResult = pendingActionResult ? isErrorResult(pendingActionResult[1]) ? pendingActionResult[1].error : pendingActionResult[1].data : void 0;\n\tlet currentUrl = history.createURL(state.location);\n\tlet nextUrl = history.createURL(location);\n\tlet maxIdx;\n\tif (initialHydration && state.errors) {\n\t\tlet boundaryId = Object.keys(state.errors)[0];\n\t\tmaxIdx = matches.findIndex((m) => m.route.id === boundaryId);\n\t} else if (pendingActionResult && isErrorResult(pendingActionResult[1])) {\n\t\tlet boundaryId = pendingActionResult[0];\n\t\tmaxIdx = matches.findIndex((m) => m.route.id === boundaryId) - 1;\n\t}\n\tlet actionStatus = pendingActionResult ? pendingActionResult[1].statusCode : void 0;\n\tlet shouldSkipRevalidation = actionStatus && actionStatus >= 400;\n\tlet baseShouldRevalidateArgs = {\n\t\tcurrentUrl,\n\t\tcurrentParams: state.matches[0]?.params || {},\n\t\tnextUrl,\n\t\tnextParams: matches[0].params,\n\t\t...submission,\n\t\tactionResult,\n\t\tactionStatus\n\t};\n\tlet pattern = getRoutePattern(matches);\n\tlet dsMatches = matches.map((match, index) => {\n\t\tlet { route } = match;\n\t\tlet forceShouldLoad = null;\n\t\tif (maxIdx != null && index > maxIdx) forceShouldLoad = false;\n\t\telse if (route.lazy) forceShouldLoad = true;\n\t\telse if (!routeHasLoaderOrMiddleware(route)) forceShouldLoad = false;\n\t\telse if (initialHydration) {\n\t\t\tlet { shouldLoad } = getRouteHydrationStatus(route, state.loaderData, state.errors);\n\t\t\tforceShouldLoad = shouldLoad;\n\t\t} else if (isNewLoader(state.loaderData, state.matches[index], match)) forceShouldLoad = true;\n\t\tif (forceShouldLoad !== null) return getDataStrategyMatch(mapRouteProperties, manifest, request, location, pattern, match, lazyRoutePropertiesToSkip, scopedContext, forceShouldLoad);\n\t\tlet defaultShouldRevalidate = false;\n\t\tif (typeof callSiteDefaultShouldRevalidate === \"boolean\") defaultShouldRevalidate = callSiteDefaultShouldRevalidate;\n\t\telse if (shouldSkipRevalidation) defaultShouldRevalidate = false;\n\t\telse if (isRevalidationRequired) defaultShouldRevalidate = true;\n\t\telse if (currentUrl.pathname + currentUrl.search === nextUrl.pathname + nextUrl.search) defaultShouldRevalidate = true;\n\t\telse if (currentUrl.search !== nextUrl.search) defaultShouldRevalidate = true;\n\t\telse if (isNewRouteInstance(state.matches[index], match)) defaultShouldRevalidate = true;\n\t\tlet shouldRevalidateArgs = {\n\t\t\t...baseShouldRevalidateArgs,\n\t\t\tdefaultShouldRevalidate\n\t\t};\n\t\treturn getDataStrategyMatch(mapRouteProperties, manifest, request, location, pattern, match, lazyRoutePropertiesToSkip, scopedContext, shouldRevalidateLoader(match, shouldRevalidateArgs), shouldRevalidateArgs, callSiteDefaultShouldRevalidate);\n\t});\n\tlet revalidatingFetchers = [];\n\tfetchLoadMatches.forEach((f, key) => {\n\t\tif (initialHydration || !matches.some((m) => m.route.id === f.routeId) || fetchersQueuedForDeletion.has(key)) return;\n\t\tlet fetcher = state.fetchers.get(key);\n\t\tlet isMidInitialLoad = fetcher && fetcher.state !== \"idle\" && fetcher.data === void 0;\n\t\tlet fetcherMatches = matchRoutesImpl(routesToUse, f.path, basename ?? \"/\", false, branches);\n\t\tif (!fetcherMatches) {\n\t\t\tif (hasPatchRoutesOnNavigation && isMidInitialLoad) return;\n\t\t\trevalidatingFetchers.push({\n\t\t\t\tkey,\n\t\t\t\trouteId: f.routeId,\n\t\t\t\tpath: f.path,\n\t\t\t\tmatches: null,\n\t\t\t\tmatch: null,\n\t\t\t\trequest: null,\n\t\t\t\tcontroller: null\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (fetchRedirectIds.has(key)) return;\n\t\tlet fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n\t\tlet fetchController = new AbortController();\n\t\tlet fetchRequest = createClientSideRequest(history, f.path, fetchController.signal);\n\t\tlet fetcherDsMatches = null;\n\t\tif (cancelledFetcherLoads.has(key)) {\n\t\t\tcancelledFetcherLoads.delete(key);\n\t\t\tfetcherDsMatches = getTargetedDataStrategyMatches(mapRouteProperties, manifest, fetchRequest, f.path, fetcherMatches, fetcherMatch, lazyRoutePropertiesToSkip, scopedContext);\n\t\t} else if (isMidInitialLoad) {\n\t\t\tif (isRevalidationRequired) fetcherDsMatches = getTargetedDataStrategyMatches(mapRouteProperties, manifest, fetchRequest, f.path, fetcherMatches, fetcherMatch, lazyRoutePropertiesToSkip, scopedContext);\n\t\t} else {\n\t\t\tlet defaultShouldRevalidate;\n\t\t\tif (typeof callSiteDefaultShouldRevalidate === \"boolean\") defaultShouldRevalidate = callSiteDefaultShouldRevalidate;\n\t\t\telse if (shouldSkipRevalidation) defaultShouldRevalidate = false;\n\t\t\telse defaultShouldRevalidate = isRevalidationRequired;\n\t\t\tlet shouldRevalidateArgs = {\n\t\t\t\t...baseShouldRevalidateArgs,\n\t\t\t\tdefaultShouldRevalidate\n\t\t\t};\n\t\t\tif (shouldRevalidateLoader(fetcherMatch, shouldRevalidateArgs)) fetcherDsMatches = getTargetedDataStrategyMatches(mapRouteProperties, manifest, fetchRequest, f.path, fetcherMatches, fetcherMatch, lazyRoutePropertiesToSkip, scopedContext, shouldRevalidateArgs);\n\t\t}\n\t\tif (fetcherDsMatches) revalidatingFetchers.push({\n\t\t\tkey,\n\t\t\trouteId: f.routeId,\n\t\t\tpath: f.path,\n\t\t\tmatches: fetcherDsMatches,\n\t\t\tmatch: fetcherMatch,\n\t\t\trequest: fetchRequest,\n\t\t\tcontroller: fetchController\n\t\t});\n\t});\n\treturn {\n\t\tdsMatches,\n\t\trevalidatingFetchers\n\t};\n}\nfunction routeHasLoaderOrMiddleware(route) {\n\treturn route.loader != null || route.middleware != null && route.middleware.length > 0;\n}\nfunction getRouteHydrationStatus(route, loaderData, errors) {\n\tif (route.lazy) return {\n\t\tshouldLoad: true,\n\t\trenderFallback: true\n\t};\n\tif (!routeHasLoaderOrMiddleware(route)) return {\n\t\tshouldLoad: false,\n\t\trenderFallback: false\n\t};\n\tlet hasData = loaderData != null && route.id in loaderData;\n\tlet hasError = errors != null && errors[route.id] !== void 0;\n\tif (!hasData && hasError) return {\n\t\tshouldLoad: false,\n\t\trenderFallback: false\n\t};\n\tif (typeof route.loader === \"function\" && route.loader.hydrate === true) return {\n\t\tshouldLoad: true,\n\t\trenderFallback: !hasData\n\t};\n\tlet shouldLoad = !hasData && !hasError;\n\treturn {\n\t\tshouldLoad,\n\t\trenderFallback: shouldLoad\n\t};\n}\nfunction isNewLoader(currentLoaderData, currentMatch, match) {\n\tlet isNew = !currentMatch || match.route.id !== currentMatch.route.id;\n\tlet isMissingData = !currentLoaderData.hasOwnProperty(match.route.id);\n\treturn isNew || isMissingData;\n}\nfunction isNewRouteInstance(currentMatch, match) {\n\tlet currentPath = currentMatch.route.path;\n\treturn currentMatch.pathname !== match.pathname || currentPath != null && currentPath.endsWith(\"*\") && currentMatch.params[\"*\"] !== match.params[\"*\"];\n}\nfunction shouldRevalidateLoader(loaderMatch, arg) {\n\tif (loaderMatch.route.shouldRevalidate) {\n\t\tlet routeChoice = loaderMatch.route.shouldRevalidate(arg);\n\t\tif (typeof routeChoice === \"boolean\") return routeChoice;\n\t}\n\treturn arg.defaultShouldRevalidate;\n}\nfunction patchRoutesImpl(routeId, children, dataRoutes, manifest, mapRouteProperties, allowElementMutations) {\n\tlet childrenToPatch;\n\tif (routeId) {\n\t\tlet route = manifest[routeId];\n\t\tinvariant(route, `No route found to patch children into: routeId = ${routeId}`);\n\t\tif (!route.children) route.children = [];\n\t\tchildrenToPatch = route.children;\n\t} else childrenToPatch = dataRoutes.activeRoutes;\n\tlet uniqueChildren = [];\n\tlet existingChildren = [];\n\tchildren.forEach((newRoute) => {\n\t\tlet existingRoute = childrenToPatch.find((existingRoute) => isSameRoute(newRoute, existingRoute));\n\t\tif (existingRoute) existingChildren.push({\n\t\t\texistingRoute,\n\t\t\tnewRoute\n\t\t});\n\t\telse uniqueChildren.push(newRoute);\n\t});\n\tif (uniqueChildren.length > 0) {\n\t\tlet newRoutes = convertRoutesToDataRoutes(uniqueChildren, mapRouteProperties, [\n\t\t\trouteId || \"_\",\n\t\t\t\"patch\",\n\t\t\tString(childrenToPatch?.length || \"0\")\n\t\t], manifest);\n\t\tchildrenToPatch.push(...newRoutes);\n\t}\n\tif (allowElementMutations && existingChildren.length > 0) for (let i = 0; i < existingChildren.length; i++) {\n\t\tlet { existingRoute, newRoute } = existingChildren[i];\n\t\tlet existingRouteTyped = existingRoute;\n\t\tlet [newRouteTyped] = convertRoutesToDataRoutes([newRoute], mapRouteProperties, [], {}, true);\n\t\tObject.assign(existingRouteTyped, {\n\t\t\telement: newRouteTyped.element ? newRouteTyped.element : existingRouteTyped.element,\n\t\t\terrorElement: newRouteTyped.errorElement ? newRouteTyped.errorElement : existingRouteTyped.errorElement,\n\t\t\thydrateFallbackElement: newRouteTyped.hydrateFallbackElement ? newRouteTyped.hydrateFallbackElement : existingRouteTyped.hydrateFallbackElement\n\t\t});\n\t}\n\tif (!dataRoutes.hasHMRRoutes) dataRoutes.setRoutes([...dataRoutes.activeRoutes]);\n}\nfunction isSameRoute(newRoute, existingRoute) {\n\tif (\"id\" in newRoute && \"id\" in existingRoute && newRoute.id === existingRoute.id) return true;\n\tif (!(newRoute.index === existingRoute.index && newRoute.path === existingRoute.path && newRoute.caseSensitive === existingRoute.caseSensitive)) return false;\n\tif ((!newRoute.children || newRoute.children.length === 0) && (!existingRoute.children || existingRoute.children.length === 0)) return true;\n\treturn newRoute.children?.every((aChild, i) => existingRoute.children?.some((bChild) => isSameRoute(aChild, bChild))) ?? false;\n}\nconst lazyRoutePropertyCache = /* @__PURE__ */ new WeakMap();\nconst loadLazyRouteProperty = ({ key, route, manifest, mapRouteProperties }) => {\n\tlet routeToUpdate = manifest[route.id];\n\tinvariant(routeToUpdate, \"No route found in manifest\");\n\tif (!routeToUpdate.lazy || typeof routeToUpdate.lazy !== \"object\") return;\n\tlet lazyFn = routeToUpdate.lazy[key];\n\tif (!lazyFn) return;\n\tlet cache = lazyRoutePropertyCache.get(routeToUpdate);\n\tif (!cache) {\n\t\tcache = {};\n\t\tlazyRoutePropertyCache.set(routeToUpdate, cache);\n\t}\n\tlet cachedPromise = cache[key];\n\tif (cachedPromise) return cachedPromise;\n\tlet propertyPromise = (async () => {\n\t\tlet isUnsupported = isUnsupportedLazyRouteObjectKey(key);\n\t\tlet isStaticallyDefined = routeToUpdate[key] !== void 0;\n\t\tif (isUnsupported) {\n\t\t\twarning(!isUnsupported, \"Route property \" + key + \" is not a supported lazy route property. This property will be ignored.\");\n\t\t\tcache[key] = Promise.resolve();\n\t\t} else if (isStaticallyDefined) warning(false, `Route \"${routeToUpdate.id}\" has a static property \"${key}\" defined. The lazy property will be ignored.`);\n\t\telse {\n\t\t\tlet value = await lazyFn();\n\t\t\tif (value != null) {\n\t\t\t\tObject.assign(routeToUpdate, { [key]: value });\n\t\t\t\tObject.assign(routeToUpdate, mapRouteProperties(routeToUpdate));\n\t\t\t}\n\t\t}\n\t\tif (typeof routeToUpdate.lazy === \"object\") {\n\t\t\trouteToUpdate.lazy[key] = void 0;\n\t\t\tif (Object.values(routeToUpdate.lazy).every((value) => value === void 0)) routeToUpdate.lazy = void 0;\n\t\t}\n\t})();\n\tcache[key] = propertyPromise;\n\treturn propertyPromise;\n};\nconst lazyRouteFunctionCache = /* @__PURE__ */ new WeakMap();\n/**\n* Execute route.lazy functions to lazily load route modules (loader, action,\n* shouldRevalidate) and update the routeManifest in place which shares objects\n* with dataRoutes so those get updated as well.\n*/\nfunction loadLazyRoute(route, type, manifest, mapRouteProperties, lazyRoutePropertiesToSkip) {\n\tlet routeToUpdate = manifest[route.id];\n\tinvariant(routeToUpdate, \"No route found in manifest\");\n\tif (!route.lazy) return {\n\t\tlazyRoutePromise: void 0,\n\t\tlazyHandlerPromise: void 0\n\t};\n\tif (typeof route.lazy === \"function\") {\n\t\tlet cachedPromise = lazyRouteFunctionCache.get(routeToUpdate);\n\t\tif (cachedPromise) return {\n\t\t\tlazyRoutePromise: cachedPromise,\n\t\t\tlazyHandlerPromise: cachedPromise\n\t\t};\n\t\tlet lazyRoutePromise = (async () => {\n\t\t\tinvariant(typeof route.lazy === \"function\", \"No lazy route function found\");\n\t\t\tlet lazyRoute = await route.lazy();\n\t\t\tlet routeUpdates = {};\n\t\t\tfor (let lazyRouteProperty in lazyRoute) {\n\t\t\t\tlet lazyValue = lazyRoute[lazyRouteProperty];\n\t\t\t\tif (lazyValue === void 0) continue;\n\t\t\t\tlet isUnsupported = isUnsupportedLazyRouteFunctionKey(lazyRouteProperty);\n\t\t\t\tlet isStaticallyDefined = routeToUpdate[lazyRouteProperty] !== void 0;\n\t\t\t\tif (isUnsupported) warning(!isUnsupported, \"Route property \" + lazyRouteProperty + \" is not a supported property to be returned from a lazy route function. This property will be ignored.\");\n\t\t\t\telse if (isStaticallyDefined) warning(!isStaticallyDefined, `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" defined but its lazy function is also returning a value for this property. The lazy route property \"${lazyRouteProperty}\" will be ignored.`);\n\t\t\t\telse routeUpdates[lazyRouteProperty] = lazyValue;\n\t\t\t}\n\t\t\tObject.assign(routeToUpdate, routeUpdates);\n\t\t\tObject.assign(routeToUpdate, {\n\t\t\t\t...mapRouteProperties(routeToUpdate),\n\t\t\t\tlazy: void 0\n\t\t\t});\n\t\t})();\n\t\tlazyRouteFunctionCache.set(routeToUpdate, lazyRoutePromise);\n\t\tlazyRoutePromise.catch(() => {});\n\t\treturn {\n\t\t\tlazyRoutePromise,\n\t\t\tlazyHandlerPromise: lazyRoutePromise\n\t\t};\n\t}\n\tlet lazyKeys = Object.keys(route.lazy);\n\tlet lazyPropertyPromises = [];\n\tlet lazyHandlerPromise = void 0;\n\tfor (let key of lazyKeys) {\n\t\tif (lazyRoutePropertiesToSkip && lazyRoutePropertiesToSkip.includes(key)) continue;\n\t\tlet promise = loadLazyRouteProperty({\n\t\t\tkey,\n\t\t\troute,\n\t\t\tmanifest,\n\t\t\tmapRouteProperties\n\t\t});\n\t\tif (promise) {\n\t\t\tlazyPropertyPromises.push(promise);\n\t\t\tif (key === type) lazyHandlerPromise = promise;\n\t\t}\n\t}\n\tlet lazyRoutePromise = lazyPropertyPromises.length > 0 ? Promise.all(lazyPropertyPromises).then(() => {}) : void 0;\n\tlazyRoutePromise?.catch(() => {});\n\tlazyHandlerPromise?.catch(() => {});\n\treturn {\n\t\tlazyRoutePromise,\n\t\tlazyHandlerPromise\n\t};\n}\nfunction isNonNullable(value) {\n\treturn value !== void 0;\n}\nfunction loadLazyMiddlewareForMatches(matches, manifest, mapRouteProperties) {\n\tlet promises = matches.map(({ route }) => {\n\t\tif (typeof route.lazy !== \"object\" || !route.lazy.middleware) return;\n\t\treturn loadLazyRouteProperty({\n\t\t\tkey: \"middleware\",\n\t\t\troute,\n\t\t\tmanifest,\n\t\t\tmapRouteProperties\n\t\t});\n\t}).filter(isNonNullable);\n\treturn promises.length > 0 ? Promise.all(promises) : void 0;\n}\nasync function defaultDataStrategy(args) {\n\tlet matchesToLoad = args.matches.filter((m) => m.shouldLoad);\n\tlet keyedResults = {};\n\t(await Promise.all(matchesToLoad.map((m) => m.resolve()))).forEach((result, i) => {\n\t\tkeyedResults[matchesToLoad[i].route.id] = result;\n\t});\n\treturn keyedResults;\n}\nasync function defaultDataStrategyWithMiddleware(args) {\n\tif (!args.matches.some((m) => m.route.middleware)) return defaultDataStrategy(args);\n\treturn runClientMiddlewarePipeline(args, () => defaultDataStrategy(args));\n}\nfunction runServerMiddlewarePipeline(args, handler, errorHandler) {\n\treturn runMiddlewarePipeline(args, handler, processResult, isResponse, errorHandler);\n\tfunction processResult(result) {\n\t\treturn isDataWithResponseInit(result) ? dataWithResponseInitToResponse(result) : result;\n\t}\n}\nfunction runClientMiddlewarePipeline(args, handler) {\n\treturn runMiddlewarePipeline(args, handler, (r) => {\n\t\tif (isRedirectResponse(r)) throw r;\n\t\treturn r;\n\t}, isDataStrategyResults, errorHandler);\n\tasync function errorHandler(error, routeId, nextResult) {\n\t\tif (nextResult) return Object.assign(nextResult.value, { [routeId]: {\n\t\t\ttype: \"error\",\n\t\t\tresult: error\n\t\t} });\n\t\telse {\n\t\t\tlet { matches } = args;\n\t\t\tlet maxBoundaryIdx = Math.min(Math.max(matches.findIndex((m) => m.route.id === routeId), 0), Math.max(matches.findIndex((m) => m.shouldCallHandler()), 0));\n\t\t\tlet deepestRouteId = matches[maxBoundaryIdx].route.id;\n\t\t\tfor (let match of matches.slice(0, maxBoundaryIdx + 1)) try {\n\t\t\t\tawait match._lazyPromises?.route;\n\t\t\t} catch {\n\t\t\t\tdeepestRouteId = match.route.id;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn { [findNearestBoundary(matches, deepestRouteId).route.id]: {\n\t\t\t\ttype: \"error\",\n\t\t\t\tresult: error\n\t\t\t} };\n\t\t}\n\t}\n}\nasync function runMiddlewarePipeline(args, handler, processResult, isResult, errorHandler) {\n\tlet { matches, ...dataFnArgs } = args;\n\treturn await callRouteMiddleware(dataFnArgs, matches.flatMap((m) => m.route.middleware ? m.route.middleware.map((fn) => [m.route.id, fn]) : []), handler, processResult, isResult, errorHandler);\n}\nasync function callRouteMiddleware(args, middlewares, handler, processResult, isResult, errorHandler, idx = 0) {\n\tlet { request } = args;\n\tif (request.signal.aborted) throw request.signal.reason ?? /* @__PURE__ */ new Error(`Request aborted: ${request.method} ${request.url}`);\n\tlet tuple = middlewares[idx];\n\tif (!tuple) return await handler();\n\tlet [routeId, middleware] = tuple;\n\tlet nextResult;\n\tlet next = async () => {\n\t\tif (nextResult) throw new Error(\"You may only call `next()` once per middleware\");\n\t\ttry {\n\t\t\tnextResult = { value: await callRouteMiddleware(args, middlewares, handler, processResult, isResult, errorHandler, idx + 1) };\n\t\t\treturn nextResult.value;\n\t\t} catch (error) {\n\t\t\tnextResult = { value: await errorHandler(error, routeId, nextResult) };\n\t\t\treturn nextResult.value;\n\t\t}\n\t};\n\ttry {\n\t\tlet value = await middleware(args, next);\n\t\tlet result = value != null ? processResult(value) : void 0;\n\t\tif (isResult(result)) return result;\n\t\telse if (nextResult) return result ?? nextResult.value;\n\t\telse {\n\t\t\tnextResult = { value: await next() };\n\t\t\treturn nextResult.value;\n\t\t}\n\t} catch (error) {\n\t\treturn await errorHandler(error, routeId, nextResult);\n\t}\n}\nfunction getDataStrategyMatchLazyPromises(mapRouteProperties, manifest, request, match, lazyRoutePropertiesToSkip) {\n\tlet lazyMiddlewarePromise = loadLazyRouteProperty({\n\t\tkey: \"middleware\",\n\t\troute: match.route,\n\t\tmanifest,\n\t\tmapRouteProperties\n\t});\n\tlet lazyRoutePromises = loadLazyRoute(match.route, isMutationMethod(request.method) ? \"action\" : \"loader\", manifest, mapRouteProperties, lazyRoutePropertiesToSkip);\n\treturn {\n\t\tmiddleware: lazyMiddlewarePromise,\n\t\troute: lazyRoutePromises.lazyRoutePromise,\n\t\thandler: lazyRoutePromises.lazyHandlerPromise\n\t};\n}\nfunction getDataStrategyMatch(mapRouteProperties, manifest, request, path, pattern, match, lazyRoutePropertiesToSkip, scopedContext, shouldLoad, shouldRevalidateArgs = null, callSiteDefaultShouldRevalidate) {\n\tlet isUsingNewApi = false;\n\tlet _lazyPromises = getDataStrategyMatchLazyPromises(mapRouteProperties, manifest, request, match, lazyRoutePropertiesToSkip);\n\treturn {\n\t\t...match,\n\t\t_lazyPromises,\n\t\tshouldLoad,\n\t\tshouldRevalidateArgs,\n\t\tshouldCallHandler(defaultShouldRevalidate) {\n\t\t\tisUsingNewApi = true;\n\t\t\tif (!shouldRevalidateArgs) return shouldLoad;\n\t\t\tif (typeof callSiteDefaultShouldRevalidate === \"boolean\") return shouldRevalidateLoader(match, {\n\t\t\t\t...shouldRevalidateArgs,\n\t\t\t\tdefaultShouldRevalidate: callSiteDefaultShouldRevalidate\n\t\t\t});\n\t\t\tif (typeof defaultShouldRevalidate === \"boolean\") return shouldRevalidateLoader(match, {\n\t\t\t\t...shouldRevalidateArgs,\n\t\t\t\tdefaultShouldRevalidate\n\t\t\t});\n\t\t\treturn shouldRevalidateLoader(match, shouldRevalidateArgs);\n\t\t},\n\t\tresolve(handlerOverride) {\n\t\t\tlet { lazy, loader, middleware } = match.route;\n\t\t\tlet callHandler = isUsingNewApi || shouldLoad || handlerOverride && !isMutationMethod(request.method) && (lazy || loader);\n\t\t\tlet isMiddlewareOnlyRoute = middleware && middleware.length > 0 && !loader && !lazy;\n\t\t\tif (callHandler && (isMutationMethod(request.method) || !isMiddlewareOnlyRoute)) return callLoaderOrAction({\n\t\t\t\trequest,\n\t\t\t\tpath,\n\t\t\t\tpattern,\n\t\t\t\tmatch,\n\t\t\t\tlazyHandlerPromise: _lazyPromises?.handler,\n\t\t\t\tlazyRoutePromise: _lazyPromises?.route,\n\t\t\t\thandlerOverride,\n\t\t\t\tscopedContext\n\t\t\t});\n\t\t\treturn Promise.resolve({\n\t\t\t\ttype: \"data\",\n\t\t\t\tresult: void 0\n\t\t\t});\n\t\t}\n\t};\n}\nfunction getTargetedDataStrategyMatches(mapRouteProperties, manifest, request, path, matches, targetMatch, lazyRoutePropertiesToSkip, scopedContext, shouldRevalidateArgs = null) {\n\treturn matches.map((match) => {\n\t\tif (match.route.id !== targetMatch.route.id) return {\n\t\t\t...match,\n\t\t\tshouldLoad: false,\n\t\t\tshouldRevalidateArgs,\n\t\t\tshouldCallHandler: () => false,\n\t\t\t_lazyPromises: getDataStrategyMatchLazyPromises(mapRouteProperties, manifest, request, match, lazyRoutePropertiesToSkip),\n\t\t\tresolve: () => Promise.resolve({\n\t\t\t\ttype: \"data\",\n\t\t\t\tresult: void 0\n\t\t\t})\n\t\t};\n\t\treturn getDataStrategyMatch(mapRouteProperties, manifest, request, path, getRoutePattern(matches), match, lazyRoutePropertiesToSkip, scopedContext, true, shouldRevalidateArgs);\n\t});\n}\nasync function callDataStrategyImpl(dataStrategyImpl, request, path, matches, fetcherKey, scopedContext, isStaticHandler) {\n\tif (matches.some((m) => m._lazyPromises?.middleware)) await Promise.all(matches.map((m) => m._lazyPromises?.middleware));\n\tlet dataStrategyArgs = {\n\t\trequest,\n\t\turl: createDataFunctionUrl(request, path),\n\t\tpattern: getRoutePattern(matches),\n\t\tparams: matches[0].params,\n\t\tcontext: scopedContext,\n\t\tmatches\n\t};\n\tlet runClientMiddleware = isStaticHandler ? () => {\n\t\tthrow new Error(\"You cannot call `runClientMiddleware()` from a static handler `dataStrategy`. Middleware is run outside of `dataStrategy` during SSR in order to bubble up the Response. You can enable middleware via the `respond` API in `query`/`queryRoute`\");\n\t} : (cb) => {\n\t\tlet typedDataStrategyArgs = dataStrategyArgs;\n\t\treturn runClientMiddlewarePipeline(typedDataStrategyArgs, () => {\n\t\t\treturn cb({\n\t\t\t\t...typedDataStrategyArgs,\n\t\t\t\tfetcherKey,\n\t\t\t\trunClientMiddleware: () => {\n\t\t\t\t\tthrow new Error(\"Cannot call `runClientMiddleware()` from within an `runClientMiddleware` handler\");\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t};\n\tlet results = await dataStrategyImpl({\n\t\t...dataStrategyArgs,\n\t\tfetcherKey,\n\t\trunClientMiddleware\n\t});\n\ttry {\n\t\tawait Promise.all(matches.flatMap((m) => [m._lazyPromises?.handler, m._lazyPromises?.route]));\n\t} catch (e) {}\n\treturn results;\n}\nasync function callLoaderOrAction({ request, path, pattern, match, lazyHandlerPromise, lazyRoutePromise, handlerOverride, scopedContext }) {\n\tlet result;\n\tlet onReject;\n\tlet isAction = isMutationMethod(request.method);\n\tlet type = isAction ? \"action\" : \"loader\";\n\tlet runHandler = (handler) => {\n\t\tlet reject;\n\t\tlet abortPromise = new Promise((_, r) => reject = r);\n\t\tonReject = () => reject();\n\t\trequest.signal.addEventListener(\"abort\", onReject);\n\t\tlet actualHandler = (ctx) => {\n\t\t\tif (typeof handler !== \"function\") return Promise.reject(/* @__PURE__ */ new Error(`You cannot call the handler for a route which defines a boolean \"${type}\" [routeId: ${match.route.id}]`));\n\t\t\treturn handler({\n\t\t\t\trequest,\n\t\t\t\turl: createDataFunctionUrl(request, path),\n\t\t\t\tpattern,\n\t\t\t\tparams: match.params,\n\t\t\t\tcontext: scopedContext\n\t\t\t}, ...ctx !== void 0 ? [ctx] : []);\n\t\t};\n\t\tlet handlerPromise = (async () => {\n\t\t\ttry {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"data\",\n\t\t\t\t\tresult: await (handlerOverride ? handlerOverride((ctx) => actualHandler(ctx)) : actualHandler())\n\t\t\t\t};\n\t\t\t} catch (e) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\tresult: e\n\t\t\t\t};\n\t\t\t}\n\t\t})();\n\t\treturn Promise.race([handlerPromise, abortPromise]);\n\t};\n\ttry {\n\t\tlet handler = isAction ? match.route.action : match.route.loader;\n\t\tif (lazyHandlerPromise || lazyRoutePromise) if (handler) {\n\t\t\tlet handlerError;\n\t\t\tlet [value] = await Promise.all([\n\t\t\t\trunHandler(handler).catch((e) => {\n\t\t\t\t\thandlerError = e;\n\t\t\t\t}),\n\t\t\t\tlazyHandlerPromise,\n\t\t\t\tlazyRoutePromise\n\t\t\t]);\n\t\t\tif (handlerError !== void 0) throw handlerError;\n\t\t\tresult = value;\n\t\t} else {\n\t\t\tawait lazyHandlerPromise;\n\t\t\tlet handler = isAction ? match.route.action : match.route.loader;\n\t\t\tif (handler) [result] = await Promise.all([runHandler(handler), lazyRoutePromise]);\n\t\t\telse if (type === \"action\") {\n\t\t\t\tlet url = new URL(request.url);\n\t\t\t\tlet pathname = url.pathname + url.search;\n\t\t\t\tthrow getInternalRouterError(405, {\n\t\t\t\t\tmethod: request.method,\n\t\t\t\t\tpathname,\n\t\t\t\t\trouteId: match.route.id\n\t\t\t\t});\n\t\t\t} else return {\n\t\t\t\ttype: \"data\",\n\t\t\t\tresult: void 0\n\t\t\t};\n\t\t}\n\t\telse if (!handler) {\n\t\t\tlet url = new URL(request.url);\n\t\t\tthrow getInternalRouterError(404, { pathname: url.pathname + url.search });\n\t\t} else result = await runHandler(handler);\n\t} catch (e) {\n\t\treturn {\n\t\t\ttype: \"error\",\n\t\t\tresult: e\n\t\t};\n\t} finally {\n\t\tif (onReject) request.signal.removeEventListener(\"abort\", onReject);\n\t}\n\treturn result;\n}\nasync function parseResponseBody(response) {\n\tlet contentType = response.headers.get(\"Content-Type\");\n\tif (contentType && /\\bapplication\\/json\\b/.test(contentType)) return response.body == null ? null : response.json();\n\treturn response.text();\n}\nasync function convertDataStrategyResultToDataResult(dataStrategyResult) {\n\tlet { result, type } = dataStrategyResult;\n\tif (isResponse(result)) {\n\t\tlet data;\n\t\ttry {\n\t\t\tdata = await parseResponseBody(result);\n\t\t} catch (e) {\n\t\t\treturn {\n\t\t\t\ttype: \"error\",\n\t\t\t\terror: e\n\t\t\t};\n\t\t}\n\t\tif (type === \"error\") return {\n\t\t\ttype: \"error\",\n\t\t\terror: new ErrorResponseImpl(result.status, result.statusText, data),\n\t\t\tstatusCode: result.status,\n\t\t\theaders: result.headers\n\t\t};\n\t\treturn {\n\t\t\ttype: \"data\",\n\t\t\tdata,\n\t\t\tstatusCode: result.status,\n\t\t\theaders: result.headers\n\t\t};\n\t}\n\tif (type === \"error\") {\n\t\tif (isDataWithResponseInit(result)) {\n\t\t\tif (result.data instanceof Error) return {\n\t\t\t\ttype: \"error\",\n\t\t\t\terror: result.data,\n\t\t\t\tstatusCode: result.init?.status,\n\t\t\t\theaders: result.init?.headers ? new Headers(result.init.headers) : void 0\n\t\t\t};\n\t\t\treturn {\n\t\t\t\ttype: \"error\",\n\t\t\t\terror: dataWithResponseInitToErrorResponse(result),\n\t\t\t\tstatusCode: isRouteErrorResponse(result) ? result.status : void 0,\n\t\t\t\theaders: result.init?.headers ? new Headers(result.init.headers) : void 0\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\ttype: \"error\",\n\t\t\terror: result,\n\t\t\tstatusCode: isRouteErrorResponse(result) ? result.status : void 0\n\t\t};\n\t}\n\tif (isDataWithResponseInit(result)) return {\n\t\ttype: \"data\",\n\t\tdata: result.data,\n\t\tstatusCode: result.init?.status,\n\t\theaders: result.init?.headers ? new Headers(result.init.headers) : void 0\n\t};\n\treturn {\n\t\ttype: \"data\",\n\t\tdata: result\n\t};\n}\nfunction normalizeRelativeRoutingRedirectResponse(response, request, routeId, matches, basename) {\n\tlet location = response.headers.get(\"Location\");\n\tinvariant(location, \"Redirects returned/thrown from loaders/actions must have a Location header\");\n\tif (!isAbsoluteUrl(location)) {\n\t\tlet trimmedMatches = matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1);\n\t\tlocation = normalizeTo(new URL(request.url), trimmedMatches, basename, location);\n\t\tresponse.headers.set(\"Location\", location);\n\t}\n\treturn response;\n}\nconst invalidProtocols = [\n\t\"about:\",\n\t\"blob:\",\n\t\"chrome:\",\n\t\"chrome-untrusted:\",\n\t\"content:\",\n\t\"data:\",\n\t\"devtools:\",\n\t\"file:\",\n\t\"filesystem:\",\n\t\"javascript:\"\n];\nfunction hasInvalidProtocol(location) {\n\ttry {\n\t\treturn invalidProtocols.includes(new URL(location).protocol);\n\t} catch {\n\t\treturn false;\n\t}\n}\nfunction normalizeRedirectLocation(location, currentUrl, basename, historyInstance) {\n\tif (isAbsoluteUrl(location)) {\n\t\tlet normalizedLocation = location;\n\t\tlet url = PROTOCOL_RELATIVE_URL_REGEX.test(normalizedLocation) ? new URL(normalizeProtocolRelativeUrl(normalizedLocation, currentUrl.protocol)) : new URL(normalizedLocation);\n\t\tif (hasInvalidProtocol(url.toString())) throw new Error(\"Invalid redirect location\");\n\t\tlet isSameBasename = stripBasename(url.pathname, basename) != null;\n\t\tif (url.origin === currentUrl.origin && isSameBasename) return removeDoubleSlashes(url.pathname) + url.search + url.hash;\n\t}\n\ttry {\n\t\tif (hasInvalidProtocol(historyInstance.createURL(location).toString())) throw new Error(\"Invalid redirect location\");\n\t} catch (e) {}\n\treturn location;\n}\nfunction createClientSideRequest(history, location, signal, submission) {\n\tlet url = history.createURL(stripHashFromPath(location)).toString();\n\tlet init = { signal };\n\tif (submission && isMutationMethod(submission.formMethod)) {\n\t\tlet { formMethod, formEncType } = submission;\n\t\tinit.method = formMethod.toUpperCase();\n\t\tif (formEncType === \"application/json\") {\n\t\t\tinit.headers = new Headers({ \"Content-Type\": formEncType });\n\t\t\tinit.body = JSON.stringify(submission.json);\n\t\t} else if (formEncType === \"text/plain\") init.body = submission.text;\n\t\telse if (formEncType === \"application/x-www-form-urlencoded\" && submission.formData) init.body = convertFormDataToSearchParams(submission.formData);\n\t\telse init.body = submission.formData;\n\t}\n\treturn new Request(url, init);\n}\nfunction convertFormDataToSearchParams(formData) {\n\tlet searchParams = new URLSearchParams();\n\tfor (let [key, value] of formData.entries()) searchParams.append(key, typeof value === \"string\" ? value : value.name);\n\treturn searchParams;\n}\nfunction convertSearchParamsToFormData(searchParams) {\n\tlet formData = new FormData();\n\tfor (let [key, value] of searchParams.entries()) formData.append(key, value);\n\treturn formData;\n}\nfunction processRouteLoaderData(matches, results, pendingActionResult, isStaticHandler = false, skipLoaderErrorBubbling = false) {\n\tlet loaderData = {};\n\tlet errors = null;\n\tlet statusCode;\n\tlet foundError = false;\n\tlet loaderHeaders = {};\n\tlet pendingError = pendingActionResult && isErrorResult(pendingActionResult[1]) ? pendingActionResult[1].error : void 0;\n\tmatches.forEach((match) => {\n\t\tif (!(match.route.id in results)) return;\n\t\tlet id = match.route.id;\n\t\tlet result = results[id];\n\t\tinvariant(!isRedirectResult(result), \"Cannot handle redirect results in processLoaderData\");\n\t\tif (isErrorResult(result)) {\n\t\t\tlet error = result.error;\n\t\t\tif (pendingError !== void 0) {\n\t\t\t\terror = pendingError;\n\t\t\t\tpendingError = void 0;\n\t\t\t}\n\t\t\terrors = errors || {};\n\t\t\tif (skipLoaderErrorBubbling) errors[id] = error;\n\t\t\telse {\n\t\t\t\tlet boundaryMatch = findNearestBoundary(matches, id);\n\t\t\t\tif (errors[boundaryMatch.route.id] == null) errors[boundaryMatch.route.id] = error;\n\t\t\t}\n\t\t\tif (!isStaticHandler) loaderData[id] = ResetLoaderDataSymbol;\n\t\t\tif (!foundError) {\n\t\t\t\tfoundError = true;\n\t\t\t\tstatusCode = isRouteErrorResponse(result.error) ? result.error.status : 500;\n\t\t\t}\n\t\t\tif (result.headers) loaderHeaders[id] = result.headers;\n\t\t} else {\n\t\t\tloaderData[id] = result.data;\n\t\t\tif (result.statusCode && result.statusCode !== 200 && !foundError) statusCode = result.statusCode;\n\t\t\tif (result.headers) loaderHeaders[id] = result.headers;\n\t\t}\n\t});\n\tif (pendingError !== void 0 && pendingActionResult) {\n\t\terrors = { [pendingActionResult[0]]: pendingError };\n\t\tif (pendingActionResult[2]) loaderData[pendingActionResult[2]] = void 0;\n\t}\n\treturn {\n\t\tloaderData,\n\t\terrors,\n\t\tstatusCode: statusCode || 200,\n\t\tloaderHeaders\n\t};\n}\nfunction processLoaderData(state, matches, results, pendingActionResult, revalidatingFetchers, fetcherResults, workingFetchers) {\n\tlet { loaderData, errors } = processRouteLoaderData(matches, results, pendingActionResult);\n\trevalidatingFetchers.filter((f) => !f.matches || f.matches.some((m) => m.shouldLoad)).forEach((rf) => {\n\t\tlet { key, match, controller } = rf;\n\t\tif (controller && controller.signal.aborted) return;\n\t\tlet result = fetcherResults[key];\n\t\tinvariant(result, \"Did not find corresponding fetcher result\");\n\t\tif (isErrorResult(result)) {\n\t\t\tlet boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n\t\t\tif (!(errors && errors[boundaryMatch.route.id])) errors = {\n\t\t\t\t...errors,\n\t\t\t\t[boundaryMatch.route.id]: result.error\n\t\t\t};\n\t\t\tworkingFetchers.delete(key);\n\t\t} else if (isRedirectResult(result)) invariant(false, \"Unhandled fetcher revalidation redirect\");\n\t\telse {\n\t\t\tlet doneFetcher = getDoneFetcher(result.data);\n\t\t\tworkingFetchers.set(key, doneFetcher);\n\t\t}\n\t});\n\treturn {\n\t\tloaderData,\n\t\terrors\n\t};\n}\nfunction mergeLoaderData(loaderData, newLoaderData, matches, errors) {\n\tlet mergedLoaderData = Object.entries(newLoaderData).filter(([, v]) => v !== ResetLoaderDataSymbol).reduce((merged, [k, v]) => {\n\t\tmerged[k] = v;\n\t\treturn merged;\n\t}, {});\n\tfor (let match of matches) {\n\t\tlet id = match.route.id;\n\t\tif (!newLoaderData.hasOwnProperty(id) && loaderData.hasOwnProperty(id) && match.route.loader) mergedLoaderData[id] = loaderData[id];\n\t\tif (errors && errors.hasOwnProperty(id)) break;\n\t}\n\treturn mergedLoaderData;\n}\nfunction getActionDataForCommit(pendingActionResult) {\n\tif (!pendingActionResult) return {};\n\treturn isErrorResult(pendingActionResult[1]) ? { actionData: {} } : { actionData: { [pendingActionResult[0]]: pendingActionResult[1].data } };\n}\nfunction findNearestBoundary(matches, routeId) {\n\treturn (routeId ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1) : [...matches]).reverse().find((m) => m.route.ErrorBoundary != null || m.route.errorElement != null) || matches[0];\n}\nfunction getShortCircuitMatches(routes) {\n\tlet route = routes.length === 1 ? routes[0] : routes.find((r) => r.index || !r.path || r.path === \"/\") || { id: `__shim-error-route__` };\n\treturn {\n\t\tmatches: [{\n\t\t\tparams: {},\n\t\t\tpathname: \"\",\n\t\t\tpathnameBase: \"\",\n\t\t\troute\n\t\t}],\n\t\troute\n\t};\n}\nfunction getInternalRouterError(status, { pathname, routeId, method, type, message } = {}) {\n\tlet statusText = \"Unknown Server Error\";\n\tlet errorMessage = \"Unknown @remix-run/router error\";\n\tif (status === 400) {\n\t\tstatusText = \"Bad Request\";\n\t\tif (method && pathname && routeId) errorMessage = `You made a ${method} request to \"${pathname}\" but did not provide a \\`loader\\` for route \"${routeId}\", so there is no way to handle the request.`;\n\t\telse if (type === \"invalid-body\") errorMessage = \"Unable to encode submission body\";\n\t} else if (status === 403) {\n\t\tstatusText = \"Forbidden\";\n\t\terrorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n\t} else if (status === 404) {\n\t\tstatusText = \"Not Found\";\n\t\terrorMessage = `No route matches URL \"${pathname}\"`;\n\t} else if (status === 405) {\n\t\tstatusText = \"Method Not Allowed\";\n\t\tif (method && pathname && routeId) errorMessage = `You made a ${method.toUpperCase()} request to \"${pathname}\" but did not provide an \\`action\\` for route \"${routeId}\", so there is no way to handle the request.`;\n\t\telse if (method) errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n\t}\n\treturn new ErrorResponseImpl(status || 500, statusText, new Error(errorMessage), true);\n}\nfunction findRedirect(results) {\n\tlet entries = Object.entries(results);\n\tfor (let i = entries.length - 1; i >= 0; i--) {\n\t\tlet [key, result] = entries[i];\n\t\tif (isRedirectResult(result)) return {\n\t\t\tkey,\n\t\t\tresult\n\t\t};\n\t}\n}\nfunction stripHashFromPath(path) {\n\treturn createPath({\n\t\t...typeof path === \"string\" ? parsePath(path) : path,\n\t\thash: \"\"\n\t});\n}\nfunction isHashChangeOnly(a, b) {\n\tif (a.pathname !== b.pathname || a.search !== b.search) return false;\n\tif (a.hash === \"\") return b.hash !== \"\";\n\telse if (a.hash === b.hash) return true;\n\telse if (b.hash !== \"\") return true;\n\treturn false;\n}\nfunction dataWithResponseInitToResponse(data) {\n\treturn Response.json(data.data, data.init ?? void 0);\n}\nfunction dataWithResponseInitToErrorResponse(data) {\n\treturn new ErrorResponseImpl(data.init?.status ?? 500, data.init?.statusText ?? \"Internal Server Error\", data.data);\n}\nfunction isDataStrategyResults(result) {\n\treturn result != null && typeof result === \"object\" && Object.entries(result).every(([key, value]) => typeof key === \"string\" && isDataStrategyResult(value));\n}\nfunction isDataStrategyResult(result) {\n\treturn result != null && typeof result === \"object\" && \"type\" in result && \"result\" in result && (result.type === \"data\" || result.type === \"error\");\n}\nfunction isRedirectDataStrategyResult(result) {\n\treturn isResponse(result.result) && redirectStatusCodes.has(result.result.status);\n}\nfunction isErrorResult(result) {\n\treturn result.type === \"error\";\n}\nfunction isRedirectResult(result) {\n\treturn (result && result.type) === \"redirect\";\n}\nfunction isDataWithResponseInit(value) {\n\treturn typeof value === \"object\" && value != null && \"type\" in value && \"data\" in value && \"init\" in value && value.type === \"DataWithResponseInit\";\n}\nfunction isResponse(value) {\n\treturn value != null && typeof value.status === \"number\" && typeof value.statusText === \"string\" && typeof value.headers === \"object\" && typeof value.body !== \"undefined\";\n}\nfunction isRedirectStatusCode(statusCode) {\n\treturn redirectStatusCodes.has(statusCode);\n}\nfunction isRedirectResponse(result) {\n\treturn isResponse(result) && isRedirectStatusCode(result.status) && result.headers.has(\"Location\");\n}\nfunction isValidMethod(method) {\n\treturn validRequestMethods.has(method.toUpperCase());\n}\nfunction isMutationMethod(method) {\n\treturn validMutationMethods.has(method.toUpperCase());\n}\nfunction hasNakedIndexQuery(search) {\n\treturn new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\nfunction getTargetMatch(matches, location) {\n\tlet search = typeof location === \"string\" ? parsePath(location).search : location.search;\n\tif (matches[matches.length - 1].route.index && hasNakedIndexQuery(search || \"\")) return matches[matches.length - 1];\n\tlet pathMatches = getPathContributingMatches(matches);\n\treturn pathMatches[pathMatches.length - 1];\n}\nfunction getInstrumentationNavigateMeta(history, location, matches) {\n\treturn {\n\t\turl: createDataFunctionUrl(history.createURL(location), location),\n\t\tpattern: matches ? getRoutePattern(matches) : \"\",\n\t\tparams: matches?.[0]?.params ? { ...matches[0].params } : {}\n\t};\n}\nfunction getSubmissionFromNavigation(navigation) {\n\tlet { formMethod, formAction, formEncType, text, formData, json } = navigation;\n\tif (!formMethod || !formAction || !formEncType) return;\n\tif (text != null) return {\n\t\tformMethod,\n\t\tformAction,\n\t\tformEncType,\n\t\tformData: void 0,\n\t\tjson: void 0,\n\t\ttext\n\t};\n\telse if (formData != null) return {\n\t\tformMethod,\n\t\tformAction,\n\t\tformEncType,\n\t\tformData,\n\t\tjson: void 0,\n\t\ttext: void 0\n\t};\n\telse if (json !== void 0) return {\n\t\tformMethod,\n\t\tformAction,\n\t\tformEncType,\n\t\tformData: void 0,\n\t\tjson,\n\t\ttext: void 0\n\t};\n}\nfunction getLoadingNavigation(location, matches, historyAction, submission) {\n\tif (submission) return {\n\t\tstate: \"loading\",\n\t\tlocation,\n\t\tmatches,\n\t\thistoryAction,\n\t\tformMethod: submission.formMethod,\n\t\tformAction: submission.formAction,\n\t\tformEncType: submission.formEncType,\n\t\tformData: submission.formData,\n\t\tjson: submission.json,\n\t\ttext: submission.text\n\t};\n\telse return {\n\t\tstate: \"loading\",\n\t\tlocation,\n\t\tmatches,\n\t\thistoryAction,\n\t\tformMethod: void 0,\n\t\tformAction: void 0,\n\t\tformEncType: void 0,\n\t\tformData: void 0,\n\t\tjson: void 0,\n\t\ttext: void 0\n\t};\n}\nfunction getSubmittingNavigation(location, matches, historyAction, submission) {\n\treturn {\n\t\tstate: \"submitting\",\n\t\tlocation,\n\t\tmatches,\n\t\thistoryAction,\n\t\tformMethod: submission.formMethod,\n\t\tformAction: submission.formAction,\n\t\tformEncType: submission.formEncType,\n\t\tformData: submission.formData,\n\t\tjson: submission.json,\n\t\ttext: submission.text\n\t};\n}\nfunction getLoadingFetcher(submission, data) {\n\tif (submission) return {\n\t\tstate: \"loading\",\n\t\tformMethod: submission.formMethod,\n\t\tformAction: submission.formAction,\n\t\tformEncType: submission.formEncType,\n\t\tformData: submission.formData,\n\t\tjson: submission.json,\n\t\ttext: submission.text,\n\t\tdata\n\t};\n\telse return {\n\t\tstate: \"loading\",\n\t\tformMethod: void 0,\n\t\tformAction: void 0,\n\t\tformEncType: void 0,\n\t\tformData: void 0,\n\t\tjson: void 0,\n\t\ttext: void 0,\n\t\tdata\n\t};\n}\nfunction getSubmittingFetcher(submission, existingFetcher) {\n\treturn {\n\t\tstate: \"submitting\",\n\t\tformMethod: submission.formMethod,\n\t\tformAction: submission.formAction,\n\t\tformEncType: submission.formEncType,\n\t\tformData: submission.formData,\n\t\tjson: submission.json,\n\t\ttext: submission.text,\n\t\tdata: existingFetcher ? existingFetcher.data : void 0\n\t};\n}\nfunction getDoneFetcher(data) {\n\treturn {\n\t\tstate: \"idle\",\n\t\tformMethod: void 0,\n\t\tformAction: void 0,\n\t\tformEncType: void 0,\n\t\tformData: void 0,\n\t\tjson: void 0,\n\t\ttext: void 0,\n\t\tdata\n\t};\n}\nfunction restoreAppliedTransitions(_window, transitions) {\n\ttry {\n\t\tlet sessionPositions = _window.sessionStorage.getItem(TRANSITIONS_STORAGE_KEY);\n\t\tif (sessionPositions) {\n\t\t\tlet json = JSON.parse(sessionPositions);\n\t\t\tfor (let [k, v] of Object.entries(json || {})) if (v && Array.isArray(v)) transitions.set(k, new Set(v || []));\n\t\t}\n\t} catch (e) {}\n}\nfunction persistAppliedTransitions(_window, transitions) {\n\tif (transitions.size > 0) {\n\t\tlet json = {};\n\t\tfor (let [k, v] of transitions) json[k] = [...v];\n\t\ttry {\n\t\t\t_window.sessionStorage.setItem(TRANSITIONS_STORAGE_KEY, JSON.stringify(json));\n\t\t} catch (error) {\n\t\t\twarning(false, `Failed to save applied view transitions in sessionStorage (${error}).`);\n\t\t}\n\t}\n}\nfunction createDeferred() {\n\tlet resolve;\n\tlet reject;\n\tlet promise = new Promise((res, rej) => {\n\t\tresolve = async (val) => {\n\t\t\tres(val);\n\t\t\ttry {\n\t\t\t\tawait promise;\n\t\t\t} catch (e) {}\n\t\t};\n\t\treject = async (error) => {\n\t\t\trej(error);\n\t\t\ttry {\n\t\t\t\tawait promise;\n\t\t\t} catch (e) {}\n\t\t};\n\t});\n\treturn {\n\t\tpromise,\n\t\tresolve,\n\t\treject\n\t};\n}\n//#endregion\nexport { IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, createRouter, createStaticHandler, getStaticContextFromError, hasInvalidProtocol, isDataWithResponseInit, isMutationMethod, isRedirectResponse, isRedirectStatusCode, isResponse };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React$1 from \"react\";\n//#region lib/context.ts\nconst DataRouterContext = React$1.createContext(null);\nDataRouterContext.displayName = \"DataRouter\";\nconst DataRouterStateContext = React$1.createContext(null);\nDataRouterStateContext.displayName = \"DataRouterState\";\nconst RSCRouterContext = React$1.createContext(false);\nfunction useIsRSCRouterContext() {\n\treturn React$1.useContext(RSCRouterContext);\n}\nconst ViewTransitionContext = React$1.createContext({ isTransitioning: false });\nViewTransitionContext.displayName = \"ViewTransition\";\nconst FetchersContext = React$1.createContext(/* @__PURE__ */ new Map());\nFetchersContext.displayName = \"Fetchers\";\nconst AwaitContext = React$1.createContext(null);\nAwaitContext.displayName = \"Await\";\nconst AwaitContextProvider = (props) => React$1.createElement(AwaitContext.Provider, props);\nconst NavigationContext = React$1.createContext(null);\nNavigationContext.displayName = \"Navigation\";\nconst LocationContext = React$1.createContext(null);\nLocationContext.displayName = \"Location\";\nconst RouteContext = React$1.createContext({\n\toutlet: null,\n\tmatches: [],\n\tisDataRoute: false\n});\nRouteContext.displayName = \"Route\";\nconst RouteErrorContext = React$1.createContext(null);\nRouteErrorContext.displayName = \"RouteError\";\n//#endregion\nexport { AwaitContext, AwaitContextProvider, DataRouterContext, DataRouterStateContext, FetchersContext, LocationContext, NavigationContext, RSCRouterContext, RouteContext, RouteErrorContext, ViewTransitionContext, useIsRSCRouterContext };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { ErrorResponseImpl } from \"./router/utils.js\";\n//#region lib/errors.ts\nconst ERROR_DIGEST_BASE = \"REACT_ROUTER_ERROR\";\nconst ERROR_DIGEST_REDIRECT = \"REDIRECT\";\nconst ERROR_DIGEST_ROUTE_ERROR_RESPONSE = \"ROUTE_ERROR_RESPONSE\";\nfunction decodeRedirectErrorDigest(digest) {\n\tif (digest.startsWith(`${ERROR_DIGEST_BASE}:${ERROR_DIGEST_REDIRECT}:{`)) try {\n\t\tlet parsed = JSON.parse(digest.slice(28));\n\t\tif (typeof parsed === \"object\" && parsed && typeof parsed.status === \"number\" && typeof parsed.statusText === \"string\" && typeof parsed.location === \"string\" && typeof parsed.reloadDocument === \"boolean\" && typeof parsed.replace === \"boolean\") return parsed;\n\t} catch {}\n}\nfunction decodeRouteErrorResponseDigest(digest) {\n\tif (digest.startsWith(`${ERROR_DIGEST_BASE}:${ERROR_DIGEST_ROUTE_ERROR_RESPONSE}:{`)) try {\n\t\tlet parsed = JSON.parse(digest.slice(40));\n\t\tif (typeof parsed === \"object\" && parsed && typeof parsed.status === \"number\" && typeof parsed.statusText === \"string\") return new ErrorResponseImpl(parsed.status, parsed.statusText, parsed.data);\n\t} catch {}\n}\n//#endregion\nexport { decodeRedirectErrorDigest, decodeRouteErrorResponseDigest };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { invariant, parsePath, warning } from \"./router/history.js\";\nimport { convertRouteMatchToUiMatch, decodePath, getResolveToMatches, getRoutePattern, isBrowser, isRouteErrorResponse, joinPaths, matchPath, matchRoutes, parseToInfo, resolveTo, stripBasename } from \"./router/utils.js\";\nimport { IDLE_BLOCKER, hasInvalidProtocol } from \"./router/router.js\";\nimport { AwaitContext, DataRouterContext, DataRouterStateContext, LocationContext, NavigationContext, RSCRouterContext, RouteContext, RouteErrorContext } from \"./context.js\";\nimport { decodeRedirectErrorDigest, decodeRouteErrorResponseDigest } from \"./errors.js\";\nimport * as React$1 from \"react\";\n//#region lib/hooks.tsx\n/**\n* Resolves a URL against the current {@link Location}.\n*\n* @example\n* import { useHref } from \"react-router\";\n*\n* function SomeComponent() {\n* let href = useHref(\"some/where\");\n* // \"/resolved/some/where\"\n* }\n*\n* @public\n* @category Hooks\n* @param to The path to resolve\n* @param options Options\n* @param options.relative Defaults to `\"route\"` so routing is relative to the\n* route tree.\n* Set to `\"path\"` to make relative routing operate against path segments.\n* @returns The resolved href string\n*/\nfunction useHref(to, { relative } = {}) {\n\tinvariant(useInRouterContext(), `useHref() may be used only in the context of a <Router> component.`);\n\tlet { basename, navigator } = React$1.useContext(NavigationContext);\n\tlet { hash, pathname, search } = useResolvedPath(to, { relative });\n\tlet joinedPathname = pathname;\n\tif (basename !== \"/\") joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n\treturn navigator.createHref({\n\t\tpathname: joinedPathname,\n\t\tsearch,\n\t\thash\n\t});\n}\n/**\n* Returns `true` if this component is a descendant of a {@link Router}, useful\n* to ensure a component is used within a {@link Router}.\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @returns Whether the component is within a {@link Router} context\n*/\nfunction useInRouterContext() {\n\treturn React$1.useContext(LocationContext) != null;\n}\n/**\n* Returns the current {@link Location}. This can be useful if you'd like to\n* perform some side effect whenever it changes.\n*\n* @example\n* import * as React from 'react'\n* import { useLocation } from 'react-router'\n*\n* function SomeComponent() {\n* let location = useLocation()\n*\n* React.useEffect(() => {\n* // Google Analytics\n* ga('send', 'pageview')\n* }, [location]);\n*\n* return (\n* // ...\n* );\n* }\n*\n* @public\n* @category Hooks\n* @returns The current {@link Location} object\n*/\nfunction useLocation() {\n\tinvariant(useInRouterContext(), `useLocation() may be used only in the context of a <Router> component.`);\n\treturn React$1.useContext(LocationContext).location;\n}\n/**\n* Returns the current {@link Navigation} action which describes how the router\n* came to the current {@link Location}, either by a pop, push, or replace on\n* the [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History) stack.\n*\n* @public\n* @category Hooks\n* @returns The current {@link NavigationType} (`\"POP\"`, `\"PUSH\"`, or `\"REPLACE\"`)\n*/\nfunction useNavigationType() {\n\treturn React$1.useContext(LocationContext).navigationType;\n}\n/**\n* Returns a {@link PathMatch} object if the given pattern matches the current URL.\n* This is useful for components that need to know \"active\" state, e.g.\n* {@link NavLink | `<NavLink>`}.\n*\n* @public\n* @category Hooks\n* @param pattern The pattern to match against the current {@link Location}\n* @returns The path match object if the pattern matches, `null` otherwise\n*/\nfunction useMatch(pattern) {\n\tinvariant(useInRouterContext(), `useMatch() may be used only in the context of a <Router> component.`);\n\tlet { pathname } = useLocation();\n\treturn React$1.useMemo(() => matchPath(pattern, decodePath(pathname)), [pathname, pattern]);\n}\nconst navigateEffectWarning = \"You should call navigate() in a React.useEffect(), not when your component is first rendered.\";\n/**\n* Returns a function that lets you navigate programmatically in the browser in\n* response to user interactions or effects.\n*\n* It's often better to use {@link redirect} in [`action`](../../start/framework/route-module#action)/[`loader`](../../start/framework/route-module#loader)\n* functions than this hook.\n*\n* The returned function signature is `navigate(to, options?)`/`navigate(delta)` where:\n*\n* * `to` can be a string path, a {@link To} object, or a number (delta)\n* * `options` contains options for modifying the navigation\n* * These options work in all modes (Framework, Data, and Declarative):\n* * `relative`: `\"route\"` or `\"path\"` to control relative routing logic\n* * `replace`: Replace the current entry in the [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History) stack\n* * `state`: Optional [`history.state`](https://developer.mozilla.org/en-US/docs/Web/API/History/state) to include with the new {@link Location}\n* * These options only work in Framework and Data modes:\n* * `flushSync`: Wrap the DOM updates in [`ReactDom.flushSync`](https://react.dev/reference/react-dom/flushSync)\n* * `preventScrollReset`: Do not scroll back to the top of the page after navigation\n* * `viewTransition`: Enable [`document.startViewTransition`](https://developer.mozilla.org/en-US/docs/Web/API/Document/startViewTransition) for this navigation\n*\n* @example\n* import { useNavigate } from \"react-router\";\n*\n* function SomeComponent() {\n* let navigate = useNavigate();\n* return (\n* <button onClick={() => navigate(-1)}>\n* Go Back\n* </button>\n* );\n* }\n*\n* @additionalExamples\n* ### Navigate to another path\n*\n* ```tsx\n* navigate(\"/some/route\");\n* navigate(\"/some/route?search=param\");\n* ```\n*\n* ### Navigate with a {@link To} object\n*\n* All properties are optional.\n*\n* ```tsx\n* navigate(\n* {\n* pathname: \"/some/route\",\n* search: \"?search=param\",\n* hash: \"#hash\",\n* },\n* {\n* state: { some: \"state\" },\n* },\n* );\n* ```\n*\n* If you use `state`, that will be available on the {@link Location} object on\n* the next page. Access it with `useLocation().state` (see {@link useLocation}).\n*\n* ### Navigate back or forward in the history stack\n*\n* ```tsx\n* // back\n* // often used to close modals\n* navigate(-1);\n*\n* // forward\n* // often used in a multistep wizard workflows\n* navigate(1);\n* ```\n*\n* Be cautious with `navigate(number)`. If your application can load up to a\n* route that has a button that tries to navigate forward/back, there may not be\n* a [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)\n* entry to go back or forward to, or it can go somewhere you don't expect\n* (like a different domain).\n*\n* Only use this if you're sure they will have an entry in the [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)\n* stack to navigate to.\n*\n* ### Replace the current entry in the history stack\n*\n* This will remove the current entry in the [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)\n* stack, replacing it with a new one, similar to a server side redirect.\n*\n* ```tsx\n* navigate(\"/some/route\", { replace: true });\n* ```\n*\n* ### Prevent Scroll Reset\n*\n* [MODES: framework, data]\n*\n* <br/>\n* <br/>\n*\n* To prevent {@link ScrollRestoration | `<ScrollRestoration>`} from resetting\n* the scroll position, use the `preventScrollReset` option.\n*\n* ```tsx\n* navigate(\"?some-tab=1\", { preventScrollReset: true });\n* ```\n*\n* For example, if you have a tab interface connected to search params in the\n* middle of a page, and you don't want it to scroll to the top when a tab is\n* clicked.\n*\n* ### Return Type Augmentation\n*\n* Internally, `useNavigate` uses a separate implementation when you are in\n* Declarative mode versus Data/Framework mode - the primary difference being\n* that the latter is able to return a stable reference that does not change\n* identity across navigations. The implementation in Data/Framework mode also\n* returns a [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n* that resolves when the navigation is completed. This means the return type of\n* `useNavigate` is `void | Promise<void>`. This is accurate, but can lead to\n* some red squigglies based on the union in the return value:\n*\n* - If you're using `typescript-eslint`, you may see errors from\n* [`@typescript-eslint/no-floating-promises`](https://typescript-eslint.io/rules/no-floating-promises)\n* - In Framework/Data mode, `React.use(navigate())` will show a false-positive\n* `Argument of type 'void | Promise<void>' is not assignable to parameter of\n* type 'Usable<void>'` error\n*\n* The easiest way to work around these issues is to augment the type based on the\n* router you're using:\n*\n* ```ts\n* // If using <BrowserRouter>\n* declare module \"react-router\" {\n* interface NavigateFunction {\n* (to: To, options?: NavigateOptions): void;\n* (delta: number): void;\n* }\n* }\n*\n* // If using <RouterProvider> or Framework mode\n* declare module \"react-router\" {\n* interface NavigateFunction {\n* (to: To, options?: NavigateOptions): Promise<void>;\n* (delta: number): Promise<void>;\n* }\n* }\n* ```\n*\n* @public\n* @category Hooks\n* @returns A navigate function for programmatic navigation\n*/\nfunction useNavigate() {\n\tlet { isDataRoute } = React$1.useContext(RouteContext);\n\treturn isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\nfunction useNavigateUnstable() {\n\tinvariant(useInRouterContext(), `useNavigate() may be used only in the context of a <Router> component.`);\n\tlet dataRouterContext = React$1.useContext(DataRouterContext);\n\tlet { basename, navigator } = React$1.useContext(NavigationContext);\n\tlet { matches } = React$1.useContext(RouteContext);\n\tlet { pathname: locationPathname } = useLocation();\n\tlet routePathnamesJson = JSON.stringify(getResolveToMatches(matches));\n\tlet activeRef = React$1.useRef(false);\n\tReact$1.useLayoutEffect(() => {\n\t\tactiveRef.current = true;\n\t});\n\treturn React$1.useCallback((to, options = {}) => {\n\t\twarning(activeRef.current, navigateEffectWarning);\n\t\tif (!activeRef.current) return;\n\t\tif (typeof to === \"number\") {\n\t\t\tnavigator.go(to);\n\t\t\treturn;\n\t\t}\n\t\tlet path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, options.relative === \"path\");\n\t\tif (dataRouterContext == null && basename !== \"/\") path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n\t\t(!!options.replace ? navigator.replace : navigator.push)(path, options.state, options);\n\t}, [\n\t\tbasename,\n\t\tnavigator,\n\t\troutePathnamesJson,\n\t\tlocationPathname,\n\t\tdataRouterContext\n\t]);\n}\nconst OutletContext = React$1.createContext(null);\n/**\n* Returns the parent route {@link Outlet | `<Outlet context>`}.\n*\n* Often parent routes manage state or other values you want shared with child\n* routes. You can create your own [context provider](https://react.dev/learn/passing-data-deeply-with-context)\n* if you like, but this is such a common situation that it's built-into\n* {@link Outlet | `<Outlet>`}.\n*\n* ```tsx\n* // Parent route\n* function Parent() {\n* const [count, setCount] = React.useState(0);\n* return <Outlet context={[count, setCount]} />;\n* }\n* ```\n*\n* ```tsx\n* // Child route\n* import { useOutletContext } from \"react-router\";\n*\n* function Child() {\n* const [count, setCount] = useOutletContext();\n* const increment = () => setCount((c) => c + 1);\n* return <button onClick={increment}>{count}</button>;\n* }\n* ```\n*\n* If you're using TypeScript, we recommend the parent component provide a\n* custom hook for accessing the context value. This makes it easier for\n* consumers to get nice typings, control consumers, and know who's consuming\n* the context value.\n*\n* Here's a more realistic example:\n*\n* ```tsx filename=src/routes/dashboard.tsx lines=[14,20]\n* import { useState } from \"react\";\n* import { Outlet, useOutletContext } from \"react-router\";\n*\n* import type { User } from \"./types\";\n*\n* type ContextType = { user: User | null };\n*\n* export default function Dashboard() {\n* const [user, setUser] = useState<User | null>(null);\n*\n* return (\n* <div>\n* <h1>Dashboard</h1>\n* <Outlet context={{ user } satisfies ContextType} />\n* </div>\n* );\n* }\n*\n* export function useUser() {\n* return useOutletContext<ContextType>();\n* }\n* ```\n*\n* ```tsx filename=src/routes/dashboard/messages.tsx lines=[1,4]\n* import { useUser } from \"../dashboard\";\n*\n* export default function DashboardMessages() {\n* const { user } = useUser();\n* return (\n* <div>\n* <h2>Messages</h2>\n* <p>Hello, {user.name}!</p>\n* </div>\n* );\n* }\n* ```\n*\n* @public\n* @category Hooks\n* @returns The context value passed to the parent {@link Outlet} component\n*/\nfunction useOutletContext() {\n\treturn React$1.useContext(OutletContext);\n}\n/**\n* Returns the element for the child route at this level of the route\n* hierarchy. Used internally by {@link Outlet | `<Outlet>`} to render child\n* routes.\n*\n* @public\n* @category Hooks\n* @param context The context to pass to the outlet\n* @returns The child route element or `null` if no child routes match\n*/\nfunction useOutlet(context) {\n\tlet outlet = React$1.useContext(RouteContext).outlet;\n\treturn React$1.useMemo(() => outlet && /* @__PURE__ */ React$1.createElement(OutletContext.Provider, { value: context }, outlet), [outlet, context]);\n}\n/**\n* Returns an object of key/value-pairs of the dynamic params from the current\n* URL that were matched by the routes. Child routes inherit all params from\n* their parent routes.\n*\n* Assuming a route pattern like `/posts/:postId` is matched by `/posts/123`\n* then `params.postId` will be `\"123\"`.\n*\n* @example\n* import { useParams } from \"react-router\";\n*\n* function SomeComponent() {\n* let params = useParams();\n* params.postId;\n* }\n*\n* @additionalExamples\n* ### Basic Usage\n*\n* ```tsx\n* import { useParams } from \"react-router\";\n*\n* // given a route like:\n* <Route path=\"/posts/:postId\" element={<Post />} />;\n*\n* // or a data route like:\n* createBrowserRouter([\n* {\n* path: \"/posts/:postId\",\n* component: Post,\n* },\n* ]);\n*\n* // or in routes.ts\n* route(\"/posts/:postId\", \"routes/post.tsx\");\n* ```\n*\n* Access the params in a component:\n*\n* ```tsx\n* import { useParams } from \"react-router\";\n*\n* export default function Post() {\n* let params = useParams();\n* return <h1>Post: {params.postId}</h1>;\n* }\n* ```\n*\n* ### Multiple Params\n*\n* Patterns can have multiple params:\n*\n* ```tsx\n* \"/posts/:postId/comments/:commentId\";\n* ```\n*\n* All will be available in the params object:\n*\n* ```tsx\n* import { useParams } from \"react-router\";\n*\n* export default function Post() {\n* let params = useParams();\n* return (\n* <h1>\n* Post: {params.postId}, Comment: {params.commentId}\n* </h1>\n* );\n* }\n* ```\n*\n* ### Catchall Params\n*\n* Catchall params are defined with `*`:\n*\n* ```tsx\n* \"/files/*\";\n* ```\n*\n* The matched value will be available in the params object as follows:\n*\n* ```tsx\n* import { useParams } from \"react-router\";\n*\n* export default function File() {\n* let params = useParams();\n* let catchall = params[\"*\"];\n* // ...\n* }\n* ```\n*\n* You can destructure the catchall param:\n*\n* ```tsx\n* export default function File() {\n* let { \"*\": catchall } = useParams();\n* console.log(catchall);\n* }\n* ```\n*\n* @public\n* @category Hooks\n* @returns An object containing the dynamic route parameters\n*/\nfunction useParams() {\n\tlet { matches } = React$1.useContext(RouteContext);\n\treturn matches[matches.length - 1]?.params ?? {};\n}\n/**\n* Resolves the pathname of the given `to` value against the current\n* {@link Location}. Similar to {@link useHref}, but returns a\n* {@link Path} instead of a string.\n*\n* @example\n* import { useResolvedPath } from \"react-router\";\n*\n* function SomeComponent() {\n* // if the user is at /dashboard/profile\n* let path = useResolvedPath(\"../accounts\");\n* path.pathname; // \"/dashboard/accounts\"\n* path.search; // \"\"\n* path.hash; // \"\"\n* }\n*\n* @public\n* @category Hooks\n* @param to The path to resolve\n* @param options Options\n* @param options.relative Defaults to `\"route\"` so routing is relative to the route tree.\n* Set to `\"path\"` to make relative routing operate against path segments.\n* @returns The resolved {@link Path} object with `pathname`, `search`, and `hash`\n*/\nfunction useResolvedPath(to, { relative } = {}) {\n\tlet { matches } = React$1.useContext(RouteContext);\n\tlet { pathname: locationPathname } = useLocation();\n\tlet routePathnamesJson = JSON.stringify(getResolveToMatches(matches));\n\treturn React$1.useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, relative === \"path\"), [\n\t\tto,\n\t\troutePathnamesJson,\n\t\tlocationPathname,\n\t\trelative\n\t]);\n}\n/**\n* Hook version of {@link Routes | `<Routes>`} that uses objects instead of\n* components. These objects have the same properties as the component props.\n* The return value of `useRoutes` is either a valid React element you can use\n* to render the route tree, or `null` if nothing matched.\n*\n* @example\n* import { useRoutes } from \"react-router\";\n*\n* function App() {\n* let element = useRoutes([\n* {\n* path: \"/\",\n* element: <Dashboard />,\n* children: [\n* {\n* path: \"messages\",\n* element: <DashboardMessages />,\n* },\n* { path: \"tasks\", element: <DashboardTasks /> },\n* ],\n* },\n* { path: \"team\", element: <AboutPage /> },\n* ]);\n*\n* return element;\n* }\n*\n* @public\n* @category Hooks\n* @param routes An array of {@link RouteObject}s that define the route hierarchy\n* @param locationArg An optional {@link Location} object or pathname string to\n* use instead of the current {@link Location}\n* @returns A React element to render the matched route, or `null` if no routes matched\n*/\nfunction useRoutes(routes, locationArg) {\n\treturn useRoutesImpl(routes, locationArg);\n}\nfunction useRoutesImpl(routes, locationArg, dataRouterOpts) {\n\tinvariant(useInRouterContext(), `useRoutes() may be used only in the context of a <Router> component.`);\n\tlet { navigator } = React$1.useContext(NavigationContext);\n\tlet { matches: parentMatches } = React$1.useContext(RouteContext);\n\tlet routeMatch = parentMatches[parentMatches.length - 1];\n\tlet parentParams = routeMatch ? routeMatch.params : {};\n\trouteMatch && routeMatch.pathname;\n\tlet parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n\trouteMatch && routeMatch.route;\n\tlet locationFromContext = useLocation();\n\tlet location;\n\tif (locationArg) {\n\t\tlet parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\t\tinvariant(parentPathnameBase === \"/\" || parsedLocationArg.pathname?.startsWith(parentPathnameBase), `When overriding the location using \\`<Routes location>\\` 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 \"${parentPathnameBase}\" but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`);\n\t\tlocation = parsedLocationArg;\n\t} else location = locationFromContext;\n\tlet pathname = location.pathname || \"/\";\n\tlet remainingPathname = pathname;\n\tif (parentPathnameBase !== \"/\") {\n\t\tlet parentSegments = parentPathnameBase.replace(/^\\//, \"\").split(\"/\");\n\t\tremainingPathname = \"/\" + pathname.replace(/^\\//, \"\").split(\"/\").slice(parentSegments.length).join(\"/\");\n\t}\n\tlet matches = dataRouterOpts && dataRouterOpts.state.matches.length ? dataRouterOpts.state.matches.map((m) => Object.assign(m, { route: dataRouterOpts.manifest[m.route.id] || m.route })) : matchRoutes(routes, { pathname: remainingPathname });\n\tlet renderedMatches = _renderMatches(matches && matches.map((match) => Object.assign({}, match, {\n\t\tparams: Object.assign({}, parentParams, match.params),\n\t\tpathname: joinPaths([parentPathnameBase, navigator.encodeLocation ? navigator.encodeLocation(match.pathname.replace(/%/g, \"%25\").replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\")).pathname : match.pathname]),\n\t\tpathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase, navigator.encodeLocation ? navigator.encodeLocation(match.pathnameBase.replace(/%/g, \"%25\").replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\")).pathname : match.pathnameBase])\n\t})), parentMatches, dataRouterOpts);\n\tif (locationArg && renderedMatches) return /* @__PURE__ */ React$1.createElement(LocationContext.Provider, { value: {\n\t\tlocation: {\n\t\t\tpathname: \"/\",\n\t\t\tsearch: \"\",\n\t\t\thash: \"\",\n\t\t\tstate: null,\n\t\t\tkey: \"default\",\n\t\t\tmask: void 0,\n\t\t\t...location\n\t\t},\n\t\tnavigationType: \"POP\"\n\t} }, renderedMatches);\n\treturn renderedMatches;\n}\nfunction DefaultErrorComponent() {\n\tlet error = useRouteError();\n\tlet message = isRouteErrorResponse(error) ? `${error.status} ${error.statusText}` : error instanceof Error ? error.message : JSON.stringify(error);\n\tlet stack = error instanceof Error ? error.stack : null;\n\treturn /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(\"h2\", null, \"Unexpected Application Error!\"), /* @__PURE__ */ React$1.createElement(\"h3\", { style: { fontStyle: \"italic\" } }, message), stack ? /* @__PURE__ */ React$1.createElement(\"pre\", { style: {\n\t\tpadding: \"0.5rem\",\n\t\tbackgroundColor: \"rgba(200,200,200, 0.5)\"\n\t} }, stack) : null, null);\n}\nconst defaultErrorElement = /* @__PURE__ */ React$1.createElement(DefaultErrorComponent, null);\nvar RenderErrorBoundary = class extends React$1.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tlocation: props.location,\n\t\t\trevalidation: props.revalidation,\n\t\t\terror: props.error\n\t\t};\n\t}\n\tstatic contextType = RSCRouterContext;\n\tstatic getDerivedStateFromError(error) {\n\t\treturn { error };\n\t}\n\tstatic getDerivedStateFromProps(props, state) {\n\t\tif (state.location !== props.location || state.revalidation !== \"idle\" && props.revalidation === \"idle\") return {\n\t\t\terror: props.error,\n\t\t\tlocation: props.location,\n\t\t\trevalidation: props.revalidation\n\t\t};\n\t\treturn {\n\t\t\terror: props.error !== void 0 ? props.error : state.error,\n\t\t\tlocation: state.location,\n\t\t\trevalidation: props.revalidation || state.revalidation\n\t\t};\n\t}\n\tcomponentDidCatch(error, errorInfo) {\n\t\tif (this.props.onError) this.props.onError(error, errorInfo);\n\t\telse console.error(\"React Router caught the following error during render\", error);\n\t}\n\trender() {\n\t\tlet error = this.state.error;\n\t\tif (this.context && typeof error === \"object\" && error && \"digest\" in error && typeof error.digest === \"string\") {\n\t\t\tconst decoded = decodeRouteErrorResponseDigest(error.digest);\n\t\t\tif (decoded) error = decoded;\n\t\t}\n\t\tlet result = error !== void 0 ? /* @__PURE__ */ React$1.createElement(RouteContext.Provider, { value: this.props.routeContext }, /* @__PURE__ */ React$1.createElement(RouteErrorContext.Provider, {\n\t\t\tvalue: error,\n\t\t\tchildren: this.props.component\n\t\t})) : this.props.children;\n\t\tif (this.context) return /* @__PURE__ */ React$1.createElement(RSCErrorHandler, { error }, result);\n\t\treturn result;\n\t}\n};\nconst errorRedirectHandledMap = /* @__PURE__ */ new WeakMap();\nfunction RSCErrorHandler({ children, error }) {\n\tlet { basename } = React$1.useContext(NavigationContext);\n\tif (typeof error === \"object\" && error && \"digest\" in error && typeof error.digest === \"string\") {\n\t\tlet redirect = decodeRedirectErrorDigest(error.digest);\n\t\tif (redirect) {\n\t\t\tlet existingRedirect = errorRedirectHandledMap.get(error);\n\t\t\tif (existingRedirect) throw existingRedirect;\n\t\t\tlet parsed = parseToInfo(redirect.location, basename);\n\t\t\tlet target = parsed.absoluteURL || parsed.to;\n\t\t\tif (hasInvalidProtocol(target)) throw new Error(\"Invalid redirect location\");\n\t\t\tif (isBrowser && !errorRedirectHandledMap.get(error)) if (parsed.isExternal || redirect.reloadDocument) window.location.href = target;\n\t\t\telse {\n\t\t\t\tconst redirectPromise = Promise.resolve().then(() => window.__reactRouterDataRouter.navigate(parsed.to, { replace: redirect.replace }));\n\t\t\t\terrorRedirectHandledMap.set(error, redirectPromise);\n\t\t\t\tthrow redirectPromise;\n\t\t\t}\n\t\t\treturn /* @__PURE__ */ React$1.createElement(\"meta\", {\n\t\t\t\thttpEquiv: \"refresh\",\n\t\t\t\tcontent: `0;url=${target}`\n\t\t\t});\n\t\t}\n\t}\n\treturn children;\n}\nfunction RenderedRoute({ routeContext, match, children }) {\n\tlet dataRouterContext = React$1.useContext(DataRouterContext);\n\tif (dataRouterContext && dataRouterContext.static && dataRouterContext.staticContext && (match.route.errorElement || match.route.ErrorBoundary)) dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n\treturn /* @__PURE__ */ React$1.createElement(RouteContext.Provider, { value: routeContext }, children);\n}\nfunction _renderMatches(matches, parentMatches = [], dataRouterOpts) {\n\tlet dataRouterState = dataRouterOpts?.state;\n\tif (matches == null) {\n\t\tif (!dataRouterState) return null;\n\t\tif (dataRouterState.errors) matches = dataRouterState.matches;\n\t\telse if (parentMatches.length === 0 && !dataRouterState.initialized && dataRouterState.matches.length > 0) matches = dataRouterState.matches;\n\t\telse return null;\n\t}\n\tlet renderedMatches = matches;\n\tlet errors = dataRouterState?.errors;\n\tif (errors != null) {\n\t\tlet errorIndex = renderedMatches.findIndex((m) => m.route.id && errors?.[m.route.id] !== void 0);\n\t\tinvariant(errorIndex >= 0, `Could not find a matching route for errors on route IDs: ${Object.keys(errors).join(\",\")}`);\n\t\trenderedMatches = renderedMatches.slice(0, Math.min(renderedMatches.length, errorIndex + 1));\n\t}\n\tlet renderFallback = false;\n\tlet fallbackIndex = -1;\n\tif (dataRouterOpts && dataRouterState) {\n\t\trenderFallback = dataRouterState.renderFallback;\n\t\tfor (let i = 0; i < renderedMatches.length; i++) {\n\t\t\tlet match = renderedMatches[i];\n\t\t\tif (match.route.HydrateFallback || match.route.hydrateFallbackElement) fallbackIndex = i;\n\t\t\tif (match.route.id) {\n\t\t\t\tlet { loaderData, errors } = dataRouterState;\n\t\t\t\tlet needsToRunLoader = match.route.loader && !loaderData.hasOwnProperty(match.route.id) && (!errors || errors[match.route.id] === void 0);\n\t\t\t\tif (match.route.lazy || needsToRunLoader) {\n\t\t\t\t\tif (dataRouterOpts.isStatic) renderFallback = true;\n\t\t\t\t\tif (fallbackIndex >= 0) renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n\t\t\t\t\telse renderedMatches = [renderedMatches[0]];\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tlet onErrorHandler = dataRouterOpts?.onError;\n\tlet onError = dataRouterState && onErrorHandler ? (error, errorInfo) => {\n\t\tonErrorHandler(error, {\n\t\t\tlocation: dataRouterState.location,\n\t\t\tparams: dataRouterState.matches?.[0]?.params ?? {},\n\t\t\tpattern: getRoutePattern(dataRouterState.matches),\n\t\t\terrorInfo\n\t\t});\n\t} : void 0;\n\treturn renderedMatches.reduceRight((outlet, match, index) => {\n\t\tlet error;\n\t\tlet shouldRenderHydrateFallback = false;\n\t\tlet errorElement = null;\n\t\tlet hydrateFallbackElement = null;\n\t\tif (dataRouterState) {\n\t\t\terror = errors && match.route.id ? errors[match.route.id] : void 0;\n\t\t\terrorElement = match.route.errorElement || defaultErrorElement;\n\t\t\tif (renderFallback) {\n\t\t\t\tif (fallbackIndex < 0 && index === 0) {\n\t\t\t\t\twarningOnce(\"route-fallback\", false, \"No `HydrateFallback` element provided to render during initial hydration\");\n\t\t\t\t\tshouldRenderHydrateFallback = true;\n\t\t\t\t\thydrateFallbackElement = null;\n\t\t\t\t} else if (fallbackIndex === index) {\n\t\t\t\t\tshouldRenderHydrateFallback = true;\n\t\t\t\t\thydrateFallbackElement = match.route.hydrateFallbackElement || null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tlet matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n\t\tlet getChildren = () => {\n\t\t\tlet children;\n\t\t\tif (error) children = errorElement;\n\t\t\telse if (shouldRenderHydrateFallback) children = hydrateFallbackElement;\n\t\t\telse if (match.route.Component) children = /* @__PURE__ */ React$1.createElement(match.route.Component, null);\n\t\t\telse if (match.route.element) children = match.route.element;\n\t\t\telse children = outlet;\n\t\t\treturn /* @__PURE__ */ React$1.createElement(RenderedRoute, {\n\t\t\t\tmatch,\n\t\t\t\trouteContext: {\n\t\t\t\t\toutlet,\n\t\t\t\t\tmatches,\n\t\t\t\t\tisDataRoute: dataRouterState != null\n\t\t\t\t},\n\t\t\t\tchildren\n\t\t\t});\n\t\t};\n\t\treturn dataRouterState && (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? /* @__PURE__ */ React$1.createElement(RenderErrorBoundary, {\n\t\t\tlocation: dataRouterState.location,\n\t\t\trevalidation: dataRouterState.revalidation,\n\t\t\tcomponent: errorElement,\n\t\t\terror,\n\t\t\tchildren: getChildren(),\n\t\t\trouteContext: {\n\t\t\t\toutlet: null,\n\t\t\t\tmatches,\n\t\t\t\tisDataRoute: true\n\t\t\t},\n\t\t\tonError\n\t\t}) : getChildren();\n\t}, null);\n}\nfunction getDataRouterConsoleError(hookName) {\n\treturn `${hookName} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`;\n}\nfunction useDataRouterContext(hookName) {\n\tlet ctx = React$1.useContext(DataRouterContext);\n\tinvariant(ctx, getDataRouterConsoleError(hookName));\n\treturn ctx;\n}\nfunction useDataRouterState(hookName) {\n\tlet state = React$1.useContext(DataRouterStateContext);\n\tinvariant(state, getDataRouterConsoleError(hookName));\n\treturn state;\n}\nfunction useRouteContext(hookName) {\n\tlet route = React$1.useContext(RouteContext);\n\tinvariant(route, getDataRouterConsoleError(hookName));\n\treturn route;\n}\nfunction useCurrentRouteId(hookName) {\n\tlet route = useRouteContext(hookName);\n\tlet thisRoute = route.matches[route.matches.length - 1];\n\tinvariant(thisRoute.route.id, `${hookName} can only be used on routes that contain a unique \"id\"`);\n\treturn thisRoute.route.id;\n}\n/**\n* Returns the ID for the nearest contextual route\n*\n* @category Hooks\n* @returns The ID of the nearest contextual route\n*/\nfunction useRouteId() {\n\treturn useCurrentRouteId(\"useRouteId\");\n}\n/**\n* Returns the current {@link Navigation}, defaulting to an \"idle\" navigation\n* when no navigation is in progress. You can use this to render pending UI\n* (like a global spinner) or read [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData)\n* from a form navigation.\n*\n* @example\n* import { useNavigation } from \"react-router\";\n*\n* function SomeComponent() {\n* let navigation = useNavigation();\n* navigation.state;\n* navigation.formData;\n* // etc.\n* }\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @returns The current {@link Navigation} object\n*/\nfunction useNavigation() {\n\tlet state = useDataRouterState(\"useNavigation\");\n\treturn React$1.useMemo(() => {\n\t\tlet { matches, historyAction, ...rest } = state.navigation;\n\t\treturn rest;\n\t}, [state.navigation]);\n}\n/**\n* Revalidate the data on the page for reasons outside of normal data mutations\n* like [`Window` focus](https://developer.mozilla.org/en-US/docs/Web/API/Window/focus_event)\n* or polling on an interval.\n*\n* Note that page data is already revalidated automatically after actions.\n* If you find yourself using this for normal CRUD operations on your data in\n* response to user interactions, you're probably not taking advantage of the\n* other APIs like {@link useFetcher}, {@link Form}, {@link useSubmit} that do\n* this automatically.\n*\n* @example\n* import { useRevalidator } from \"react-router\";\n*\n* function WindowFocusRevalidator() {\n* const revalidator = useRevalidator();\n*\n* useFakeWindowFocus(() => {\n* revalidator.revalidate();\n* });\n*\n* return (\n* <div hidden={revalidator.state === \"idle\"}>\n* Revalidating...\n* </div>\n* );\n* }\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @returns An object with a `revalidate` function and the current revalidation\n* `state`\n*/\nfunction useRevalidator() {\n\tlet dataRouterContext = useDataRouterContext(\"useRevalidator\");\n\tlet state = useDataRouterState(\"useRevalidator\");\n\tlet revalidate = React$1.useCallback(async () => {\n\t\tawait dataRouterContext.router.revalidate();\n\t}, [dataRouterContext.router]);\n\treturn React$1.useMemo(() => ({\n\t\trevalidate,\n\t\tstate: state.revalidation\n\t}), [revalidate, state.revalidation]);\n}\n/**\n* Returns the active route matches, useful for accessing `loaderData` for\n* parent/child routes or the route [`handle`](../../start/framework/route-module#handle)\n* property\n*\n* Pairing the route `handle` with `useMatches` gets very powerful since you can put\n* whatever you want on a route handle and have access to `useMatches` anywhere.\n* Please see the [handle](../../how-to/using-handle) documentation for an example\n* of breadcrumbs via `useMatches`/`handle`.\n*\n* ```tsx\n* import { useMatches } from \"react-router\";\n*\n* function SomeComponent() {\n* const matches = useMatches();\n* // matches[i].id // route id\n* // matches[i].pathname // the portion of the URL the route matched\n* // matches[i].params // the parsed params from the URL\n* // matches[i].loaderData // the data from the loader\n* // matches[i].handle // the route handle with any app specific data\n* }\n* ```\n*\n* <docs-info>useMatches only works with a data router like `createBrowserRouter`,\n* since they know the full route tree up front and can provide all of the current\n* matches. Additionally, `useMatches` will not match down into any descendant route\n* trees since the router isn't aware of the descendant routes.</docs-info>\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @returns An array of {@link UIMatch | UI matches} for the current route hierarchy\n*/\nfunction useMatches() {\n\tlet { matches, loaderData } = useDataRouterState(\"useMatches\");\n\treturn React$1.useMemo(() => matches.map((m) => convertRouteMatchToUiMatch(m, loaderData)), [matches, loaderData]);\n}\n/**\n* Returns the data from the closest route\n* [`loader`](../../start/framework/route-module#loader) or\n* [`clientLoader`](../../start/framework/route-module#clientloader).\n*\n* @example\n* import { useLoaderData } from \"react-router\";\n*\n* export async function loader() {\n* return await fakeDb.invoices.findAll();\n* }\n*\n* export default function Invoices() {\n* let invoices = useLoaderData<typeof loader>();\n* // ...\n* }\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @returns The data returned from the route's [`loader`](../../start/framework/route-module#loader) or [`clientLoader`](../../start/framework/route-module#clientloader) function\n*/\nfunction useLoaderData() {\n\tlet state = useDataRouterState(\"useLoaderData\");\n\tlet routeId = useCurrentRouteId(\"useLoaderData\");\n\treturn state.loaderData[routeId];\n}\n/**\n* Returns the [`loader`](../../start/framework/route-module#loader) data for a\n* given route by route ID.\n*\n* Route IDs are created automatically. They are simply the path of the route file\n* relative to the app folder without the extension.\n*\n* | Route Filename | Route ID |\n* | ---------------------------- | ---------------------- |\n* | `app/root.tsx` | `\"root\"` |\n* | `app/routes/teams.tsx` | `\"routes/teams\"` |\n* | `app/whatever/teams.$id.tsx` | `\"whatever/teams.$id\"` |\n*\n* @example\n* import { useRouteLoaderData } from \"react-router\";\n*\n* function SomeComponent() {\n* const { user } = useRouteLoaderData(\"root\");\n* }\n*\n* // You can also specify your own route ID's manually in your routes.ts file:\n* route(\"/\", \"containers/app.tsx\", { id: \"app\" })\n* useRouteLoaderData(\"app\");\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @param routeId The ID of the route to return loader data from\n* @returns The data returned from the specified route's [`loader`](../../start/framework/route-module#loader)\n* function, or `undefined` if not found\n*/\nfunction useRouteLoaderData(routeId) {\n\treturn useDataRouterState(\"useRouteLoaderData\").loaderData[routeId];\n}\n/**\n* Returns the [`action`](../../start/framework/route-module#action) data from\n* the most recent `POST` navigation form submission or `undefined` if there\n* hasn't been one.\n*\n* @example\n* import { Form, useActionData } from \"react-router\";\n*\n* export async function action({ request }) {\n* const body = await request.formData();\n* const name = body.get(\"visitorsName\");\n* return { message: `Hello, ${name}` };\n* }\n*\n* export default function Invoices() {\n* const data = useActionData();\n* return (\n* <Form method=\"post\">\n* <input type=\"text\" name=\"visitorsName\" />\n* {data ? data.message : \"Waiting...\"}\n* </Form>\n* );\n* }\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @returns The data returned from the route's [`action`](../../start/framework/route-module#action)\n* function, or `undefined` if no [`action`](../../start/framework/route-module#action)\n* has been called\n*/\nfunction useActionData() {\n\tlet state = useDataRouterState(\"useActionData\");\n\tlet routeId = useCurrentRouteId(\"useLoaderData\");\n\treturn state.actionData ? state.actionData[routeId] : void 0;\n}\n/**\n* Accesses the error thrown during an\n* [`action`](../../start/framework/route-module#action),\n* [`loader`](../../start/framework/route-module#loader),\n* or component render to be used in a route module\n* [`ErrorBoundary`](../../start/framework/route-module#errorboundary).\n*\n* @example\n* export function ErrorBoundary() {\n* const error = useRouteError();\n* return <div>{error.message}</div>;\n* }\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @returns The error that was thrown during route [loading](../../start/framework/route-module#loader),\n* [`action`](../../start/framework/route-module#action) execution, or rendering\n*/\nfunction useRouteError() {\n\tlet error = React$1.useContext(RouteErrorContext);\n\tlet state = useDataRouterState(\"useRouteError\");\n\tlet routeId = useCurrentRouteId(\"useRouteError\");\n\tif (error !== void 0) return error;\n\treturn state.errors?.[routeId];\n}\n/**\n* Returns the resolved promise value from the closest {@link Await | `<Await>`}.\n*\n* @example\n* function SomeDescendant() {\n* const value = useAsyncValue();\n* // ...\n* }\n*\n* // somewhere in your app\n* <Await resolve={somePromise}>\n* <SomeDescendant />\n* </Await>;\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @returns The resolved value from the nearest {@link Await} component\n*/\nfunction useAsyncValue() {\n\treturn React$1.useContext(AwaitContext)?._data;\n}\n/**\n* Returns the rejection value from the closest {@link Await | `<Await>`}.\n*\n* @example\n* import { Await, useAsyncError } from \"react-router\";\n*\n* function ErrorElement() {\n* const error = useAsyncError();\n* return (\n* <p>Uh Oh, something went wrong! {error.message}</p>\n* );\n* }\n*\n* // somewhere in your app\n* <Await\n* resolve={promiseThatRejects}\n* errorElement={<ErrorElement />}\n* />;\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @returns The error that was thrown in the nearest {@link Await} component\n*/\nfunction useAsyncError() {\n\treturn React$1.useContext(AwaitContext)?._error;\n}\nlet blockerId = 0;\n/**\n* Allow the application to block navigations within the SPA and present the\n* user a confirmation dialog to confirm the navigation. Mostly used to avoid\n* using half-filled form data. This does not handle hard-reloads or\n* cross-origin navigations.\n*\n* The {@link Blocker} object returned by the hook has the following properties:\n*\n* - **`state`**\n* - `unblocked` - the blocker is idle and has not prevented any navigation\n* - `blocked` - the blocker has prevented a navigation\n* - `proceeding` - the blocker is proceeding through from a blocked navigation\n* - **`location`**\n* - When in a `blocked` state, this represents the {@link Location} to which\n* we blocked a navigation. When in a `proceeding` state, this is the\n* location being navigated to after a `blocker.proceed()` call.\n* - **`proceed()`**\n* - When in a `blocked` state, you may call `blocker.proceed()` to proceed to\n* the blocked location.\n* - **`reset()`**\n* - When in a `blocked` state, you may call `blocker.reset()` to return the\n* blocker to an `unblocked` state and leave the user at the current\n* location.\n*\n* @example\n* // Boolean version\n* let blocker = useBlocker(value !== \"\");\n*\n* // Function version\n* let blocker = useBlocker(\n* ({ currentLocation, nextLocation, historyAction }) =>\n* value !== \"\" &&\n* currentLocation.pathname !== nextLocation.pathname\n* );\n*\n* @additionalExamples\n* ```tsx\n* import { useCallback, useState } from \"react\";\n* import { BlockerFunction, useBlocker } from \"react-router\";\n*\n* export function ImportantForm() {\n* const [value, setValue] = useState(\"\");\n*\n* const shouldBlock = useCallback<BlockerFunction>(\n* () => value !== \"\",\n* [value]\n* );\n* const blocker = useBlocker(shouldBlock);\n*\n* return (\n* <form\n* onSubmit={(e) => {\n* e.preventDefault();\n* setValue(\"\");\n* if (blocker.state === \"blocked\") {\n* blocker.proceed();\n* }\n* }}\n* >\n* <input\n* name=\"data\"\n* value={value}\n* onChange={(e) => setValue(e.target.value)}\n* />\n*\n* <button type=\"submit\">Save</button>\n*\n* {blocker.state === \"blocked\" ? (\n* <>\n* <p style={{ color: \"red\" }}>\n* Blocked the last navigation to\n* </p>\n* <button\n* type=\"button\"\n* onClick={() => blocker.proceed()}\n* >\n* Let me through\n* </button>\n* <button\n* type=\"button\"\n* onClick={() => blocker.reset()}\n* >\n* Keep me here\n* </button>\n* </>\n* ) : blocker.state === \"proceeding\" ? (\n* <p style={{ color: \"orange\" }}>\n* Proceeding through blocked navigation\n* </p>\n* ) : (\n* <p style={{ color: \"green\" }}>\n* Blocker is currently unblocked\n* </p>\n* )}\n* </form>\n* );\n* }\n* ```\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @param shouldBlock Either a boolean or a function returning a boolean which\n* indicates whether the navigation should be blocked. The function format\n* receives a single object parameter containing the `currentLocation`,\n* `nextLocation`, and `historyAction` of the potential navigation.\n* @returns A {@link Blocker} object with state and reset functionality\n*/\nfunction useBlocker(shouldBlock) {\n\tlet { router, basename } = useDataRouterContext(\"useBlocker\");\n\tlet state = useDataRouterState(\"useBlocker\");\n\tlet [blockerKey, setBlockerKey] = React$1.useState(\"\");\n\tlet blockerFunction = React$1.useCallback((arg) => {\n\t\tif (typeof shouldBlock !== \"function\") return !!shouldBlock;\n\t\tif (basename === \"/\") return shouldBlock(arg);\n\t\tlet { currentLocation, nextLocation, historyAction } = arg;\n\t\treturn shouldBlock({\n\t\t\tcurrentLocation: {\n\t\t\t\t...currentLocation,\n\t\t\t\tpathname: stripBasename(currentLocation.pathname, basename) || currentLocation.pathname\n\t\t\t},\n\t\t\tnextLocation: {\n\t\t\t\t...nextLocation,\n\t\t\t\tpathname: stripBasename(nextLocation.pathname, basename) || nextLocation.pathname\n\t\t\t},\n\t\t\thistoryAction\n\t\t});\n\t}, [basename, shouldBlock]);\n\tReact$1.useEffect(() => {\n\t\tlet key = String(++blockerId);\n\t\tsetBlockerKey(key);\n\t\treturn () => router.deleteBlocker(key);\n\t}, [router]);\n\tReact$1.useEffect(() => {\n\t\tif (blockerKey !== \"\") router.getBlocker(blockerKey, blockerFunction);\n\t}, [\n\t\trouter,\n\t\tblockerKey,\n\t\tblockerFunction\n\t]);\n\treturn blockerKey && state.blockers.has(blockerKey) ? state.blockers.get(blockerKey) : IDLE_BLOCKER;\n}\nfunction useNavigateStable() {\n\tlet { router } = useDataRouterContext(\"useNavigate\");\n\tlet id = useCurrentRouteId(\"useNavigate\");\n\tlet activeRef = React$1.useRef(false);\n\tReact$1.useLayoutEffect(() => {\n\t\tactiveRef.current = true;\n\t});\n\treturn React$1.useCallback(async (to, options = {}) => {\n\t\twarning(activeRef.current, navigateEffectWarning);\n\t\tif (!activeRef.current) return;\n\t\tif (typeof to === \"number\") await router.navigate(to);\n\t\telse await router.navigate(to, {\n\t\t\tfromRouteId: id,\n\t\t\t...options\n\t\t});\n\t}, [router, id]);\n}\nconst alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n\tif (!cond && !alreadyWarned[key]) {\n\t\talreadyWarned[key] = true;\n\t\twarning(false, message);\n\t}\n}\nfunction useRoute(...args) {\n\tconst currentRouteId = useCurrentRouteId(\"useRoute\");\n\tconst id = args[0] ?? currentRouteId;\n\tconst state = useDataRouterState(\"useRoute\");\n\tconst route = state.matches.find(({ route }) => route.id === id);\n\tif (route === void 0) return void 0;\n\treturn {\n\t\thandle: route.route.handle,\n\t\tloaderData: state.loaderData[id],\n\t\tactionData: state.actionData?.[id]\n\t};\n}\nfunction toRouterStateMatch(match) {\n\treturn {\n\t\tid: match.route.id,\n\t\tpathname: match.pathname,\n\t\tparams: match.params,\n\t\thandle: match.route.handle\n\t};\n}\n/**\n* A unified hook for reading router state: current (`active`) and in-flight\n* (`pending`) locations, search params, params, matches, and navigation type.\n*\n* This hook consolidates the information you used to get from {@link useLocation},\n* {@link useSearchParams}, {@link useParams}, {@link useMatches}, {@link useNavigation},\n* and {@link useNavigationType} into a single hook.\n*\n*\n* @example\n* import { unstable_useRouterState as useRouterState } from \"react-router\";\n*\n* let { active, pending } = unstable_useRouterState();\n*\n* // Active is always populated with the current location\n* active.location; // replaces `useLocation()`\n* active.searchParams; // replaces `useSearchParams()[0]`\n* active.params; // replaces `useParams()`\n* active.matches; // replaces `useMatches()`\n* active.type; // replaces `useNavigationType()`\n*\n* // Pending is only populated during a navigation\n* pending.location; // replaces `useNavigation().location`\n* pending.searchParams; // equivalent to `new URLSearchParams(useNavigation().search)`\n* pending.params; // Not directly accessible today\n* pending.matches; // Not directly accessible today\n* pending.type; // Not directly accessible today\n* pending.state; // replaces `useNavigation().state`\n* pending.formMethod; // replaces useNavigation().formMethod\n* pending.formAction; // replaces useNavigation().formAction\n* pending.formEncType; // replaces useNavigation().formEncType\n* pending.formData; // replaces useNavigation().formData\n* pending.json; // replaces useNavigation().json\n* pending.text; // replaces useNavigation().text\n*\n* @name unstable_useRouterState\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @returns The current router state with `active` and `pending` variants\n*/\nfunction useRouterState() {\n\tlet { location, historyAction: type, matches, navigation } = useDataRouterState(\"unstable_useRouterState\");\n\tlet active = React$1.useMemo(() => ({\n\t\ttype,\n\t\tlocation,\n\t\tsearchParams: new URLSearchParams(location.search),\n\t\tparams: matches[matches.length - 1]?.params ?? {},\n\t\tmatches: matches.map((m) => toRouterStateMatch(m))\n\t}), [\n\t\tlocation,\n\t\tmatches,\n\t\ttype\n\t]);\n\tlet pending = React$1.useMemo(() => {\n\t\tif (navigation.state === \"idle\") return null;\n\t\tlet shared = {\n\t\t\ttype: navigation.historyAction,\n\t\t\tlocation: navigation.location,\n\t\t\tsearchParams: new URLSearchParams(navigation.location.search),\n\t\t\tparams: navigation.matches[navigation.matches.length - 1]?.params ?? {},\n\t\t\tmatches: navigation.matches.map((m) => toRouterStateMatch(m))\n\t\t};\n\t\treturn navigation.state === \"loading\" ? {\n\t\t\t...shared,\n\t\t\tstate: \"loading\",\n\t\t\tformMethod: navigation.formMethod,\n\t\t\tformAction: navigation.formAction,\n\t\t\tformEncType: navigation.formEncType,\n\t\t\tformData: navigation.formData,\n\t\t\tjson: navigation.json,\n\t\t\ttext: navigation.text\n\t\t} : {\n\t\t\t...shared,\n\t\t\tstate: \"submitting\",\n\t\t\tformMethod: navigation.formMethod,\n\t\t\tformAction: navigation.formAction,\n\t\t\tformEncType: navigation.formEncType,\n\t\t\tformData: navigation.formData,\n\t\t\tjson: navigation.json,\n\t\t\ttext: navigation.text\n\t\t};\n\t}, [navigation]);\n\treturn React$1.useMemo(() => ({\n\t\tactive,\n\t\tpending\n\t}), [active, pending]);\n}\n//#endregion\nexport { _renderMatches, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRoute, useRouteError, useRouteId, useRouteLoaderData, useRouterState, useRoutes, useRoutesImpl };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { createMemoryHistory, invariant, parsePath, warning } from \"./router/history.js\";\nimport { defaultMapRouteProperties, getResolveToMatches, getRoutePattern, resolveTo, stripBasename } from \"./router/utils.js\";\nimport { createRouter } from \"./router/router.js\";\nimport { AwaitContext, DataRouterContext, DataRouterStateContext, FetchersContext, LocationContext, NavigationContext, RouteContext, ViewTransitionContext, useIsRSCRouterContext } from \"./context.js\";\nimport { _renderMatches, useActionData, useAsyncValue, useInRouterContext, useLoaderData, useLocation, useMatches, useNavigate, useOutlet, useParams, useRouteError, useRoutes, useRoutesImpl } from \"./hooks.js\";\nimport { warnOnce } from \"./server-runtime/warnings.js\";\nimport * as React$1 from \"react\";\nimport { useOptimistic } from \"react\";\n//#region lib/components.tsx\nconst hydrationRouteProperties = [\"HydrateFallback\", \"hydrateFallbackElement\"];\n/**\n* Create a new {@link DataRouter} that manages the application path using an\n* in-memory [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)\n* stack. Useful for non-browser environments without a DOM API.\n*\n* Data Routers should not be held in React state. You should create your router\n* once outside of the React tree and pass it to {@link RouterProvider | `<RouterProvider>`}.\n* You can use `patchRoutesOnNavigation` to add additional routes programmatically.\n*\n* @public\n* @category Data Routers\n* @mode data\n* @param routes Application routes\n* @param opts Options\n* @param {MemoryRouterOpts.basename} opts.basename n/a\n* @param {MemoryRouterOpts.dataStrategy} opts.dataStrategy n/a\n* @param {MemoryRouterOpts.future} opts.future n/a\n* @param {MemoryRouterOpts.getContext} opts.getContext n/a\n* @param {MemoryRouterOpts.hydrationData} opts.hydrationData n/a\n* @param {MemoryRouterOpts.initialEntries} opts.initialEntries n/a\n* @param {MemoryRouterOpts.initialIndex} opts.initialIndex n/a\n* @param {MemoryRouterOpts.instrumentations} opts.instrumentations n/a\n* @param {MemoryRouterOpts.patchRoutesOnNavigation} opts.patchRoutesOnNavigation n/a\n* @returns An initialized {@link DataRouter} to pass to {@link RouterProvider | `<RouterProvider>`}\n*/\nfunction createMemoryRouter(routes, opts) {\n\treturn createRouter({\n\t\tbasename: opts?.basename,\n\t\tgetContext: opts?.getContext,\n\t\tfuture: opts?.future,\n\t\thistory: createMemoryHistory({\n\t\t\tinitialEntries: opts?.initialEntries,\n\t\t\tinitialIndex: opts?.initialIndex\n\t\t}),\n\t\thydrationData: opts?.hydrationData,\n\t\troutes,\n\t\tmapRouteProperties: defaultMapRouteProperties,\n\t\thydrationRouteProperties,\n\t\tdataStrategy: opts?.dataStrategy,\n\t\tpatchRoutesOnNavigation: opts?.patchRoutesOnNavigation,\n\t\tinstrumentations: opts?.instrumentations\n\t}).initialize();\n}\nvar Deferred = class {\n\tstatus = \"pending\";\n\tpromise;\n\tresolve;\n\treject;\n\tconstructor() {\n\t\tthis.promise = new Promise((resolve, reject) => {\n\t\t\tthis.resolve = (value) => {\n\t\t\t\tif (this.status === \"pending\") {\n\t\t\t\t\tthis.status = \"resolved\";\n\t\t\t\t\tresolve(value);\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis.reject = (reason) => {\n\t\t\t\tif (this.status === \"pending\") {\n\t\t\t\t\tthis.status = \"rejected\";\n\t\t\t\t\treject(reason);\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n};\n/**\n* Render the UI for the given {@link DataRouter}. This component should\n* typically be at the top of an app's element tree. The router prop should\n* be a single router instance created outside of the React tree. Avoid\n* creating new routers during React renders/re-renders.\n*\n* ```tsx\n* import { createBrowserRouter } from \"react-router\";\n* import { RouterProvider } from \"react-router/dom\";\n* import { createRoot } from \"react-dom/client\";\n*\n* const router = createBrowserRouter(routes);\n* createRoot(document.getElementById(\"root\")).render(\n* <RouterProvider router={router} />\n* );\n* ```\n*\n* <docs-info>Please note that this component is exported both from\n* `react-router` and `react-router/dom` with the only difference being that the\n* latter automatically wires up `react-dom`'s [`flushSync`](https://react.dev/reference/react-dom/flushSync)\n* implementation. You _almost always_ want to use the version from\n* `react-router/dom` unless you're running in a non-DOM environment.</docs-info>\n*\n*\n* @public\n* @category Data Routers\n* @mode data\n* @param props Props\n* @param {RouterProviderProps.flushSync} props.flushSync n/a\n* @param {RouterProviderProps.onError} props.onError n/a\n* @param {RouterProviderProps.router} props.router n/a\n* @param {RouterProviderProps.useTransitions} props.useTransitions n/a\n* @returns React element for the rendered router\n*/\nfunction RouterProvider({ router, flushSync: reactDomFlushSyncImpl, onError, useTransitions }) {\n\tuseTransitions = useIsRSCRouterContext() || useTransitions;\n\tlet [_state, setStateImpl] = React$1.useState(router.state);\n\tlet [state, setOptimisticState] = useOptimistic(_state);\n\tlet [pendingState, setPendingState] = React$1.useState();\n\tlet [vtContext, setVtContext] = React$1.useState({ isTransitioning: false });\n\tlet [renderDfd, setRenderDfd] = React$1.useState();\n\tlet [transition, setTransition] = React$1.useState();\n\tlet [interruption, setInterruption] = React$1.useState();\n\tlet fetcherData = React$1.useRef(/* @__PURE__ */ new Map());\n\tlet setState = React$1.useCallback((newState, { deletedFetchers, newErrors, flushSync, viewTransitionOpts }) => {\n\t\tif (newErrors && onError) Object.values(newErrors).forEach((error) => onError(error, {\n\t\t\tlocation: newState.location,\n\t\t\tparams: newState.matches[0]?.params ?? {},\n\t\t\tpattern: getRoutePattern(newState.matches)\n\t\t}));\n\t\tnewState.fetchers.forEach((fetcher, key) => {\n\t\t\tif (fetcher.data !== void 0) fetcherData.current.set(key, fetcher.data);\n\t\t});\n\t\tdeletedFetchers.forEach((key) => fetcherData.current.delete(key));\n\t\twarnOnce(flushSync === false || reactDomFlushSyncImpl != null, \"You provided the `flushSync` option to a router update, but you are not using the `<RouterProvider>` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from \\\"react-router/dom\\\"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.\");\n\t\tlet isViewTransitionAvailable = router.window != null && router.window.document != null && typeof router.window.document.startViewTransition === \"function\";\n\t\twarnOnce(viewTransitionOpts == null || isViewTransitionAvailable, \"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available.\");\n\t\tif (!viewTransitionOpts || !isViewTransitionAvailable) {\n\t\t\tif (reactDomFlushSyncImpl && flushSync) reactDomFlushSyncImpl(() => setStateImpl(newState));\n\t\t\telse if (useTransitions === false) setStateImpl(newState);\n\t\t\telse React$1.startTransition(() => {\n\t\t\t\tif (useTransitions === true) setOptimisticState((s) => getOptimisticRouterState(s, newState));\n\t\t\t\tsetStateImpl(newState);\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\t\tif (reactDomFlushSyncImpl && flushSync) {\n\t\t\treactDomFlushSyncImpl(() => {\n\t\t\t\tif (transition) {\n\t\t\t\t\trenderDfd?.resolve();\n\t\t\t\t\ttransition.skipTransition();\n\t\t\t\t}\n\t\t\t\tsetVtContext({\n\t\t\t\t\tisTransitioning: true,\n\t\t\t\t\tflushSync: true,\n\t\t\t\t\tcurrentLocation: viewTransitionOpts.currentLocation,\n\t\t\t\t\tnextLocation: viewTransitionOpts.nextLocation\n\t\t\t\t});\n\t\t\t});\n\t\t\tlet t = router.window.document.startViewTransition(() => {\n\t\t\t\treactDomFlushSyncImpl(() => setStateImpl(newState));\n\t\t\t});\n\t\t\tt.finished.finally(() => {\n\t\t\t\treactDomFlushSyncImpl(() => {\n\t\t\t\t\tsetRenderDfd(void 0);\n\t\t\t\t\tsetTransition(void 0);\n\t\t\t\t\tsetPendingState(void 0);\n\t\t\t\t\tsetVtContext({ isTransitioning: false });\n\t\t\t\t});\n\t\t\t});\n\t\t\treactDomFlushSyncImpl(() => setTransition(t));\n\t\t\treturn;\n\t\t}\n\t\tif (transition) {\n\t\t\trenderDfd?.resolve();\n\t\t\ttransition.skipTransition();\n\t\t\tsetInterruption({\n\t\t\t\tstate: newState,\n\t\t\t\tcurrentLocation: viewTransitionOpts.currentLocation,\n\t\t\t\tnextLocation: viewTransitionOpts.nextLocation\n\t\t\t});\n\t\t} else {\n\t\t\tsetPendingState(newState);\n\t\t\tsetVtContext({\n\t\t\t\tisTransitioning: true,\n\t\t\t\tflushSync: false,\n\t\t\t\tcurrentLocation: viewTransitionOpts.currentLocation,\n\t\t\t\tnextLocation: viewTransitionOpts.nextLocation\n\t\t\t});\n\t\t}\n\t}, [\n\t\trouter.window,\n\t\treactDomFlushSyncImpl,\n\t\ttransition,\n\t\trenderDfd,\n\t\tuseTransitions,\n\t\tsetOptimisticState,\n\t\tonError\n\t]);\n\tReact$1.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n\tReact$1.useEffect(() => {\n\t\tif (vtContext.isTransitioning && !vtContext.flushSync) setRenderDfd(new Deferred());\n\t}, [vtContext]);\n\tReact$1.useEffect(() => {\n\t\tif (renderDfd && pendingState && router.window) {\n\t\t\tlet newState = pendingState;\n\t\t\tlet renderPromise = renderDfd.promise;\n\t\t\tlet transition = router.window.document.startViewTransition(async () => {\n\t\t\t\tif (useTransitions === false) setStateImpl(newState);\n\t\t\t\telse React$1.startTransition(() => {\n\t\t\t\t\tif (useTransitions === true) setOptimisticState((s) => getOptimisticRouterState(s, newState));\n\t\t\t\t\tsetStateImpl(newState);\n\t\t\t\t});\n\t\t\t\tawait renderPromise;\n\t\t\t});\n\t\t\ttransition.finished.finally(() => {\n\t\t\t\tsetRenderDfd(void 0);\n\t\t\t\tsetTransition(void 0);\n\t\t\t\tsetPendingState(void 0);\n\t\t\t\tsetVtContext({ isTransitioning: false });\n\t\t\t});\n\t\t\tsetTransition(transition);\n\t\t}\n\t}, [\n\t\tpendingState,\n\t\trenderDfd,\n\t\trouter.window,\n\t\tuseTransitions,\n\t\tsetOptimisticState\n\t]);\n\tReact$1.useEffect(() => {\n\t\tif (renderDfd && pendingState && state.location.key === pendingState.location.key) renderDfd.resolve();\n\t}, [\n\t\trenderDfd,\n\t\ttransition,\n\t\tstate.location,\n\t\tpendingState\n\t]);\n\tReact$1.useEffect(() => {\n\t\tif (!vtContext.isTransitioning && interruption) {\n\t\t\tsetPendingState(interruption.state);\n\t\t\tsetVtContext({\n\t\t\t\tisTransitioning: true,\n\t\t\t\tflushSync: false,\n\t\t\t\tcurrentLocation: interruption.currentLocation,\n\t\t\t\tnextLocation: interruption.nextLocation\n\t\t\t});\n\t\t\tsetInterruption(void 0);\n\t\t}\n\t}, [vtContext.isTransitioning, interruption]);\n\tlet navigator = React$1.useMemo(() => {\n\t\treturn {\n\t\t\tcreateHref: router.createHref,\n\t\t\tencodeLocation: router.encodeLocation,\n\t\t\tgo: (n) => router.navigate(n),\n\t\t\tpush: (to, state, opts) => router.navigate(to, {\n\t\t\t\tstate,\n\t\t\t\tpreventScrollReset: opts?.preventScrollReset\n\t\t\t}),\n\t\t\treplace: (to, state, opts) => router.navigate(to, {\n\t\t\t\treplace: true,\n\t\t\t\tstate,\n\t\t\t\tpreventScrollReset: opts?.preventScrollReset\n\t\t\t})\n\t\t};\n\t}, [router]);\n\tlet basename = router.basename || \"/\";\n\tlet dataRouterContext = React$1.useMemo(() => ({\n\t\trouter,\n\t\tnavigator,\n\t\tstatic: false,\n\t\tbasename,\n\t\tonError\n\t}), [\n\t\trouter,\n\t\tnavigator,\n\t\tbasename,\n\t\tonError\n\t]);\n\treturn /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(DataRouterContext.Provider, { value: dataRouterContext }, /* @__PURE__ */ React$1.createElement(DataRouterStateContext.Provider, { value: state }, /* @__PURE__ */ React$1.createElement(FetchersContext.Provider, { value: fetcherData.current }, /* @__PURE__ */ React$1.createElement(ViewTransitionContext.Provider, { value: vtContext }, /* @__PURE__ */ React$1.createElement(Router, {\n\t\tbasename,\n\t\tlocation: state.location,\n\t\tnavigationType: state.historyAction,\n\t\tnavigator,\n\t\tuseTransitions\n\t}, /* @__PURE__ */ React$1.createElement(MemoizedDataRoutes, {\n\t\troutes: router.routes,\n\t\tmanifest: router.manifest,\n\t\tfuture: router.future,\n\t\tstate,\n\t\tisStatic: false,\n\t\tonError\n\t})))))), null);\n}\nfunction getOptimisticRouterState(currentState, newState) {\n\treturn {\n\t\t...currentState,\n\t\tnavigation: newState.navigation.state !== \"idle\" ? newState.navigation : currentState.navigation,\n\t\trevalidation: newState.revalidation !== \"idle\" ? newState.revalidation : currentState.revalidation,\n\t\tactionData: newState.navigation.state !== \"submitting\" ? newState.actionData : currentState.actionData,\n\t\tfetchers: newState.fetchers\n\t};\n}\nconst MemoizedDataRoutes = React$1.memo(DataRoutes);\nfunction DataRoutes({ routes, manifest, future, state, isStatic, onError }) {\n\treturn useRoutesImpl(routes, void 0, {\n\t\tmanifest,\n\t\tstate,\n\t\tisStatic,\n\t\tonError,\n\t\tfuture\n\t});\n}\n/**\n* A declarative {@link Router | `<Router>`} that stores all entries in memory.\n*\n* @public\n* @category Declarative Routers\n* @mode declarative\n* @param props Props\n* @param {MemoryRouterProps.basename} props.basename n/a\n* @param {MemoryRouterProps.children} props.children n/a\n* @param {MemoryRouterProps.initialEntries} props.initialEntries n/a\n* @param {MemoryRouterProps.initialIndex} props.initialIndex n/a\n* @param {MemoryRouterProps.useTransitions} props.useTransitions n/a\n* @returns A declarative in-memory {@link Router | `<Router>`} for client-side\n* routing.\n*/\nfunction MemoryRouter({ basename, children, initialEntries, initialIndex, useTransitions }) {\n\tlet historyRef = React$1.useRef(null);\n\tif (historyRef.current == null) historyRef.current = createMemoryHistory({\n\t\tinitialEntries,\n\t\tinitialIndex,\n\t\tv5Compat: true\n\t});\n\tlet history = historyRef.current;\n\tlet [state, setStateImpl] = React$1.useState({\n\t\taction: history.action,\n\t\tlocation: history.location\n\t});\n\tlet setState = React$1.useCallback((newState) => {\n\t\tif (useTransitions === false) setStateImpl(newState);\n\t\telse React$1.startTransition(() => setStateImpl(newState));\n\t}, [useTransitions]);\n\tReact$1.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\treturn /* @__PURE__ */ React$1.createElement(Router, {\n\t\tbasename,\n\t\tchildren,\n\t\tlocation: state.location,\n\t\tnavigationType: state.action,\n\t\tnavigator: history,\n\t\tuseTransitions\n\t});\n}\n/**\n* A component-based version of {@link useNavigate} to use in a\n* [`React.Component` class](https://react.dev/reference/react/Component) where\n* hooks cannot be used.\n*\n* It's recommended to avoid using this component in favor of {@link useNavigate}.\n*\n* @example\n* <Navigate to=\"/tasks\" />\n*\n* @public\n* @category Components\n* @param props Props\n* @param {NavigateProps.relative} props.relative n/a\n* @param {NavigateProps.replace} props.replace n/a\n* @param {NavigateProps.state} props.state n/a\n* @param {NavigateProps.to} props.to n/a\n* @returns {void}\n*\n*/\nfunction Navigate({ to, replace, state, relative }) {\n\tinvariant(useInRouterContext(), `<Navigate> may be used only in the context of a <Router> component.`);\n\tlet { static: isStatic } = React$1.useContext(NavigationContext);\n\twarning(!isStatic, \"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.\");\n\tlet { matches } = React$1.useContext(RouteContext);\n\tlet { pathname: locationPathname } = useLocation();\n\tlet navigate = useNavigate();\n\tlet path = resolveTo(to, getResolveToMatches(matches), locationPathname, relative === \"path\");\n\tlet jsonPath = JSON.stringify(path);\n\tReact$1.useEffect(() => {\n\t\tnavigate(JSON.parse(jsonPath), {\n\t\t\treplace,\n\t\t\tstate,\n\t\t\trelative\n\t\t});\n\t}, [\n\t\tnavigate,\n\t\tjsonPath,\n\t\trelative,\n\t\treplace,\n\t\tstate\n\t]);\n\treturn null;\n}\n/**\n* Renders the matching child route of a parent route or nothing if no child\n* route matches.\n*\n* @example\n* import { Outlet } from \"react-router\";\n*\n* export default function SomeParent() {\n* return (\n* <div>\n* <h1>Parent Content</h1>\n* <Outlet />\n* </div>\n* );\n* }\n*\n* @public\n* @category Components\n* @param props Props\n* @param {OutletProps.context} props.context n/a\n* @returns React element for the rendered outlet or `null` if no child route matches.\n*/\nfunction Outlet(props) {\n\treturn useOutlet(props.context);\n}\n/**\n* Configures an element to render when a pattern matches the current location.\n* It must be rendered within a {@link Routes} element. Note that these routes\n* do not participate in data loading, actions, code splitting, or any other\n* route module features.\n*\n* @example\n* // Usually used in a declarative router\n* function App() {\n* return (\n* <BrowserRouter>\n* <Routes>\n* <Route index element={<StepOne />} />\n* <Route path=\"step-2\" element={<StepTwo />} />\n* <Route path=\"step-3\" element={<StepThree />} />\n* </Routes>\n* </BrowserRouter>\n* );\n* }\n*\n* // But can be used with a data router as well if you prefer the JSX notation\n* const routes = createRoutesFromElements(\n* <>\n* <Route index loader={step1Loader} Component={StepOne} />\n* <Route path=\"step-2\" loader={step2Loader} Component={StepTwo} />\n* <Route path=\"step-3\" loader={step3Loader} Component={StepThree} />\n* </>\n* );\n*\n* const router = createBrowserRouter(routes);\n*\n* function App() {\n* return <RouterProvider router={router} />;\n* }\n*\n* @public\n* @category Components\n* @param props Props\n* @param {PathRouteProps.action} props.action n/a\n* @param {PathRouteProps.caseSensitive} props.caseSensitive n/a\n* @param {PathRouteProps.Component} props.Component n/a\n* @param {PathRouteProps.children} props.children n/a\n* @param {PathRouteProps.element} props.element n/a\n* @param {PathRouteProps.ErrorBoundary} props.ErrorBoundary n/a\n* @param {PathRouteProps.errorElement} props.errorElement n/a\n* @param {PathRouteProps.handle} props.handle n/a\n* @param {PathRouteProps.HydrateFallback} props.HydrateFallback n/a\n* @param {PathRouteProps.hydrateFallbackElement} props.hydrateFallbackElement n/a\n* @param {PathRouteProps.id} props.id n/a\n* @param {PathRouteProps.index} props.index n/a\n* @param {PathRouteProps.lazy} props.lazy n/a\n* @param {PathRouteProps.loader} props.loader n/a\n* @param {PathRouteProps.path} props.path n/a\n* @param {PathRouteProps.shouldRevalidate} props.shouldRevalidate n/a\n* @returns {void}\n*/\nfunction Route(props) {\n\tinvariant(false, \"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.\");\n}\n/**\n* Provides location context for the rest of the app.\n*\n* Note: You usually won't render a `<Router>` directly. Instead, you'll render a\n* router that is more specific to your environment such as a {@link BrowserRouter}\n* in web browsers or a {@link ServerRouter} for server rendering.\n*\n* @public\n* @category Declarative Routers\n* @mode declarative\n* @param props Props\n* @param {RouterProps.basename} props.basename n/a\n* @param {RouterProps.children} props.children n/a\n* @param {RouterProps.location} props.location n/a\n* @param {RouterProps.navigationType} props.navigationType n/a\n* @param {RouterProps.navigator} props.navigator n/a\n* @param {RouterProps.static} props.static n/a\n* @param {RouterProps.useTransitions} props.useTransitions n/a\n* @returns React element for the rendered router or `null` if the location does\n* not match the {@link props.basename}\n*/\nfunction Router({ basename: basenameProp = \"/\", children = null, location: locationProp, navigationType = \"POP\", navigator, static: staticProp = false, useTransitions }) {\n\tinvariant(!useInRouterContext(), \"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.\");\n\tlet basename = basenameProp.replace(/^\\/*/, \"/\");\n\tlet navigationContext = React$1.useMemo(() => ({\n\t\tbasename,\n\t\tnavigator,\n\t\tstatic: staticProp,\n\t\tuseTransitions,\n\t\tfuture: {}\n\t}), [\n\t\tbasename,\n\t\tnavigator,\n\t\tstaticProp,\n\t\tuseTransitions\n\t]);\n\tif (typeof locationProp === \"string\") locationProp = parsePath(locationProp);\n\tlet { pathname = \"/\", search = \"\", hash = \"\", state = null, key = \"default\", mask } = locationProp;\n\tlet locationContext = React$1.useMemo(() => {\n\t\tlet trailingPathname = stripBasename(pathname, basename);\n\t\tif (trailingPathname == null) return null;\n\t\treturn {\n\t\t\tlocation: {\n\t\t\t\tpathname: trailingPathname,\n\t\t\t\tsearch,\n\t\t\t\thash,\n\t\t\t\tstate,\n\t\t\t\tkey,\n\t\t\t\tmask\n\t\t\t},\n\t\t\tnavigationType\n\t\t};\n\t}, [\n\t\tbasename,\n\t\tpathname,\n\t\tsearch,\n\t\thash,\n\t\tstate,\n\t\tkey,\n\t\tnavigationType,\n\t\tmask\n\t]);\n\twarning(locationContext != null, `<Router basename=\"${basename}\"> is not able to match the URL \"${pathname}${search}${hash}\" because it does not start with the basename, so the <Router> won't render anything.`);\n\tif (locationContext == null) return null;\n\treturn /* @__PURE__ */ React$1.createElement(NavigationContext.Provider, { value: navigationContext }, /* @__PURE__ */ React$1.createElement(LocationContext.Provider, {\n\t\tchildren,\n\t\tvalue: locationContext\n\t}));\n}\n/**\n* Renders a branch of {@link Route | `<Route>`s} that best matches the current\n* location. Note that these routes do not participate in [data loading](../../start/framework/route-module#loader),\n* [`action`](../../start/framework/route-module#action), code splitting, or\n* any other [route module](../../start/framework/route-module) features.\n*\n* @example\n* import { Route, Routes } from \"react-router\";\n*\n* <Routes>\n* <Route index element={<StepOne />} />\n* <Route path=\"step-2\" element={<StepTwo />} />\n* <Route path=\"step-3\" element={<StepThree />} />\n* </Routes>\n*\n* @public\n* @category Components\n* @param props Props\n* @param {RoutesProps.children} props.children n/a\n* @param {RoutesProps.location} props.location n/a\n* @returns React element for the rendered routes or `null` if no route matches\n*/\nfunction Routes({ children, location }) {\n\treturn useRoutes(createRoutesFromChildren(children), location);\n}\n/**\n* Used to render promise values with automatic error handling.\n*\n* **Note:** `<Await>` expects to be rendered inside a [`<React.Suspense>`](https://react.dev/reference/react/Suspense)\n*\n* @example\n* import { Await, useLoaderData } from \"react-router\";\n*\n* export async function loader() {\n* // not awaited\n* const reviews = getReviews();\n* // awaited (blocks the transition)\n* const book = await fetch(\"/api/book\").then((res) => res.json());\n* return { book, reviews };\n* }\n*\n* function Book() {\n* const { book, reviews } = useLoaderData();\n* return (\n* <div>\n* <h1>{book.title}</h1>\n* <p>{book.description}</p>\n* <React.Suspense fallback={<ReviewsSkeleton />}>\n* <Await\n* resolve={reviews}\n* errorElement={\n* <div>Could not load reviews 😬</div>\n* }\n* children={(resolvedReviews) => (\n* <Reviews items={resolvedReviews} />\n* )}\n* />\n* </React.Suspense>\n* </div>\n* );\n* }\n*\n* @public\n* @category Components\n* @mode framework\n* @mode data\n* @param props Props\n* @param {AwaitProps.children} props.children n/a\n* @param {AwaitProps.errorElement} props.errorElement n/a\n* @param {AwaitProps.resolve} props.resolve n/a\n* @returns React element for the rendered awaited value\n*/\nfunction Await({ children, errorElement, resolve }) {\n\tlet dataRouterContext = React$1.useContext(DataRouterContext);\n\tlet dataRouterStateContext = React$1.useContext(DataRouterStateContext);\n\tlet onError = React$1.useCallback((error, errorInfo) => {\n\t\tif (dataRouterContext && dataRouterContext.onError && dataRouterStateContext) dataRouterContext.onError(error, {\n\t\t\tlocation: dataRouterStateContext.location,\n\t\t\tparams: dataRouterStateContext.matches[0]?.params || {},\n\t\t\tpattern: getRoutePattern(dataRouterStateContext.matches),\n\t\t\terrorInfo\n\t\t});\n\t}, [dataRouterContext, dataRouterStateContext]);\n\treturn /* @__PURE__ */ React$1.createElement(AwaitErrorBoundary, {\n\t\tresolve,\n\t\terrorElement,\n\t\tonError\n\t}, /* @__PURE__ */ React$1.createElement(ResolveAwait, null, children));\n}\nvar AwaitErrorBoundary = class extends React$1.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { error: null };\n\t}\n\tstatic getDerivedStateFromError(error) {\n\t\treturn { error };\n\t}\n\tcomponentDidCatch(error, errorInfo) {\n\t\tif (this.props.onError) this.props.onError(error, errorInfo);\n\t\telse console.error(\"<Await> caught the following error during render\", error, errorInfo);\n\t}\n\trender() {\n\t\tlet { children, errorElement, resolve } = this.props;\n\t\tlet promise = null;\n\t\tlet status = 0;\n\t\tif (!(resolve instanceof Promise)) {\n\t\t\tstatus = 1;\n\t\t\tpromise = Promise.resolve();\n\t\t\tObject.defineProperty(promise, \"_tracked\", { get: () => true });\n\t\t\tObject.defineProperty(promise, \"_data\", { get: () => resolve });\n\t\t} else if (this.state.error) {\n\t\t\tstatus = 2;\n\t\t\tlet renderError = this.state.error;\n\t\t\tpromise = Promise.reject().catch(() => {});\n\t\t\tObject.defineProperty(promise, \"_tracked\", { get: () => true });\n\t\t\tObject.defineProperty(promise, \"_error\", { get: () => renderError });\n\t\t} else if (resolve._tracked) {\n\t\t\tpromise = resolve;\n\t\t\tstatus = \"_error\" in promise ? 2 : \"_data\" in promise ? 1 : 0;\n\t\t} else {\n\t\t\tstatus = 0;\n\t\t\tObject.defineProperty(resolve, \"_tracked\", { get: () => true });\n\t\t\tpromise = resolve.then((data) => Object.defineProperty(resolve, \"_data\", { get: () => data }), (error) => {\n\t\t\t\tthis.props.onError?.(error);\n\t\t\t\tObject.defineProperty(resolve, \"_error\", { get: () => error });\n\t\t\t});\n\t\t}\n\t\tif (status === 2 && !errorElement) throw promise._error;\n\t\tif (status === 2) return /* @__PURE__ */ React$1.createElement(AwaitContext.Provider, {\n\t\t\tvalue: promise,\n\t\t\tchildren: errorElement\n\t\t});\n\t\tif (status === 1) return /* @__PURE__ */ React$1.createElement(AwaitContext.Provider, {\n\t\t\tvalue: promise,\n\t\t\tchildren\n\t\t});\n\t\tthrow promise;\n\t}\n};\nfunction ResolveAwait({ children }) {\n\tlet data = useAsyncValue();\n\tlet toRender = typeof children === \"function\" ? children(data) : children;\n\treturn /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, toRender);\n}\n/**\n* Creates a route config from a React \"children\" object, which is usually\n* either a `<Route>` element or an array of them. Used internally by\n* `<Routes>` to create a route config from its children.\n*\n* @category Utils\n* @mode data\n* @param children The React children to convert into a route config\n* @param parentPath The path of the parent route, used to generate unique IDs.\n* @returns An array of {@link RouteObject}s that can be used with a {@link DataRouter}\n*/\nfunction createRoutesFromChildren(children, parentPath = []) {\n\tlet routes = [];\n\tReact$1.Children.forEach(children, (element, index) => {\n\t\tif (!React$1.isValidElement(element)) return;\n\t\tlet treePath = [...parentPath, index];\n\t\tif (element.type === React$1.Fragment) {\n\t\t\troutes.push.apply(routes, createRoutesFromChildren(element.props.children, treePath));\n\t\t\treturn;\n\t\t}\n\t\tinvariant(element.type === Route, `[${typeof element.type === \"string\" ? element.type : element.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`);\n\t\tlet props = element.props;\n\t\tinvariant(!props.index || !props.children, \"An index route cannot have child routes.\");\n\t\tlet route = {\n\t\t\tid: props.id || treePath.join(\"-\"),\n\t\t\tcaseSensitive: props.caseSensitive,\n\t\t\telement: props.element,\n\t\t\tComponent: props.Component,\n\t\t\tindex: props.index,\n\t\t\tpath: props.path,\n\t\t\tmiddleware: props.middleware,\n\t\t\tloader: props.loader,\n\t\t\taction: props.action,\n\t\t\thydrateFallbackElement: props.hydrateFallbackElement,\n\t\t\tHydrateFallback: props.HydrateFallback,\n\t\t\terrorElement: props.errorElement,\n\t\t\tErrorBoundary: props.ErrorBoundary,\n\t\t\tshouldRevalidate: props.shouldRevalidate,\n\t\t\thandle: props.handle,\n\t\t\tlazy: props.lazy\n\t\t};\n\t\tif (props.children) route.children = createRoutesFromChildren(props.children, treePath);\n\t\troutes.push(route);\n\t});\n\treturn routes;\n}\n/**\n* Create route objects from JSX elements instead of arrays of objects.\n*\n* @example\n* const routes = createRoutesFromElements(\n* <>\n* <Route index loader={step1Loader} Component={StepOne} />\n* <Route path=\"step-2\" loader={step2Loader} Component={StepTwo} />\n* <Route path=\"step-3\" loader={step3Loader} Component={StepThree} />\n* </>\n* );\n*\n* const router = createBrowserRouter(routes);\n*\n* function App() {\n* return <RouterProvider router={router} />;\n* }\n*\n* @name createRoutesFromElements\n* @public\n* @category Utils\n* @mode data\n* @param children The React children to convert into a route config\n* @param parentPath The path of the parent route, used to generate unique IDs.\n* This is used for internal recursion and is not intended to be used by the\n* application developer.\n* @returns An array of {@link RouteObject}s that can be used with a {@link DataRouter}\n*/\nconst createRoutesFromElements = createRoutesFromChildren;\n/**\n* Renders the result of {@link matchRoutes} into a React element.\n*\n* @public\n* @category Utils\n* @param matches The array of {@link RouteMatch | route matches} to render\n* @returns A React element that renders the matched routes or `null` if no matches\n*/\nfunction renderMatches(matches) {\n\treturn _renderMatches(matches);\n}\nfunction useRouteComponentProps() {\n\treturn {\n\t\tparams: useParams(),\n\t\tloaderData: useLoaderData(),\n\t\tactionData: useActionData(),\n\t\tmatches: useMatches()\n\t};\n}\nfunction WithComponentProps({ children }) {\n\tconst props = useRouteComponentProps();\n\treturn React$1.cloneElement(children, props);\n}\nfunction withComponentProps(Component) {\n\treturn function WithComponentProps() {\n\t\tconst props = useRouteComponentProps();\n\t\treturn React$1.createElement(Component, props);\n\t};\n}\nfunction useHydrateFallbackProps() {\n\treturn {\n\t\tparams: useParams(),\n\t\tloaderData: useLoaderData(),\n\t\tactionData: useActionData()\n\t};\n}\nfunction WithHydrateFallbackProps({ children }) {\n\tconst props = useHydrateFallbackProps();\n\treturn React$1.cloneElement(children, props);\n}\nfunction withHydrateFallbackProps(HydrateFallback) {\n\treturn function WithHydrateFallbackProps() {\n\t\tconst props = useHydrateFallbackProps();\n\t\treturn React$1.createElement(HydrateFallback, props);\n\t};\n}\nfunction useErrorBoundaryProps() {\n\treturn {\n\t\tparams: useParams(),\n\t\tloaderData: useLoaderData(),\n\t\tactionData: useActionData(),\n\t\terror: useRouteError()\n\t};\n}\nfunction WithErrorBoundaryProps({ children }) {\n\tconst props = useErrorBoundaryProps();\n\treturn React$1.cloneElement(children, props);\n}\nfunction withErrorBoundaryProps(ErrorBoundary) {\n\treturn function WithErrorBoundaryProps() {\n\t\tconst props = useErrorBoundaryProps();\n\t\treturn React$1.createElement(ErrorBoundary, props);\n\t};\n}\n//#endregion\nexport { Await, DataRoutes, MemoryRouter, Navigate, Outlet, Route, Router, RouterProvider, Routes, WithComponentProps, WithErrorBoundaryProps, WithHydrateFallbackProps, createMemoryRouter, createRoutesFromChildren, createRoutesFromElements, hydrationRouteProperties, renderMatches, withComponentProps, withErrorBoundaryProps, withHydrateFallbackProps };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { warning } from \"../router/history.js\";\nimport { stripBasename } from \"../router/utils.js\";\nconst defaultEncType = \"application/x-www-form-urlencoded\";\nfunction isHtmlElement(object) {\n\treturn typeof HTMLElement !== \"undefined\" && object instanceof HTMLElement;\n}\nfunction isButtonElement(object) {\n\treturn isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\nfunction isFormElement(object) {\n\treturn isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\nfunction isInputElement(object) {\n\treturn isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\nfunction isModifiedEvent(event) {\n\treturn !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nfunction shouldProcessLinkClick(event, target) {\n\treturn event.button === 0 && (!target || target === \"_self\") && !isModifiedEvent(event);\n}\n/**\n* Creates a URLSearchParams object using the given initializer.\n*\n* This is identical to `new URLSearchParams(init)` except it also supports\n* arrays as values in the object form of the initializer instead of just\n* strings. This is convenient when you need multiple values for a given key,\n* but don't want to use an array initializer.\n*\n* @example\n* // Instead of:\n* let searchParams = new URLSearchParams([\n* [\"sort\", \"name\"],\n* [\"sort\", \"price\"],\n* ]);\n*\n* // You can do:\n* let searchParams = createSearchParams({\n* sort: [\"name\", \"price\"],\n* });\n*\n* @public\n* @category Utils\n* @param init The value used to initialize the URL search parameters.\n* @returns A URLSearchParams object containing the initialized search\n* parameters.\n*/\nfunction createSearchParams(init = \"\") {\n\treturn new URLSearchParams(typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo, key) => {\n\t\tlet value = init[key];\n\t\treturn memo.concat(Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]);\n\t}, []));\n}\nfunction getSearchParamsForLocation(locationSearch, defaultSearchParams) {\n\tlet searchParams = createSearchParams(locationSearch);\n\tif (defaultSearchParams) defaultSearchParams.forEach((_, key) => {\n\t\tif (!searchParams.has(key)) defaultSearchParams.getAll(key).forEach((value) => {\n\t\t\tsearchParams.append(key, value);\n\t\t});\n\t});\n\treturn searchParams;\n}\nlet _formDataSupportsSubmitter = null;\nfunction isFormDataSubmitterSupported() {\n\tif (_formDataSupportsSubmitter === null) try {\n\t\tnew FormData(document.createElement(\"form\"), 0);\n\t\t_formDataSupportsSubmitter = false;\n\t} catch (e) {\n\t\t_formDataSupportsSubmitter = true;\n\t}\n\treturn _formDataSupportsSubmitter;\n}\nconst supportedFormEncTypes = new Set([\n\t\"application/x-www-form-urlencoded\",\n\t\"multipart/form-data\",\n\t\"text/plain\"\n]);\nfunction getFormEncType(encType) {\n\tif (encType != null && !supportedFormEncTypes.has(encType)) {\n\t\twarning(false, `\"${encType}\" is not a valid \\`encType\\` for \\`<Form>\\`/\\`<fetcher.Form>\\` and will default to \"${defaultEncType}\"`);\n\t\treturn null;\n\t}\n\treturn encType;\n}\nfunction getFormSubmissionInfo(target, basename) {\n\tlet method;\n\tlet action;\n\tlet encType;\n\tlet formData;\n\tlet body;\n\tif (isFormElement(target)) {\n\t\tlet attr = target.getAttribute(\"action\");\n\t\taction = attr ? stripBasename(attr, basename) : null;\n\t\tmethod = target.getAttribute(\"method\") || \"get\";\n\t\tencType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n\t\tformData = new FormData(target);\n\t} else if (isButtonElement(target) || isInputElement(target) && (target.type === \"submit\" || target.type === \"image\")) {\n\t\tlet form = target.form;\n\t\tif (form == null) throw new Error(`Cannot submit a <button> or <input type=\"submit\"> without a <form>`);\n\t\tlet attr = target.getAttribute(\"formaction\") || form.getAttribute(\"action\");\n\t\taction = attr ? stripBasename(attr, basename) : null;\n\t\tmethod = target.getAttribute(\"formmethod\") || form.getAttribute(\"method\") || \"get\";\n\t\tencType = getFormEncType(target.getAttribute(\"formenctype\")) || getFormEncType(form.getAttribute(\"enctype\")) || defaultEncType;\n\t\tformData = new FormData(form, target);\n\t\tif (!isFormDataSubmitterSupported()) {\n\t\t\tlet { name, type, value } = target;\n\t\t\tif (type === \"image\") {\n\t\t\t\tlet prefix = name ? `${name}.` : \"\";\n\t\t\t\tformData.append(`${prefix}x`, \"0\");\n\t\t\t\tformData.append(`${prefix}y`, \"0\");\n\t\t\t} else if (name) formData.append(name, value);\n\t\t}\n\t} else if (isHtmlElement(target)) throw new Error(\"Cannot submit element that is not <form>, <button>, or <input type=\\\"submit|image\\\">\");\n\telse {\n\t\tmethod = \"get\";\n\t\taction = null;\n\t\tencType = defaultEncType;\n\t\tbody = target;\n\t}\n\tif (formData && encType === \"text/plain\") {\n\t\tbody = formData;\n\t\tformData = void 0;\n\t}\n\treturn {\n\t\taction,\n\t\tmethod: method.toLowerCase(),\n\t\tencType,\n\t\tformData,\n\t\tbody\n\t};\n}\n//#endregion\nexport { createSearchParams, getFormSubmissionInfo, getSearchParamsForLocation, shouldProcessLinkClick };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n//#region lib/dom/ssr/invariant.ts\nfunction invariant(value, message) {\n\tif (value === false || value === null || typeof value === \"undefined\") throw new Error(message);\n}\n//#endregion\nexport { invariant as default };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { ErrorResponseImpl, SUPPORTED_ERROR_TYPES, data, isRouteErrorResponse, redirect } from \"../../router/utils.js\";\nimport { isDataWithResponseInit, isResponse } from \"../../router/router.js\";\nimport invariant from \"./invariant.js\";\nimport { escapeHtml } from \"./markup.js\";\nimport { decode } from \"../../../vendor/turbo-stream-v2/turbo-stream.js\";\nimport { createRequestInit } from \"./data.js\";\nimport * as React$1 from \"react\";\n//#region lib/dom/ssr/single-fetch.tsx\nconst SingleFetchRedirectSymbol = Symbol(\"SingleFetchRedirect\");\nvar SingleFetchNoResultError = class extends Error {};\nconst NO_BODY_STATUS_CODES = new Set([\n\t100,\n\t101,\n\t204,\n\t205\n]);\nfunction StreamTransfer({ context, identifier, reader, textDecoder, nonce }) {\n\tif (!context.renderMeta || !context.renderMeta.didRenderScripts) return null;\n\tif (!context.renderMeta.streamCache) context.renderMeta.streamCache = {};\n\tlet { streamCache } = context.renderMeta;\n\tlet promise = streamCache[identifier];\n\tif (!promise) promise = streamCache[identifier] = reader.read().then((result) => {\n\t\tstreamCache[identifier].result = {\n\t\t\tdone: result.done,\n\t\t\tvalue: textDecoder.decode(result.value, { stream: true })\n\t\t};\n\t}).catch((e) => {\n\t\tstreamCache[identifier].error = e;\n\t});\n\tif (promise.error) throw promise.error;\n\tif (promise.result === void 0) throw promise;\n\tlet { done, value } = promise.result;\n\tlet scriptTag = value ? /* @__PURE__ */ React$1.createElement(\"script\", {\n\t\tnonce,\n\t\tdangerouslySetInnerHTML: { __html: `window.__reactRouterContext.streamController.enqueue(${escapeHtml(JSON.stringify(value))});` }\n\t}) : null;\n\tif (done) return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, scriptTag, /* @__PURE__ */ React$1.createElement(\"script\", {\n\t\tnonce,\n\t\tdangerouslySetInnerHTML: { __html: `window.__reactRouterContext.streamController.close();` }\n\t}));\n\telse return /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, scriptTag, /* @__PURE__ */ React$1.createElement(React$1.Suspense, null, /* @__PURE__ */ React$1.createElement(StreamTransfer, {\n\t\tcontext,\n\t\tidentifier: identifier + 1,\n\t\treader,\n\t\ttextDecoder,\n\t\tnonce\n\t})));\n}\nfunction getTurboStreamSingleFetchDataStrategy(getRouter, manifest, routeModules, ssr) {\n\tlet dataStrategy = getSingleFetchDataStrategyImpl(getRouter, (match) => {\n\t\tlet manifestRoute = manifest.routes[match.route.id];\n\t\tinvariant(manifestRoute, \"Route not found in manifest\");\n\t\treturn {\n\t\t\thasLoader: manifestRoute.hasLoader,\n\t\t\thasClientLoader: manifestRoute.hasClientLoader\n\t\t};\n\t}, fetchAndDecodeViaTurboStream, ssr);\n\treturn async (args) => args.runClientMiddleware(dataStrategy);\n}\nfunction getSingleFetchDataStrategyImpl(getRouter, getRouteInfo, fetchAndDecode, ssr, shouldAllowOptOut = () => true) {\n\treturn async (args) => {\n\t\tlet { request, matches, fetcherKey } = args;\n\t\tlet router = getRouter();\n\t\tif (request.method !== \"GET\") return singleFetchActionStrategy(args, fetchAndDecode);\n\t\tlet foundRevalidatingServerLoader = matches.some((m) => {\n\t\t\tlet { hasLoader, hasClientLoader } = getRouteInfo(m);\n\t\t\treturn m.shouldCallHandler() && hasLoader && !hasClientLoader;\n\t\t});\n\t\tif (!ssr && !foundRevalidatingServerLoader) return nonSsrStrategy(args, getRouteInfo, fetchAndDecode);\n\t\tif (fetcherKey) return singleFetchLoaderFetcherStrategy(args, fetchAndDecode);\n\t\treturn singleFetchLoaderNavigationStrategy(args, router, getRouteInfo, fetchAndDecode, ssr, shouldAllowOptOut);\n\t};\n}\nasync function singleFetchActionStrategy(args, fetchAndDecode) {\n\tlet actionMatch = args.matches.find((m) => m.shouldCallHandler());\n\tinvariant(actionMatch, \"No action match found\");\n\tlet actionStatus = void 0;\n\tlet result = await actionMatch.resolve(async (handler) => {\n\t\treturn await handler(async () => {\n\t\t\tlet { data, status } = await fetchAndDecode(args, [actionMatch.route.id]);\n\t\t\tactionStatus = status;\n\t\t\treturn unwrapSingleFetchResult(data, actionMatch.route.id);\n\t\t});\n\t});\n\tif (isResponse(result.result) || isRouteErrorResponse(result.result) || isDataWithResponseInit(result.result)) return { [actionMatch.route.id]: result };\n\treturn { [actionMatch.route.id]: {\n\t\ttype: result.type,\n\t\tresult: data(result.result, actionStatus)\n\t} };\n}\nasync function nonSsrStrategy(args, getRouteInfo, fetchAndDecode) {\n\tlet matchesToLoad = args.matches.filter((m) => m.shouldCallHandler());\n\tlet results = {};\n\tawait Promise.all(matchesToLoad.map((m) => m.resolve(async (handler) => {\n\t\ttry {\n\t\t\tlet { hasClientLoader } = getRouteInfo(m);\n\t\t\tlet routeId = m.route.id;\n\t\t\tlet result = hasClientLoader ? await handler(async () => {\n\t\t\t\tlet { data } = await fetchAndDecode(args, [routeId]);\n\t\t\t\treturn unwrapSingleFetchResult(data, routeId);\n\t\t\t}) : await handler();\n\t\t\tresults[m.route.id] = {\n\t\t\t\ttype: \"data\",\n\t\t\t\tresult\n\t\t\t};\n\t\t} catch (e) {\n\t\t\tresults[m.route.id] = {\n\t\t\t\ttype: \"error\",\n\t\t\t\tresult: e\n\t\t\t};\n\t\t}\n\t})));\n\treturn results;\n}\nasync function singleFetchLoaderNavigationStrategy(args, router, getRouteInfo, fetchAndDecode, ssr, shouldAllowOptOut = () => true) {\n\tlet routesParams = /* @__PURE__ */ new Set();\n\tlet foundOptOutRoute = false;\n\tlet routeDfds = args.matches.map(() => createDeferred());\n\tlet singleFetchDfd = createDeferred();\n\tlet results = {};\n\tlet resolvePromise = Promise.all(args.matches.map(async (m, i) => m.resolve(async (handler) => {\n\t\trouteDfds[i].resolve();\n\t\tlet routeId = m.route.id;\n\t\tlet { hasLoader, hasClientLoader } = getRouteInfo(m);\n\t\tlet defaultShouldRevalidate = !m.shouldRevalidateArgs || m.shouldRevalidateArgs.actionStatus == null || m.shouldRevalidateArgs.actionStatus < 400;\n\t\tif (!m.shouldCallHandler(defaultShouldRevalidate)) {\n\t\t\tfoundOptOutRoute ||= m.shouldRevalidateArgs != null && hasLoader;\n\t\t\treturn;\n\t\t}\n\t\tif (shouldAllowOptOut(m) && hasClientLoader) {\n\t\t\tif (hasLoader) foundOptOutRoute = true;\n\t\t\ttry {\n\t\t\t\tresults[routeId] = {\n\t\t\t\t\ttype: \"data\",\n\t\t\t\t\tresult: await handler(async () => {\n\t\t\t\t\t\tlet { data } = await fetchAndDecode(args, [routeId]);\n\t\t\t\t\t\treturn unwrapSingleFetchResult(data, routeId);\n\t\t\t\t\t})\n\t\t\t\t};\n\t\t\t} catch (e) {\n\t\t\t\tresults[routeId] = {\n\t\t\t\t\ttype: \"error\",\n\t\t\t\t\tresult: e\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (hasLoader) routesParams.add(routeId);\n\t\ttry {\n\t\t\tresults[routeId] = {\n\t\t\t\ttype: \"data\",\n\t\t\t\tresult: await handler(async () => {\n\t\t\t\t\treturn unwrapSingleFetchResult(await singleFetchDfd.promise, routeId);\n\t\t\t\t})\n\t\t\t};\n\t\t} catch (e) {\n\t\t\tresults[routeId] = {\n\t\t\t\ttype: \"error\",\n\t\t\t\tresult: e\n\t\t\t};\n\t\t}\n\t})));\n\tawait Promise.all(routeDfds.map((d) => d.promise));\n\tif ((!router.state.initialized && router.state.navigation.state === \"idle\" || routesParams.size === 0) && !window.__reactRouterHdrActive) singleFetchDfd.resolve({ routes: {} });\n\telse {\n\t\tlet targetRoutes = ssr && foundOptOutRoute && routesParams.size > 0 ? [...routesParams.keys()] : void 0;\n\t\ttry {\n\t\t\tlet data = await fetchAndDecode(args, targetRoutes);\n\t\t\tsingleFetchDfd.resolve(data.data);\n\t\t} catch (e) {\n\t\t\tsingleFetchDfd.reject(e);\n\t\t}\n\t}\n\tawait resolvePromise;\n\tawait bubbleMiddlewareErrors(singleFetchDfd.promise, args.matches, routesParams, results);\n\treturn results;\n}\nasync function bubbleMiddlewareErrors(singleFetchPromise, matches, routesParams, results) {\n\ttry {\n\t\tlet middlewareError;\n\t\tlet fetchedData = await singleFetchPromise;\n\t\tif (\"routes\" in fetchedData) {\n\t\t\tfor (let match of matches) if (match.route.id in fetchedData.routes) {\n\t\t\t\tlet routeResult = fetchedData.routes[match.route.id];\n\t\t\t\tif (\"error\" in routeResult) {\n\t\t\t\t\tmiddlewareError = routeResult.error;\n\t\t\t\t\tif (results[match.route.id]?.result == null) results[match.route.id] = {\n\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\tresult: middlewareError\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (middlewareError !== void 0) Array.from(routesParams.values()).forEach((routeId) => {\n\t\t\tif (results[routeId].result instanceof SingleFetchNoResultError) results[routeId].result = middlewareError;\n\t\t});\n\t} catch (e) {}\n}\nasync function singleFetchLoaderFetcherStrategy(args, fetchAndDecode) {\n\tlet fetcherMatch = args.matches.find((m) => m.shouldCallHandler());\n\tinvariant(fetcherMatch, \"No fetcher match found\");\n\tlet routeId = fetcherMatch.route.id;\n\tlet result = await fetcherMatch.resolve(async (handler) => handler(async () => {\n\t\tlet { data } = await fetchAndDecode(args, [routeId]);\n\t\treturn unwrapSingleFetchResult(data, routeId);\n\t}));\n\treturn { [fetcherMatch.route.id]: result };\n}\nfunction stripIndexParam(url) {\n\tlet indexValues = url.searchParams.getAll(\"index\");\n\turl.searchParams.delete(\"index\");\n\tlet indexValuesToKeep = [];\n\tfor (let indexValue of indexValues) if (indexValue) indexValuesToKeep.push(indexValue);\n\tfor (let toKeep of indexValuesToKeep) url.searchParams.append(\"index\", toKeep);\n\treturn url;\n}\nfunction singleFetchUrl(reqUrl, extension) {\n\tlet url = typeof reqUrl === \"string\" ? new URL(reqUrl, typeof window === \"undefined\" ? \"server://singlefetch/\" : window.location.origin) : reqUrl;\n\tif (url.pathname.endsWith(\"/\")) url.pathname = `${url.pathname}_.${extension}`;\n\telse url.pathname = `${url.pathname}.${extension}`;\n\treturn url;\n}\nasync function fetchAndDecodeViaTurboStream(args, targetRoutes) {\n\tlet { request } = args;\n\tlet url = singleFetchUrl(request.url, \"data\");\n\tif (request.method === \"GET\") {\n\t\turl = stripIndexParam(url);\n\t\tif (targetRoutes) url.searchParams.set(\"_routes\", targetRoutes.join(\",\"));\n\t}\n\tlet res = await fetch(url, await createRequestInit(request));\n\tif (res.status >= 400 && !res.headers.has(\"X-Remix-Response\")) throw new ErrorResponseImpl(res.status, res.statusText, await res.text());\n\tif (res.status === 204 && res.headers.has(\"X-Remix-Redirect\")) return {\n\t\tstatus: 202,\n\t\tdata: { redirect: {\n\t\t\tredirect: res.headers.get(\"X-Remix-Redirect\"),\n\t\t\tstatus: Number(res.headers.get(\"X-Remix-Status\") || \"302\"),\n\t\t\trevalidate: res.headers.get(\"X-Remix-Revalidate\") === \"true\",\n\t\t\treload: res.headers.get(\"X-Remix-Reload-Document\") === \"true\",\n\t\t\treplace: res.headers.get(\"X-Remix-Replace\") === \"true\"\n\t\t} }\n\t};\n\tif (NO_BODY_STATUS_CODES.has(res.status)) {\n\t\tlet routes = {};\n\t\tif (targetRoutes && request.method !== \"GET\") routes[targetRoutes[0]] = { data: void 0 };\n\t\treturn {\n\t\t\tstatus: res.status,\n\t\t\tdata: { routes }\n\t\t};\n\t}\n\tinvariant(res.body, \"No response body to decode\");\n\ttry {\n\t\tlet decoded = await decodeViaTurboStream(res.body, window);\n\t\tlet data;\n\t\tif (request.method === \"GET\") {\n\t\t\tlet typed = decoded.value;\n\t\t\tif (SingleFetchRedirectSymbol in typed) data = { redirect: typed[SingleFetchRedirectSymbol] };\n\t\t\telse data = { routes: typed };\n\t\t} else {\n\t\t\tlet typed = decoded.value;\n\t\t\tlet routeId = targetRoutes?.[0];\n\t\t\tinvariant(routeId, \"No routeId found for single fetch call decoding\");\n\t\t\tif (\"redirect\" in typed) data = { redirect: typed };\n\t\t\telse data = { routes: { [routeId]: typed } };\n\t\t}\n\t\treturn {\n\t\t\tstatus: res.status,\n\t\t\tdata\n\t\t};\n\t} catch (e) {\n\t\tthrow new Error(\"Unable to decode turbo-stream response\");\n\t}\n}\nfunction decodeViaTurboStream(body, global) {\n\treturn decode(body, { plugins: [(type, ...rest) => {\n\t\tif (type === \"SanitizedError\") {\n\t\t\tlet [name, message, stack] = rest;\n\t\t\tlet Constructor = Error;\n\t\t\tif (name && SUPPORTED_ERROR_TYPES.includes(name) && name in global && typeof global[name] === \"function\") Constructor = global[name];\n\t\t\tlet error = new Constructor(message);\n\t\t\terror.stack = stack;\n\t\t\treturn { value: error };\n\t\t}\n\t\tif (type === \"ErrorResponse\") {\n\t\t\tlet [data, status, statusText] = rest;\n\t\t\treturn { value: new ErrorResponseImpl(status, statusText, data) };\n\t\t}\n\t\tif (type === \"SingleFetchRedirect\") return { value: { [SingleFetchRedirectSymbol]: rest[0] } };\n\t\tif (type === \"SingleFetchClassInstance\") return { value: rest[0] };\n\t\tif (type === \"SingleFetchFallback\") return { value: void 0 };\n\t}] });\n}\nfunction unwrapSingleFetchResult(result, routeId) {\n\tif (\"redirect\" in result) {\n\t\tlet { redirect: location, revalidate, reload, replace, status } = result.redirect;\n\t\tthrow redirect(location, {\n\t\t\tstatus,\n\t\t\theaders: {\n\t\t\t\t...revalidate ? { \"X-Remix-Revalidate\": \"yes\" } : null,\n\t\t\t\t...reload ? { \"X-Remix-Reload-Document\": \"yes\" } : null,\n\t\t\t\t...replace ? { \"X-Remix-Replace\": \"yes\" } : null\n\t\t\t}\n\t\t});\n\t}\n\tlet routeResult = result.routes[routeId];\n\tif (routeResult == null) throw new SingleFetchNoResultError(`No result found for routeId \"${routeId}\"`);\n\telse if (\"error\" in routeResult) throw routeResult.error;\n\telse if (\"data\" in routeResult) return routeResult.data;\n\telse throw new Error(`Invalid response found for routeId \"${routeId}\"`);\n}\nfunction createDeferred() {\n\tlet resolve;\n\tlet reject;\n\tlet promise = new Promise((res, rej) => {\n\t\tresolve = async (val) => {\n\t\t\tres(val);\n\t\t\ttry {\n\t\t\t\tawait promise;\n\t\t\t} catch (e) {}\n\t\t};\n\t\treject = async (error) => {\n\t\t\trej(error);\n\t\t\ttry {\n\t\t\t\tawait promise;\n\t\t\t} catch (e) {}\n\t\t};\n\t});\n\treturn {\n\t\tpromise,\n\t\tresolve,\n\t\treject\n\t};\n}\n//#endregion\nexport { NO_BODY_STATUS_CODES, SingleFetchRedirectSymbol, StreamTransfer, decodeViaTurboStream, getSingleFetchDataStrategyImpl, getTurboStreamSingleFetchDataStrategy, singleFetchUrl, stripIndexParam };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n//#region lib/dom/ssr/routeModules.ts\nasync function loadRouteModule(route, routeModulesCache) {\n\tif (route.id in routeModulesCache) return routeModulesCache[route.id];\n\ttry {\n\t\tlet routeModule = await import(\n\t\t\t/* @vite-ignore */\n\t\t\t/* webpackIgnore: true */\n\t\t\troute.module\n);\n\t\trouteModulesCache[route.id] = routeModule;\n\t\treturn routeModule;\n\t} catch (error) {\n\t\tconsole.error(`Error loading route module \\`${route.module}\\`, reloading page...`);\n\t\tconsole.error(error);\n\t\tif (window.__reactRouterContext && window.__reactRouterContext.isSpaMode && import.meta.hot) throw error;\n\t\twindow.location.reload();\n\t\treturn new Promise(() => {});\n\t}\n}\n//#endregion\nexport { loadRouteModule };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { loadRouteModule } from \"./routeModules.js\";\n//#region lib/dom/ssr/links.ts\n/**\n* Gets all the links for a set of matches. The modules are assumed to have been\n* loaded already.\n*/\nfunction getKeyedLinksForMatches(matches, routeModules, manifest) {\n\treturn dedupeLinkDescriptors(matches.map((match) => {\n\t\tlet module = routeModules[match.route.id];\n\t\tlet route = manifest.routes[match.route.id];\n\t\treturn [route && route.css ? route.css.map((href) => ({\n\t\t\trel: \"stylesheet\",\n\t\t\thref\n\t\t})) : [], module?.links?.() || []];\n\t}).flat(2), getModuleLinkHrefs(matches, manifest));\n}\nfunction getRouteCssDescriptors(route) {\n\tif (!route.css) return [];\n\treturn route.css.map((href) => ({\n\t\trel: \"stylesheet\",\n\t\thref\n\t}));\n}\nasync function prefetchRouteCss(route) {\n\tif (!route.css) return;\n\tlet descriptors = getRouteCssDescriptors(route);\n\tawait Promise.all(descriptors.map(prefetchStyleLink));\n}\nasync function prefetchStyleLinks(route, routeModule) {\n\tif (!route.css && !routeModule.links || !isPreloadSupported()) return;\n\tlet descriptors = [];\n\tif (route.css) descriptors.push(...getRouteCssDescriptors(route));\n\tif (routeModule.links) descriptors.push(...routeModule.links());\n\tif (descriptors.length === 0) return;\n\tlet styleLinks = [];\n\tfor (let descriptor of descriptors) if (!isPageLinkDescriptor(descriptor) && descriptor.rel === \"stylesheet\") styleLinks.push({\n\t\t...descriptor,\n\t\trel: \"preload\",\n\t\tas: \"style\"\n\t});\n\tawait Promise.all(styleLinks.map(prefetchStyleLink));\n}\nasync function prefetchStyleLink(descriptor) {\n\treturn new Promise((resolve) => {\n\t\tif (descriptor.media && !window.matchMedia(descriptor.media).matches || document.querySelector(`link[rel=\"stylesheet\"][href=\"${descriptor.href}\"]`)) return resolve();\n\t\tlet link = document.createElement(\"link\");\n\t\tObject.assign(link, descriptor);\n\t\tfunction removeLink() {\n\t\t\tif (document.head.contains(link)) document.head.removeChild(link);\n\t\t}\n\t\tlink.onload = () => {\n\t\t\tremoveLink();\n\t\t\tresolve();\n\t\t};\n\t\tlink.onerror = () => {\n\t\t\tremoveLink();\n\t\t\tresolve();\n\t\t};\n\t\tdocument.head.appendChild(link);\n\t});\n}\nfunction isPageLinkDescriptor(object) {\n\treturn object != null && typeof object.page === \"string\";\n}\nfunction isHtmlLinkDescriptor(object) {\n\tif (object == null) return false;\n\tif (object.href == null) return object.rel === \"preload\" && typeof object.imageSrcSet === \"string\" && typeof object.imageSizes === \"string\";\n\treturn typeof object.rel === \"string\" && typeof object.href === \"string\";\n}\nasync function getKeyedPrefetchLinks(matches, manifest, routeModules) {\n\treturn dedupeLinkDescriptors((await Promise.all(matches.map(async (match) => {\n\t\tlet route = manifest.routes[match.route.id];\n\t\tif (route) {\n\t\t\tlet mod = await loadRouteModule(route, routeModules);\n\t\t\treturn mod.links ? mod.links() : [];\n\t\t}\n\t\treturn [];\n\t}))).flat(1).filter(isHtmlLinkDescriptor).filter((link) => link.rel === \"stylesheet\" || link.rel === \"preload\").map((link) => link.rel === \"stylesheet\" ? {\n\t\t...link,\n\t\trel: \"prefetch\",\n\t\tas: \"style\"\n\t} : {\n\t\t...link,\n\t\trel: \"prefetch\"\n\t}));\n}\nfunction getNewMatchesForLinks(page, nextMatches, currentMatches, manifest, location, mode) {\n\tlet isNew = (match, index) => {\n\t\tif (!currentMatches[index]) return true;\n\t\treturn match.route.id !== currentMatches[index].route.id;\n\t};\n\tlet matchPathChanged = (match, index) => {\n\t\treturn currentMatches[index].pathname !== match.pathname || currentMatches[index].route.path?.endsWith(\"*\") && currentMatches[index].params[\"*\"] !== match.params[\"*\"];\n\t};\n\tif (mode === \"assets\") return nextMatches.filter((match, index) => isNew(match, index) || matchPathChanged(match, index));\n\tif (mode === \"data\") return nextMatches.filter((match, index) => {\n\t\tlet manifestRoute = manifest.routes[match.route.id];\n\t\tif (!manifestRoute || !manifestRoute.hasLoader) return false;\n\t\tif (isNew(match, index) || matchPathChanged(match, index)) return true;\n\t\tif (match.route.shouldRevalidate) {\n\t\t\tlet routeChoice = match.route.shouldRevalidate({\n\t\t\t\tcurrentUrl: new URL(location.pathname + location.search + location.hash, window.origin),\n\t\t\t\tcurrentParams: currentMatches[0]?.params || {},\n\t\t\t\tnextUrl: new URL(page, window.origin),\n\t\t\t\tnextParams: match.params,\n\t\t\t\tdefaultShouldRevalidate: true\n\t\t\t});\n\t\t\tif (typeof routeChoice === \"boolean\") return routeChoice;\n\t\t}\n\t\treturn true;\n\t});\n\treturn [];\n}\nfunction getModuleLinkHrefs(matches, manifest, { includeHydrateFallback } = {}) {\n\treturn dedupeHrefs(matches.map((match) => {\n\t\tlet route = manifest.routes[match.route.id];\n\t\tif (!route) return [];\n\t\tlet hrefs = [route.module];\n\t\tif (route.clientActionModule) hrefs = hrefs.concat(route.clientActionModule);\n\t\tif (route.clientLoaderModule) hrefs = hrefs.concat(route.clientLoaderModule);\n\t\tif (includeHydrateFallback && route.hydrateFallbackModule) hrefs = hrefs.concat(route.hydrateFallbackModule);\n\t\tif (route.imports) hrefs = hrefs.concat(route.imports);\n\t\treturn hrefs;\n\t}).flat(1));\n}\nfunction dedupeHrefs(hrefs) {\n\treturn [...new Set(hrefs)];\n}\nfunction sortKeys(obj) {\n\tlet sorted = {};\n\tlet keys = Object.keys(obj).sort();\n\tfor (let key of keys) sorted[key] = obj[key];\n\treturn sorted;\n}\nfunction dedupeLinkDescriptors(descriptors, preloads) {\n\tlet set = /* @__PURE__ */ new Set();\n\tlet preloadsSet = new Set(preloads);\n\treturn descriptors.reduce((deduped, descriptor) => {\n\t\tif (preloads && !isPageLinkDescriptor(descriptor) && descriptor.as === \"script\" && descriptor.href && preloadsSet.has(descriptor.href)) return deduped;\n\t\tlet key = JSON.stringify(sortKeys(descriptor));\n\t\tif (!set.has(key)) {\n\t\t\tset.add(key);\n\t\t\tdeduped.push({\n\t\t\t\tkey,\n\t\t\t\tlink: descriptor\n\t\t\t});\n\t\t}\n\t\treturn deduped;\n\t}, []);\n}\nlet _isPreloadSupported;\nfunction isPreloadSupported() {\n\tif (_isPreloadSupported !== void 0) return _isPreloadSupported;\n\tlet el = document.createElement(\"link\");\n\t_isPreloadSupported = el.relList.supports(\"preload\");\n\tel = null;\n\treturn _isPreloadSupported;\n}\n//#endregion\nexport { getKeyedLinksForMatches, getKeyedPrefetchLinks, getModuleLinkHrefs, getNewMatchesForLinks, isPageLinkDescriptor, prefetchRouteCss, prefetchStyleLinks };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { matchRoutes } from \"../../router/utils.js\";\nimport { DataRouterContext, DataRouterStateContext, useIsRSCRouterContext } from \"../../context.js\";\nimport { useLocation } from \"../../hooks.js\";\nimport { warnOnce } from \"../../server-runtime/warnings.js\";\nimport invariant from \"./invariant.js\";\nimport { getKeyedLinksForMatches, getKeyedPrefetchLinks, getModuleLinkHrefs, getNewMatchesForLinks, isPageLinkDescriptor } from \"./links.js\";\nimport { escapeHtml } from \"./markup.js\";\nimport { singleFetchUrl } from \"./single-fetch.js\";\nimport { getPartialManifest, isFogOfWarEnabled } from \"./fog-of-war.js\";\nimport * as React$1 from \"react\";\n//#region lib/dom/ssr/components.tsx\nfunction useDataRouterContext() {\n\tlet context = React$1.useContext(DataRouterContext);\n\tinvariant(context, \"You must render this element inside a <DataRouterContext.Provider> element\");\n\treturn context;\n}\nfunction useDataRouterStateContext() {\n\tlet context = React$1.useContext(DataRouterStateContext);\n\tinvariant(context, \"You must render this element inside a <DataRouterStateContext.Provider> element\");\n\treturn context;\n}\nconst FrameworkContext = React$1.createContext(void 0);\nFrameworkContext.displayName = \"FrameworkContext\";\nfunction useFrameworkContext() {\n\tlet context = React$1.useContext(FrameworkContext);\n\tinvariant(context, \"You must render this element inside a <HydratedRouter> element\");\n\treturn context;\n}\nfunction usePrefetchBehavior(prefetch, theirElementProps) {\n\tlet frameworkContext = React$1.useContext(FrameworkContext);\n\tlet [maybePrefetch, setMaybePrefetch] = React$1.useState(false);\n\tlet [shouldPrefetch, setShouldPrefetch] = React$1.useState(false);\n\tlet { onFocus, onBlur, onMouseEnter, onMouseLeave, onTouchStart } = theirElementProps;\n\tlet ref = React$1.useRef(null);\n\tReact$1.useEffect(() => {\n\t\tif (prefetch === \"render\") setShouldPrefetch(true);\n\t\tif (prefetch === \"viewport\") {\n\t\t\tlet callback = (entries) => {\n\t\t\t\tentries.forEach((entry) => {\n\t\t\t\t\tsetShouldPrefetch(entry.isIntersecting);\n\t\t\t\t});\n\t\t\t};\n\t\t\tlet observer = new IntersectionObserver(callback, { threshold: .5 });\n\t\t\tif (ref.current) observer.observe(ref.current);\n\t\t\treturn () => {\n\t\t\t\tobserver.disconnect();\n\t\t\t};\n\t\t}\n\t}, [prefetch]);\n\tReact$1.useEffect(() => {\n\t\tif (maybePrefetch) {\n\t\t\tlet id = setTimeout(() => {\n\t\t\t\tsetShouldPrefetch(true);\n\t\t\t}, 100);\n\t\t\treturn () => {\n\t\t\t\tclearTimeout(id);\n\t\t\t};\n\t\t}\n\t}, [maybePrefetch]);\n\tlet setIntent = () => {\n\t\tsetMaybePrefetch(true);\n\t};\n\tlet cancelIntent = () => {\n\t\tsetMaybePrefetch(false);\n\t\tsetShouldPrefetch(false);\n\t};\n\tif (!frameworkContext) return [\n\t\tfalse,\n\t\tref,\n\t\t{}\n\t];\n\tif (prefetch !== \"intent\") return [\n\t\tshouldPrefetch,\n\t\tref,\n\t\t{}\n\t];\n\treturn [\n\t\tshouldPrefetch,\n\t\tref,\n\t\t{\n\t\t\tonFocus: composeEventHandlers(onFocus, setIntent),\n\t\t\tonBlur: composeEventHandlers(onBlur, cancelIntent),\n\t\t\tonMouseEnter: composeEventHandlers(onMouseEnter, setIntent),\n\t\t\tonMouseLeave: composeEventHandlers(onMouseLeave, cancelIntent),\n\t\t\tonTouchStart: composeEventHandlers(onTouchStart, setIntent)\n\t\t}\n\t];\n}\nfunction composeEventHandlers(theirHandler, ourHandler) {\n\treturn (event) => {\n\t\ttheirHandler && theirHandler(event);\n\t\tif (!event.defaultPrevented) ourHandler(event);\n\t};\n}\nfunction getActiveMatches(matches, errors, isSpaMode) {\n\tif (isSpaMode && !isHydrated) return [matches[0]];\n\tif (errors) {\n\t\tlet errorIdx = matches.findIndex((m) => errors[m.route.id] !== void 0);\n\t\treturn matches.slice(0, errorIdx + 1);\n\t}\n\treturn matches;\n}\nconst CRITICAL_CSS_DATA_ATTRIBUTE = \"data-react-router-critical-css\";\n/**\n* Renders all the [`<link>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link)\n* tags created by the route module's [`links`](../../start/framework/route-module#links)\n* export. You should render it inside the [`<head>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head)\n* of your document.\n*\n* @example\n* import { Links } from \"react-router\";\n*\n* export default function Root() {\n* return (\n* <html>\n* <head>\n* <Links />\n* </head>\n* <body></body>\n* </html>\n* );\n* }\n*\n* @public\n* @category Components\n* @mode framework\n* @param props Props\n* @param {LinksProps.nonce} props.nonce n/a\n* @param {LinksProps.crossOrigin} props.crossOrigin n/a\n* @returns A collection of React elements for [`<link>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link)\n* tags\n*/\nfunction Links({ nonce, crossOrigin }) {\n\tlet { isSpaMode, manifest, routeModules, criticalCss, nonce: contextNonce } = useFrameworkContext();\n\tlet { errors, matches: routerMatches } = useDataRouterStateContext();\n\tlet matches = getActiveMatches(routerMatches, errors, isSpaMode);\n\tlet keyedLinks = React$1.useMemo(() => getKeyedLinksForMatches(matches, routeModules, manifest), [\n\t\tmatches,\n\t\trouteModules,\n\t\tmanifest\n\t]);\n\tif (nonce == null && contextNonce) nonce = contextNonce;\n\treturn /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, typeof criticalCss === \"string\" ? /* @__PURE__ */ React$1.createElement(\"style\", {\n\t\t[CRITICAL_CSS_DATA_ATTRIBUTE]: \"\",\n\t\tnonce,\n\t\tdangerouslySetInnerHTML: { __html: criticalCss }\n\t}) : null, typeof criticalCss === \"object\" ? /* @__PURE__ */ React$1.createElement(\"link\", {\n\t\t[CRITICAL_CSS_DATA_ATTRIBUTE]: \"\",\n\t\trel: \"stylesheet\",\n\t\thref: criticalCss.href,\n\t\tnonce,\n\t\tcrossOrigin\n\t}) : null, keyedLinks.map(({ key, link }) => isPageLinkDescriptor(link) ? /* @__PURE__ */ React$1.createElement(PrefetchPageLinks, {\n\t\tkey,\n\t\tnonce,\n\t\t...link,\n\t\tcrossOrigin: link.crossOrigin ?? crossOrigin\n\t}) : /* @__PURE__ */ React$1.createElement(\"link\", {\n\t\tkey,\n\t\tnonce,\n\t\t...link,\n\t\tcrossOrigin: link.crossOrigin ?? crossOrigin\n\t})));\n}\n/**\n* Renders [`<link rel=prefetch|modulepreload>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement/rel)\n* tags for modules and data of another page to enable an instant navigation to\n* that page. [`<Link prefetch>`](./Link#prefetch) uses this internally, but you\n* can render it to prefetch a page for any other reason.\n*\n* For example, you may render one of this as the user types into a search field\n* to prefetch search results before they click through to their selection.\n*\n* @example\n* import { PrefetchPageLinks } from \"react-router\";\n*\n* <PrefetchPageLinks page=\"/absolute/path\" />\n*\n* @public\n* @category Components\n* @mode framework\n* @param props Props\n* @param {PageLinkDescriptor.page} props.page n/a\n* @param props.linkProps Additional props to spread onto the [`<link>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link)\n* tags, such as [`crossOrigin`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement/crossOrigin),\n* [`integrity`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement/integrity),\n* [`rel`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLLinkElement/rel),\n* etc.\n* @returns A collection of React elements for [`<link>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link)\n* tags\n*/\nfunction PrefetchPageLinks({ page, ...linkProps }) {\n\tlet rsc = useIsRSCRouterContext();\n\tlet { nonce: contextNonce } = useFrameworkContext();\n\tlet { router } = useDataRouterContext();\n\tlet matches = React$1.useMemo(() => matchRoutes(router.routes, page, router.basename), [\n\t\trouter.routes,\n\t\tpage,\n\t\trouter.basename\n\t]);\n\tif (!matches) return null;\n\tif (linkProps.nonce == null && contextNonce) linkProps = {\n\t\t...linkProps,\n\t\tnonce: contextNonce\n\t};\n\tif (rsc) return /* @__PURE__ */ React$1.createElement(RSCPrefetchPageLinksImpl, {\n\t\tpage,\n\t\tmatches,\n\t\t...linkProps\n\t});\n\treturn /* @__PURE__ */ React$1.createElement(PrefetchPageLinksImpl, {\n\t\tpage,\n\t\tmatches,\n\t\t...linkProps\n\t});\n}\nfunction useKeyedPrefetchLinks(matches) {\n\tlet { manifest, routeModules } = useFrameworkContext();\n\tlet [keyedPrefetchLinks, setKeyedPrefetchLinks] = React$1.useState([]);\n\tReact$1.useEffect(() => {\n\t\tlet interrupted = false;\n\t\tgetKeyedPrefetchLinks(matches, manifest, routeModules).then((links) => {\n\t\t\tif (!interrupted) setKeyedPrefetchLinks(links);\n\t\t});\n\t\treturn () => {\n\t\t\tinterrupted = true;\n\t\t};\n\t}, [\n\t\tmatches,\n\t\tmanifest,\n\t\trouteModules\n\t]);\n\treturn keyedPrefetchLinks;\n}\nfunction RSCPrefetchPageLinksImpl({ page, matches: nextMatches, ...linkProps }) {\n\tlet location = useLocation();\n\tlet dataHrefs = React$1.useMemo(() => {\n\t\tif (page === location.pathname + location.search + location.hash) return [];\n\t\tlet url = singleFetchUrl(page, \"rsc\");\n\t\tlet hasSomeRoutesWithShouldRevalidate = false;\n\t\tlet targetRoutes = [];\n\t\tfor (let match of nextMatches) if (typeof match.route.shouldRevalidate === \"function\") hasSomeRoutesWithShouldRevalidate = true;\n\t\telse targetRoutes.push(match.route.id);\n\t\tif (hasSomeRoutesWithShouldRevalidate && targetRoutes.length > 0) url.searchParams.set(\"_routes\", targetRoutes.join(\",\"));\n\t\treturn [url.pathname + url.search];\n\t}, [\n\t\tpage,\n\t\tlocation,\n\t\tnextMatches\n\t]);\n\treturn /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, dataHrefs.map((href) => /* @__PURE__ */ React$1.createElement(\"link\", {\n\t\tkey: href,\n\t\trel: \"prefetch\",\n\t\tas: \"fetch\",\n\t\thref,\n\t\t...linkProps\n\t})));\n}\nfunction PrefetchPageLinksImpl({ page, matches: nextMatches, ...linkProps }) {\n\tlet location = useLocation();\n\tlet { manifest, routeModules } = useFrameworkContext();\n\tlet { loaderData, matches } = useDataRouterStateContext();\n\tlet newMatchesForData = React$1.useMemo(() => getNewMatchesForLinks(page, nextMatches, matches, manifest, location, \"data\"), [\n\t\tpage,\n\t\tnextMatches,\n\t\tmatches,\n\t\tmanifest,\n\t\tlocation\n\t]);\n\tlet newMatchesForAssets = React$1.useMemo(() => getNewMatchesForLinks(page, nextMatches, matches, manifest, location, \"assets\"), [\n\t\tpage,\n\t\tnextMatches,\n\t\tmatches,\n\t\tmanifest,\n\t\tlocation\n\t]);\n\tlet dataHrefs = React$1.useMemo(() => {\n\t\tif (page === location.pathname + location.search + location.hash) return [];\n\t\tlet routesParams = /* @__PURE__ */ new Set();\n\t\tlet foundOptOutRoute = false;\n\t\tnextMatches.forEach((m) => {\n\t\t\tlet manifestRoute = manifest.routes[m.route.id];\n\t\t\tif (!manifestRoute || !manifestRoute.hasLoader) return;\n\t\t\tif (!newMatchesForData.some((m2) => m2.route.id === m.route.id) && m.route.id in loaderData && routeModules[m.route.id]?.shouldRevalidate) foundOptOutRoute = true;\n\t\t\telse if (manifestRoute.hasClientLoader) foundOptOutRoute = true;\n\t\t\telse routesParams.add(m.route.id);\n\t\t});\n\t\tif (routesParams.size === 0) return [];\n\t\tlet url = singleFetchUrl(page, \"data\");\n\t\tif (foundOptOutRoute && routesParams.size > 0) url.searchParams.set(\"_routes\", nextMatches.filter((m) => routesParams.has(m.route.id)).map((m) => m.route.id).join(\",\"));\n\t\treturn [url.pathname + url.search];\n\t}, [\n\t\tloaderData,\n\t\tlocation,\n\t\tmanifest,\n\t\tnewMatchesForData,\n\t\tnextMatches,\n\t\tpage,\n\t\trouteModules\n\t]);\n\tlet moduleHrefs = React$1.useMemo(() => getModuleLinkHrefs(newMatchesForAssets, manifest), [newMatchesForAssets, manifest]);\n\tlet keyedPrefetchLinks = useKeyedPrefetchLinks(newMatchesForAssets);\n\treturn /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, dataHrefs.map((href) => /* @__PURE__ */ React$1.createElement(\"link\", {\n\t\tkey: href,\n\t\trel: \"prefetch\",\n\t\tas: \"fetch\",\n\t\thref,\n\t\t...linkProps\n\t})), moduleHrefs.map((href) => /* @__PURE__ */ React$1.createElement(\"link\", {\n\t\tkey: href,\n\t\trel: \"modulepreload\",\n\t\thref,\n\t\t...linkProps\n\t})), keyedPrefetchLinks.map(({ key, link }) => /* @__PURE__ */ React$1.createElement(\"link\", {\n\t\tkey,\n\t\tnonce: linkProps.nonce,\n\t\t...link,\n\t\tcrossOrigin: link.crossOrigin ?? linkProps.crossOrigin\n\t})));\n}\n/**\n* Renders all the [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta)\n* tags created by the route module's [`meta`](../../start/framework/route-module#meta)\n* export. You should render it inside the [`<head>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head)\n* of your document.\n*\n* @example\n* import { Meta } from \"react-router\";\n*\n* export default function Root() {\n* return (\n* <html>\n* <head>\n* <Meta />\n* </head>\n* </html>\n* );\n* }\n*\n* @public\n* @category Components\n* @mode framework\n* @returns A collection of React elements for [`<meta>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta)\n* tags\n*/\nfunction Meta() {\n\tlet { isSpaMode, routeModules } = useFrameworkContext();\n\tlet { errors, matches: routerMatches, loaderData } = useDataRouterStateContext();\n\tlet location = useLocation();\n\tlet _matches = getActiveMatches(routerMatches, errors, isSpaMode);\n\tlet error = null;\n\tif (errors) error = errors[_matches[_matches.length - 1].route.id];\n\tlet meta = [];\n\tlet leafMeta = null;\n\tlet matches = [];\n\tfor (let i = 0; i < _matches.length; i++) {\n\t\tlet _match = _matches[i];\n\t\tlet routeId = _match.route.id;\n\t\tlet data = loaderData[routeId];\n\t\tlet params = _match.params;\n\t\tlet routeModule = routeModules[routeId];\n\t\tlet routeMeta = [];\n\t\tlet match = {\n\t\t\tid: routeId,\n\t\t\tloaderData: data,\n\t\t\tmeta: [],\n\t\t\tparams: _match.params,\n\t\t\tpathname: _match.pathname,\n\t\t\thandle: _match.route.handle,\n\t\t\terror\n\t\t};\n\t\tmatches[i] = match;\n\t\tif (routeModule?.meta) routeMeta = typeof routeModule.meta === \"function\" ? routeModule.meta({\n\t\t\tloaderData: data,\n\t\t\tparams,\n\t\t\tlocation,\n\t\t\tmatches,\n\t\t\terror\n\t\t}) : Array.isArray(routeModule.meta) ? [...routeModule.meta] : routeModule.meta;\n\t\telse if (leafMeta) routeMeta = [...leafMeta];\n\t\trouteMeta = routeMeta || [];\n\t\tif (!Array.isArray(routeMeta)) throw new Error(\"The route at \" + _match.route.path + \" returns an invalid value. All route meta functions must return an array of meta objects.\\n\\nTo reference the meta function API, see https://reactrouter.com/start/framework/route-module#meta\");\n\t\tmatch.meta = routeMeta;\n\t\tmatches[i] = match;\n\t\tmeta = [...routeMeta];\n\t\tleafMeta = meta;\n\t}\n\treturn /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, meta.flat().map((metaProps) => {\n\t\tif (!metaProps) return null;\n\t\tif (\"tagName\" in metaProps) {\n\t\t\tlet { tagName, ...rest } = metaProps;\n\t\t\tif (!isValidMetaTag(tagName)) {\n\t\t\t\tconsole.warn(`A meta object uses an invalid tagName: ${tagName}. Expected either 'link' or 'meta'`);\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tlet Comp = tagName;\n\t\t\treturn /* @__PURE__ */ React$1.createElement(Comp, {\n\t\t\t\tkey: JSON.stringify(rest),\n\t\t\t\t...rest\n\t\t\t});\n\t\t}\n\t\tif (\"title\" in metaProps) return /* @__PURE__ */ React$1.createElement(\"title\", { key: \"title\" }, String(metaProps.title));\n\t\tif (\"charset\" in metaProps) {\n\t\t\tmetaProps.charSet ??= metaProps.charset;\n\t\t\tdelete metaProps.charset;\n\t\t}\n\t\tif (\"charSet\" in metaProps && metaProps.charSet != null) return typeof metaProps.charSet === \"string\" ? /* @__PURE__ */ React$1.createElement(\"meta\", {\n\t\t\tkey: \"charSet\",\n\t\t\tcharSet: metaProps.charSet\n\t\t}) : null;\n\t\tif (\"script:ld+json\" in metaProps) try {\n\t\t\tlet json = JSON.stringify(metaProps[\"script:ld+json\"]);\n\t\t\treturn /* @__PURE__ */ React$1.createElement(\"script\", {\n\t\t\t\tkey: `script:ld+json:${json}`,\n\t\t\t\ttype: \"application/ld+json\",\n\t\t\t\tdangerouslySetInnerHTML: { __html: escapeHtml(json) }\n\t\t\t});\n\t\t} catch (e) {\n\t\t\treturn null;\n\t\t}\n\t\treturn /* @__PURE__ */ React$1.createElement(\"meta\", {\n\t\t\tkey: JSON.stringify(metaProps),\n\t\t\t...metaProps\n\t\t});\n\t}));\n}\nfunction isValidMetaTag(tagName) {\n\treturn typeof tagName === \"string\" && /^(meta|link)$/.test(tagName);\n}\n/**\n* Tracks whether hydration is finished, so scripts can be skipped\n* during client-side updates.\n*/\nlet isHydrated = false;\nfunction setIsHydrated() {\n\tisHydrated = true;\n}\n/**\n* Renders the client runtime of your app. It should be rendered inside the\n* [`<body>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/body)\n* of the document.\n*\n* If server rendering, you can omit `<Scripts/>` and the app will work as a\n* traditional web app without JavaScript, relying solely on HTML and browser\n* behaviors.\n*\n* @example\n* import { Scripts } from \"react-router\";\n*\n* export default function Root() {\n* return (\n* <html>\n* <head />\n* <body>\n* <Scripts />\n* </body>\n* </html>\n* );\n* }\n*\n* @public\n* @category Components\n* @mode framework\n* @param scriptProps Additional props to spread onto the [`<script>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script)\n* tags, such as [`crossOrigin`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLScriptElement/crossOrigin),\n* [`nonce`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/nonce),\n* etc.\n* @returns A collection of React elements for [`<script>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script)\n* tags\n*/\nfunction Scripts(scriptProps) {\n\tlet { manifest, serverHandoffString, isSpaMode, renderMeta, routeDiscovery, ssr, nonce: contextNonce } = useFrameworkContext();\n\tlet { router, static: isStatic, staticContext } = useDataRouterContext();\n\tlet { matches: routerMatches } = useDataRouterStateContext();\n\tlet isRSCRouterContext = useIsRSCRouterContext();\n\tlet enableFogOfWar = isFogOfWarEnabled(routeDiscovery, ssr);\n\tif (scriptProps.nonce == null && contextNonce) scriptProps = {\n\t\t...scriptProps,\n\t\tnonce: contextNonce\n\t};\n\tif (renderMeta) renderMeta.didRenderScripts = true;\n\tlet matches = getActiveMatches(routerMatches, null, isSpaMode);\n\tReact$1.useEffect(() => {\n\t\tsetIsHydrated();\n\t}, []);\n\tlet initialScripts = React$1.useMemo(() => {\n\t\tif (isRSCRouterContext) return null;\n\t\tlet contextScript = staticContext ? `window.__reactRouterContext = ${serverHandoffString};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());` : \" \";\n\t\tlet routeModulesScript = !isStatic ? \" \" : `${manifest.hmr?.runtime ? `import ${JSON.stringify(manifest.hmr.runtime)};` : \"\"}${!enableFogOfWar ? `import ${JSON.stringify(manifest.url)}` : \"\"};\n${matches.map((match, routeIndex) => {\n\t\t\tlet routeVarName = `route${routeIndex}`;\n\t\t\tlet manifestEntry = manifest.routes[match.route.id];\n\t\t\tinvariant(manifestEntry, `Route ${match.route.id} not found in manifest`);\n\t\t\tlet { clientActionModule, clientLoaderModule, clientMiddlewareModule, hydrateFallbackModule, module } = manifestEntry;\n\t\t\tlet chunks = [\n\t\t\t\t...clientActionModule ? [{\n\t\t\t\t\tmodule: clientActionModule,\n\t\t\t\t\tvarName: `${routeVarName}_clientAction`\n\t\t\t\t}] : [],\n\t\t\t\t...clientLoaderModule ? [{\n\t\t\t\t\tmodule: clientLoaderModule,\n\t\t\t\t\tvarName: `${routeVarName}_clientLoader`\n\t\t\t\t}] : [],\n\t\t\t\t...clientMiddlewareModule ? [{\n\t\t\t\t\tmodule: clientMiddlewareModule,\n\t\t\t\t\tvarName: `${routeVarName}_clientMiddleware`\n\t\t\t\t}] : [],\n\t\t\t\t...hydrateFallbackModule ? [{\n\t\t\t\t\tmodule: hydrateFallbackModule,\n\t\t\t\t\tvarName: `${routeVarName}_HydrateFallback`\n\t\t\t\t}] : [],\n\t\t\t\t{\n\t\t\t\t\tmodule,\n\t\t\t\t\tvarName: `${routeVarName}_main`\n\t\t\t\t}\n\t\t\t];\n\t\t\tif (chunks.length === 1) return `import * as ${routeVarName} from ${JSON.stringify(module)};`;\n\t\t\treturn [chunks.map((chunk) => `import * as ${chunk.varName} from \"${chunk.module}\";`).join(\"\\n\"), `const ${routeVarName} = {${chunks.map((chunk) => `...${chunk.varName}`).join(\",\")}};`].join(\"\\n\");\n\t\t}).join(\"\\n\")}\n ${enableFogOfWar ? `window.__reactRouterManifest = ${JSON.stringify(getPartialManifest(manifest, router), null, 2)};` : \"\"}\n window.__reactRouterRouteModules = {${matches.map((match, index) => `${JSON.stringify(match.route.id)}:route${index}`).join(\",\")}};\n\nimport(${JSON.stringify(manifest.entry.module)});`;\n\t\treturn /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, /* @__PURE__ */ React$1.createElement(\"script\", {\n\t\t\t...scriptProps,\n\t\t\tsuppressHydrationWarning: true,\n\t\t\tdangerouslySetInnerHTML: { __html: contextScript },\n\t\t\ttype: void 0\n\t\t}), /* @__PURE__ */ React$1.createElement(\"script\", {\n\t\t\t...scriptProps,\n\t\t\tsuppressHydrationWarning: true,\n\t\t\tdangerouslySetInnerHTML: { __html: routeModulesScript },\n\t\t\ttype: \"module\",\n\t\t\tasync: true\n\t\t}));\n\t}, []);\n\tlet preloads = isHydrated || isRSCRouterContext ? [] : [...new Set(manifest.entry.imports.concat(getModuleLinkHrefs(matches, manifest, { includeHydrateFallback: true })))];\n\tlet sri = typeof manifest.sri === \"object\" ? manifest.sri : {};\n\twarnOnce(!isRSCRouterContext, \"The <Scripts /> element is a no-op when using RSC and can be safely removed.\");\n\treturn isHydrated || isRSCRouterContext ? null : /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, typeof manifest.sri === \"object\" ? /* @__PURE__ */ React$1.createElement(\"script\", {\n\t\t...scriptProps,\n\t\t\"rr-importmap\": \"\",\n\t\ttype: \"importmap\",\n\t\tsuppressHydrationWarning: true,\n\t\tdangerouslySetInnerHTML: { __html: JSON.stringify({ integrity: sri }) }\n\t}) : null, !enableFogOfWar ? /* @__PURE__ */ React$1.createElement(\"link\", {\n\t\trel: \"modulepreload\",\n\t\thref: manifest.url,\n\t\tcrossOrigin: scriptProps.crossOrigin,\n\t\tintegrity: sri[manifest.url],\n\t\tnonce: scriptProps.nonce,\n\t\tsuppressHydrationWarning: true\n\t}) : null, /* @__PURE__ */ React$1.createElement(\"link\", {\n\t\trel: \"modulepreload\",\n\t\thref: manifest.entry.module,\n\t\tcrossOrigin: scriptProps.crossOrigin,\n\t\tintegrity: sri[manifest.entry.module],\n\t\tnonce: scriptProps.nonce,\n\t\tsuppressHydrationWarning: true\n\t}), preloads.map((path) => /* @__PURE__ */ React$1.createElement(\"link\", {\n\t\tkey: path,\n\t\trel: \"modulepreload\",\n\t\thref: path,\n\t\tcrossOrigin: scriptProps.crossOrigin,\n\t\tintegrity: sri[path],\n\t\tnonce: scriptProps.nonce,\n\t\tsuppressHydrationWarning: true\n\t})), initialScripts);\n}\nfunction mergeRefs(...refs) {\n\treturn (value) => {\n\t\trefs.forEach((ref) => {\n\t\t\tif (typeof ref === \"function\") ref(value);\n\t\t\telse if (ref != null) ref.current = value;\n\t\t});\n\t};\n}\n//#endregion\nexport { CRITICAL_CSS_DATA_ATTRIBUTE, FrameworkContext, Links, Meta, PrefetchPageLinks, Scripts, mergeRefs, setIsHydrated, useFrameworkContext, usePrefetchBehavior };\n","/**\n * react-router v8.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { ABSOLUTE_URL_REGEX } from \"../router/url.js\";\nimport { createBrowserHistory, createHashHistory, createPath, invariant, warning } from \"../router/history.js\";\nimport { ErrorResponseImpl, SUPPORTED_ERROR_TYPES, defaultMapRouteProperties, joinPaths, matchPath, parseToInfo, resolveTo, stripBasename } from \"../router/utils.js\";\nimport { IDLE_FETCHER, createRouter } from \"../router/router.js\";\nimport { DataRouterContext, DataRouterStateContext, FetchersContext, NavigationContext, RouteContext, ViewTransitionContext } from \"../context.js\";\nimport { useBlocker, useHref, useLocation, useMatches, useNavigate, useNavigation, useResolvedPath, useRouteId } from \"../hooks.js\";\nimport { Router, hydrationRouteProperties } from \"../components.js\";\nimport { createSearchParams, getFormSubmissionInfo, getSearchParamsForLocation, shouldProcessLinkClick } from \"./dom.js\";\nimport { escapeHtml } from \"./ssr/markup.js\";\nimport { FrameworkContext, PrefetchPageLinks, mergeRefs, usePrefetchBehavior } from \"./ssr/components.js\";\nimport * as React$1 from \"react\";\n//#region lib/dom/lib.tsx\nconst isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\";\ntry {\n\tif (isBrowser) window.__reactRouterVersion = \"8.3.0\";\n} catch (e) {}\n/**\n* Create a new {@link DataRouter| data router} that manages the application\n* path via [`history.pushState`](https://developer.mozilla.org/en-US/docs/Web/API/History/pushState)\n* and [`history.replaceState`](https://developer.mozilla.org/en-US/docs/Web/API/History/replaceState).\n*\n* Data Routers should not be held in React state. You should create your router\n* once outside of the React tree and pass it to {@link RouterProvider | `<RouterProvider>`}.\n* You can use `patchRoutesOnNavigation` to add additional routes programmatically.\n*\n* @public\n* @category Data Routers\n* @mode data\n* @param routes Application routes\n* @param opts Options\n* @param {DOMRouterOpts.basename} opts.basename n/a\n* @param {DOMRouterOpts.dataStrategy} opts.dataStrategy n/a\n* @param {DOMRouterOpts.future} opts.future n/a\n* @param {DOMRouterOpts.getContext} opts.getContext n/a\n* @param {DOMRouterOpts.hydrationData} opts.hydrationData n/a\n* @param {DOMRouterOpts.instrumentations} opts.instrumentations n/a\n* @param {DOMRouterOpts.patchRoutesOnNavigation} opts.patchRoutesOnNavigation n/a\n* @param {DOMRouterOpts.window} opts.window n/a\n* @returns An initialized {@link DataRouter| data router} to pass to {@link RouterProvider | `<RouterProvider>`}\n*/\nfunction createBrowserRouter(routes, opts) {\n\treturn createRouter({\n\t\tbasename: opts?.basename,\n\t\tgetContext: opts?.getContext,\n\t\tfuture: opts?.future,\n\t\thistory: createBrowserHistory({ window: opts?.window }),\n\t\thydrationData: opts?.hydrationData || parseHydrationData(),\n\t\troutes,\n\t\tmapRouteProperties: defaultMapRouteProperties,\n\t\thydrationRouteProperties,\n\t\tdataStrategy: opts?.dataStrategy,\n\t\tpatchRoutesOnNavigation: opts?.patchRoutesOnNavigation,\n\t\twindow: opts?.window,\n\t\tinstrumentations: opts?.instrumentations\n\t}).initialize();\n}\n/**\n* Create a new {@link DataRouter| data router} that manages the application\n* path via the URL [`hash`](https://developer.mozilla.org/en-US/docs/Web/API/URL/hash).\n*\n* Data Routers should not be held in React state. You should create your router\n* once outside of the React tree and pass it to {@link RouterProvider | `<RouterProvider>`}.\n* You can use `patchRoutesOnNavigation` to add additional routes programmatically.\n*\n* @public\n* @category Data Routers\n* @mode data\n* @param routes Application routes\n* @param opts Options\n* @param {DOMRouterOpts.basename} opts.basename n/a\n* @param {DOMRouterOpts.future} opts.future n/a\n* @param {DOMRouterOpts.getContext} opts.getContext n/a\n* @param {DOMRouterOpts.hydrationData} opts.hydrationData n/a\n* @param {DOMRouterOpts.instrumentations} opts.instrumentations n/a\n* @param {DOMRouterOpts.dataStrategy} opts.dataStrategy n/a\n* @param {DOMRouterOpts.patchRoutesOnNavigation} opts.patchRoutesOnNavigation n/a\n* @param {DOMRouterOpts.window} opts.window n/a\n* @returns An initialized {@link DataRouter| data router} to pass to {@link RouterProvider | `<RouterProvider>`}\n*/\nfunction createHashRouter(routes, opts) {\n\treturn createRouter({\n\t\tbasename: opts?.basename,\n\t\tgetContext: opts?.getContext,\n\t\tfuture: opts?.future,\n\t\thistory: createHashHistory({ window: opts?.window }),\n\t\thydrationData: opts?.hydrationData || parseHydrationData(),\n\t\troutes,\n\t\tmapRouteProperties: defaultMapRouteProperties,\n\t\thydrationRouteProperties,\n\t\tdataStrategy: opts?.dataStrategy,\n\t\tpatchRoutesOnNavigation: opts?.patchRoutesOnNavigation,\n\t\twindow: opts?.window,\n\t\tinstrumentations: opts?.instrumentations\n\t}).initialize();\n}\nfunction parseHydrationData() {\n\tlet state = window?.__staticRouterHydrationData;\n\tif (state && state.errors) state = {\n\t\t...state,\n\t\terrors: deserializeErrors(state.errors)\n\t};\n\treturn state;\n}\nfunction deserializeErrors(errors) {\n\tif (!errors) return null;\n\tlet entries = Object.entries(errors);\n\tlet serialized = {};\n\tfor (let [key, val] of entries) if (val && val.__type === \"RouteErrorResponse\") serialized[key] = new ErrorResponseImpl(val.status, val.statusText, val.data, val.internal === true);\n\telse if (val && val.__type === \"Error\") {\n\t\tif (typeof val.__subType === \"string\" && SUPPORTED_ERROR_TYPES.includes(val.__subType)) {\n\t\t\tlet ErrorConstructor = window[val.__subType];\n\t\t\tif (typeof ErrorConstructor === \"function\") try {\n\t\t\t\tlet error = new ErrorConstructor(val.message);\n\t\t\t\terror.stack = \"\";\n\t\t\t\tserialized[key] = error;\n\t\t\t} catch (e) {}\n\t\t}\n\t\tif (serialized[key] == null) {\n\t\t\tlet error = new Error(val.message);\n\t\t\terror.stack = \"\";\n\t\t\tserialized[key] = error;\n\t\t}\n\t} else serialized[key] = val;\n\treturn serialized;\n}\n/**\n* A declarative {@link Router | `<Router>`} using the browser [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)\n* API for client-side routing.\n*\n* @public\n* @category Declarative Routers\n* @mode declarative\n* @param props Props\n* @param {BrowserRouterProps.basename} props.basename n/a\n* @param {BrowserRouterProps.children} props.children n/a\n* @param {BrowserRouterProps.useTransitions} props.useTransitions n/a\n* @param {BrowserRouterProps.window} props.window n/a\n* @returns A declarative {@link Router | `<Router>`} using the browser [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)\n* API for client-side routing.\n*/\nfunction BrowserRouter({ basename, children, useTransitions, window }) {\n\tlet historyRef = React$1.useRef(null);\n\tif (historyRef.current == null) historyRef.current = createBrowserHistory({\n\t\twindow,\n\t\tv5Compat: true\n\t});\n\tlet history = historyRef.current;\n\tlet [state, setStateImpl] = React$1.useState({\n\t\taction: history.action,\n\t\tlocation: history.location\n\t});\n\tlet setState = React$1.useCallback((newState) => {\n\t\tif (useTransitions === false) setStateImpl(newState);\n\t\telse React$1.startTransition(() => setStateImpl(newState));\n\t}, [useTransitions]);\n\tReact$1.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\treturn /* @__PURE__ */ React$1.createElement(Router, {\n\t\tbasename,\n\t\tchildren,\n\t\tlocation: state.location,\n\t\tnavigationType: state.action,\n\t\tnavigator: history,\n\t\tuseTransitions\n\t});\n}\n/**\n* A declarative {@link Router | `<Router>`} that stores the location in the\n* [`hash`](https://developer.mozilla.org/en-US/docs/Web/API/URL/hash) portion\n* of the URL so it is not sent to the server.\n*\n* @public\n* @category Declarative Routers\n* @mode declarative\n* @param props Props\n* @param {HashRouterProps.basename} props.basename n/a\n* @param {HashRouterProps.children} props.children n/a\n* @param {HashRouterProps.useTransitions} props.useTransitions n/a\n* @param {HashRouterProps.window} props.window n/a\n* @returns A declarative {@link Router | `<Router>`} using the URL [`hash`](https://developer.mozilla.org/en-US/docs/Web/API/URL/hash)\n* for client-side routing.\n*/\nfunction HashRouter({ basename, children, useTransitions, window }) {\n\tlet historyRef = React$1.useRef(null);\n\tif (historyRef.current == null) historyRef.current = createHashHistory({\n\t\twindow,\n\t\tv5Compat: true\n\t});\n\tlet history = historyRef.current;\n\tlet [state, setStateImpl] = React$1.useState({\n\t\taction: history.action,\n\t\tlocation: history.location\n\t});\n\tlet setState = React$1.useCallback((newState) => {\n\t\tif (useTransitions === false) setStateImpl(newState);\n\t\telse React$1.startTransition(() => setStateImpl(newState));\n\t}, [useTransitions]);\n\tReact$1.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\treturn /* @__PURE__ */ React$1.createElement(Router, {\n\t\tbasename,\n\t\tchildren,\n\t\tlocation: state.location,\n\t\tnavigationType: state.action,\n\t\tnavigator: history,\n\t\tuseTransitions\n\t});\n}\n/**\n* A declarative {@link Router | `<Router>`} that accepts a pre-instantiated\n* `history` object.\n* It's important to note that using your own `history` object is highly discouraged\n* and may add two versions of the `history` library to your bundles unless you use\n* the same version of the `history` library that React Router uses internally.\n*\n* @name unstable_HistoryRouter\n* @public\n* @category Declarative Routers\n* @mode declarative\n* @param props Props\n* @param {HistoryRouterProps.basename} props.basename n/a\n* @param {HistoryRouterProps.children} props.children n/a\n* @param {HistoryRouterProps.history} props.history n/a\n* @param {HistoryRouterProps.useTransitions} props.useTransitions n/a\n* @returns A declarative {@link Router | `<Router>`} using the provided history\n* implementation for client-side routing.\n*/\nfunction HistoryRouter({ basename, children, history, useTransitions }) {\n\tlet [state, setStateImpl] = React$1.useState({\n\t\taction: history.action,\n\t\tlocation: history.location\n\t});\n\tlet setState = React$1.useCallback((newState) => {\n\t\tif (useTransitions === false) setStateImpl(newState);\n\t\telse React$1.startTransition(() => setStateImpl(newState));\n\t}, [useTransitions]);\n\tReact$1.useLayoutEffect(() => history.listen(setState), [history, setState]);\n\treturn /* @__PURE__ */ React$1.createElement(Router, {\n\t\tbasename,\n\t\tchildren,\n\t\tlocation: state.location,\n\t\tnavigationType: state.action,\n\t\tnavigator: history,\n\t\tuseTransitions\n\t});\n}\nHistoryRouter.displayName = \"unstable_HistoryRouter\";\n/**\n* A progressively enhanced [`<a href>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a)\n* wrapper to enable navigation with client-side routing.\n*\n* @example\n* import { Link } from \"react-router\";\n*\n* <Link to=\"/dashboard\">Dashboard</Link>;\n*\n* <Link\n* to={{\n* pathname: \"/some/path\",\n* search: \"?query=string\",\n* hash: \"#hash\",\n* }}\n* />;\n*\n* @public\n* @category Components\n* @param {LinkProps.discover} props.discover [modes: framework] n/a\n* @param {LinkProps.prefetch} props.prefetch [modes: framework] n/a\n* @param {LinkProps.preventScrollReset} props.preventScrollReset [modes: framework, data] n/a\n* @param {LinkProps.relative} props.relative n/a\n* @param {LinkProps.reloadDocument} props.reloadDocument n/a\n* @param {LinkProps.replace} props.replace n/a\n* @param {LinkProps.state} props.state n/a\n* @param {LinkProps.to} props.to n/a\n* @param {LinkProps.viewTransition} props.viewTransition [modes: framework, data] n/a\n* @param {LinkProps.defaultShouldRevalidate} props.defaultShouldRevalidate n/a\n* @param {LinkProps.mask} props.mask [modes: framework, data] n/a\n*/\nconst Link = React$1.forwardRef(function LinkWithRef({ onClick, discover = \"render\", prefetch = \"none\", relative, reloadDocument, replace, mask, state, target, to, preventScrollReset, viewTransition, defaultShouldRevalidate, ...rest }, forwardedRef) {\n\tlet { basename, navigator, useTransitions } = React$1.useContext(NavigationContext);\n\tlet isAbsolute = typeof to === \"string\" && ABSOLUTE_URL_REGEX.test(to);\n\tlet parsed = parseToInfo(to, basename);\n\tto = parsed.to;\n\tlet href = useHref(to, { relative });\n\tlet location = useLocation();\n\tlet maskedHref = null;\n\tif (mask) {\n\t\tlet resolved = resolveTo(mask, [], location.mask ? location.mask.pathname : \"/\", true);\n\t\tif (basename !== \"/\") resolved.pathname = resolved.pathname === \"/\" ? basename : joinPaths([basename, resolved.pathname]);\n\t\tmaskedHref = navigator.createHref(resolved);\n\t}\n\tlet [shouldPrefetch, prefetchRef, prefetchHandlers] = usePrefetchBehavior(prefetch, rest);\n\tlet internalOnClick = useLinkClickHandler(to, {\n\t\treplace,\n\t\tmask,\n\t\tstate,\n\t\ttarget,\n\t\tpreventScrollReset,\n\t\trelative,\n\t\tviewTransition,\n\t\tdefaultShouldRevalidate,\n\t\tuseTransitions\n\t});\n\tfunction handleClick(event) {\n\t\tif (onClick) onClick(event);\n\t\tif (!event.defaultPrevented) internalOnClick(event);\n\t}\n\tlet isSpaLink = !(parsed.isExternal || reloadDocument);\n\tlet link = /* @__PURE__ */ React$1.createElement(\"a\", {\n\t\t...rest,\n\t\t...prefetchHandlers,\n\t\thref: (isSpaLink ? maskedHref : void 0) || parsed.absoluteURL || href,\n\t\tonClick: isSpaLink ? handleClick : onClick,\n\t\tref: mergeRefs(forwardedRef, prefetchRef),\n\t\ttarget,\n\t\t\"data-discover\": !isAbsolute && discover === \"render\" ? \"true\" : void 0\n\t});\n\treturn shouldPrefetch && !isAbsolute ? /* @__PURE__ */ React$1.createElement(React$1.Fragment, null, link, /* @__PURE__ */ React$1.createElement(PrefetchPageLinks, { page: href })) : link;\n});\nLink.displayName = \"Link\";\n/**\n* Wraps {@link Link | `<Link>`} with additional props for styling active and\n* pending states.\n*\n* - Automatically applies classes to the link based on its `active` and `pending`\n* states, see {@link NavLinkProps.className}\n* - Note that `pending` is only available with Framework and Data modes.\n* - Automatically applies `aria-current=\"page\"` to the link when the link is active.\n* See [`aria-current`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n* on MDN.\n* - States are additionally available through the className, style, and children\n* render props. See {@link NavLinkRenderProps}.\n*\n* @example\n* <NavLink to=\"/message\">Messages</NavLink>\n*\n* // Using render props\n* <NavLink\n* to=\"/messages\"\n* className={({ isActive, isPending }) =>\n* isPending ? \"pending\" : isActive ? \"active\" : \"\"\n* }\n* >\n* Messages\n* </NavLink>\n*\n* @public\n* @category Components\n* @param {NavLinkProps.caseSensitive} props.caseSensitive n/a\n* @param {NavLinkProps.children} props.children n/a\n* @param {NavLinkProps.className} props.className n/a\n* @param {NavLinkProps.discover} props.discover [modes: framework] n/a\n* @param {NavLinkProps.end} props.end n/a\n* @param {NavLinkProps.prefetch} props.prefetch [modes: framework] n/a\n* @param {NavLinkProps.preventScrollReset} props.preventScrollReset [modes: framework, data] n/a\n* @param {NavLinkProps.relative} props.relative n/a\n* @param {NavLinkProps.reloadDocument} props.reloadDocument n/a\n* @param {NavLinkProps.replace} props.replace n/a\n* @param {NavLinkProps.state} props.state n/a\n* @param {NavLinkProps.style} props.style n/a\n* @param {NavLinkProps.to} props.to n/a\n* @param {NavLinkProps.viewTransition} props.viewTransition [modes: framework, data] n/a\n*/\nconst NavLink = React$1.forwardRef(function NavLinkWithRef({ \"aria-current\": ariaCurrentProp = \"page\", caseSensitive = false, className: classNameProp = \"\", end = false, style: styleProp, to, viewTransition, children, ...rest }, ref) {\n\tlet path = useResolvedPath(to, { relative: rest.relative });\n\tlet location = useLocation();\n\tlet routerState = React$1.useContext(DataRouterStateContext);\n\tlet { navigator, basename } = React$1.useContext(NavigationContext);\n\tlet isTransitioning = routerState != null && useViewTransitionState(path) && viewTransition === true;\n\tlet toPathname = navigator.encodeLocation ? navigator.encodeLocation(path).pathname : path.pathname;\n\tlet locationPathname = location.pathname;\n\tlet nextLocationPathname = routerState && routerState.navigation && routerState.navigation.location ? routerState.navigation.location.pathname : null;\n\tif (!caseSensitive) {\n\t\tlocationPathname = locationPathname.toLowerCase();\n\t\tnextLocationPathname = nextLocationPathname ? nextLocationPathname.toLowerCase() : null;\n\t\ttoPathname = toPathname.toLowerCase();\n\t}\n\tif (nextLocationPathname && basename) nextLocationPathname = stripBasename(nextLocationPathname, basename) || nextLocationPathname;\n\tconst endSlashPosition = toPathname !== \"/\" && toPathname.endsWith(\"/\") ? toPathname.length - 1 : toPathname.length;\n\tlet isActive = locationPathname === toPathname || !end && locationPathname.startsWith(toPathname) && locationPathname.charAt(endSlashPosition) === \"/\";\n\tlet isPending = nextLocationPathname != null && (nextLocationPathname === toPathname || !end && nextLocationPathname.startsWith(toPathname) && nextLocationPathname.charAt(endSlashPosition) === \"/\");\n\tlet renderProps = {\n\t\tisActive,\n\t\tisPending,\n\t\tisTransitioning\n\t};\n\tlet ariaCurrent = isActive ? ariaCurrentProp : void 0;\n\tlet className;\n\tif (typeof classNameProp === \"function\") className = classNameProp(renderProps);\n\telse className = [\n\t\tclassNameProp,\n\t\tisActive ? \"active\" : null,\n\t\tisPending ? \"pending\" : null,\n\t\tisTransitioning ? \"transitioning\" : null\n\t].filter(Boolean).join(\" \");\n\tlet style = typeof styleProp === \"function\" ? styleProp(renderProps) : styleProp;\n\treturn /* @__PURE__ */ React$1.createElement(Link, {\n\t\t...rest,\n\t\t\"aria-current\": ariaCurrent,\n\t\tclassName,\n\t\tref,\n\t\tstyle,\n\t\tto,\n\t\tviewTransition\n\t}, typeof children === \"function\" ? children(renderProps) : children);\n});\nNavLink.displayName = \"NavLink\";\n/**\n* A progressively enhanced HTML [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form)\n* that submits data to actions via [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/fetch),\n* activating pending states in {@link useNavigation} which enables advanced\n* user interfaces beyond a basic HTML [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form).\n* After a form's `action` completes, all data on the page is automatically\n* revalidated to keep the UI in sync with the data.\n*\n* Because it uses the HTML form API, server rendered pages are interactive at a\n* basic level before JavaScript loads. Instead of React Router managing the\n* submission, the browser manages the submission as well as the pending states\n* (like the spinning favicon). After JavaScript loads, React Router takes over\n* enabling web application user experiences.\n*\n* `Form` is most useful for submissions that should also change the URL or\n* otherwise add an entry to the browser history stack. For forms that shouldn't\n* manipulate the browser [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)\n* stack, use {@link FetcherWithComponents.Form | `<fetcher.Form>`}.\n*\n* @example\n* import { Form } from \"react-router\";\n*\n* function NewEvent() {\n* return (\n* <Form action=\"/events\" method=\"post\">\n* <input name=\"title\" type=\"text\" />\n* <input name=\"description\" type=\"text\" />\n* </Form>\n* );\n* }\n*\n* @public\n* @category Components\n* @mode framework\n* @mode data\n* @param {FormProps.action} action n/a\n* @param {FormProps.discover} discover n/a\n* @param {FormProps.encType} encType n/a\n* @param {FormProps.fetcherKey} fetcherKey n/a\n* @param {FormProps.method} method n/a\n* @param {FormProps.navigate} navigate n/a\n* @param {FormProps.preventScrollReset} preventScrollReset n/a\n* @param {FormProps.relative} relative n/a\n* @param {FormProps.reloadDocument} reloadDocument n/a\n* @param {FormProps.replace} replace n/a\n* @param {FormProps.state} state n/a\n* @param {FormProps.viewTransition} viewTransition n/a\n* @param {FormProps.defaultShouldRevalidate} defaultShouldRevalidate n/a\n* @returns A progressively enhanced [`<form>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form) component\n*/\nconst Form = React$1.forwardRef(({ discover = \"render\", fetcherKey, navigate, reloadDocument, replace, state, method = \"get\", action, onSubmit, relative, preventScrollReset, viewTransition, defaultShouldRevalidate, ...props }, forwardedRef) => {\n\tlet { useTransitions } = React$1.useContext(NavigationContext);\n\tlet submit = useSubmit();\n\tlet formAction = useFormAction(action, { relative });\n\tlet formMethod = method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n\tlet isAbsolute = typeof action === \"string\" && ABSOLUTE_URL_REGEX.test(action);\n\tlet submitHandler = (event) => {\n\t\tonSubmit && onSubmit(event);\n\t\tif (event.defaultPrevented) return;\n\t\tevent.preventDefault();\n\t\tlet submitter = event.nativeEvent.submitter;\n\t\tlet submitMethod = submitter?.getAttribute(\"formmethod\") || method;\n\t\tlet doSubmit = () => submit(submitter || event.currentTarget, {\n\t\t\tfetcherKey,\n\t\t\tmethod: submitMethod,\n\t\t\tnavigate,\n\t\t\treplace,\n\t\t\tstate,\n\t\t\trelative,\n\t\t\tpreventScrollReset,\n\t\t\tviewTransition,\n\t\t\tdefaultShouldRevalidate\n\t\t});\n\t\tif (useTransitions && navigate !== false) React$1.startTransition(() => doSubmit());\n\t\telse doSubmit();\n\t};\n\treturn /* @__PURE__ */ React$1.createElement(\"form\", {\n\t\tref: forwardedRef,\n\t\tmethod: formMethod,\n\t\taction: formAction,\n\t\tonSubmit: reloadDocument ? onSubmit : submitHandler,\n\t\t...props,\n\t\t\"data-discover\": !isAbsolute && discover === \"render\" ? \"true\" : void 0\n\t});\n});\nForm.displayName = \"Form\";\n/**\n* Emulates the browser's scroll restoration on location changes. Apps should only render one of these, right before the {@link Scripts} component.\n*\n* ```tsx\n* import { ScrollRestoration } from \"react-router\";\n*\n* export default function Root() {\n* return (\n* <html>\n* <body>\n* <ScrollRestoration />\n* <Scripts />\n* </body>\n* </html>\n* );\n* }\n* ```\n*\n* This component renders an inline `<script>` to prevent scroll flashing. The\n* `nonce` prop will be passed down to the script tag to allow CSP nonce usage.\n* If not provided in Framework Mode, it will default to any\n* {@link ServerRouter | `<ServerRouter nonce>`} prop.\n*\n* ```tsx\n* <ScrollRestoration nonce={cspNonce} />\n* ```\n*\n* @public\n* @category Components\n* @mode framework\n* @mode data\n* @param props Props\n* @param {ScrollRestorationProps.getKey} props.getKey n/a\n* @param {ScriptsProps.nonce} props.nonce n/a\n* @param {ScrollRestorationProps.storageKey} props.storageKey n/a\n* @returns A [`<script>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script)\n* tag that restores scroll positions on navigation.\n*/\nfunction ScrollRestoration({ getKey, storageKey, ...props }) {\n\tlet remixContext = React$1.useContext(FrameworkContext);\n\tlet { basename } = React$1.useContext(NavigationContext);\n\tlet location = useLocation();\n\tlet matches = useMatches();\n\tuseScrollRestoration({\n\t\tgetKey,\n\t\tstorageKey\n\t});\n\tlet ssrKey = React$1.useMemo(() => {\n\t\tif (!remixContext || !getKey) return null;\n\t\tlet userKey = getScrollRestorationKey(location, matches, basename, getKey);\n\t\treturn userKey !== location.key ? userKey : null;\n\t}, []);\n\tif (!remixContext || remixContext.isSpaMode) return null;\n\tlet restoreScroll = ((storageKey, restoreKey) => {\n\t\tif (!window.history.state || !window.history.state.key) {\n\t\t\tlet key = Math.random().toString(32).slice(2);\n\t\t\twindow.history.replaceState({ key }, \"\");\n\t\t}\n\t\ttry {\n\t\t\tlet storedY = JSON.parse(sessionStorage.getItem(storageKey) || \"{}\")[restoreKey || window.history.state.key];\n\t\t\tif (typeof storedY === \"number\") window.scrollTo(0, storedY);\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tsessionStorage.removeItem(storageKey);\n\t\t}\n\t}).toString();\n\tif (props.nonce == null && remixContext?.nonce) props.nonce = remixContext.nonce;\n\treturn /* @__PURE__ */ React$1.createElement(\"script\", {\n\t\t...props,\n\t\tsuppressHydrationWarning: true,\n\t\tdangerouslySetInnerHTML: { __html: `(${restoreScroll})(${escapeHtml(JSON.stringify(storageKey || SCROLL_RESTORATION_STORAGE_KEY))}, ${escapeHtml(JSON.stringify(ssrKey))})` }\n\t});\n}\nScrollRestoration.displayName = \"ScrollRestoration\";\nfunction getDataRouterConsoleError(hookName) {\n\treturn `${hookName} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`;\n}\nfunction useDataRouterContext(hookName) {\n\tlet ctx = React$1.useContext(DataRouterContext);\n\tinvariant(ctx, getDataRouterConsoleError(hookName));\n\treturn ctx;\n}\nfunction useDataRouterState(hookName) {\n\tlet state = React$1.useContext(DataRouterStateContext);\n\tinvariant(state, getDataRouterConsoleError(hookName));\n\treturn state;\n}\n/**\n* Handles the click behavior for router {@link Link | `<Link>`} components.This\n* is useful if you need to create custom {@link Link | `<Link>`} components with\n* the same click behavior we use in our exported {@link Link | `<Link>`}.\n*\n* @public\n* @category Hooks\n* @param to The URL to navigate to, can be a string or a partial {@link Path}.\n* @param options Options\n* @param options.preventScrollReset Whether to prevent the scroll position from\n* being reset to the top of the viewport on completion of the navigation when\n* using the {@link ScrollRestoration} component. Defaults to `false`.\n* @param options.relative The {@link RelativeRoutingType | relative routing type}\n* to use for the link. Defaults to `\"route\"`.\n* @param options.replace Whether to replace the current [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)\n* entry instead of pushing a new one. Defaults to `false`.\n* @param options.state The state to add to the [`History`](https://developer.mozilla.org/en-US/docs/Web/API/History)\n* entry for this navigation. Defaults to `undefined`.\n* @param options.target The target attribute for the link. Defaults to `undefined`.\n* @param options.viewTransition Enables a [View Transition](https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API)\n* for this navigation. To apply specific styles during the transition, see\n* {@link useViewTransitionState}. Defaults to `false`.\n* @param options.defaultShouldRevalidate Specify the default revalidation\n* behavior for the navigation. When not specified, loaders revalidate\n* according to the router's standard revalidation behavior.\n* @param options.mask Masked location to display in the browser instead\n* of the router location. Defaults to `undefined`.\n* @param options.useTransitions Wraps the navigation in\n* [`React.startTransition`](https://react.dev/reference/react/startTransition)\n* for concurrent rendering. Defaults to `false`.\n* @returns A click handler function that can be used in a custom {@link Link} component.\n*/\nfunction useLinkClickHandler(to, { target, replace: replaceProp, mask, state, preventScrollReset, relative, viewTransition, defaultShouldRevalidate, useTransitions } = {}) {\n\tlet navigate = useNavigate();\n\tlet location = useLocation();\n\tlet path = useResolvedPath(to, { relative });\n\treturn React$1.useCallback((event) => {\n\t\tif (shouldProcessLinkClick(event, target)) {\n\t\t\tevent.preventDefault();\n\t\t\tlet replace = replaceProp !== void 0 ? replaceProp : createPath(location) === createPath(path);\n\t\t\tlet doNavigate = () => navigate(to, {\n\t\t\t\treplace,\n\t\t\t\tmask,\n\t\t\t\tstate,\n\t\t\t\tpreventScrollReset,\n\t\t\t\trelative,\n\t\t\t\tviewTransition,\n\t\t\t\tdefaultShouldRevalidate\n\t\t\t});\n\t\t\tif (useTransitions) React$1.startTransition(() => doNavigate());\n\t\t\telse doNavigate();\n\t\t}\n\t}, [\n\t\tlocation,\n\t\tnavigate,\n\t\tpath,\n\t\treplaceProp,\n\t\tmask,\n\t\tstate,\n\t\ttarget,\n\t\tto,\n\t\tpreventScrollReset,\n\t\trelative,\n\t\tviewTransition,\n\t\tdefaultShouldRevalidate,\n\t\tuseTransitions\n\t]);\n}\n/**\n* Returns a tuple of the current URL's [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)\n* and a function to update them. Setting the search params causes a navigation.\n*\n* ```tsx\n* import { useSearchParams } from \"react-router\";\n*\n* export function SomeComponent() {\n* const [searchParams, setSearchParams] = useSearchParams();\n* // ...\n* }\n* ```\n*\n* ### `setSearchParams` function\n*\n* The second element of the tuple is a function that can be used to update the\n* search params. It accepts the same types as `defaultInit` and will cause a\n* navigation to the new URL.\n*\n* ```tsx\n* let [searchParams, setSearchParams] = useSearchParams();\n*\n* // a search param string\n* setSearchParams(\"?tab=1\");\n*\n* // a shorthand object\n* setSearchParams({ tab: \"1\" });\n*\n* // object keys can be arrays for multiple values on the key\n* setSearchParams({ brand: [\"nike\", \"reebok\"] });\n*\n* // an array of tuples\n* setSearchParams([[\"tab\", \"1\"]]);\n*\n* // a `URLSearchParams` object\n* setSearchParams(new URLSearchParams(\"?tab=1\"));\n* ```\n*\n* It also supports a function callback like React's\n* [`setState`](https://react.dev/reference/react/useState#setstate):\n*\n* ```tsx\n* setSearchParams((searchParams) => {\n* searchParams.set(\"tab\", \"2\");\n* return searchParams;\n* });\n* ```\n*\n* <docs-warning>The function callback version of `setSearchParams` does not support\n* the [queueing](https://react.dev/reference/react/useState#setstate-parameters)\n* logic that React's `setState` implements. Multiple calls to `setSearchParams`\n* in the same tick will not build on the prior value. If you need this behavior,\n* you can use `setState` manually.</docs-warning>\n*\n* ### Notes\n*\n* Note that `searchParams` is a stable reference, so you can reliably use it\n* as a dependency in React's [`useEffect`](https://react.dev/reference/react/useEffect)\n* hooks.\n*\n* ```tsx\n* useEffect(() => {\n* console.log(searchParams.get(\"tab\"));\n* }, [searchParams]);\n* ```\n*\n* However, this also means it's mutable. If you change the object without\n* calling `setSearchParams`, its values will change between renders if some\n* other state causes the component to re-render and URL will not reflect the\n* values.\n*\n* @public\n* @category Hooks\n* @param defaultInit\n* You can initialize the search params with a default value, though it **will\n* not** change the URL on the first render.\n*\n* ```tsx\n* // a search param string\n* useSearchParams(\"?tab=1\");\n*\n* // a shorthand object\n* useSearchParams({ tab: \"1\" });\n*\n* // object keys can be arrays for multiple values on the key\n* useSearchParams({ brand: [\"nike\", \"reebok\"] });\n*\n* // an array of tuples\n* useSearchParams([[\"tab\", \"1\"]]);\n*\n* // a `URLSearchParams` object\n* useSearchParams(new URLSearchParams(\"?tab=1\"));\n* ```\n* @returns A tuple of the current [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)\n* and a function to update them.\n*/\nfunction useSearchParams(defaultInit) {\n\twarning(typeof URLSearchParams !== \"undefined\", \"You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.\");\n\tlet defaultSearchParamsRef = React$1.useRef(createSearchParams(defaultInit));\n\tlet hasSetSearchParamsRef = React$1.useRef(false);\n\tlet location = useLocation();\n\tlet searchParams = React$1.useMemo(() => getSearchParamsForLocation(location.search, hasSetSearchParamsRef.current ? null : defaultSearchParamsRef.current), [location.search]);\n\tlet navigate = useNavigate();\n\treturn [searchParams, React$1.useCallback((nextInit, navigateOptions) => {\n\t\tconst newSearchParams = createSearchParams(typeof nextInit === \"function\" ? nextInit(new URLSearchParams(searchParams)) : nextInit);\n\t\thasSetSearchParamsRef.current = true;\n\t\tnavigate(\"?\" + newSearchParams, navigateOptions);\n\t}, [navigate, searchParams])];\n}\nlet fetcherId = 0;\nlet getUniqueFetcherId = () => `__${String(++fetcherId)}__`;\n/**\n* The imperative version of {@link Form | `<Form>`} that lets you submit a form\n* from code instead of a user interaction.\n*\n* @example\n* import { useSubmit } from \"react-router\";\n*\n* function SomeComponent() {\n* const submit = useSubmit();\n* return (\n* <Form onChange={(event) => submit(event.currentTarget)} />\n* );\n* }\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @returns A function that can be called to submit a {@link Form} imperatively.\n*/\nfunction useSubmit() {\n\tlet { router } = useDataRouterContext(\"useSubmit\");\n\tlet { basename } = React$1.useContext(NavigationContext);\n\tlet currentRouteId = useRouteId();\n\tlet routerFetch = router.fetch;\n\tlet routerNavigate = router.navigate;\n\treturn React$1.useCallback(async (target, options = {}) => {\n\t\tlet { action, method, encType, formData, body } = getFormSubmissionInfo(target, basename);\n\t\tif (options.navigate === false) await routerFetch(options.fetcherKey || getUniqueFetcherId(), currentRouteId, options.action || action, {\n\t\t\tdefaultShouldRevalidate: options.defaultShouldRevalidate,\n\t\t\tpreventScrollReset: options.preventScrollReset,\n\t\t\tformData,\n\t\t\tbody,\n\t\t\tformMethod: options.method || method,\n\t\t\tformEncType: options.encType || encType,\n\t\t\tflushSync: options.flushSync\n\t\t});\n\t\telse await routerNavigate(options.action || action, {\n\t\t\tdefaultShouldRevalidate: options.defaultShouldRevalidate,\n\t\t\tpreventScrollReset: options.preventScrollReset,\n\t\t\tformData,\n\t\t\tbody,\n\t\t\tformMethod: options.method || method,\n\t\t\tformEncType: options.encType || encType,\n\t\t\treplace: options.replace,\n\t\t\tstate: options.state,\n\t\t\tfromRouteId: currentRouteId,\n\t\t\tflushSync: options.flushSync,\n\t\t\tviewTransition: options.viewTransition\n\t\t});\n\t}, [\n\t\trouterFetch,\n\t\trouterNavigate,\n\t\tbasename,\n\t\tcurrentRouteId\n\t]);\n}\n/**\n* Resolves the URL to the closest route in the component hierarchy instead of\n* the current URL of the app.\n*\n* This is used internally by {@link Form} to resolve the `action` to the closest\n* route, but can be used generically as well.\n*\n* ```ts\n* import { useFormAction } from \"react-router\";\n*\n* function SomeComponent() {\n* // closest route URL\n* let action = useFormAction();\n*\n* // closest route URL + \"destroy\"\n* let destroyAction = useFormAction(\"destroy\");\n* }\n* ```\n*\n* <docs-info>This hook adds a `basename` if your app specifies one, so that it\n* can be used with raw `<form>` elements in a progressively enhanced way. If\n* you are using this to provide an `action` to `<Form>` or `fetcher.submit`, you\n* will need to remove the `basename` since both of those will prepend it\n* internally.</docs-info>\n*\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @param action The action to append to the closest route URL. Defaults to the\n* closest route URL.\n* @param options Options\n* @param options.relative The relative routing type to use when resolving the\n* action. Defaults to `\"route\"`.\n* @returns The resolved action URL.\n*/\nfunction useFormAction(action, { relative } = {}) {\n\tlet { basename } = React$1.useContext(NavigationContext);\n\tlet routeContext = React$1.useContext(RouteContext);\n\tinvariant(routeContext, \"useFormAction must be used inside a RouteContext\");\n\tlet [match] = routeContext.matches.slice(-1);\n\tlet path = { ...useResolvedPath(action ? action : \".\", { relative }) };\n\tlet location = useLocation();\n\tif (action == null) {\n\t\tpath.search = location.search;\n\t\tlet params = new URLSearchParams(path.search);\n\t\tlet indexValues = params.getAll(\"index\");\n\t\tif (indexValues.some((v) => v === \"\")) {\n\t\t\tparams.delete(\"index\");\n\t\t\tindexValues.filter((v) => v).forEach((v) => params.append(\"index\", v));\n\t\t\tlet qs = params.toString();\n\t\t\tpath.search = qs ? `?${qs}` : \"\";\n\t\t}\n\t}\n\tif ((!action || action === \".\") && match.route.index) path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n\tif (basename !== \"/\") path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n\treturn createPath(path);\n}\n/**\n* Useful for creating complex, dynamic user interfaces that require multiple,\n* concurrent data interactions without causing a navigation.\n*\n* Fetchers track their own, independent state and can be used to load data, submit\n* forms, and generally interact with [`action`](../../start/framework/route-module#action)\n* and [`loader`](../../start/framework/route-module#loader) functions.\n*\n* @example\n* import { useFetcher } from \"react-router\"\n*\n* function SomeComponent() {\n* let fetcher = useFetcher()\n*\n* // states are available on the fetcher\n* fetcher.state // \"idle\" | \"loading\" | \"submitting\"\n* fetcher.data // the data returned from the action or loader\n*\n* // render a form\n* <fetcher.Form method=\"post\" />\n*\n* // load data\n* fetcher.load(\"/some/route\")\n*\n* // submit data\n* fetcher.submit(someFormRef, { method: \"post\" })\n* fetcher.submit(someData, {\n* method: \"post\",\n* encType: \"application/json\"\n* })\n*\n* // reset fetcher\n* fetcher.reset()\n* }\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @param options Options\n* @param options.key A unique key to identify the fetcher.\n*\n*\n* By default, `useFetcher` generates a unique fetcher scoped to that component.\n* If you want to identify a fetcher with your own key such that you can access\n* it from elsewhere in your app, you can do that with the `key` option:\n*\n* ```tsx\n* function SomeComp() {\n* let fetcher = useFetcher({ key: \"my-key\" })\n* // ...\n* }\n*\n* // Somewhere else\n* function AnotherComp() {\n* // this will be the same fetcher, sharing the state across the app\n* let fetcher = useFetcher({ key: \"my-key\" });\n* // ...\n* }\n* ```\n* @returns A {@link FetcherWithComponents} object that contains the fetcher's state, data, and components for submitting forms and loading data.\n*/\nfunction useFetcher({ key } = {}) {\n\tlet { router } = useDataRouterContext(\"useFetcher\");\n\tlet state = useDataRouterState(\"useFetcher\");\n\tlet fetcherData = React$1.useContext(FetchersContext);\n\tlet route = React$1.useContext(RouteContext);\n\tlet routeId = route.matches[route.matches.length - 1]?.route.id;\n\tinvariant(fetcherData, `useFetcher must be used inside a FetchersContext`);\n\tinvariant(route, `useFetcher must be used inside a RouteContext`);\n\tinvariant(routeId != null, `useFetcher can only be used on routes that contain a unique \"id\"`);\n\tlet defaultKey = React$1.useId();\n\tlet [fetcherKey, setFetcherKey] = React$1.useState(key || defaultKey);\n\tif (key && key !== fetcherKey) setFetcherKey(key);\n\tlet { deleteFetcher, getFetcher, resetFetcher, fetch: routerFetch } = router;\n\tReact$1.useEffect(() => {\n\t\tgetFetcher(fetcherKey);\n\t\treturn () => deleteFetcher(fetcherKey);\n\t}, [\n\t\tdeleteFetcher,\n\t\tgetFetcher,\n\t\tfetcherKey\n\t]);\n\tlet load = React$1.useCallback(async (href, opts) => {\n\t\tinvariant(routeId, \"No routeId available for fetcher.load()\");\n\t\tawait routerFetch(fetcherKey, routeId, href, opts);\n\t}, [\n\t\tfetcherKey,\n\t\trouteId,\n\t\trouterFetch\n\t]);\n\tlet submitImpl = useSubmit();\n\tlet submit = React$1.useCallback(async (target, opts) => {\n\t\tawait submitImpl(target, {\n\t\t\t...opts,\n\t\t\tnavigate: false,\n\t\t\tfetcherKey\n\t\t});\n\t}, [fetcherKey, submitImpl]);\n\tlet reset = React$1.useCallback((opts) => resetFetcher(fetcherKey, opts), [resetFetcher, fetcherKey]);\n\tlet FetcherForm = React$1.useMemo(() => {\n\t\tlet FetcherForm = React$1.forwardRef((props, ref) => {\n\t\t\treturn /* @__PURE__ */ React$1.createElement(Form, {\n\t\t\t\t...props,\n\t\t\t\tnavigate: false,\n\t\t\t\tfetcherKey,\n\t\t\t\tref\n\t\t\t});\n\t\t});\n\t\tFetcherForm.displayName = \"fetcher.Form\";\n\t\treturn FetcherForm;\n\t}, [fetcherKey]);\n\tlet fetcher = state.fetchers.get(fetcherKey) || IDLE_FETCHER;\n\tlet data = fetcherData.get(fetcherKey);\n\treturn React$1.useMemo(() => ({\n\t\tForm: FetcherForm,\n\t\tsubmit,\n\t\tload,\n\t\treset,\n\t\t...fetcher,\n\t\tdata\n\t}), [\n\t\tFetcherForm,\n\t\tsubmit,\n\t\tload,\n\t\treset,\n\t\tfetcher,\n\t\tdata\n\t]);\n}\n/**\n* Returns an array of all in-flight {@link Fetcher}s. This is useful for components\n* throughout the app that didn't create the fetchers but want to use their submissions\n* to participate in optimistic UI.\n*\n* @example\n* import { useFetchers } from \"react-router\";\n*\n* function SomeComponent() {\n* const fetchers = useFetchers();\n* fetchers[0].formData; // FormData\n* fetchers[0].state; // etc.\n* // ...\n* }\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @returns An array of all in-flight {@link Fetcher}s, each with a unique `key`\n* property.\n*/\nfunction useFetchers() {\n\tlet state = useDataRouterState(\"useFetchers\");\n\treturn React$1.useMemo(() => Array.from(state.fetchers.entries()).map(([key, fetcher]) => ({\n\t\t...fetcher,\n\t\tkey\n\t})), [state.fetchers]);\n}\nconst SCROLL_RESTORATION_STORAGE_KEY = \"react-router-scroll-positions\";\nlet savedScrollPositions = {};\nfunction getScrollRestorationKey(location, matches, basename, getKey) {\n\tlet key = null;\n\tif (getKey) if (basename !== \"/\") key = getKey({\n\t\t...location,\n\t\tpathname: stripBasename(location.pathname, basename) || location.pathname\n\t}, matches);\n\telse key = getKey(location, matches);\n\tif (key == null) key = location.key;\n\treturn key;\n}\n/**\n* When rendered inside a {@link RouterProvider}, will restore scroll positions\n* on navigations\n*\n* <!--\n* Not marked `@public` because we only export as UNSAFE_ and therefore we don't\n* maintain an .md file for this hook\n* -->\n*\n* @name UNSAFE_useScrollRestoration\n* @category Hooks\n* @mode framework\n* @mode data\n* @param options Options\n* @param options.getKey A function that returns a key to use for scroll restoration.\n* This is useful for custom scroll restoration logic, such as using only the pathname\n* so that subsequent navigations to prior paths will restore the scroll. Defaults\n* to `location.key`.\n* @param options.storageKey The key to use for storing scroll positions in\n* `sessionStorage`. Defaults to `\"react-router-scroll-positions\"`.\n* @returns {void}\n*/\nfunction useScrollRestoration({ getKey, storageKey } = {}) {\n\tlet { router } = useDataRouterContext(\"useScrollRestoration\");\n\tlet { restoreScrollPosition, preventScrollReset } = useDataRouterState(\"useScrollRestoration\");\n\tlet { basename } = React$1.useContext(NavigationContext);\n\tlet location = useLocation();\n\tlet matches = useMatches();\n\tlet navigation = useNavigation();\n\tReact$1.useEffect(() => {\n\t\twindow.history.scrollRestoration = \"manual\";\n\t\treturn () => {\n\t\t\twindow.history.scrollRestoration = \"auto\";\n\t\t};\n\t}, []);\n\tusePageHide(React$1.useCallback(() => {\n\t\tif (navigation.state === \"idle\") {\n\t\t\tlet key = getScrollRestorationKey(location, matches, basename, getKey);\n\t\t\tsavedScrollPositions[key] = window.scrollY;\n\t\t}\n\t\ttry {\n\t\t\tsessionStorage.setItem(storageKey || SCROLL_RESTORATION_STORAGE_KEY, JSON.stringify(savedScrollPositions));\n\t\t} catch (error) {\n\t\t\twarning(false, `Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (${error}).`);\n\t\t}\n\t\twindow.history.scrollRestoration = \"auto\";\n\t}, [\n\t\tnavigation.state,\n\t\tgetKey,\n\t\tbasename,\n\t\tlocation,\n\t\tmatches,\n\t\tstorageKey\n\t]));\n\tif (typeof document !== \"undefined\") {\n\t\tReact$1.useLayoutEffect(() => {\n\t\t\ttry {\n\t\t\t\tlet sessionPositions = sessionStorage.getItem(storageKey || SCROLL_RESTORATION_STORAGE_KEY);\n\t\t\t\tif (sessionPositions) savedScrollPositions = JSON.parse(sessionPositions);\n\t\t\t} catch (e) {}\n\t\t}, [storageKey]);\n\t\tReact$1.useLayoutEffect(() => {\n\t\t\tlet disableScrollRestoration = router?.enableScrollRestoration(savedScrollPositions, () => window.scrollY, getKey ? (location, matches) => getScrollRestorationKey(location, matches, basename, getKey) : void 0);\n\t\t\treturn () => disableScrollRestoration && disableScrollRestoration();\n\t\t}, [\n\t\t\trouter,\n\t\t\tbasename,\n\t\t\tgetKey\n\t\t]);\n\t\tReact$1.useLayoutEffect(() => {\n\t\t\tif (restoreScrollPosition === false) return;\n\t\t\tif (typeof restoreScrollPosition === \"number\") {\n\t\t\t\twindow.scrollTo(0, restoreScrollPosition);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tif (location.hash) {\n\t\t\t\t\tlet el = document.getElementById(decodeURIComponent(location.hash.slice(1)));\n\t\t\t\t\tif (el) {\n\t\t\t\t\t\tel.scrollIntoView();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch {\n\t\t\t\twarning(false, `\"${location.hash.slice(1)}\" is not a decodable element ID. The view will not scroll to it.`);\n\t\t\t}\n\t\t\tif (preventScrollReset === true) return;\n\t\t\twindow.scrollTo(0, 0);\n\t\t}, [\n\t\t\tlocation,\n\t\t\trestoreScrollPosition,\n\t\t\tpreventScrollReset\n\t\t]);\n\t}\n}\n/**\n* Set up a callback to be fired on [Window's `beforeunload` event](https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event).\n*\n* @public\n* @category Hooks\n* @param callback The callback to be called when the [`beforeunload` event](https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event)\n* is fired.\n* @param options Options\n* @param options.capture If `true`, the event will be captured during the capture\n* phase. Defaults to `false`.\n* @returns {void}\n*/\nfunction useBeforeUnload(callback, options) {\n\tlet { capture } = options || {};\n\tReact$1.useEffect(() => {\n\t\tlet opts = capture != null ? { capture } : void 0;\n\t\twindow.addEventListener(\"beforeunload\", callback, opts);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"beforeunload\", callback, opts);\n\t\t};\n\t}, [callback, capture]);\n}\nfunction usePageHide(callback, options) {\n\tlet { capture } = options || {};\n\tReact$1.useEffect(() => {\n\t\tlet opts = capture != null ? { capture } : void 0;\n\t\twindow.addEventListener(\"pagehide\", callback, opts);\n\t\treturn () => {\n\t\t\twindow.removeEventListener(\"pagehide\", callback, opts);\n\t\t};\n\t}, [callback, capture]);\n}\n/**\n* Wrapper around {@link useBlocker} to show a [`window.confirm`](https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm)\n* prompt to users instead of building a custom UI with {@link useBlocker}.\n*\n* The `unstable_` flag will not be removed because this technique has a lot of\n* rough edges and behaves very differently (and incorrectly sometimes) across\n* browsers if users click addition back/forward navigations while the\n* confirmation is open. Use at your own risk.\n*\n* @example\n* function ImportantForm() {\n* let [value, setValue] = React.useState(\"\");\n*\n* // Block navigating elsewhere when data has been entered into the input\n* unstable_usePrompt({\n* message: \"Are you sure?\",\n* when: ({ currentLocation, nextLocation }) =>\n* value !== \"\" &&\n* currentLocation.pathname !== nextLocation.pathname,\n* });\n*\n* return (\n* <Form method=\"post\">\n* <label>\n* Enter some important data:\n* <input\n* name=\"data\"\n* value={value}\n* onChange={(e) => setValue(e.target.value)}\n* />\n* </label>\n* <button type=\"submit\">Save</button>\n* </Form>\n* );\n* }\n*\n* @name unstable_usePrompt\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @param options Options\n* @param options.message The message to show in the confirmation dialog.\n* @param options.when A boolean or a function that returns a boolean indicating\n* whether to block the navigation. If a function is provided, it will receive an\n* object with `currentLocation` and `nextLocation` properties.\n* @returns {void}\n*/\nfunction usePrompt({ when, message }) {\n\tlet blocker = useBlocker(when);\n\tReact$1.useEffect(() => {\n\t\tif (blocker.state === \"blocked\") if (window.confirm(message)) setTimeout(blocker.proceed, 0);\n\t\telse blocker.reset();\n\t}, [blocker, message]);\n\tReact$1.useEffect(() => {\n\t\tif (blocker.state === \"blocked\" && !when) blocker.reset();\n\t}, [blocker, when]);\n}\n/**\n* This hook returns `true` when there is an active [View Transition](https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API)\n* and the specified location matches either side of the navigation (the URL you are\n* navigating **to** or the URL you are navigating **from**). This can be used to apply finer-grained styles to\n* elements to further customize the view transition. This requires that view\n* transitions have been enabled for the given navigation via {@link LinkProps.viewTransition}\n* (or the `Form`, `submit`, or `navigate` call)\n*\n* @public\n* @category Hooks\n* @mode framework\n* @mode data\n* @param to The {@link To} location to compare against the active transition's current\n* and next URLs.\n* @param options Options\n* @param options.relative The relative routing type to use when resolving the\n* `to` location, defaults to `\"route\"`. See {@link RelativeRoutingType} for\n* more details.\n* @returns `true` if there is an active [View Transition](https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API)\n* and the resolved path matches the transition's destination or source pathname, otherwise `false`.\n*/\nfunction useViewTransitionState(to, { relative } = {}) {\n\tlet vtContext = React$1.useContext(ViewTransitionContext);\n\tinvariant(vtContext != null, \"`useViewTransitionState` must be used within `react-router/dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?\");\n\tlet { basename } = useDataRouterContext(\"useViewTransitionState\");\n\tlet path = useResolvedPath(to, { relative });\n\tif (!vtContext.isTransitioning) return false;\n\tlet currentPath = stripBasename(vtContext.currentLocation.pathname, basename) || vtContext.currentLocation.pathname;\n\tlet nextPath = stripBasename(vtContext.nextLocation.pathname, basename) || vtContext.nextLocation.pathname;\n\treturn matchPath(path.pathname, nextPath) != null || matchPath(path.pathname, currentPath) != null;\n}\n//#endregion\nexport { BrowserRouter, Form, HashRouter, HistoryRouter, Link, NavLink, ScrollRestoration, createBrowserRouter, createHashRouter, useBeforeUnload, useFetcher, useFetchers, useFormAction, useLinkClickHandler, usePrompt, useScrollRestoration, useSearchParams, useSubmit, useViewTransitionState };\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n"],"file":"vendor-BVP6ONpk.js"}
|