@perses-dev/prometheus-plugin 0.57.0-beta.0 → 0.57.0

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.
Files changed (208) hide show
  1. package/__mf/js/{Prometheus.2bb892ab.js → Prometheus.9877d89e.js} +3 -3
  2. package/__mf/js/async/1728.531c96f9.js +1 -0
  3. package/__mf/js/async/3499.bef2e2e5.js +1 -0
  4. package/__mf/js/async/3652.6b591718.js +7 -0
  5. package/__mf/js/async/392.f1b4a590.js +2 -0
  6. package/__mf/js/async/425.1ec8867f.js +1 -0
  7. package/__mf/js/async/4657.f0c3ccd6.js +2 -0
  8. package/__mf/js/async/54.e6002704.js +22 -0
  9. package/__mf/js/async/5440.8ced5513.js +2 -0
  10. package/__mf/js/async/{5440.c13c3533.js.LICENSE.txt → 5440.8ced5513.js.LICENSE.txt} +3 -3
  11. package/__mf/js/async/9010.ca50fa9e.js +2 -0
  12. package/__mf/js/async/{9020.c19782f1.js → 9020.ebc1cad3.js} +1 -1
  13. package/__mf/js/async/{__federation_expose_PrometheusDatasource.6f63e147.js → __federation_expose_PrometheusDatasource.b97f9012.js} +1 -1
  14. package/__mf/js/async/{__federation_expose_PrometheusExplorer.584a073d.js → __federation_expose_PrometheusExplorer.eba3b416.js} +1 -1
  15. package/__mf/js/async/{__federation_expose_PrometheusLabelNamesVariable.40984a4d.js → __federation_expose_PrometheusLabelNamesVariable.bd38a89c.js} +1 -1
  16. package/__mf/js/async/{__federation_expose_PrometheusLabelValuesVariable.bd3eb00c.js → __federation_expose_PrometheusLabelValuesVariable.eb12e168.js} +1 -1
  17. package/__mf/js/async/{__federation_expose_PrometheusPromQLVariable.5cca8417.js → __federation_expose_PrometheusPromQLVariable.7ccb0601.js} +1 -1
  18. package/__mf/js/async/{__federation_expose_PrometheusTimeSeriesQuery.f59141f4.js → __federation_expose_PrometheusTimeSeriesQuery.08f11ea9.js} +1 -1
  19. package/__mf/js/{main.9617b605.js → main.78fc6444.js} +5 -5
  20. package/lib/bootstrap.js +1 -1
  21. package/lib/bootstrap.js.map +1 -1
  22. package/lib/cjs/bootstrap.js +1 -1
  23. package/lib/cjs/components/PromQLEditor.js +1 -1
  24. package/lib/cjs/components/TreeNode.js +1 -1
  25. package/lib/cjs/components/index.js +1 -1
  26. package/lib/cjs/components/promql/ast.js +1 -1
  27. package/lib/cjs/components/promql/format.js +1 -1
  28. package/lib/cjs/components/promql/functionSignatures.js +1 -1
  29. package/lib/cjs/components/promql/serialize.js +1 -1
  30. package/lib/cjs/components/promql/utils.js +1 -1
  31. package/lib/cjs/components/query.js +1 -1
  32. package/lib/cjs/env.d.js +1 -1
  33. package/lib/cjs/explore/PrometheusExplorer.js +1 -1
  34. package/lib/cjs/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.js +1 -1
  35. package/lib/cjs/explore/PrometheusMetricsFinder/display/MetricChip.js +1 -1
  36. package/lib/cjs/explore/PrometheusMetricsFinder/display/list/MetricList.js +1 -1
  37. package/lib/cjs/explore/PrometheusMetricsFinder/filter/FilterInputs.js +1 -1
  38. package/lib/cjs/explore/PrometheusMetricsFinder/filter/FinderFilters.js +1 -1
  39. package/lib/cjs/explore/PrometheusMetricsFinder/index.js +1 -1
  40. package/lib/cjs/explore/PrometheusMetricsFinder/overview/MetricOverview.js +1 -1
  41. package/lib/cjs/explore/PrometheusMetricsFinder/overview/tabs/JobTab.js +1 -1
  42. package/lib/cjs/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.js +1 -1
  43. package/lib/cjs/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.js +1 -1
  44. package/lib/cjs/explore/PrometheusMetricsFinder/types.js +1 -1
  45. package/lib/cjs/explore/PrometheusMetricsFinder/utils.js +1 -1
  46. package/lib/cjs/explore/index.js +12 -0
  47. package/lib/cjs/getPluginModule.js +12 -0
  48. package/lib/cjs/index-federation.js +1 -1
  49. package/lib/cjs/index.js +12 -0
  50. package/lib/cjs/model/api-types.js +1 -1
  51. package/lib/cjs/model/index.js +1 -1
  52. package/lib/cjs/model/parse-sample-values.js +1 -1
  53. package/lib/cjs/model/prometheus-client.js +1 -1
  54. package/lib/cjs/model/prometheus-selectors.js +1 -1
  55. package/lib/cjs/model/time.js +1 -1
  56. package/lib/cjs/plugins/MatcherEditor.js +1 -1
  57. package/lib/cjs/plugins/PrometheusDatasourceEditor.js +1 -1
  58. package/lib/cjs/plugins/PrometheusLabelNamesVariable.js +12 -0
  59. package/lib/cjs/plugins/PrometheusLabelValuesVariable.js +12 -0
  60. package/lib/cjs/plugins/PrometheusPromQLVariable.js +12 -0
  61. package/lib/cjs/plugins/index.js +12 -0
  62. package/lib/cjs/plugins/prometheus-datasource.js +1 -1
  63. package/lib/cjs/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.js +1 -1
  64. package/lib/cjs/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.js +1 -1
  65. package/lib/cjs/plugins/prometheus-time-series-query/get-time-series-data.js +1 -1
  66. package/lib/cjs/plugins/prometheus-time-series-query/index.js +1 -1
  67. package/lib/cjs/plugins/prometheus-time-series-query/query-editor-model.js +1 -1
  68. package/lib/cjs/plugins/prometheus-time-series-query/replace-prom-builtin-variables.js +1 -1
  69. package/lib/cjs/plugins/prometheus-time-series-query/time-series-query-model.js +1 -1
  70. package/lib/cjs/plugins/prometheus-variables.js +1 -1
  71. package/lib/cjs/plugins/test/setup-tests.js +1 -1
  72. package/lib/cjs/plugins/types.js +1 -1
  73. package/lib/cjs/plugins/variable.js +1 -1
  74. package/lib/cjs/setup-tests.js +1 -1
  75. package/lib/cjs/utils/index.js +1 -1
  76. package/lib/cjs/utils/utils.js +1 -1
  77. package/lib/components/PromQLEditor.js +1 -1
  78. package/lib/components/PromQLEditor.js.map +1 -1
  79. package/lib/components/TreeNode.js +1 -1
  80. package/lib/components/TreeNode.js.map +1 -1
  81. package/lib/components/index.js +1 -1
  82. package/lib/components/index.js.map +1 -1
  83. package/lib/components/promql/ast.js +1 -1
  84. package/lib/components/promql/ast.js.map +1 -1
  85. package/lib/components/promql/format.js +1 -1
  86. package/lib/components/promql/format.js.map +1 -1
  87. package/lib/components/promql/functionSignatures.js +1 -1
  88. package/lib/components/promql/functionSignatures.js.map +1 -1
  89. package/lib/components/promql/serialize.js +1 -1
  90. package/lib/components/promql/serialize.js.map +1 -1
  91. package/lib/components/promql/utils.js +1 -1
  92. package/lib/components/promql/utils.js.map +1 -1
  93. package/lib/components/query.js +1 -1
  94. package/lib/components/query.js.map +1 -1
  95. package/lib/env.d.js +1 -1
  96. package/lib/env.d.js.map +1 -1
  97. package/lib/explore/PrometheusExplorer.js +1 -1
  98. package/lib/explore/PrometheusExplorer.js.map +1 -1
  99. package/lib/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.js +1 -1
  100. package/lib/explore/PrometheusMetricsFinder/PrometheusMetricsFinder.js.map +1 -1
  101. package/lib/explore/PrometheusMetricsFinder/display/MetricChip.js +1 -1
  102. package/lib/explore/PrometheusMetricsFinder/display/MetricChip.js.map +1 -1
  103. package/lib/explore/PrometheusMetricsFinder/display/list/MetricList.js +1 -1
  104. package/lib/explore/PrometheusMetricsFinder/display/list/MetricList.js.map +1 -1
  105. package/lib/explore/PrometheusMetricsFinder/filter/FilterInputs.js +1 -1
  106. package/lib/explore/PrometheusMetricsFinder/filter/FilterInputs.js.map +1 -1
  107. package/lib/explore/PrometheusMetricsFinder/filter/FinderFilters.js +1 -1
  108. package/lib/explore/PrometheusMetricsFinder/filter/FinderFilters.js.map +1 -1
  109. package/lib/explore/PrometheusMetricsFinder/index.js +1 -1
  110. package/lib/explore/PrometheusMetricsFinder/index.js.map +1 -1
  111. package/lib/explore/PrometheusMetricsFinder/overview/MetricOverview.js +1 -1
  112. package/lib/explore/PrometheusMetricsFinder/overview/MetricOverview.js.map +1 -1
  113. package/lib/explore/PrometheusMetricsFinder/overview/tabs/JobTab.js +1 -1
  114. package/lib/explore/PrometheusMetricsFinder/overview/tabs/JobTab.js.map +1 -1
  115. package/lib/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.js +1 -1
  116. package/lib/explore/PrometheusMetricsFinder/overview/tabs/OverviewTab.js.map +1 -1
  117. package/lib/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.js +1 -1
  118. package/lib/explore/PrometheusMetricsFinder/overview/tabs/SimilarTab.js.map +1 -1
  119. package/lib/explore/PrometheusMetricsFinder/types.js +1 -1
  120. package/lib/explore/PrometheusMetricsFinder/types.js.map +1 -1
  121. package/lib/explore/PrometheusMetricsFinder/utils.js +1 -1
  122. package/lib/explore/PrometheusMetricsFinder/utils.js.map +1 -1
  123. package/lib/explore/index.d.ts.map +1 -1
  124. package/lib/explore/index.js +12 -0
  125. package/lib/explore/index.js.map +1 -1
  126. package/lib/getPluginModule.d.ts.map +1 -1
  127. package/lib/getPluginModule.js +12 -0
  128. package/lib/getPluginModule.js.map +1 -1
  129. package/lib/index-federation.js +1 -1
  130. package/lib/index-federation.js.map +1 -1
  131. package/lib/index.d.ts.map +1 -1
  132. package/lib/index.js +12 -0
  133. package/lib/index.js.map +1 -1
  134. package/lib/model/api-types.js +1 -1
  135. package/lib/model/api-types.js.map +1 -1
  136. package/lib/model/index.js +1 -1
  137. package/lib/model/index.js.map +1 -1
  138. package/lib/model/parse-sample-values.js +1 -1
  139. package/lib/model/parse-sample-values.js.map +1 -1
  140. package/lib/model/prometheus-client.js +1 -1
  141. package/lib/model/prometheus-client.js.map +1 -1
  142. package/lib/model/prometheus-selectors.js +1 -1
  143. package/lib/model/prometheus-selectors.js.map +1 -1
  144. package/lib/model/time.js +1 -1
  145. package/lib/model/time.js.map +1 -1
  146. package/lib/plugins/MatcherEditor.js +1 -1
  147. package/lib/plugins/MatcherEditor.js.map +1 -1
  148. package/lib/plugins/PrometheusDatasourceEditor.js +1 -1
  149. package/lib/plugins/PrometheusDatasourceEditor.js.map +1 -1
  150. package/lib/plugins/PrometheusLabelNamesVariable.d.ts.map +1 -1
  151. package/lib/plugins/PrometheusLabelNamesVariable.js +12 -0
  152. package/lib/plugins/PrometheusLabelNamesVariable.js.map +1 -1
  153. package/lib/plugins/PrometheusLabelValuesVariable.d.ts.map +1 -1
  154. package/lib/plugins/PrometheusLabelValuesVariable.js +12 -0
  155. package/lib/plugins/PrometheusLabelValuesVariable.js.map +1 -1
  156. package/lib/plugins/PrometheusPromQLVariable.d.ts.map +1 -1
  157. package/lib/plugins/PrometheusPromQLVariable.js +12 -0
  158. package/lib/plugins/PrometheusPromQLVariable.js.map +1 -1
  159. package/lib/plugins/index.d.ts.map +1 -1
  160. package/lib/plugins/index.js +12 -0
  161. package/lib/plugins/index.js.map +1 -1
  162. package/lib/plugins/prometheus-datasource.js +1 -1
  163. package/lib/plugins/prometheus-datasource.js.map +1 -1
  164. package/lib/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.js +1 -1
  165. package/lib/plugins/prometheus-time-series-query/PrometheusTimeSeriesQuery.js.map +1 -1
  166. package/lib/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.js +1 -1
  167. package/lib/plugins/prometheus-time-series-query/PrometheusTimeSeriesQueryEditor.js.map +1 -1
  168. package/lib/plugins/prometheus-time-series-query/get-time-series-data.js +1 -1
  169. package/lib/plugins/prometheus-time-series-query/get-time-series-data.js.map +1 -1
  170. package/lib/plugins/prometheus-time-series-query/index.js +1 -1
  171. package/lib/plugins/prometheus-time-series-query/index.js.map +1 -1
  172. package/lib/plugins/prometheus-time-series-query/query-editor-model.js +1 -1
  173. package/lib/plugins/prometheus-time-series-query/query-editor-model.js.map +1 -1
  174. package/lib/plugins/prometheus-time-series-query/replace-prom-builtin-variables.js +1 -1
  175. package/lib/plugins/prometheus-time-series-query/replace-prom-builtin-variables.js.map +1 -1
  176. package/lib/plugins/prometheus-time-series-query/time-series-query-model.js +1 -1
  177. package/lib/plugins/prometheus-time-series-query/time-series-query-model.js.map +1 -1
  178. package/lib/plugins/prometheus-variables.js +1 -1
  179. package/lib/plugins/prometheus-variables.js.map +1 -1
  180. package/lib/plugins/test/setup-tests.js +1 -1
  181. package/lib/plugins/test/setup-tests.js.map +1 -1
  182. package/lib/plugins/types.js +1 -1
  183. package/lib/plugins/types.js.map +1 -1
  184. package/lib/plugins/variable.js +1 -1
  185. package/lib/plugins/variable.js.map +1 -1
  186. package/lib/setup-tests.js +1 -1
  187. package/lib/setup-tests.js.map +1 -1
  188. package/lib/utils/index.js +1 -1
  189. package/lib/utils/index.js.map +1 -1
  190. package/lib/utils/utils.js +1 -1
  191. package/lib/utils/utils.js.map +1 -1
  192. package/mf-manifest.json +73 -73
  193. package/mf-stats.json +73 -73
  194. package/package.json +6 -6
  195. package/__mf/js/async/1490.7e5068f1.js +0 -22
  196. package/__mf/js/async/1728.af16c4ec.js +0 -1
  197. package/__mf/js/async/2984.7182c2f5.js +0 -1
  198. package/__mf/js/async/2999.1d8347df.js +0 -1
  199. package/__mf/js/async/3664.ba8b26b6.js +0 -2
  200. package/__mf/js/async/392.7cda691a.js +0 -2
  201. package/__mf/js/async/5440.c13c3533.js +0 -2
  202. package/__mf/js/async/5501.6166367c.js +0 -2
  203. package/__mf/js/async/6149.19799c37.js +0 -7
  204. /package/__mf/js/async/{6149.19799c37.js.LICENSE.txt → 3652.6b591718.js.LICENSE.txt} +0 -0
  205. /package/__mf/js/async/{392.7cda691a.js.LICENSE.txt → 392.f1b4a590.js.LICENSE.txt} +0 -0
  206. /package/__mf/js/async/{3664.ba8b26b6.js.LICENSE.txt → 4657.f0c3ccd6.js.LICENSE.txt} +0 -0
  207. /package/__mf/js/async/{1490.7e5068f1.js.LICENSE.txt → 54.e6002704.js.LICENSE.txt} +0 -0
  208. /package/__mf/js/async/{5501.6166367c.js.LICENSE.txt → 9010.ca50fa9e.js.LICENSE.txt} +0 -0
@@ -1,2 +0,0 @@
1
- /*! For license information please see 5440.c13c3533.js.LICENSE.txt */
2
- "use strict";(self.chunk_Prometheus=self.chunk_Prometheus||[]).push([["5440"],{53299:function(e,t,r){r.r(t),r.d(t,{useFetchers:()=>r_,unstable_HistoryRouter:()=>rp,useLoaderData:()=>tP,ScrollRestoration:()=>rb,Route:()=>tz,MemoryRouter:()=>tN,useMatches:()=>tC,redirect:()=>Q,useOutletContext:()=>tl,createRoutesFromElements:()=>tq,useLinkClickHandler:()=>rR,useRouteError:()=>tk,generatePath:()=>M,replace:()=>ee,useHref:()=>e9,useParams:()=>tu,UNSAFE_ViewTransitionContext:()=>rn,useRoutes:()=>td,useSubmit:()=>rD,UNSAFE_NavigationContext:()=>e5,Navigate:()=>tB,UNSAFE_ErrorResponseImpl:()=>et,UNSAFE_FetchersContext:()=>ra,useAsyncError:()=>tA,createRoutesFromChildren:()=>tq,unstable_usePrompt:()=>rM,useFetcher:()=>rk,useBlocker:()=>tU,createHashRouter:()=>rt,UNSAFE_useRouteId:()=>tS,useMatch:()=>tn,useNavigation:()=>tR,HashRouter:()=>rf,useFormAction:()=>rL,useResolvedPath:()=>tc,defer:()=>G,Router:()=>tH,Routes:()=>tW,useActionData:()=>tL,useRouteLoaderData:()=>tD,Await:()=>t$,matchPath:()=>O,UNSAFE_DataRouterContext:()=>e7,BrowserRouter:()=>rh,NavigationType:()=>c,Form:()=>rw,UNSAFE_RouteContext:()=>e6,createSearchParams:()=>t4,RouterProvider:()=>rc,UNSAFE_LocationContext:()=>e3,parsePath:()=>P,Outlet:()=>tI,createMemoryRouter:()=>tQ,UNSAFE_useScrollRestoration:()=>rU,useNavigate:()=>to,matchRoutes:()=>_,createPath:()=>C,resolvePath:()=>B,useInRouterContext:()=>te,useOutlet:()=>ts,useAsyncValue:()=>t_,useViewTransitionState:()=>rO,Link:()=>ry,AbortedDeferredError:()=>q,renderMatches:()=>tX,NavLink:()=>rg,UNSAFE_DataRouterStateContext:()=>e4,json:()=>Y,useSearchParams:()=>rx,redirectDocument:()=>Z,useBeforeUnload:()=>rj,useLocation:()=>tt,createBrowserRouter:()=>re,isRouteErrorResponse:()=>er,useNavigationType:()=>tr,useRevalidator:()=>tx});var n,a,o,i,l,s,u,c,d,h,f,p=r(70451),m=r(20231);function v(){return(v=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}(n=c||(c={})).Pop="POP",n.Push="PUSH",n.Replace="REPLACE";let y="popstate";function g(e){let t;void 0===e&&(e={});let{initialEntries:r=["/"],initialIndex:n,v5Compat:a=!1}=e;t=r.map((e,t)=>u(e,"string"==typeof e?null:e.state,0===t?"default":void 0));let o=s(null==n?t.length-1:n),i=c.Pop,l=null;function s(e){return Math.min(Math.max(e,0),t.length-1)}function u(e,r,n){void 0===r&&(r=null);let a=x(t?t[o].pathname:"/",e,r,n);return S("/"===a.pathname.charAt(0),"relative pathnames are not supported in memory history: "+JSON.stringify(e)),a}function d(e){return"string"==typeof e?e:C(e)}return{get index(){return o},get action(){return i},get location(){return t[o]},createHref:d,createURL:e=>new URL(d(e),"http://localhost"),encodeLocation(e){let t="string"==typeof e?P(e):e;return{pathname:t.pathname||"",search:t.search||"",hash:t.hash||""}},push(e,r){i=c.Push;let n=u(e,r);o+=1,t.splice(o,t.length,n),a&&l&&l({action:i,location:n,delta:1})},replace(e,r){i=c.Replace;let n=u(e,r);t[o]=n,a&&l&&l({action:i,location:n,delta:0})},go(e){i=c.Pop;let r=s(o+e),n=t[r];o=r,l&&l({action:i,location:n,delta:e})},listen:e=>(l=e,()=>{l=null})}}function w(e){return void 0===e&&(e={}),D(function(e,t){let{pathname:r,search:n,hash:a}=e.location;return x("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){return"string"==typeof t?t:C(t)},null,e)}function b(e){return void 0===e&&(e={}),D(function(e,t){let{pathname:r="/",search:n="",hash:a=""}=P(e.location.hash.substr(1));return r.startsWith("/")||r.startsWith(".")||(r="/"+r),x("",{pathname:r,search:n,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")},function(e,t){let r=e.document.querySelector("base"),n="";if(r&&r.getAttribute("href")){let t=e.location.href,r=t.indexOf("#");n=-1===r?t:t.slice(0,r)}return n+"#"+("string"==typeof t?t:C(t))},function(e,t){S("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")},e)}function E(e,t){if(!1===e||null==e)throw Error(t)}function S(e,t){if(!e){"undefined"!=typeof console&&console.warn(t);try{throw Error(t)}catch(e){}}}function R(e,t){return{usr:e.state,key:e.key,idx:t}}function x(e,t,r,n){return void 0===r&&(r=null),v({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?P(t):t,{state:r,key:t&&t.key||n||Math.random().toString(36).substr(2,8)})}function C(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&"?"!==r&&(t+="?"===r.charAt(0)?r:"?"+r),n&&"#"!==n&&(t+="#"===n.charAt(0)?n:"#"+n),t}function P(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function D(e,t,r,n){void 0===n&&(n={});let{window:a=document.defaultView,v5Compat:o=!1}=n,i=a.history,l=c.Pop,s=null,u=d();function d(){return(i.state||{idx:null}).idx}function h(){l=c.Pop;let e=d(),t=null==e?null:e-u;u=e,s&&s({action:l,location:p.location,delta:t})}function f(e){let t="null"!==a.location.origin?a.location.origin:a.location.href,r="string"==typeof e?e:C(e);return E(t,"No window.location.(origin|href) available to create URL for href: "+(r=r.replace(/ $/,"%20"))),new URL(r,t)}null==u&&(u=0,i.replaceState(v({},i.state,{idx:u}),""));let p={get action(){return l},get location(){return e(a,i)},listen(e){if(s)throw Error("A history only accepts one active listener");return a.addEventListener(y,h),s=e,()=>{a.removeEventListener(y,h),s=null}},createHref:e=>t(a,e),createURL:f,encodeLocation(e){let t=f(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){l=c.Push;let n=x(p.location,e,t);r&&r(n,e);let h=R(n,u=d()+1),f=p.createHref(n);try{i.pushState(h,"",f)}catch(e){if(e instanceof DOMException&&"DataCloneError"===e.name)throw e;a.location.assign(f)}o&&s&&s({action:l,location:p.location,delta:1})},replace:function(e,t){l=c.Replace;let n=x(p.location,e,t);r&&r(n,e);let a=R(n,u=d()),h=p.createHref(n);i.replaceState(a,"",h),o&&s&&s({action:l,location:p.location,delta:0})},go:e=>i.go(e)};return p}(a=d||(d={})).data="data",a.deferred="deferred",a.redirect="redirect",a.error="error";let L=new Set(["lazy","caseSensitive","path","id","index","children"]);function k(e,t,r,n){return void 0===r&&(r=[]),void 0===n&&(n={}),e.map((e,a)=>{let o=[...r,String(a)],i="string"==typeof e.id?e.id:o.join("-");if(E(!0!==e.index||!e.children,"Cannot specify children on an index route"),E(!n[i],'Found a route id collision on id "'+i+"\". Route id's must be globally unique within Data Router usages"),!0===e.index){let r=v({},e,t(e),{id:i});return n[i]=r,r}{let r=v({},e,t(e),{id:i,children:void 0});return n[i]=r,e.children&&(r.children=k(e.children,t,o,n)),r}})}function _(e,t,r){return void 0===r&&(r="/"),A(e,t,r,!1)}function A(e,t,r,n){let a=N(("string"==typeof t?P(t):t).pathname||"/",r);if(null==a)return null;let o=function e(t,r,n,a){void 0===r&&(r=[]),void 0===n&&(n=[]),void 0===a&&(a="");let o=(t,o,i)=>{var l,s;let u,c,d={relativePath:void 0===i?t.path||"":i,caseSensitive:!0===t.caseSensitive,childrenIndex:o,route:t};d.relativePath.startsWith("/")&&(E(d.relativePath.startsWith(a),'Absolute route path "'+d.relativePath+'" nested under path "'+a+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),d.relativePath=d.relativePath.slice(a.length));let h=$([a,d.relativePath]),f=n.concat(d);t.children&&t.children.length>0&&(E(!0!==t.index,'Index routes must not have child routes. Please remove all child routes from route path "'+h+'".'),e(t.children,r,f,h)),(null!=t.path||t.index)&&r.push({path:h,score:(l=h,s=t.index,c=(u=l.split("/")).length,u.some(j)&&(c+=-2),s&&(c+=2),u.filter(e=>!j(e)).reduce((e,t)=>e+(U.test(t)?3:""===t?1:10),c)),routesMeta:f})};return t.forEach((e,t)=>{var r;if(""!==e.path&&null!=(r=e.path)&&r.includes("?"))for(let r of function e(t){let r=t.split("/");if(0===r.length)return[];let[n,...a]=r,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(0===a.length)return o?[i,""]:[i];let l=e(a.join("/")),s=[];return s.push(...l.map(e=>""===e?i:[i,e].join("/"))),o&&s.push(...l),s.map(e=>t.startsWith("/")&&""===e?"/":e)}(e.path))o(e,t,r);else o(e,t)}),r}(e);o.sort((e,t)=>{var r,n;return e.score!==t.score?t.score-e.score:(r=e.routesMeta.map(e=>e.childrenIndex),n=t.routesMeta.map(e=>e.childrenIndex),r.length===n.length&&r.slice(0,-1).every((e,t)=>e===n[t])?r[r.length-1]-n[n.length-1]:0)});let i=null;for(let e=0;null==i&&e<o.length;++e){let t=F(a);i=function(e,t,r){void 0===r&&(r=!1);let{routesMeta:n}=e,a={},o="/",i=[];for(let e=0;e<n.length;++e){let l=n[e],s=e===n.length-1,u="/"===o?t:t.slice(o.length)||"/",c=O({path:l.relativePath,caseSensitive:l.caseSensitive,end:s},u),d=l.route;if(!c&&s&&r&&!n[n.length-1].route.index&&(c=O({path:l.relativePath,caseSensitive:l.caseSensitive,end:!1},u)),!c)return null;Object.assign(a,c.params),i.push({params:a,pathname:$([o,c.pathname]),pathnameBase:V($([o,c.pathnameBase])),route:d}),"/"!==c.pathnameBase&&(o=$([o,c.pathnameBase]))}return i}(o[e],t,n)}return i}function T(e,t){let{route:r,pathname:n,params:a}=e;return{id:r.id,pathname:n,params:a,data:t[r.id],handle:r.handle}}let U=/^:[\w-]+$/,j=e=>"*"===e;function M(e,t){void 0===t&&(t={});let r=e;r.endsWith("*")&&"*"!==r&&!r.endsWith("/*")&&(S(!1,'Route path "'+r+'" will be treated as if it were "'+r.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+r.replace(/\*$/,"/*")+'".'),r=r.replace(/\*$/,"/*"));let n=r.startsWith("/")?"/":"",a=e=>null==e?"":"string"==typeof e?e:String(e);return n+r.split(/\/+/).map((e,r,n)=>{if(r===n.length-1&&"*"===e)return a(t["*"]);let o=e.match(/^:([\w-]+)(\??)$/);if(o){let[,e,r]=o,n=t[e];return E("?"===r||null!=n,'Missing ":'+e+'" param'),a(n)}return e.replace(/\?$/g,"")}).filter(e=>!!e).join("/")}function O(e,t){var r,n,a;let o,i;"string"==typeof e&&(e={path:e,caseSensitive:!1,end:!0});let[l,s]=(r=e.path,n=e.caseSensitive,a=e.end,void 0===n&&(n=!1),void 0===a&&(a=!0),S("*"===r||!r.endsWith("*")||r.endsWith("/*"),'Route path "'+r+'" will be treated as if it were "'+r.replace(/\*$/,"/*")+'" because the `*` character must always follow a `/` in the pattern. To get rid of this warning, please change the route path to "'+r.replace(/\*$/,"/*")+'".'),o=[],i="^"+r.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(e,t,r)=>(o.push({paramName:t,isOptional:null!=r}),r?"/?([^\\/]+)?":"/([^\\/]+)")),r.endsWith("*")?(o.push({paramName:"*"}),i+="*"===r||"/*"===r?"(.*)$":"(?:\\/(.+)|\\/*)$"):a?i+="\\/*$":""!==r&&"/"!==r&&(i+="(?:(?=\\/|$))"),[new RegExp(i,n?void 0:"i"),o]),u=t.match(l);if(!u)return null;let c=u[0],d=c.replace(/(.)\/+$/,"$1"),h=u.slice(1);return{params:s.reduce((e,t,r)=>{let{paramName:n,isOptional:a}=t;if("*"===n){let e=h[r]||"";d=c.slice(0,c.length-e.length).replace(/(.)\/+$/,"$1")}let o=h[r];return a&&!o?e[n]=void 0:e[n]=(o||"").replace(/%2F/g,"/"),e},{}),pathname:c,pathnameBase:d,pattern:e}}function F(e){try{return e.split("/").map(e=>decodeURIComponent(e).replace(/\//g,"%2F")).join("/")}catch(t){return S(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function N(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&"/"!==n?null:e.slice(r)||"/"}function B(e,t){var r;let n;void 0===t&&(t="/");let{pathname:a,search:o="",hash:i=""}="string"==typeof e?P(e):e;return{pathname:a?a.startsWith("/")?a:(r=a,n=t.replace(/\/+$/,"").split("/"),r.split("/").forEach(e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)}),n.length>1?n.join("/"):"/"):t,search:J(o),hash:K(i)}}function I(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field [")+JSON.stringify(n)+"]. Please separate it out to the `to."+r+'` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.'}function z(e){return e.filter((e,t)=>0===t||e.route.path&&e.route.path.length>0)}function H(e,t){let r=z(e);return t?r.map((e,t)=>t===r.length-1?e.pathname:e.pathnameBase):r.map(e=>e.pathnameBase)}function W(e,t,r,n){let a,o;void 0===n&&(n=!1),"string"==typeof e?a=P(e):(E(!(a=v({},e)).pathname||!a.pathname.includes("?"),I("?","pathname","search",a)),E(!a.pathname||!a.pathname.includes("#"),I("#","pathname","hash",a)),E(!a.search||!a.search.includes("#"),I("#","search","hash",a)));let i=""===e||""===a.pathname,l=i?"/":a.pathname;if(null==l)o=r;else{let e=t.length-1;if(!n&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}o=e>=0?t[e]:"/"}let s=B(a,o),u=l&&"/"!==l&&l.endsWith("/"),c=(i||"."===l)&&r.endsWith("/");return!s.pathname.endsWith("/")&&(u||c)&&(s.pathname+="/"),s}let $=e=>e.join("/").replace(/\/\/+/g,"/"),V=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),J=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",K=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"",Y=function(e,t){void 0===t&&(t={});let r="number"==typeof t?{status:t}:t,n=new Headers(r.headers);return n.has("Content-Type")||n.set("Content-Type","application/json; charset=utf-8"),new Response(JSON.stringify(e),v({},r,{headers:n}))};class q extends Error{}class X{constructor(e,t){let r;this.pendingKeysSet=new Set,this.subscribers=new Set,this.deferredKeys=[],E(e&&"object"==typeof e&&!Array.isArray(e),"defer() only accepts plain objects"),this.abortPromise=new Promise((e,t)=>r=t),this.controller=new AbortController;let n=()=>r(new q("Deferred data aborted"));this.unlistenAbortSignal=()=>this.controller.signal.removeEventListener("abort",n),this.controller.signal.addEventListener("abort",n),this.data=Object.entries(e).reduce((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:this.trackPromise(r,n)})},{}),this.done&&this.unlistenAbortSignal(),this.init=t}trackPromise(e,t){if(!(t instanceof Promise))return t;this.deferredKeys.push(e),this.pendingKeysSet.add(e);let r=Promise.race([t,this.abortPromise]).then(t=>this.onSettle(r,e,void 0,t),t=>this.onSettle(r,e,t));return r.catch(()=>{}),Object.defineProperty(r,"_tracked",{get:()=>!0}),r}onSettle(e,t,r,n){if(this.controller.signal.aborted&&r instanceof q)return this.unlistenAbortSignal(),Object.defineProperty(e,"_error",{get:()=>r}),Promise.reject(r);if(this.pendingKeysSet.delete(t),this.done&&this.unlistenAbortSignal(),void 0===r&&void 0===n){let r=Error('Deferred data for key "'+t+'" resolved/rejected with `undefined`, you must resolve/reject with a value or `null`.');return Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)}return void 0===n?(Object.defineProperty(e,"_error",{get:()=>r}),this.emit(!1,t),Promise.reject(r)):(Object.defineProperty(e,"_data",{get:()=>n}),this.emit(!1,t),n)}emit(e,t){this.subscribers.forEach(r=>r(e,t))}subscribe(e){return this.subscribers.add(e),()=>this.subscribers.delete(e)}cancel(){this.controller.abort(),this.pendingKeysSet.forEach((e,t)=>this.pendingKeysSet.delete(t)),this.emit(!0)}async resolveData(e){let t=!1;if(!this.done){let r=()=>this.cancel();e.addEventListener("abort",r),t=await new Promise(t=>{this.subscribe(n=>{e.removeEventListener("abort",r),(n||this.done)&&t(n)})})}return t}get done(){return 0===this.pendingKeysSet.size}get unwrappedData(){return E(null!==this.data&&this.done,"Can only unwrap data on initialized and settled deferreds"),Object.entries(this.data).reduce((e,t)=>{let[r,n]=t;return Object.assign(e,{[r]:function(e){if(!(e instanceof Promise&&!0===e._tracked))return e;if(e._error)throw e._error;return e._data}(n)})},{})}get pendingKeys(){return Array.from(this.pendingKeysSet)}}let G=function(e,t){return void 0===t&&(t={}),new X(e,"number"==typeof t?{status:t}:t)},Q=function(e,t){void 0===t&&(t=302);let r=t;"number"==typeof r?r={status:r}:void 0===r.status&&(r.status=302);let n=new Headers(r.headers);return n.set("Location",e),new Response(null,v({},r,{headers:n}))},Z=(e,t)=>{let r=Q(e,t);return r.headers.set("X-Remix-Reload-Document","true"),r},ee=(e,t)=>{let r=Q(e,t);return r.headers.set("X-Remix-Replace","true"),r};class et{constructor(e,t,r,n){void 0===n&&(n=!1),this.status=e,this.statusText=t||"",this.internal=n,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function er(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"boolean"==typeof e.internal&&"data"in e}let en=["post","put","patch","delete"],ea=new Set(en),eo=new Set(["get",...en]),ei=new Set([301,302,303,307,308]),el=new Set([307,308]),es={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},eu={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},ec={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},ed=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,eh=e=>({hasErrorBoundary:!!e.hasErrorBoundary}),ef="remix-router-transitions";function ep(e){let t,r,n,a,o,i,l=e.window?e.window:"undefined"!=typeof window?window:void 0,s=void 0!==l&&void 0!==l.document&&void 0!==l.document.createElement,u=!s;if(E(e.routes.length>0,"You must provide a non-empty routes array to createRouter"),e.mapRouteProperties)t=e.mapRouteProperties;else if(e.detectErrorBoundary){let r=e.detectErrorBoundary;t=e=>({hasErrorBoundary:r(e)})}else t=eh;let h={},f=k(e.routes,t,void 0,h),p=e.basename||"/",m=e.dataStrategy||ex,y=e.patchRoutesOnNavigation,g=v({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_partialHydration:!1,v7_prependBasename:!1,v7_relativeSplatPath:!1,v7_skipActionErrorRevalidation:!1},e.future),w=null,b=new Set,R=null,C=null,P=null,D=null!=e.hydrationData,L=_(f,e.history.location,p),U=!1,j=null;if(null==L&&!y){let t=eF(404,{pathname:e.history.location.pathname}),{matches:r,route:n}=eO(f);L=r,j={[n.id]:t}}if(L&&!e.hydrationData&&to(L,f,e.history.location.pathname).active&&(L=null),L)if(L.some(e=>e.route.lazy))n=!1;else if(L.some(e=>e.route.loader))if(g.v7_partialHydration){let t=e.hydrationData?e.hydrationData.loaderData:null,r=e.hydrationData?e.hydrationData.errors:null;if(r){let e=L.findIndex(e=>void 0!==r[e.route.id]);n=L.slice(0,e+1).every(e=>!ew(e.route,t,r))}else n=L.every(e=>!ew(e.route,t,r))}else n=null!=e.hydrationData;else n=!0;else if(n=!1,L=[],g.v7_partialHydration){let t=to(null,f,e.history.location.pathname);t.active&&t.matches&&(U=!0,L=t.matches)}let M={historyAction:e.history.action,location:e.history.location,matches:L,initialized:n,navigation:es,restoreScrollPosition:null==e.hydrationData&&null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||j,fetchers:new Map,blockers:new Map},O=c.Pop,F=!1,B=!1,I=new Map,z=null,H=!1,W=!1,$=[],V=new Set,J=new Map,K=0,Y=-1,q=new Map,X=new Set,G=new Map,Q=new Map,Z=new Set,ee=new Map,et=new Map;function en(e,t){void 0===t&&(t={}),M=v({},M,e);let r=[],n=[];g.v7_fetcherPersist&&M.fetchers.forEach((e,t)=>{"idle"===e.state&&(Z.has(t)?n.push(t):r.push(t))}),Z.forEach(e=>{M.fetchers.has(e)||J.has(e)||n.push(e)}),[...b].forEach(e=>e(M,{deletedFetchers:n,viewTransitionOpts:t.viewTransitionOpts,flushSync:!0===t.flushSync})),g.v7_fetcherPersist?(r.forEach(e=>M.fetchers.delete(e)),n.forEach(e=>e4(e))):n.forEach(e=>Z.delete(e))}function ea(t,n,a){var o,i;let l,s,{flushSync:u}=void 0===a?{}:a,d=null!=M.actionData&&null!=M.navigation.formMethod&&eV(M.navigation.formMethod)&&"loading"===M.navigation.state&&(null==(o=t.state)?void 0:o._isRedirect)!==!0;l=n.actionData?Object.keys(n.actionData).length>0?n.actionData:null:d?M.actionData:null;let h=n.loaderData?eU(M.loaderData,n.loaderData,n.matches||[],n.errors):M.loaderData,p=M.blockers;p.size>0&&(p=new Map(p)).forEach((e,t)=>p.set(t,ec));let m=!0===F||null!=M.navigation.formMethod&&eV(M.navigation.formMethod)&&(null==(i=t.state)?void 0:i._isRedirect)!==!0;if(r&&(f=r,r=void 0),H||O===c.Pop||(O===c.Push?e.history.push(t,t.state):O===c.Replace&&e.history.replace(t,t.state)),O===c.Pop){let e=I.get(M.location.pathname);e&&e.has(t.pathname)?s={currentLocation:M.location,nextLocation:t}:I.has(t.pathname)&&(s={currentLocation:t,nextLocation:M.location})}else if(B){let e=I.get(M.location.pathname);e?e.add(t.pathname):(e=new Set([t.pathname]),I.set(M.location.pathname,e)),s={currentLocation:M.location,nextLocation:t}}en(v({},n,{actionData:l,loaderData:h,historyAction:O,location:t,initialized:!0,navigation:es,revalidation:"idle",restoreScrollPosition:ta(t,n.matches||M.matches),preventScrollReset:m,blockers:p}),{viewTransitionOpts:s,flushSync:!0===u}),O=c.Pop,F=!1,B=!1,H=!1,W=!1,$=[]}async function eo(t,r){if("number"==typeof t)return void e.history.go(t);let n=em(M.location,M.matches,p,g.v7_prependBasename,t,g.v7_relativeSplatPath,null==r?void 0:r.fromRouteId,null==r?void 0:r.relative),{path:a,submission:o,error:i}=ev(g.v7_normalizeFormMethod,!1,n,r),l=M.location,s=x(M.location,a,r&&r.state);s=v({},s,e.history.encodeLocation(s));let u=r&&null!=r.replace?r.replace:void 0,d=c.Push;!0===u?d=c.Replace:!1===u||null!=o&&eV(o.formMethod)&&o.formAction===M.location.pathname+M.location.search&&(d=c.Replace);let h=r&&"preventScrollReset"in r?!0===r.preventScrollReset:void 0,f=!0===(r&&r.flushSync),m=te({currentLocation:l,nextLocation:s,historyAction:d});return m?void e9(m,{state:"blocked",location:s,proceed(){e9(m,{state:"proceeding",proceed:void 0,reset:void 0,location:s}),eo(t,r)},reset(){let e=new Map(M.blockers);e.set(m,ec),en({blockers:e})}}):await ep(d,s,{submission:o,pendingError:i,preventScrollReset:h,replace:r&&r.replace,enableViewTransition:r&&r.viewTransition,flushSync:f})}async function ep(t,n,a){var i,l,s,u;let c;o&&o.abort(),o=null,O=t,H=!0===(a&&a.startUninterruptedRevalidation),i=M.location,l=M.matches,R&&P&&(R[tn(i,l)]=P()),F=!0===(a&&a.preventScrollReset),B=!0===(a&&a.enableViewTransition);let h=r||f,m=a&&a.overrideNavigation,y=null!=a&&a.initialHydration&&M.matches&&M.matches.length>0&&!U?M.matches:_(h,n,p),g=!0===(a&&a.flushSync);if(y&&M.initialized&&!W&&(s=M.location,u=n,s.pathname===u.pathname&&s.search===u.search&&(""===s.hash?""!==u.hash:s.hash===u.hash||""!==u.hash||!1))&&!(a&&a.submission&&eV(a.submission.formMethod)))return void ea(n,{matches:y},{flushSync:g});let w=to(y,h,n.pathname);if(w.active&&w.matches&&(y=w.matches),!y){let{error:e,notFoundMatches:t,route:r}=tt(n.pathname);ea(n,{matches:t,loaderData:{},errors:{[r.id]:e}},{flushSync:g});return}o=new AbortController;let b=ek(e.history,n,o.signal,a&&a.submission);if(a&&a.pendingError)c=[eM(y).route.id,{type:d.error,error:a.pendingError}];else if(a&&a.submission&&eV(a.submission.formMethod)){let t=await ey(b,n,a.submission,y,w.active,{replace:a.replace,flushSync:g});if(t.shortCircuited)return;if(t.pendingActionResult){let[e,r]=t.pendingActionResult;if(ez(r)&&er(r.error)&&404===r.error.status){o=null,ea(n,{matches:t.matches,loaderData:{},errors:{[e]:r.error}});return}}y=t.matches||y,c=t.pendingActionResult,m=eQ(n,a.submission),g=!1,w.active=!1,b=ek(e.history,b.url,b.signal)}let{shortCircuited:E,matches:S,loaderData:x,errors:C}=await eb(b,n,y,w.active,m,a&&a.submission,a&&a.fetcherSubmission,a&&a.replace,a&&!0===a.initialHydration,g,c);E||(o=null,ea(n,v({matches:S||y},ej(c),{loaderData:x,errors:C})))}async function ey(e,t,r,n,a,o){var i;let l;if(void 0===o&&(o={}),eW(),en({navigation:{state:"submitting",location:t,formMethod:(i=r).formMethod,formAction:i.formAction,formEncType:i.formEncType,formData:i.formData,json:i.json,text:i.text}},{flushSync:!0===o.flushSync}),a){let r=await ti(n,t.pathname,e.signal);if("aborted"===r.type)return{shortCircuited:!0};if("error"===r.type){let e=eM(r.partialMatches).route.id;return{matches:r.partialMatches,pendingActionResult:[e,{type:d.error,error:r.error}]}}if(r.matches)n=r.matches;else{let{notFoundMatches:e,error:r,route:n}=tt(t.pathname);return{matches:e,pendingActionResult:[n.id,{type:d.error,error:r}]}}}let s=eX(n,t);if(s.route.action||s.route.lazy){if(l=(await eA("action",M,e,[s],n,null))[s.route.id],e.signal.aborted)return{shortCircuited:!0}}else l={type:d.error,error:eF(405,{method:e.method,pathname:t.pathname,routeId:s.route.id})};if(eH(l)){let t;return t=o&&null!=o.replace?o.replace:eL(l.response.headers.get("Location"),new URL(e.url),p)===M.location.pathname+M.location.search,await e_(e,l,!0,{submission:r,replace:t}),{shortCircuited:!0}}if(eI(l))throw eF(400,{type:"defer-action"});if(ez(l)){let e=eM(n,s.route.id);return!0!==(o&&o.replace)&&(O=c.Push),{matches:n,pendingActionResult:[e.route.id,l]}}return{matches:n,pendingActionResult:[s.route.id,l]}}async function eb(t,n,a,i,l,s,u,c,d,h,m){let y=l||eQ(n,s),w=s||u||eG(y),b=!H&&(!g.v7_partialHydration||!d);if(i){if(b){let e=eE(m);en(v({navigation:y},void 0!==e?{actionData:e}:{}),{flushSync:h})}let e=await ti(a,n.pathname,t.signal);if("aborted"===e.type)return{shortCircuited:!0};if("error"===e.type){let t=eM(e.partialMatches).route.id;return{matches:e.partialMatches,loaderData:{},errors:{[t]:e.error}}}if(e.matches)a=e.matches;else{let{error:e,notFoundMatches:t,route:r}=tt(n.pathname);return{matches:t,loaderData:{},errors:{[r.id]:e}}}}let E=r||f,[S,R]=eg(e.history,M,a,w,n,g.v7_partialHydration&&!0===d,g.v7_skipActionErrorRevalidation,W,$,V,Z,G,X,E,p,m);if(tr(e=>!(a&&a.some(t=>t.route.id===e))||S&&S.some(t=>t.route.id===e)),Y=++K,0===S.length&&0===R.length){let e=e3();return ea(n,v({matches:a,loaderData:{},errors:m&&ez(m[1])?{[m[0]]:m[1].error}:null},ej(m),e?{fetchers:new Map(M.fetchers)}:{}),{flushSync:h}),{shortCircuited:!0}}if(b){let e={};if(!i){e.navigation=y;let t=eE(m);void 0!==t&&(e.actionData=t)}R.length>0&&(R.forEach(e=>{let t=M.fetchers.get(e.key),r=eZ(void 0,t?t.data:void 0);M.fetchers.set(e.key,r)}),e.fetchers=new Map(M.fetchers)),en(e,{flushSync:h})}R.forEach(e=>{e2(e.key),e.controller&&J.set(e.key,e.controller)});let x=()=>R.forEach(e=>e2(e.key));o&&o.signal.addEventListener("abort",x);let{loaderResults:C,fetcherResults:P}=await eB(M,a,S,R,t);if(t.signal.aborted)return{shortCircuited:!0};o&&o.signal.removeEventListener("abort",x),R.forEach(e=>J.delete(e.key));let D=eN(C);if(D)return await e_(t,D.result,!0,{replace:c}),{shortCircuited:!0};if(D=eN(P))return X.add(D.key),await e_(t,D.result,!0,{replace:c}),{shortCircuited:!0};let{loaderData:L,errors:k}=eT(M,a,C,m,R,P,ee);ee.forEach((e,t)=>{e.subscribe(r=>{(r||e.done)&&ee.delete(t)})}),g.v7_partialHydration&&d&&M.errors&&(k=v({},M.errors,k));let _=e3(),A=e6(Y),T=_||A||R.length>0;return v({matches:a,loaderData:L,errors:k},T?{fetchers:new Map(M.fetchers)}:{})}function eE(e){if(e&&!ez(e[1]))return{[e[0]]:e[1].data};if(M.actionData)if(0===Object.keys(M.actionData).length)return null;else return M.actionData}async function eR(t,n,a,i,l,s,u,c,d){var h,m;function v(e){if(!e.route.action&&!e.route.lazy){let e=eF(405,{method:d.formMethod,pathname:a,routeId:n});return e1(t,n,e,{flushSync:u}),!0}return!1}if(eW(),G.delete(t),!s&&v(i))return;let y=M.fetchers.get(t);eq(t,(h=d,m=y,{state:"submitting",formMethod:h.formMethod,formAction:h.formAction,formEncType:h.formEncType,formData:h.formData,json:h.json,text:h.text,data:m?m.data:void 0}),{flushSync:u});let w=new AbortController,b=ek(e.history,a,w.signal,d);if(s){let e=await ti(l,new URL(b.url).pathname,b.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void e1(t,n,e.error,{flushSync:u});if(!e.matches)return void e1(t,n,eF(404,{pathname:a}),{flushSync:u});if(v(i=eX(l=e.matches,a)))return}J.set(t,w);let S=K,R=(await eA("action",M,b,[i],l,t))[i.route.id];if(b.signal.aborted){J.get(t)===w&&J.delete(t);return}if(g.v7_fetcherPersist&&Z.has(t)){if(eH(R)||ez(R))return void eq(t,e0(void 0))}else{if(eH(R))return(J.delete(t),Y>S)?void eq(t,e0(void 0)):(X.add(t),eq(t,eZ(d)),e_(b,R,!1,{fetcherSubmission:d,preventScrollReset:c}));if(ez(R))return void e1(t,n,R.error)}if(eI(R))throw eF(400,{type:"defer-action"});let x=M.navigation.location||M.location,C=ek(e.history,x,w.signal),P=r||f,D="idle"!==M.navigation.state?_(P,M.navigation.location,p):M.matches;E(D,"Didn't find any matches after fetcher action");let L=++K;q.set(t,L);let k=eZ(d,R.data);M.fetchers.set(t,k);let[A,T]=eg(e.history,M,D,d,x,!1,g.v7_skipActionErrorRevalidation,W,$,V,Z,G,X,P,p,[i.route.id,R]);T.filter(e=>e.key!==t).forEach(e=>{let t=e.key,r=M.fetchers.get(t),n=eZ(void 0,r?r.data:void 0);M.fetchers.set(t,n),e2(t),e.controller&&J.set(t,e.controller)}),en({fetchers:new Map(M.fetchers)});let U=()=>T.forEach(e=>e2(e.key));w.signal.addEventListener("abort",U);let{loaderResults:j,fetcherResults:F}=await eB(M,D,A,T,C);if(w.signal.aborted)return;w.signal.removeEventListener("abort",U),q.delete(t),J.delete(t),T.forEach(e=>J.delete(e.key));let N=eN(j);if(N)return e_(C,N.result,!1,{preventScrollReset:c});if(N=eN(F))return X.add(N.key),e_(C,N.result,!1,{preventScrollReset:c});let{loaderData:B,errors:I}=eT(M,D,j,void 0,T,F,ee);if(M.fetchers.has(t)){let e=e0(R.data);M.fetchers.set(t,e)}e6(L),"loading"===M.navigation.state&&L>Y?(E(O,"Expected pending action"),o&&o.abort(),ea(M.navigation.location,{matches:D,loaderData:B,errors:I,fetchers:new Map(M.fetchers)})):(en({errors:I,loaderData:eU(M.loaderData,B,D,I),fetchers:new Map(M.fetchers)}),W=!1)}async function eP(t,r,n,a,o,i,l,s,u){let c=M.fetchers.get(t);eq(t,eZ(u,c?c.data:void 0),{flushSync:l});let d=new AbortController,h=ek(e.history,n,d.signal);if(i){let e=await ti(o,new URL(h.url).pathname,h.signal,t);if("aborted"===e.type)return;if("error"===e.type)return void e1(t,r,e.error,{flushSync:l});if(!e.matches)return void e1(t,r,eF(404,{pathname:n}),{flushSync:l});a=eX(o=e.matches,n)}J.set(t,d);let f=K,p=(await eA("loader",M,h,[a],o,t))[a.route.id];if(eI(p)&&(p=await eY(p,h.signal,!0)||p),J.get(t)===d&&J.delete(t),!h.signal.aborted){if(Z.has(t))return void eq(t,e0(void 0));if(eH(p))if(Y>f)return void eq(t,e0(void 0));else{X.add(t),await e_(h,p,!1,{preventScrollReset:s});return}if(ez(p))return void e1(t,r,p.error);E(!eI(p),"Unhandled fetcher deferred data"),eq(t,e0(p.data))}}async function e_(t,r,n,a){let{submission:i,fetcherSubmission:u,preventScrollReset:d,replace:h}=void 0===a?{}:a;r.response.headers.has("X-Remix-Revalidate")&&(W=!0);let f=r.response.headers.get("Location");E(f,"Expected a Location header on the redirect Response"),f=eL(f,new URL(t.url),p);let m=x(M.location,f,{_isRedirect:!0});if(s){let t=!1;if(r.response.headers.has("X-Remix-Reload-Document"))t=!0;else if(ed.test(f)){let r=e.history.createURL(f);t=r.origin!==l.location.origin||null==N(r.pathname,p)}if(t)return void(h?l.location.replace(f):l.location.assign(f))}o=null;let y=!0===h||r.response.headers.has("X-Remix-Replace")?c.Replace:c.Push,{formMethod:g,formAction:w,formEncType:b}=M.navigation;!i&&!u&&g&&w&&b&&(i=eG(M.navigation));let S=i||u;if(el.has(r.response.status)&&S&&eV(S.formMethod))await ep(y,m,{submission:v({},S,{formAction:f}),preventScrollReset:d||F,enableViewTransition:n?B:void 0});else{let e=eQ(m,i);await ep(y,m,{overrideNavigation:e,fetcherSubmission:u,preventScrollReset:d||F,enableViewTransition:n?B:void 0})}}async function eA(e,r,n,a,o,i){let l,s={};try{l=await eC(m,e,r,n,a,o,i,h,t)}catch(e){return a.forEach(t=>{s[t.route.id]={type:d.error,error:e}}),s}for(let[e,t]of Object.entries(l)){var u;if(e$((u=t).result)&&ei.has(u.result.status)){let r=t.result;s[e]={type:d.redirect,response:function(e,t,r,n,a,o){let i=e.headers.get("Location");if(E(i,"Redirects returned/thrown from loaders/actions must have a Location header"),!ed.test(i)){let l=n.slice(0,n.findIndex(e=>e.route.id===r)+1);i=em(new URL(t.url),l,a,!0,i,o),e.headers.set("Location",i)}return e}(r,n,e,o,p,g.v7_relativeSplatPath)}}else s[e]=await eD(t)}return s}async function eB(t,r,n,a,o){let i=t.matches,l=eA("loader",t,o,n,r,null),s=Promise.all(a.map(async r=>{if(!r.matches||!r.match||!r.controller)return Promise.resolve({[r.key]:{type:d.error,error:eF(404,{pathname:r.path})}});{let n=(await eA("loader",t,ek(e.history,r.path,r.controller.signal),[r.match],r.matches,r.key))[r.match.route.id];return{[r.key]:n}}})),u=await l,c=(await s).reduce((e,t)=>Object.assign(e,t),{});return await Promise.all([eJ(r,u,o.signal,i,t.loaderData),eK(r,c,a)]),{loaderResults:u,fetcherResults:c}}function eW(){W=!0,$.push(...tr()),G.forEach((e,t)=>{J.has(t)&&V.add(t),e2(t)})}function eq(e,t,r){void 0===r&&(r={}),M.fetchers.set(e,t),en({fetchers:new Map(M.fetchers)},{flushSync:!0===(r&&r.flushSync)})}function e1(e,t,r,n){void 0===n&&(n={});let a=eM(M.matches,t);e4(e),en({errors:{[a.route.id]:r},fetchers:new Map(M.fetchers)},{flushSync:!0===(n&&n.flushSync)})}function e7(e){return Q.set(e,(Q.get(e)||0)+1),Z.has(e)&&Z.delete(e),M.fetchers.get(e)||eu}function e4(e){let t=M.fetchers.get(e);J.has(e)&&!(t&&"loading"===t.state&&q.has(e))&&e2(e),G.delete(e),q.delete(e),X.delete(e),g.v7_fetcherPersist&&Z.delete(e),V.delete(e),M.fetchers.delete(e)}function e2(e){let t=J.get(e);t&&(t.abort(),J.delete(e))}function e5(e){for(let t of e){let e=e0(e7(t).data);M.fetchers.set(t,e)}}function e3(){let e=[],t=!1;for(let r of X){let n=M.fetchers.get(r);E(n,"Expected fetcher: "+r),"loading"===n.state&&(X.delete(r),e.push(r),t=!0)}return e5(e),t}function e6(e){let t=[];for(let[r,n]of q)if(n<e){let e=M.fetchers.get(r);E(e,"Expected fetcher: "+r),"loading"===e.state&&(e2(r),q.delete(r),t.push(r))}return e5(t),t.length>0}function e8(e){M.blockers.delete(e),et.delete(e)}function e9(e,t){let r=M.blockers.get(e)||ec;E("unblocked"===r.state&&"blocked"===t.state||"blocked"===r.state&&"blocked"===t.state||"blocked"===r.state&&"proceeding"===t.state||"blocked"===r.state&&"unblocked"===t.state||"proceeding"===r.state&&"unblocked"===t.state,"Invalid blocker state transition: "+r.state+" -> "+t.state);let n=new Map(M.blockers);n.set(e,t),en({blockers:n})}function te(e){let{currentLocation:t,nextLocation:r,historyAction:n}=e;if(0===et.size)return;et.size>1&&S(!1,"A router only supports one blocker at a time");let a=Array.from(et.entries()),[o,i]=a[a.length-1],l=M.blockers.get(o);if((!l||"proceeding"!==l.state)&&i({currentLocation:t,nextLocation:r,historyAction:n}))return o}function tt(e){let t=eF(404,{pathname:e}),{matches:n,route:a}=eO(r||f);return tr(),{notFoundMatches:n,route:a,error:t}}function tr(e){let t=[];return ee.forEach((r,n)=>{(!e||e(n))&&(r.cancel(),t.push(n),ee.delete(n))}),t}function tn(e,t){return C&&C(e,t.map(e=>T(e,M.loaderData)))||e.key}function ta(e,t){if(R){let r=R[tn(e,t)];if("number"==typeof r)return r}return null}function to(e,t,r){if(y){if(!e)return{active:!0,matches:A(t,r,p,!0)||[]};else if(Object.keys(e[0].params).length>0)return{active:!0,matches:A(t,r,p,!0)}}return{active:!1,matches:null}}async function ti(e,n,a,o){if(!y)return{type:"success",matches:e};let i=e;for(;;){let e=null==r,l=r||f,s=h;try{await y({signal:a,path:n,matches:i,fetcherKey:o,patch:(e,r)=>{a.aborted||eS(e,r,l,s,t)}})}catch(e){return{type:"error",error:e,partialMatches:i}}finally{e&&!a.aborted&&(f=[...f])}if(a.aborted)return{type:"aborted"};let u=_(l,n,p);if(u)return{type:"success",matches:u};let c=A(l,n,p,!0);if(!c||i.length===c.length&&i.every((e,t)=>e.route.id===c[t].route.id))return{type:"success",matches:null};i=c}}return a={get basename(){return p},get future(){return g},get state(){return M},get routes(){return f},get window(){return l},initialize:function(){if(w=e.history.listen(t=>{let{action:r,location:n,delta:a}=t;if(i){i(),i=void 0;return}S(0===et.size||null!=a,"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.");let o=te({currentLocation:M.location,nextLocation:n,historyAction:r});if(o&&null!=a){let t=new Promise(e=>{i=e});e.history.go(-1*a),e9(o,{state:"blocked",location:n,proceed(){e9(o,{state:"proceeding",proceed:void 0,reset:void 0,location:n}),t.then(()=>e.history.go(a))},reset(){let e=new Map(M.blockers);e.set(o,ec),en({blockers:e})}});return}return ep(r,n)}),s){var t=l,r=I;try{let e=t.sessionStorage.getItem(ef);if(e){let t=JSON.parse(e);for(let[e,n]of Object.entries(t||{}))n&&Array.isArray(n)&&r.set(e,new Set(n||[]))}}catch(e){}let e=()=>(function(e,t){if(t.size>0){let r={};for(let[e,n]of t)r[e]=[...n];try{e.sessionStorage.setItem(ef,JSON.stringify(r))}catch(e){S(!1,"Failed to save applied view transitions in sessionStorage ("+e+").")}}})(l,I);l.addEventListener("pagehide",e),z=()=>l.removeEventListener("pagehide",e)}return M.initialized||ep(c.Pop,M.location,{initialHydration:!0}),a},subscribe:function(e){return b.add(e),()=>b.delete(e)},enableScrollRestoration:function(e,t,r){if(R=e,P=t,C=r||null,!D&&M.navigation===es){D=!0;let e=ta(M.location,M.matches);null!=e&&en({restoreScrollPosition:e})}return()=>{R=null,P=null,C=null}},navigate:eo,fetch:function(e,t,n,a){if(u)throw Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");e2(e);let o=!0===(a&&a.flushSync),i=r||f,l=em(M.location,M.matches,p,g.v7_prependBasename,n,g.v7_relativeSplatPath,t,null==a?void 0:a.relative),s=_(i,l,p),c=to(s,i,l);if(c.active&&c.matches&&(s=c.matches),!s)return void e1(e,t,eF(404,{pathname:l}),{flushSync:o});let{path:d,submission:h,error:m}=ev(g.v7_normalizeFormMethod,!0,l,a);if(m)return void e1(e,t,m,{flushSync:o});let v=eX(s,d),y=!0===(a&&a.preventScrollReset);h&&eV(h.formMethod)?eR(e,t,d,v,s,c.active,o,y,h):(G.set(e,{routeId:t,path:d}),eP(e,t,d,v,s,c.active,o,y,h))},revalidate:function(){if(eW(),en({revalidation:"loading"}),"submitting"!==M.navigation.state){if("idle"===M.navigation.state)return void ep(M.historyAction,M.location,{startUninterruptedRevalidation:!0});ep(O||M.historyAction,M.navigation.location,{overrideNavigation:M.navigation,enableViewTransition:!0===B})}},createHref:t=>e.history.createHref(t),encodeLocation:t=>e.history.encodeLocation(t),getFetcher:e7,deleteFetcher:function(e){let t=(Q.get(e)||0)-1;t<=0?(Q.delete(e),Z.add(e),g.v7_fetcherPersist||e4(e)):Q.set(e,t),en({fetchers:new Map(M.fetchers)})},dispose:function(){w&&w(),z&&z(),b.clear(),o&&o.abort(),M.fetchers.forEach((e,t)=>e4(t)),M.blockers.forEach((e,t)=>e8(t))},getBlocker:function(e,t){let r=M.blockers.get(e)||ec;return et.get(e)!==t&&et.set(e,t),r},deleteBlocker:e8,patchRoutes:function(e,n){let a=null==r;eS(e,n,r||f,h,t),a&&(f=[...f],en({}))},_internalFetchControllers:J,_internalActiveDeferreds:ee,_internalSetRoutes:function(e){r=k(e,t,void 0,h={})}}}function em(e,t,r,n,a,o,i,l){let s,u;if(i){for(let e of(s=[],t))if(s.push(e),e.route.id===i){u=e;break}}else s=t,u=t[t.length-1];let c=W(a||".",H(s,o),N(e.pathname,r)||e.pathname,"path"===l);if(null==a&&(c.search=e.search,c.hash=e.hash),(null==a||""===a||"."===a)&&u){let e=eq(c.search);if(u.route.index&&!e)c.search=c.search?c.search.replace(/^\?/,"?index&"):"?index";else if(!u.route.index&&e){let e=new URLSearchParams(c.search),t=e.getAll("index");e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let r=e.toString();c.search=r?"?"+r:""}}return n&&"/"!==r&&(c.pathname="/"===c.pathname?r:$([r,c.pathname])),C(c)}function ev(e,t,r,n){var a;let o,i;if(!n||!(null!=n&&("formData"in n&&null!=n.formData||"body"in n&&void 0!==n.body)))return{path:r};if(n.formMethod&&(a=n.formMethod,!eo.has(a.toLowerCase())))return{path:r,error:eF(405,{method:n.formMethod})};let l=()=>({path:r,error:eF(400,{type:"invalid-body"})}),s=n.formMethod||"get",u=e?s.toUpperCase():s.toLowerCase(),c=eB(r);if(void 0!==n.body){if("text/plain"===n.formEncType){if(!eV(u))return l();let e="string"==typeof n.body?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((e,t)=>{let[r,n]=t;return""+e+r+"="+n+"\n"},""):String(n.body);return{path:r,submission:{formMethod:u,formAction:c,formEncType:n.formEncType,formData:void 0,json:void 0,text:e}}}else if("application/json"===n.formEncType){if(!eV(u))return l();try{let e="string"==typeof n.body?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:u,formAction:c,formEncType:n.formEncType,formData:void 0,json:e,text:void 0}}}catch(e){return l()}}}if(E("function"==typeof FormData,"FormData is not available in this environment"),n.formData)o=e_(n.formData),i=n.formData;else if(n.body instanceof FormData)o=e_(n.body),i=n.body;else if(n.body instanceof URLSearchParams)i=eA(o=n.body);else if(null==n.body)o=new URLSearchParams,i=new FormData;else try{o=new URLSearchParams(n.body),i=eA(o)}catch(e){return l()}let d={formMethod:u,formAction:c,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:i,json:void 0,text:void 0};if(eV(d.formMethod))return{path:r,submission:d};let h=P(r);return t&&h.search&&eq(h.search)&&o.append("index",""),h.search="?"+o,{path:C(h),submission:d}}function ey(e,t,r){void 0===r&&(r=!1);let n=e.findIndex(e=>e.route.id===t);return n>=0?e.slice(0,r?n+1:n):e}function eg(e,t,r,n,a,o,i,l,s,u,c,d,h,f,p,m){let y=m?ez(m[1])?m[1].error:m[1].data:void 0,g=e.createURL(t.location),w=e.createURL(a),b=r;o&&t.errors?b=ey(r,Object.keys(t.errors)[0],!0):m&&ez(m[1])&&(b=ey(r,m[0]));let E=m?m[1].statusCode:void 0,S=i&&E&&E>=400,R=b.filter((e,r)=>{var a,i,u;let c,d,{route:h}=e;if(h.lazy)return!0;if(null==h.loader)return!1;if(o)return ew(h,t.loaderData,t.errors);if(a=t.loaderData,i=t.matches[r],u=e,c=!i||u.route.id!==i.route.id,d=void 0===a[u.route.id],c||d||s.some(t=>t===e.route.id))return!0;let f=t.matches[r];return eE(e,v({currentUrl:g,currentParams:f.params,nextUrl:w,nextParams:e.params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!S&&(l||g.pathname+g.search===w.pathname+w.search||g.search!==w.search||eb(f,e))}))}),x=[];return d.forEach((e,a)=>{if(o||!r.some(t=>t.route.id===e.routeId)||c.has(a))return;let i=_(f,e.path,p);if(!i)return void x.push({key:a,routeId:e.routeId,path:e.path,matches:null,match:null,controller:null});let s=t.fetchers.get(a),d=eX(i,e.path),m=!1;h.has(a)?m=!1:u.has(a)?(u.delete(a),m=!0):m=s&&"idle"!==s.state&&void 0===s.data?l:eE(d,v({currentUrl:g,currentParams:t.matches[t.matches.length-1].params,nextUrl:w,nextParams:r[r.length-1].params},n,{actionResult:y,actionStatus:E,defaultShouldRevalidate:!S&&l})),m&&x.push({key:a,routeId:e.routeId,path:e.path,matches:i,match:d,controller:new AbortController})}),[R,x]}function ew(e,t,r){if(e.lazy)return!0;if(!e.loader)return!1;let n=null!=t&&void 0!==t[e.id],a=null!=r&&void 0!==r[e.id];return(!!n||!a)&&("function"==typeof e.loader&&!0===e.loader.hydrate||!n&&!a)}function eb(e,t){let r=e.route.path;return e.pathname!==t.pathname||null!=r&&r.endsWith("*")&&e.params["*"]!==t.params["*"]}function eE(e,t){if(e.route.shouldRevalidate){let r=e.route.shouldRevalidate(t);if("boolean"==typeof r)return r}return t.defaultShouldRevalidate}function eS(e,t,r,n,a){var o;let i;if(e){let t=n[e];E(t,"No route found to patch children into: routeId = "+e),t.children||(t.children=[]),i=t.children}else i=r;let l=k(t.filter(e=>!i.some(t=>(function e(t,r){return"id"in t&&"id"in r&&t.id===r.id||t.index===r.index&&t.path===r.path&&t.caseSensitive===r.caseSensitive&&((!t.children||0===t.children.length)&&(!r.children||0===r.children.length)||t.children.every((t,n)=>{var a;return null==(a=r.children)?void 0:a.some(r=>e(t,r))}))})(e,t))),a,[e||"_","patch",String((null==(o=i)?void 0:o.length)||"0")],n);i.push(...l)}async function eR(e,t,r){if(!e.lazy)return;let n=await e.lazy();if(!e.lazy)return;let a=r[e.id];E(a,"No route found in manifest");let o={};for(let e in n){let t=void 0!==a[e]&&"hasErrorBoundary"!==e;S(!t,'Route "'+a.id+'" has a static property "'+e+'" defined but its lazy function is also returning a value for this property. The lazy route property "'+e+'" will be ignored.'),t||L.has(e)||(o[e]=n[e])}Object.assign(a,o),Object.assign(a,v({},t(a),{lazy:void 0}))}async function ex(e){let{matches:t}=e,r=t.filter(e=>e.shouldLoad);return(await Promise.all(r.map(e=>e.resolve()))).reduce((e,t,n)=>Object.assign(e,{[r[n].route.id]:t}),{})}async function eC(e,t,r,n,a,o,i,l,s,u){let c=o.map(e=>e.route.lazy?eR(e.route,s,l):void 0),h=o.map((e,r)=>{let o=c[r],i=a.some(t=>t.route.id===e.route.id),l=async r=>(r&&"GET"===n.method&&(e.route.lazy||e.route.loader)&&(i=!0),i?eP(t,n,e,o,r,u):Promise.resolve({type:d.data,result:void 0}));return v({},e,{shouldLoad:i,resolve:l})}),f=await e({matches:h,request:n,params:o[0].params,fetcherKey:i,context:u});try{await Promise.all(c)}catch(e){}return f}async function eP(e,t,r,n,a,o){let i,l,s=n=>{let i,s=new Promise((e,t)=>i=t);l=()=>i(),t.signal.addEventListener("abort",l);let u=a=>"function"!=typeof n?Promise.reject(Error("You cannot call the handler for a route which defines a boolean "+('"'+e+'" [routeId: ')+r.route.id+"]")):n({request:t,params:r.params,context:o},...void 0!==a?[a]:[]);return Promise.race([(async()=>{try{let e=await (a?a(e=>u(e)):u());return{type:"data",result:e}}catch(e){return{type:"error",result:e}}})(),s])};try{let a=r.route[e];if(n)if(a){let e,[t]=await Promise.all([s(a).catch(t=>{e=t}),n]);if(void 0!==e)throw e;i=t}else if(await n,a=r.route[e])i=await s(a);else{if("action"!==e)return{type:d.data,result:void 0};let n=new URL(t.url),a=n.pathname+n.search;throw eF(405,{method:t.method,pathname:a,routeId:r.route.id})}else if(a)i=await s(a);else{let e=new URL(t.url),r=e.pathname+e.search;throw eF(404,{pathname:r})}E(void 0!==i.result,"You defined "+("action"===e?"an action":"a loader")+" for route "+('"'+r.route.id+"\" but didn't return anything from your `")+e+"` function. Please return a value or `null`.")}catch(e){return{type:d.error,result:e}}finally{l&&t.signal.removeEventListener("abort",l)}return i}async function eD(e){var t,r,n,a,o,i,l,s,u;let{result:c,type:h}=e;if(e$(c)){let e;try{let t=c.headers.get("Content-Type");e=t&&/\bapplication\/json\b/.test(t)?null==c.body?null:await c.json():await c.text()}catch(e){return{type:d.error,error:e}}return h===d.error?{type:d.error,error:new et(c.status,c.statusText,e),statusCode:c.status,headers:c.headers}:{type:d.data,data:e,statusCode:c.status,headers:c.headers}}if(h===d.error)return eW(c)?c.data instanceof Error?{type:d.error,error:c.data,statusCode:null==(n=c.init)?void 0:n.status,headers:null!=(a=c.init)&&a.headers?new Headers(c.init.headers):void 0}:{type:d.error,error:new et((null==(t=c.init)?void 0:t.status)||500,void 0,c.data),statusCode:er(c)?c.status:void 0,headers:null!=(r=c.init)&&r.headers?new Headers(c.init.headers):void 0}:{type:d.error,error:c,statusCode:er(c)?c.status:void 0};return(u=c)&&"object"==typeof u&&"object"==typeof u.data&&"function"==typeof u.subscribe&&"function"==typeof u.cancel&&"function"==typeof u.resolveData?{type:d.deferred,deferredData:c,statusCode:null==(o=c.init)?void 0:o.status,headers:(null==(i=c.init)?void 0:i.headers)&&new Headers(c.init.headers)}:eW(c)?{type:d.data,data:c.data,statusCode:null==(l=c.init)?void 0:l.status,headers:null!=(s=c.init)&&s.headers?new Headers(c.init.headers):void 0}:{type:d.data,data:c}}function eL(e,t,r){if(ed.test(e)){let n=new URL(e.startsWith("//")?t.protocol+e:e),a=null!=N(n.pathname,r);if(n.origin===t.origin&&a)return n.pathname+n.search+n.hash}return e}function ek(e,t,r,n){let a=e.createURL(eB(t)).toString(),o={signal:r};if(n&&eV(n.formMethod)){let{formMethod:e,formEncType:t}=n;o.method=e.toUpperCase(),"application/json"===t?(o.headers=new Headers({"Content-Type":t}),o.body=JSON.stringify(n.json)):"text/plain"===t?o.body=n.text:"application/x-www-form-urlencoded"===t&&n.formData?o.body=e_(n.formData):o.body=n.formData}return new Request(a,o)}function e_(e){let t=new URLSearchParams;for(let[r,n]of e.entries())t.append(r,"string"==typeof n?n:n.name);return t}function eA(e){let t=new FormData;for(let[r,n]of e.entries())t.append(r,n);return t}function eT(e,t,r,n,a,o,i){let l,s,u,c,d,h,{loaderData:f,errors:p}=(s={},u=null,c=!1,d={},h=n&&ez(n[1])?n[1].error:void 0,t.forEach(e=>{if(!(e.route.id in r))return;let n=e.route.id,a=r[n];if(E(!eH(a),"Cannot handle redirect results in processLoaderData"),ez(a)){let e=a.error;void 0!==h&&(e=h,h=void 0),u=u||{},1;{let r=eM(t,n);null==u[r.route.id]&&(u[r.route.id]=e)}s[n]=void 0,c||(c=!0,l=er(a.error)?a.error.status:500),a.headers&&(d[n]=a.headers)}else eI(a)?(i.set(n,a.deferredData),s[n]=a.deferredData.data,null==a.statusCode||200===a.statusCode||c||(l=a.statusCode)):(s[n]=a.data,a.statusCode&&200!==a.statusCode&&!c&&(l=a.statusCode)),a.headers&&(d[n]=a.headers)}),void 0!==h&&n&&(u={[n[0]]:h},s[n[0]]=void 0),{loaderData:s,errors:u,statusCode:l||200,loaderHeaders:d});return a.forEach(t=>{let{key:r,match:n,controller:a}=t,i=o[r];if(E(i,"Did not find corresponding fetcher result"),!a||!a.signal.aborted)if(ez(i)){let t=eM(e.matches,null==n?void 0:n.route.id);p&&p[t.route.id]||(p=v({},p,{[t.route.id]:i.error})),e.fetchers.delete(r)}else if(eH(i))E(!1,"Unhandled fetcher revalidation redirect");else if(eI(i))E(!1,"Unhandled fetcher deferred data");else{let t=e0(i.data);e.fetchers.set(r,t)}}),{loaderData:f,errors:p}}function eU(e,t,r,n){let a=v({},t);for(let o of r){let r=o.route.id;if(t.hasOwnProperty(r)?void 0!==t[r]&&(a[r]=t[r]):void 0!==e[r]&&o.route.loader&&(a[r]=e[r]),n&&n.hasOwnProperty(r))break}return a}function ej(e){return e?ez(e[1])?{actionData:{}}:{actionData:{[e[0]]:e[1].data}}:{}}function eM(e,t){return(t?e.slice(0,e.findIndex(e=>e.route.id===t)+1):[...e]).reverse().find(e=>!0===e.route.hasErrorBoundary)||e[0]}function eO(e){let t=1===e.length?e[0]:e.find(e=>e.index||!e.path||"/"===e.path)||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function eF(e,t){let{pathname:r,routeId:n,method:a,type:o,message:i}=void 0===t?{}:t,l="Unknown Server Error",s="Unknown @remix-run/router error";return 400===e?(l="Bad Request",a&&r&&n?s="You made a "+a+' request to "'+r+'" but did not provide a `loader` for route "'+n+'", so there is no way to handle the request.':"defer-action"===o?s="defer() is not supported in actions":"invalid-body"===o&&(s="Unable to encode submission body")):403===e?(l="Forbidden",s='Route "'+n+'" does not match URL "'+r+'"'):404===e?(l="Not Found",s='No route matches URL "'+r+'"'):405===e&&(l="Method Not Allowed",a&&r&&n?s="You made a "+a.toUpperCase()+' request to "'+r+'" but did not provide an `action` for route "'+n+'", so there is no way to handle the request.':a&&(s='Invalid request method "'+a.toUpperCase()+'"')),new et(e||500,l,Error(s),!0)}function eN(e){let t=Object.entries(e);for(let e=t.length-1;e>=0;e--){let[r,n]=t[e];if(eH(n))return{key:r,result:n}}}function eB(e){let t="string"==typeof e?P(e):e;return C(v({},t,{hash:""}))}function eI(e){return e.type===d.deferred}function ez(e){return e.type===d.error}function eH(e){return(e&&e.type)===d.redirect}function eW(e){return"object"==typeof e&&null!=e&&"type"in e&&"data"in e&&"init"in e&&"DataWithResponseInit"===e.type}function e$(e){return null!=e&&"number"==typeof e.status&&"string"==typeof e.statusText&&"object"==typeof e.headers&&void 0!==e.body}function eV(e){return ea.has(e.toLowerCase())}async function eJ(e,t,r,n,a){let o=Object.entries(t);for(let i=0;i<o.length;i++){let[l,s]=o[i],u=e.find(e=>(null==e?void 0:e.route.id)===l);if(!u)continue;let c=n.find(e=>e.route.id===u.route.id),d=null!=c&&!eb(c,u)&&(a&&a[u.route.id])!==void 0;eI(s)&&d&&await eY(s,r,!1).then(e=>{e&&(t[l]=e)})}}async function eK(e,t,r){for(let n=0;n<r.length;n++){let{key:a,routeId:o,controller:i}=r[n],l=t[a];e.find(e=>(null==e?void 0:e.route.id)===o)&&eI(l)&&(E(i,"Expected an AbortController for revalidating fetcher deferred result"),await eY(l,i.signal,!0).then(e=>{e&&(t[a]=e)}))}}async function eY(e,t,r){if(void 0===r&&(r=!1),!await e.deferredData.resolveData(t)){if(r)try{return{type:d.data,data:e.deferredData.unwrappedData}}catch(e){return{type:d.error,error:e}}return{type:d.data,data:e.deferredData.data}}}function eq(e){return new URLSearchParams(e).getAll("index").some(e=>""===e)}function eX(e,t){let r="string"==typeof t?P(t).search:t.search;if(e[e.length-1].route.index&&eq(r||""))return e[e.length-1];let n=z(e);return n[n.length-1]}function eG(e){let{formMethod:t,formAction:r,formEncType:n,text:a,formData:o,json:i}=e;if(t&&r&&n){if(null!=a)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};else if(null!=o)return{formMethod:t,formAction:r,formEncType:n,formData:o,json:void 0,text:void 0};else if(void 0!==i)return{formMethod:t,formAction:r,formEncType:n,formData:void 0,json:i,text:void 0}}}function eQ(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function eZ(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function e0(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function e1(){return(e1=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}Symbol("deferred");let e7=p.createContext(null),e4=p.createContext(null),e2=p.createContext(null),e5=p.createContext(null),e3=p.createContext(null),e6=p.createContext({outlet:null,matches:[],isDataRoute:!1}),e8=p.createContext(null);function e9(e,t){let{relative:r}=void 0===t?{}:t;te()||E(!1);let{basename:n,navigator:a}=p.useContext(e5),{hash:o,pathname:i,search:l}=tc(e,{relative:r}),s=i;return"/"!==n&&(s="/"===i?n:$([n,i])),a.createHref({pathname:s,search:l,hash:o})}function te(){return null!=p.useContext(e3)}function tt(){return te()||E(!1),p.useContext(e3).location}function tr(){return p.useContext(e3).navigationType}function tn(e){te()||E(!1);let{pathname:t}=tt();return p.useMemo(()=>O(e,F(t)),[t,e])}function ta(e){p.useContext(e5).static||p.useLayoutEffect(e)}function to(){let{isDataRoute:e}=p.useContext(e6);return e?function(){let{router:e}=tw(ty.UseNavigateStable),t=tE(tg.UseNavigateStable),r=p.useRef(!1);return ta(()=>{r.current=!0}),p.useCallback(function(n,a){void 0===a&&(a={}),r.current&&("number"==typeof n?e.navigate(n):e.navigate(n,e1({fromRouteId:t},a)))},[e,t])}():function(){te()||E(!1);let e=p.useContext(e7),{basename:t,future:r,navigator:n}=p.useContext(e5),{matches:a}=p.useContext(e6),{pathname:o}=tt(),i=JSON.stringify(H(a,r.v7_relativeSplatPath)),l=p.useRef(!1);return ta(()=>{l.current=!0}),p.useCallback(function(r,a){if(void 0===a&&(a={}),!l.current)return;if("number"==typeof r)return void n.go(r);let s=W(r,JSON.parse(i),o,"path"===a.relative);null==e&&"/"!==t&&(s.pathname="/"===s.pathname?t:$([t,s.pathname])),(a.replace?n.replace:n.push)(s,a.state,a)},[t,n,i,o,e])}()}let ti=p.createContext(null);function tl(){return p.useContext(ti)}function ts(e){let t=p.useContext(e6).outlet;return t?p.createElement(ti.Provider,{value:e},t):t}function tu(){let{matches:e}=p.useContext(e6),t=e[e.length-1];return t?t.params:{}}function tc(e,t){let{relative:r}=void 0===t?{}:t,{future:n}=p.useContext(e5),{matches:a}=p.useContext(e6),{pathname:o}=tt(),i=JSON.stringify(H(a,n.v7_relativeSplatPath));return p.useMemo(()=>W(e,JSON.parse(i),o,"path"===r),[e,i,o,r])}function td(e,t){return th(e,t)}function th(e,t,r,n){let a;te()||E(!1);let{navigator:o,static:i}=p.useContext(e5),{matches:l}=p.useContext(e6),s=l[l.length-1],u=s?s.params:{};s&&s.pathname;let d=s?s.pathnameBase:"/";s&&s.route;let h=tt();if(t){var f;let e="string"==typeof t?P(t):t;"/"===d||(null==(f=e.pathname)?void 0:f.startsWith(d))||E(!1),a=e}else a=h;let m=a.pathname||"/",v=m;if("/"!==d){let e=d.replace(/^\//,"").split("/");v="/"+m.replace(/^\//,"").split("/").slice(e.length).join("/")}let y=!i&&r&&r.matches&&r.matches.length>0?r.matches:_(e,{pathname:v}),g=tv(y&&y.map(e=>Object.assign({},e,{params:Object.assign({},u,e.params),pathname:$([d,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?d:$([d,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})),l,r,n);return t&&g?p.createElement(e3.Provider,{value:{location:e1({pathname:"/",search:"",hash:"",state:null,key:"default"},a),navigationType:c.Pop}},g):g}let tf=p.createElement(function(){let e=tk(),t=er(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null;return p.createElement(p.Fragment,null,p.createElement("h2",null,"Unexpected Application Error!"),p.createElement("h3",{style:{fontStyle:"italic"}},t),r?p.createElement("pre",{style:{padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"}},r):null,null)},null);class tp extends p.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?p.createElement(e6.Provider,{value:this.props.routeContext},p.createElement(e8.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function tm(e){let{routeContext:t,match:r,children:n}=e,a=p.useContext(e7);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),p.createElement(e6.Provider,{value:t},n)}function tv(e,t,r,n){var a,o;if(void 0===t&&(t=[]),void 0===r&&(r=null),void 0===n&&(n=null),null==e){if(!r)return null;if(r.errors)e=r.matches;else{if(null==(o=n)||!o.v7_partialHydration||0!==t.length||r.initialized||!(r.matches.length>0))return null;e=r.matches}}let i=e,l=null==(a=r)?void 0:a.errors;if(null!=l){let e=i.findIndex(e=>e.route.id&&(null==l?void 0:l[e.route.id])!==void 0);e>=0||E(!1),i=i.slice(0,Math.min(i.length,e+1))}let s=!1,u=-1;if(r&&n&&n.v7_partialHydration)for(let e=0;e<i.length;e++){let t=i[e];if((t.route.HydrateFallback||t.route.hydrateFallbackElement)&&(u=e),t.route.id){let{loaderData:e,errors:n}=r,a=t.route.loader&&void 0===e[t.route.id]&&(!n||void 0===n[t.route.id]);if(t.route.lazy||a){s=!0,i=u>=0?i.slice(0,u+1):[i[0]];break}}}return i.reduceRight((e,n,a)=>{var o;let c,d=!1,h=null,f=null;r&&(c=l&&n.route.id?l[n.route.id]:void 0,h=n.route.errorElement||tf,s&&(u<0&&0===a?(o="route-fallback",tj[o]||(tj[o]=!0),d=!0,f=null):u===a&&(d=!0,f=n.route.hydrateFallbackElement||null)));let m=t.concat(i.slice(0,a+1)),v=()=>{let t;return t=c?h:d?f:n.route.Component?p.createElement(n.route.Component,null):n.route.element?n.route.element:e,p.createElement(tm,{match:n,routeContext:{outlet:e,matches:m,isDataRoute:null!=r},children:t})};return r&&(n.route.ErrorBoundary||n.route.errorElement||0===a)?p.createElement(tp,{location:r.location,revalidation:r.revalidation,component:h,error:c,children:v(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):v()},null)}var ty=((o=ty||{}).UseBlocker="useBlocker",o.UseRevalidator="useRevalidator",o.UseNavigateStable="useNavigate",o),tg=((i=tg||{}).UseBlocker="useBlocker",i.UseLoaderData="useLoaderData",i.UseActionData="useActionData",i.UseRouteError="useRouteError",i.UseNavigation="useNavigation",i.UseRouteLoaderData="useRouteLoaderData",i.UseMatches="useMatches",i.UseRevalidator="useRevalidator",i.UseNavigateStable="useNavigate",i.UseRouteId="useRouteId",i);function tw(e){let t=p.useContext(e7);return t||E(!1),t}function tb(e){let t=p.useContext(e4);return t||E(!1),t}function tE(e){let t,r=((t=p.useContext(e6))||E(!1),t),n=r.matches[r.matches.length-1];return n.route.id||E(!1),n.route.id}function tS(){return tE(tg.UseRouteId)}function tR(){return tb(tg.UseNavigation).navigation}function tx(){let e=tw(ty.UseRevalidator),t=tb(tg.UseRevalidator);return p.useMemo(()=>({revalidate:e.router.revalidate,state:t.revalidation}),[e.router.revalidate,t.revalidation])}function tC(){let{matches:e,loaderData:t}=tb(tg.UseMatches);return p.useMemo(()=>e.map(e=>T(e,t)),[e,t])}function tP(){let e=tb(tg.UseLoaderData),t=tE(tg.UseLoaderData);return e.errors&&null!=e.errors[t]?void console.error("You cannot `useLoaderData` in an errorElement (routeId: "+t+")"):e.loaderData[t]}function tD(e){return tb(tg.UseRouteLoaderData).loaderData[e]}function tL(){let e=tb(tg.UseActionData),t=tE(tg.UseLoaderData);return e.actionData?e.actionData[t]:void 0}function tk(){var e;let t=p.useContext(e8),r=tb(tg.UseRouteError),n=tE(tg.UseRouteError);return void 0!==t?t:null==(e=r.errors)?void 0:e[n]}function t_(){let e=p.useContext(e2);return null==e?void 0:e._data}function tA(){let e=p.useContext(e2);return null==e?void 0:e._error}let tT=0;function tU(e){let{router:t,basename:r}=tw(ty.UseBlocker),n=tb(tg.UseBlocker),[a,o]=p.useState(""),i=p.useCallback(t=>{if("function"!=typeof e)return!!e;if("/"===r)return e(t);let{currentLocation:n,nextLocation:a,historyAction:o}=t;return e({currentLocation:e1({},n,{pathname:N(n.pathname,r)||n.pathname}),nextLocation:e1({},a,{pathname:N(a.pathname,r)||a.pathname}),historyAction:o})},[r,e]);return p.useEffect(()=>{let e=String(++tT);return o(e),()=>t.deleteBlocker(e)},[t]),p.useEffect(()=>{""!==a&&t.getBlocker(a,i)},[t,a,i]),a&&n.blockers.has(a)?n.blockers.get(a):ec}let tj={},tM=(e,t,r)=>{};function tO(e,t){(null==e?void 0:e.v7_startTransition)===void 0&&tM("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),(null==e?void 0:e.v7_relativeSplatPath)!==void 0||t&&t.v7_relativeSplatPath||tM("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath"),t&&(void 0===t.v7_fetcherPersist&&tM("v7_fetcherPersist","The persistence behavior of fetchers is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist"),void 0===t.v7_normalizeFormMethod&&tM("v7_normalizeFormMethod","Casing of `formMethod` fields is being normalized to uppercase in v7","https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod"),void 0===t.v7_partialHydration&&tM("v7_partialHydration","`RouterProvider` hydration behavior is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_partialhydration"),void 0===t.v7_skipActionErrorRevalidation&&tM("v7_skipActionErrorRevalidation","The revalidation behavior after 4xx/5xx `action` responses is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation"))}let tF=p.startTransition;function tN(e){let{basename:t,children:r,initialEntries:n,initialIndex:a,future:o}=e,i=p.useRef();null==i.current&&(i.current=g({initialEntries:n,initialIndex:a,v5Compat:!0}));let l=i.current,[s,u]=p.useState({action:l.action,location:l.location}),{v7_startTransition:c}=o||{},d=p.useCallback(e=>{c&&tF?tF(()=>u(e)):u(e)},[u,c]);return p.useLayoutEffect(()=>l.listen(d),[l,d]),p.useEffect(()=>tO(o),[o]),p.createElement(tH,{basename:t,children:r,location:s.location,navigationType:s.action,navigator:l,future:o})}function tB(e){let{to:t,replace:r,state:n,relative:a}=e;te()||E(!1);let{future:o,static:i}=p.useContext(e5),{matches:l}=p.useContext(e6),{pathname:s}=tt(),u=to(),c=JSON.stringify(W(t,H(l,o.v7_relativeSplatPath),s,"path"===a));return p.useEffect(()=>u(JSON.parse(c),{replace:r,state:n,relative:a}),[u,c,a,r,n]),null}function tI(e){return ts(e.context)}function tz(e){E(!1)}function tH(e){let{basename:t="/",children:r=null,location:n,navigationType:a=c.Pop,navigator:o,static:i=!1,future:l}=e;te()&&E(!1);let s=t.replace(/^\/*/,"/"),u=p.useMemo(()=>({basename:s,navigator:o,static:i,future:e1({v7_relativeSplatPath:!1},l)}),[s,l,o,i]);"string"==typeof n&&(n=P(n));let{pathname:d="/",search:h="",hash:f="",state:m=null,key:v="default"}=n,y=p.useMemo(()=>{let e=N(d,s);return null==e?null:{location:{pathname:e,search:h,hash:f,state:m,key:v},navigationType:a}},[s,d,h,f,m,v,a]);return null==y?null:p.createElement(e5.Provider,{value:u},p.createElement(e3.Provider,{children:r,value:y}))}function tW(e){let{children:t,location:r}=e;return th(tq(t),r)}function t$(e){let{children:t,errorElement:r,resolve:n}=e;return p.createElement(tK,{resolve:n,errorElement:r},p.createElement(tY,null,t))}var tV=((l=tV||{})[l.pending=0]="pending",l[l.success=1]="success",l[l.error=2]="error",l);let tJ=new Promise(()=>{});class tK extends p.Component{constructor(e){super(e),this.state={error:null}}static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){console.error("<Await> caught the following error during render",e,t)}render(){let{children:e,errorElement:t,resolve:r}=this.props,n=null,a=tV.pending;if(r instanceof Promise)if(this.state.error){a=tV.error;let e=this.state.error;Object.defineProperty(n=Promise.reject().catch(()=>{}),"_tracked",{get:()=>!0}),Object.defineProperty(n,"_error",{get:()=>e})}else r._tracked?a="_error"in(n=r)?tV.error:"_data"in n?tV.success:tV.pending:(a=tV.pending,Object.defineProperty(r,"_tracked",{get:()=>!0}),n=r.then(e=>Object.defineProperty(r,"_data",{get:()=>e}),e=>Object.defineProperty(r,"_error",{get:()=>e})));else a=tV.success,Object.defineProperty(n=Promise.resolve(),"_tracked",{get:()=>!0}),Object.defineProperty(n,"_data",{get:()=>r});if(a===tV.error&&n._error instanceof q)throw tJ;if(a===tV.error&&!t)throw n._error;if(a===tV.error)return p.createElement(e2.Provider,{value:n,children:t});if(a===tV.success)return p.createElement(e2.Provider,{value:n,children:e});throw n}}function tY(e){let{children:t}=e,r=t_(),n="function"==typeof t?t(r):t;return p.createElement(p.Fragment,null,n)}function tq(e,t){void 0===t&&(t=[]);let r=[];return p.Children.forEach(e,(e,n)=>{if(!p.isValidElement(e))return;let a=[...t,n];if(e.type===p.Fragment)return void r.push.apply(r,tq(e.props.children,a));e.type!==tz&&E(!1),e.props.index&&e.props.children&&E(!1);let o={id:e.props.id||a.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(o.children=tq(e.props.children,a)),r.push(o)}),r}function tX(e){return tv(e)}function tG(e){let t={hasErrorBoundary:null!=e.ErrorBoundary||null!=e.errorElement};return e.Component&&Object.assign(t,{element:p.createElement(e.Component),Component:void 0}),e.HydrateFallback&&Object.assign(t,{hydrateFallbackElement:p.createElement(e.HydrateFallback),HydrateFallback:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:p.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}function tQ(e,t){return ep({basename:null==t?void 0:t.basename,future:e1({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:g({initialEntries:null==t?void 0:t.initialEntries,initialIndex:null==t?void 0:t.initialIndex}),hydrationData:null==t?void 0:t.hydrationData,routes:e,mapRouteProperties:tG,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation}).initialize()}function tZ(){return(tZ=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function t0(e,t){if(null==e)return{};var r,n,a={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}let t1="application/x-www-form-urlencoded";function t7(e){return null!=e&&"string"==typeof e.tagName}function t4(e){return void 0===e&&(e=""),new URLSearchParams("string"==typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,r)=>{let n=e[r];return t.concat(Array.isArray(n)?n.map(e=>[r,e]):[[r,n]])},[]))}let t2=null,t5=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function t3(e){return null==e||t5.has(e)?e:null}let t6=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],t8=["aria-current","caseSensitive","className","end","style","to","viewTransition","children"],t9=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","viewTransition"];try{window.__reactRouterVersion="6"}catch(e){}function re(e,t){return ep({basename:null==t?void 0:t.basename,future:tZ({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:w({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||rr(),routes:e,mapRouteProperties:tG,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function rt(e,t){return ep({basename:null==t?void 0:t.basename,future:tZ({},null==t?void 0:t.future,{v7_prependBasename:!0}),history:b({window:null==t?void 0:t.window}),hydrationData:(null==t?void 0:t.hydrationData)||rr(),routes:e,mapRouteProperties:tG,dataStrategy:null==t?void 0:t.dataStrategy,patchRoutesOnNavigation:null==t?void 0:t.patchRoutesOnNavigation,window:null==t?void 0:t.window}).initialize()}function rr(){var e;let t=null==(e=window)?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=tZ({},t,{errors:function(e){if(!e)return null;let t=Object.entries(e),r={};for(let[e,n]of t)if(n&&"RouteErrorResponse"===n.__type)r[e]=new et(n.status,n.statusText,n.data,!0===n.internal);else if(n&&"Error"===n.__type){if(n.__subType){let t=window[n.__subType];if("function"==typeof t)try{let a=new t(n.message);a.stack="",r[e]=a}catch(e){}}if(null==r[e]){let t=Error(n.message);t.stack="",r[e]=t}}else r[e]=n;return r}(t.errors)})),t}let rn=p.createContext({isTransitioning:!1}),ra=p.createContext(new Map),ro=p.startTransition,ri=m.flushSync,rl=p.useId;function rs(e){ri?ri(e):e()}class ru{constructor(){this.status="pending",this.promise=new Promise((e,t)=>{this.resolve=t=>{"pending"===this.status&&(this.status="resolved",e(t))},this.reject=e=>{"pending"===this.status&&(this.status="rejected",t(e))}})}}function rc(e){let{fallbackElement:t,router:r,future:n}=e,[a,o]=p.useState(r.state),[i,l]=p.useState(),[s,u]=p.useState({isTransitioning:!1}),[c,d]=p.useState(),[h,f]=p.useState(),[m,v]=p.useState(),y=p.useRef(new Map),{v7_startTransition:g}=n||{},w=p.useCallback(e=>{if(g)ro?ro(e):e();else e()},[g]),b=p.useCallback((e,t)=>{let{deletedFetchers:n,flushSync:a,viewTransitionOpts:i}=t;e.fetchers.forEach((e,t)=>{void 0!==e.data&&y.current.set(t,e.data)}),n.forEach(e=>y.current.delete(e));let s=null==r.window||null==r.window.document||"function"!=typeof r.window.document.startViewTransition;if(!i||s)return void(a?rs(()=>o(e)):w(()=>o(e)));if(a){rs(()=>{h&&(c&&c.resolve(),h.skipTransition()),u({isTransitioning:!0,flushSync:!0,currentLocation:i.currentLocation,nextLocation:i.nextLocation})});let t=r.window.document.startViewTransition(()=>{rs(()=>o(e))});t.finished.finally(()=>{rs(()=>{d(void 0),f(void 0),l(void 0),u({isTransitioning:!1})})}),rs(()=>f(t));return}h?(c&&c.resolve(),h.skipTransition(),v({state:e,currentLocation:i.currentLocation,nextLocation:i.nextLocation})):(l(e),u({isTransitioning:!0,flushSync:!1,currentLocation:i.currentLocation,nextLocation:i.nextLocation}))},[r.window,h,c,y,w]);p.useLayoutEffect(()=>r.subscribe(b),[r,b]),p.useEffect(()=>{s.isTransitioning&&!s.flushSync&&d(new ru)},[s]),p.useEffect(()=>{if(c&&i&&r.window){let e=c.promise,t=r.window.document.startViewTransition(async()=>{w(()=>o(i)),await e});t.finished.finally(()=>{d(void 0),f(void 0),l(void 0),u({isTransitioning:!1})}),f(t)}},[w,i,c,r.window]),p.useEffect(()=>{c&&i&&a.location.key===i.location.key&&c.resolve()},[c,h,a.location,i]),p.useEffect(()=>{!s.isTransitioning&&m&&(l(m.state),u({isTransitioning:!0,flushSync:!1,currentLocation:m.currentLocation,nextLocation:m.nextLocation}),v(void 0))},[s.isTransitioning,m]),p.useEffect(()=>{},[]);let E=p.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:e=>r.navigate(e),push:(e,t,n)=>r.navigate(e,{state:t,preventScrollReset:null==n?void 0:n.preventScrollReset}),replace:(e,t,n)=>r.navigate(e,{replace:!0,state:t,preventScrollReset:null==n?void 0:n.preventScrollReset})}),[r]),S=r.basename||"/",R=p.useMemo(()=>({router:r,navigator:E,static:!1,basename:S}),[r,E,S]),x=p.useMemo(()=>({v7_relativeSplatPath:r.future.v7_relativeSplatPath}),[r.future.v7_relativeSplatPath]);return p.useEffect(()=>tO(n,r.future),[n,r.future]),p.createElement(p.Fragment,null,p.createElement(e7.Provider,{value:R},p.createElement(e4.Provider,{value:a},p.createElement(ra.Provider,{value:y.current},p.createElement(rn.Provider,{value:s},p.createElement(tH,{basename:S,location:a.location,navigationType:a.historyAction,navigator:E,future:x},a.initialized||r.future.v7_partialHydration?p.createElement(rd,{routes:r.routes,future:r.future,state:a}):t))))),null)}let rd=p.memo(function(e){let{routes:t,future:r,state:n}=e;return th(t,void 0,n,r)});function rh(e){let{basename:t,children:r,future:n,window:a}=e,o=p.useRef();null==o.current&&(o.current=w({window:a,v5Compat:!0}));let i=o.current,[l,s]=p.useState({action:i.action,location:i.location}),{v7_startTransition:u}=n||{},c=p.useCallback(e=>{u&&ro?ro(()=>s(e)):s(e)},[s,u]);return p.useLayoutEffect(()=>i.listen(c),[i,c]),p.useEffect(()=>tO(n),[n]),p.createElement(tH,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i,future:n})}function rf(e){let{basename:t,children:r,future:n,window:a}=e,o=p.useRef();null==o.current&&(o.current=b({window:a,v5Compat:!0}));let i=o.current,[l,s]=p.useState({action:i.action,location:i.location}),{v7_startTransition:u}=n||{},c=p.useCallback(e=>{u&&ro?ro(()=>s(e)):s(e)},[s,u]);return p.useLayoutEffect(()=>i.listen(c),[i,c]),p.useEffect(()=>tO(n),[n]),p.createElement(tH,{basename:t,children:r,location:l.location,navigationType:l.action,navigator:i,future:n})}function rp(e){let{basename:t,children:r,future:n,history:a}=e,[o,i]=p.useState({action:a.action,location:a.location}),{v7_startTransition:l}=n||{},s=p.useCallback(e=>{l&&ro?ro(()=>i(e)):i(e)},[i,l]);return p.useLayoutEffect(()=>a.listen(s),[a,s]),p.useEffect(()=>tO(n),[n]),p.createElement(tH,{basename:t,children:r,location:o.location,navigationType:o.action,navigator:a,future:n})}let rm="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,rv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,ry=p.forwardRef(function(e,t){let r,{onClick:n,relative:a,reloadDocument:o,replace:i,state:l,target:s,to:u,preventScrollReset:c,viewTransition:d}=e,h=t0(e,t6),{basename:f}=p.useContext(e5),m=!1;if("string"==typeof u&&rv.test(u)&&(r=u,rm))try{let e=new URL(window.location.href),t=new URL(u.startsWith("//")?e.protocol+u:u),r=N(t.pathname,f);t.origin===e.origin&&null!=r?u=r+t.search+t.hash:m=!0}catch(e){}let v=e9(u,{relative:a}),y=rR(u,{replace:i,state:l,target:s,preventScrollReset:c,relative:a,viewTransition:d});return p.createElement("a",tZ({},h,{href:r||v,onClick:m||o?n:function(e){n&&n(e),e.defaultPrevented||y(e)},ref:t,target:s}))}),rg=p.forwardRef(function(e,t){let r,{"aria-current":n="page",caseSensitive:a=!1,className:o="",end:i=!1,style:l,to:s,viewTransition:u,children:c}=e,d=t0(e,t8),h=tc(s,{relative:d.relative}),f=tt(),m=p.useContext(e4),{navigator:v,basename:y}=p.useContext(e5),g=null!=m&&rO(h)&&!0===u,w=v.encodeLocation?v.encodeLocation(h).pathname:h.pathname,b=f.pathname,E=m&&m.navigation&&m.navigation.location?m.navigation.location.pathname:null;a||(b=b.toLowerCase(),E=E?E.toLowerCase():null,w=w.toLowerCase()),E&&y&&(E=N(E,y)||E);let S="/"!==w&&w.endsWith("/")?w.length-1:w.length,R=b===w||!i&&b.startsWith(w)&&"/"===b.charAt(S),x=null!=E&&(E===w||!i&&E.startsWith(w)&&"/"===E.charAt(w.length)),C={isActive:R,isPending:x,isTransitioning:g},P=R?n:void 0;r="function"==typeof o?o(C):[o,R?"active":null,x?"pending":null,g?"transitioning":null].filter(Boolean).join(" ");let D="function"==typeof l?l(C):l;return p.createElement(ry,tZ({},d,{"aria-current":P,className:r,ref:t,style:D,to:s,viewTransition:u}),"function"==typeof c?c(C):c)}),rw=p.forwardRef((e,t)=>{let{fetcherKey:r,navigate:n,reloadDocument:a,replace:o,state:i,method:l="get",action:s,onSubmit:u,relative:c,preventScrollReset:d,viewTransition:h}=e,f=t0(e,t9),m=rD(),v=rL(s,{relative:c}),y="get"===l.toLowerCase()?"get":"post";return p.createElement("form",tZ({ref:t,method:y,action:v,onSubmit:a?u:e=>{if(u&&u(e),e.defaultPrevented)return;e.preventDefault();let t=e.nativeEvent.submitter,a=(null==t?void 0:t.getAttribute("formmethod"))||l;m(t||e.currentTarget,{fetcherKey:r,method:a,navigate:n,replace:o,state:i,relative:c,preventScrollReset:d,viewTransition:h})}},f))});function rb(e){let{getKey:t,storageKey:r}=e;return rU({getKey:t,storageKey:r}),null}function rE(e){let t=p.useContext(e7);return t||E(!1),t}function rS(e){let t=p.useContext(e4);return t||E(!1),t}function rR(e,t){let{target:r,replace:n,state:a,preventScrollReset:o,relative:i,viewTransition:l}=void 0===t?{}:t,s=to(),u=tt(),c=tc(e,{relative:i});return p.useCallback(t=>{0!==t.button||r&&"_self"!==r||t.metaKey||t.altKey||t.ctrlKey||t.shiftKey||(t.preventDefault(),s(e,{replace:void 0!==n?n:C(u)===C(c),state:a,preventScrollReset:o,relative:i,viewTransition:l}))},[u,s,c,n,a,r,e,o,i,l])}function rx(e){let t=p.useRef(t4(e)),r=p.useRef(!1),n=tt(),a=p.useMemo(()=>{var e,a;let o;return e=n.search,a=r.current?null:t.current,o=t4(e),a&&a.forEach((e,t)=>{o.has(t)||a.getAll(t).forEach(e=>{o.append(t,e)})}),o},[n.search]),o=to(),i=p.useCallback((e,t)=>{let n=t4("function"==typeof e?e(a):e);r.current=!0,o("?"+n,t)},[o,a]);return[a,i]}(s=h||(h={})).UseScrollRestoration="useScrollRestoration",s.UseSubmit="useSubmit",s.UseSubmitFetcher="useSubmitFetcher",s.UseFetcher="useFetcher",s.useViewTransitionState="useViewTransitionState",(u=f||(f={})).UseFetcher="useFetcher",u.UseFetchers="useFetchers",u.UseScrollRestoration="useScrollRestoration";let rC=0,rP=()=>"__"+String(++rC)+"__";function rD(){let{router:e}=rE(h.UseSubmit),{basename:t}=p.useContext(e5),r=tS();return p.useCallback(function(n,a){if(void 0===a&&(a={}),"undefined"==typeof document)throw Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.");let{action:o,method:i,encType:l,formData:s,body:u}=function(e,t){let r,n,a,o,i;if(t7(e)&&"form"===e.tagName.toLowerCase()){let i=e.getAttribute("action");n=i?N(i,t):null,r=e.getAttribute("method")||"get",a=t3(e.getAttribute("enctype"))||t1,o=new FormData(e)}else if(t7(e)&&"button"===e.tagName.toLowerCase()||t7(e)&&"input"===e.tagName.toLowerCase()&&("submit"===e.type||"image"===e.type)){let i=e.form;if(null==i)throw Error('Cannot submit a <button> or <input type="submit"> without a <form>');let l=e.getAttribute("formaction")||i.getAttribute("action");if(n=l?N(l,t):null,r=e.getAttribute("formmethod")||i.getAttribute("method")||"get",a=t3(e.getAttribute("formenctype"))||t3(i.getAttribute("enctype"))||t1,o=new FormData(i,e),!function(){if(null===t2)try{new FormData(document.createElement("form"),0),t2=!1}catch(e){t2=!0}return t2}()){let{name:t,type:r,value:n}=e;if("image"===r){let e=t?t+".":"";o.append(e+"x","0"),o.append(e+"y","0")}else t&&o.append(t,n)}}else if(t7(e))throw Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');else r="get",n=null,a=t1,i=e;return o&&"text/plain"===a&&(i=o,o=void 0),{action:n,method:r.toLowerCase(),encType:a,formData:o,body:i}}(n,t);if(!1===a.navigate){let t=a.fetcherKey||rP();e.fetch(t,r,a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:u,formMethod:a.method||i,formEncType:a.encType||l,flushSync:a.flushSync})}else e.navigate(a.action||o,{preventScrollReset:a.preventScrollReset,formData:s,body:u,formMethod:a.method||i,formEncType:a.encType||l,replace:a.replace,state:a.state,fromRouteId:r,flushSync:a.flushSync,viewTransition:a.viewTransition})},[e,t,r])}function rL(e,t){let{relative:r}=void 0===t?{}:t,{basename:n}=p.useContext(e5),a=p.useContext(e6);a||E(!1);let[o]=a.matches.slice(-1),i=tZ({},tc(e||".",{relative:r})),l=tt();if(null==e){i.search=l.search;let e=new URLSearchParams(i.search),t=e.getAll("index");if(t.some(e=>""===e)){e.delete("index"),t.filter(e=>e).forEach(t=>e.append("index",t));let r=e.toString();i.search=r?"?"+r:""}}return(!e||"."===e)&&o.route.index&&(i.search=i.search?i.search.replace(/^\?/,"?index&"):"?index"),"/"!==n&&(i.pathname="/"===i.pathname?n:$([n,i.pathname])),C(i)}function rk(e){var t;let{key:r}=void 0===e?{}:e,{router:n}=rE(h.UseFetcher),a=rS(f.UseFetcher),o=p.useContext(ra),i=p.useContext(e6),l=null==(t=i.matches[i.matches.length-1])?void 0:t.route.id;o||E(!1),i||E(!1),null==l&&E(!1);let s=rl?rl():"",[u,c]=p.useState(r||s);r&&r!==u?c(r):u||c(rP()),p.useEffect(()=>(n.getFetcher(u),()=>{n.deleteFetcher(u)}),[n,u]);let d=p.useCallback((e,t)=>{l||E(!1),n.fetch(u,l,e,t)},[u,l,n]),m=rD(),v=p.useCallback((e,t)=>{m(e,tZ({},t,{navigate:!1,fetcherKey:u}))},[u,m]),y=p.useMemo(()=>p.forwardRef((e,t)=>p.createElement(rw,tZ({},e,{navigate:!1,fetcherKey:u,ref:t}))),[u]),g=a.fetchers.get(u)||eu,w=o.get(u);return p.useMemo(()=>tZ({Form:y,submit:v,load:d},g,{data:w}),[y,v,d,g,w])}function r_(){return Array.from(rS(f.UseFetchers).fetchers.entries()).map(e=>{let[t,r]=e;return tZ({},r,{key:t})})}let rA="react-router-scroll-positions",rT={};function rU(e){let{getKey:t,storageKey:r}=void 0===e?{}:e,{router:n}=rE(h.UseScrollRestoration),{restoreScrollPosition:a,preventScrollReset:o}=rS(f.UseScrollRestoration),{basename:i}=p.useContext(e5),l=tt(),s=tC(),u=tR();p.useEffect(()=>(window.history.scrollRestoration="manual",()=>{window.history.scrollRestoration="auto"}),[]),function(e,t){let{capture:r}={};p.useEffect(()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("pagehide",e,t),()=>{window.removeEventListener("pagehide",e,t)}},[e,r])}(p.useCallback(()=>{"idle"===u.state&&(rT[(t?t(l,s):null)||l.key]=window.scrollY);try{sessionStorage.setItem(r||rA,JSON.stringify(rT))}catch(e){}window.history.scrollRestoration="auto"},[r,t,u.state,l,s])),"undefined"!=typeof document&&(p.useLayoutEffect(()=>{try{let e=sessionStorage.getItem(r||rA);e&&(rT=JSON.parse(e))}catch(e){}},[r]),p.useLayoutEffect(()=>{let e=t&&"/"!==i?(e,r)=>t(tZ({},e,{pathname:N(e.pathname,i)||e.pathname}),r):t,r=null==n?void 0:n.enableScrollRestoration(rT,()=>window.scrollY,e);return()=>r&&r()},[n,i,t]),p.useLayoutEffect(()=>{if(!1!==a){if("number"==typeof a)return void window.scrollTo(0,a);if(l.hash){let e=document.getElementById(decodeURIComponent(l.hash.slice(1)));if(e)return void e.scrollIntoView()}!0!==o&&window.scrollTo(0,0)}},[l,a,o]))}function rj(e,t){let{capture:r}=t||{};p.useEffect(()=>{let t=null!=r?{capture:r}:void 0;return window.addEventListener("beforeunload",e,t),()=>{window.removeEventListener("beforeunload",e,t)}},[e,r])}function rM(e){let{when:t,message:r}=e,n=tU(t);p.useEffect(()=>{"blocked"===n.state&&(window.confirm(r)?setTimeout(n.proceed,0):n.reset())},[n,r]),p.useEffect(()=>{"blocked"!==n.state||t||n.reset()},[n,t])}function rO(e,t){void 0===t&&(t={});let r=p.useContext(rn);null==r&&E(!1);let{basename:n}=rE(h.useViewTransitionState),a=tc(e,{relative:t.relative});if(!r.isTransitioning)return!1;let o=N(r.currentLocation.pathname,n)||r.currentLocation.pathname,i=N(r.nextLocation.pathname,n)||r.nextLocation.pathname;return null!=O(a.pathname,i)||null!=O(a.pathname,o)}}}]);