From 6c848356ef6e6a83fd23497b80bd99403fce0823 Mon Sep 17 00:00:00 2001 From: Isaac Aracena Date: Tue, 1 Sep 2026 16:12:48 -0400 Subject: [PATCH] feat: actualizar proyecto completo --- PERMISO_CREAR_PROYECTOS_2026-09-01.md | 54 +++++++ .../{index-CzoEmQMv.js => index-B-PY8au0.js} | 106 ++++++------- dist/index.html | 2 +- src/context/AuthContext.tsx | 6 + src/lib/accessControl.ts | 28 ++++ src/lib/store.ts | 5 + src/pages/BoardPage.tsx | 12 +- ...tablero_cdc_create_projects_permission.sql | 149 ++++++++++++++++++ 8 files changed, 304 insertions(+), 58 deletions(-) create mode 100644 PERMISO_CREAR_PROYECTOS_2026-09-01.md rename dist/assets/{index-CzoEmQMv.js => index-B-PY8au0.js} (71%) create mode 100644 supabase_tablero_cdc_create_projects_permission.sql diff --git a/PERMISO_CREAR_PROYECTOS_2026-09-01.md b/PERMISO_CREAR_PROYECTOS_2026-09-01.md new file mode 100644 index 0000000..dde5e35 --- /dev/null +++ b/PERMISO_CREAR_PROYECTOS_2026-09-01.md @@ -0,0 +1,54 @@ +# Permiso para crear proyectos — Tablero CDC + +## Qué cambia + +Se agrega el permiso `can_create_projects` en `public.tablero_cdc_allowed_users`. + +Inicialmente queda activo únicamente para: + +- Bonnie Oliva — `boliva@gomezleemarketing.com` +- Alicia Thaía Reyes — `areyes@gomezleemarketing.com` +- Isaac Daniel Aracena Toribio — `iaracena@gomezleemarketing.com` +- José Leopoldo Gomez — `jgomez@gomezleemarketing.com` +- Máximo Gomez — `mgomez@gomezleemarketing.com` + +Para los demás usuarios activos, `can_create_projects=false`. + +## Comportamiento + +- Con permiso: aparece **+ Nuevo** y se puede crear un proyecto manualmente. +- Sin permiso: **+ Nuevo** no aparece. +- La protección no depende solo de la interfaz: una política RLS restrictiva exige el permiso para `INSERT` autenticados sobre `tablero_cdc_projects`. +- No se modifica la edición de proyectos existentes. +- No se modifica Tiempo, Horas del equipo, Tarifario, Listas, métricas, CDC Brief ni la sincronización con n8n/Google Sheets. +- El flujo de aprobación de CDC Brief sigue usando su RPC existente `SECURITY DEFINER`; este cambio está enfocado en la creación manual del Tablero. + +## Instalación + +1. Ejecutar `supabase_tablero_cdc_create_projects_permission.sql` en Supabase SQL Editor. +2. Confirmar que la consulta final muestre `can_create_projects=true` únicamente para los usuarios deseados. +3. Probar el `dist` actualizado. +4. Con una cuenta sin permiso, confirmar que **+ Nuevo** no aparece. +5. Con una cuenta con permiso, confirmar que **+ Nuevo** aparece y permite crear normalmente. + +## Administración futura + +Dar acceso: + +```sql +update public.tablero_cdc_allowed_users +set can_create_projects = true, + updated_at = now() +where lower(email) = lower('correo@gomezleemarketing.com'); +``` + +Quitar acceso: + +```sql +update public.tablero_cdc_allowed_users +set can_create_projects = false, + updated_at = now() +where lower(email) = lower('correo@gomezleemarketing.com'); +``` + +El cambio se refleja al volver a enfocar/recargar la aplicación. diff --git a/dist/assets/index-CzoEmQMv.js b/dist/assets/index-B-PY8au0.js similarity index 71% rename from dist/assets/index-CzoEmQMv.js rename to dist/assets/index-B-PY8au0.js index cdc92fa..4132840 100644 --- a/dist/assets/index-CzoEmQMv.js +++ b/dist/assets/index-B-PY8au0.js @@ -1,4 +1,4 @@ -function ZA(e,t){for(var n=0;na[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))a(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const c of l.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&a(c)}).observe(document,{childList:!0,subtree:!0});function n(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function a(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}})();function xS(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ep={exports:{}},xl={};/** +function ZA(e,t){for(var n=0;na[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))a(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const c of l.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&a(c)}).observe(document,{childList:!0,subtree:!0});function n(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function a(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}})();function xS(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var np={exports:{}},xl={};/** * @license React * react-jsx-runtime.production.js * @@ -6,7 +6,7 @@ function ZA(e,t){for(var n=0;n>>1,V=k[Y];if(0>>1;Yi(I,F))Hi(q,I)?(k[Y]=q,k[H]=F,Y=H):(k[Y]=I,k[O]=F,Y=O);else if(Hi(q,F))k[Y]=q,k[H]=F,Y=H;else break e}}return K}function i(k,K){var F=k.sortIndex-K.sortIndex;return F!==0?F:k.id-K.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var c=Date,f=c.now();e.unstable_now=function(){return c.now()-f}}var h=[],m=[],b=1,g=null,x=3,w=!1,E=!1,S=!1,C=!1,N=typeof setTimeout=="function"?setTimeout:null,T=typeof clearTimeout=="function"?clearTimeout:null,R=typeof setImmediate<"u"?setImmediate:null;function M(k){for(var K=n(m);K!==null;){if(K.callback===null)a(m);else if(K.startTime<=k)a(m),K.sortIndex=K.expirationTime,t(h,K);else break;K=n(m)}}function $(k){if(S=!1,M(k),!E)if(n(h)!==null)E=!0,z||(z=!0,me());else{var K=n(m);K!==null&&de($,K.startTime-k)}}var z=!1,P=-1,U=5,J=-1;function ce(){return C?!0:!(e.unstable_now()-Jk&&ce());){var Y=g.callback;if(typeof Y=="function"){g.callback=null,x=g.priorityLevel;var V=Y(g.expirationTime<=k);if(k=e.unstable_now(),typeof V=="function"){g.callback=V,M(k),K=!0;break t}g===n(h)&&a(h),M(k)}else a(h);g=n(h)}if(g!==null)K=!0;else{var A=n(m);A!==null&&de($,A.startTime-k),K=!1}}break e}finally{g=null,x=F,w=!1}K=void 0}}finally{K?me():z=!1}}}var me;if(typeof R=="function")me=function(){R(re)};else if(typeof MessageChannel<"u"){var fe=new MessageChannel,ge=fe.port2;fe.port1.onmessage=re,me=function(){ge.postMessage(null)}}else me=function(){N(re,0)};function de(k,K){P=N(function(){k(e.unstable_now())},K)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(k){k.callback=null},e.unstable_forceFrameRate=function(k){0>k||125Y?(k.sortIndex=F,t(m,k),n(h)===null&&k===n(m)&&(S?(T(P),P=-1):S=!0,de($,F-Y))):(k.sortIndex=V,t(h,k),E||w||(E=!0,z||(z=!0,me()))),k},e.unstable_shouldYield=ce,e.unstable_wrapCallback=function(k){var K=x;return function(){var F=x;x=K;try{return k.apply(this,arguments)}finally{x=F}}}})(ap)),ap}var iw;function ak(){return iw||(iw=1,rp.exports=rk()),rp.exports}var sp={exports:{}},gn={};/** + */var sw;function rk(){return sw||(sw=1,(function(e){function t(k,K){var F=k.length;k.push(K);e:for(;0>>1,V=k[Y];if(0>>1;Yi(I,F))Hi(q,I)?(k[Y]=q,k[H]=F,Y=H):(k[Y]=I,k[O]=F,Y=O);else if(Hi(q,F))k[Y]=q,k[H]=F,Y=H;else break e}}return K}function i(k,K){var F=k.sortIndex-K.sortIndex;return F!==0?F:k.id-K.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var c=Date,f=c.now();e.unstable_now=function(){return c.now()-f}}var h=[],m=[],b=1,g=null,x=3,w=!1,E=!1,S=!1,C=!1,N=typeof setTimeout=="function"?setTimeout:null,A=typeof clearTimeout=="function"?clearTimeout:null,T=typeof setImmediate<"u"?setImmediate:null;function M(k){for(var K=n(m);K!==null;){if(K.callback===null)a(m);else if(K.startTime<=k)a(m),K.sortIndex=K.expirationTime,t(h,K);else break;K=n(m)}}function $(k){if(S=!1,M(k),!E)if(n(h)!==null)E=!0,L||(L=!0,me());else{var K=n(m);K!==null&&de($,K.startTime-k)}}var L=!1,P=-1,U=5,J=-1;function ce(){return C?!0:!(e.unstable_now()-Jk&&ce());){var Y=g.callback;if(typeof Y=="function"){g.callback=null,x=g.priorityLevel;var V=Y(g.expirationTime<=k);if(k=e.unstable_now(),typeof V=="function"){g.callback=V,M(k),K=!0;break t}g===n(h)&&a(h),M(k)}else a(h);g=n(h)}if(g!==null)K=!0;else{var R=n(m);R!==null&&de($,R.startTime-k),K=!1}}break e}finally{g=null,x=F,w=!1}K=void 0}}finally{K?me():L=!1}}}var me;if(typeof T=="function")me=function(){T(re)};else if(typeof MessageChannel<"u"){var fe=new MessageChannel,ge=fe.port2;fe.port1.onmessage=re,me=function(){ge.postMessage(null)}}else me=function(){N(re,0)};function de(k,K){P=N(function(){k(e.unstable_now())},K)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(k){k.callback=null},e.unstable_forceFrameRate=function(k){0>k||125Y?(k.sortIndex=F,t(m,k),n(h)===null&&k===n(m)&&(S?(A(P),P=-1):S=!0,de($,F-Y))):(k.sortIndex=V,t(h,k),E||w||(E=!0,L||(L=!0,me()))),k},e.unstable_shouldYield=ce,e.unstable_wrapCallback=function(k){var K=x;return function(){var F=x;x=K;try{return k.apply(this,arguments)}finally{x=F}}}})(ip)),ip}var iw;function ak(){return iw||(iw=1,sp.exports=rk()),sp.exports}var op={exports:{}},yn={};/** * @license React * react-dom.production.js * @@ -30,7 +30,7 @@ function ZA(e,t){for(var n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),sp.exports=sk(),sp.exports}/** + */var ow;function sk(){if(ow)return yn;ow=1;var e=rf();function t(h){var m="https://react.dev/errors/"+h;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),op.exports=sk(),op.exports}/** * @license React * react-dom-client.production.js * @@ -38,15 +38,15 @@ function ZA(e,t){for(var n=0;nV||(r.current=Y[V],Y[V]=null,V--)}function I(r,s){V++,Y[V]=r.current,r.current=s}var H=A(null),q=A(null),ee=A(null),te=A(null);function Q(r,s){switch(I(ee,s),I(q,r),I(H,null),s.nodeType){case 9:case 11:r=(r=s.documentElement)&&(r=r.namespaceURI)?Ex(r):0;break;default:if(r=s.tagName,s=s.namespaceURI)s=Ex(s),r=Nx(s,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}O(H),I(H,r)}function se(){O(H),O(q),O(ee)}function je(r){r.memoizedState!==null&&I(te,r);var s=H.current,o=Nx(s,r.type);s!==o&&(I(q,r),I(H,o))}function ke(r){q.current===r&&(O(H),O(q)),te.current===r&&(O(te),gl._currentValue=F)}var Oe,ne;function Pe(r){if(Oe===void 0)try{throw Error()}catch(o){var s=o.stack.trim().match(/\n( *(at )?)/);Oe=s&&s[1]||"",ne=-1V||(r.current=Y[V],Y[V]=null,V--)}function I(r,s){V++,Y[V]=r.current,r.current=s}var H=R(null),q=R(null),ee=R(null),te=R(null);function Q(r,s){switch(I(ee,s),I(q,r),I(H,null),s.nodeType){case 9:case 11:r=(r=s.documentElement)&&(r=r.namespaceURI)?Ex(r):0;break;default:if(r=s.tagName,s=s.namespaceURI)s=Ex(s),r=Nx(s,r);else switch(r){case"svg":r=1;break;case"math":r=2;break;default:r=0}}O(H),I(H,r)}function se(){O(H),O(q),O(ee)}function je(r){r.memoizedState!==null&&I(te,r);var s=H.current,o=Nx(s,r.type);s!==o&&(I(q,r),I(H,o))}function ze(r){q.current===r&&(O(H),O(q)),te.current===r&&(O(te),gl._currentValue=F)}var Ne,ne;function Me(r){if(Ne===void 0)try{throw Error()}catch(o){var s=o.stack.trim().match(/\n( *(at )?)/);Ne=s&&s[1]||"",ne=-1)":-1p||D[u]!==W[p]){var ae=` -`+D[u].replace(" at new "," at ");return r.displayName&&ae.includes("")&&(ae=ae.replace("",r.displayName)),ae}while(1<=u&&0<=p);break}}}finally{Je=!1,Error.prepareStackTrace=o}return(o=r?r.displayName||r.name:"")?Pe(o):""}function De(r,s){switch(r.tag){case 26:case 27:case 5:return Pe(r.type);case 16:return Pe("Lazy");case 13:return r.child!==s&&s!==null?Pe("Suspense Fallback"):Pe("Suspense");case 19:return Pe("SuspenseList");case 0:case 15:return ie(r.type,!1);case 11:return ie(r.type.render,!1);case 1:return ie(r.type,!0);case 31:return Pe("Activity");default:return""}}function Ke(r){try{var s="",o=null;do s+=De(r,o),o=r,r=r.return;while(r);return s}catch(u){return` +`+D[u].replace(" at new "," at ");return r.displayName&&ae.includes("")&&(ae=ae.replace("",r.displayName)),ae}while(1<=u&&0<=p);break}}}finally{Je=!1,Error.prepareStackTrace=o}return(o=r?r.displayName||r.name:"")?Me(o):""}function De(r,s){switch(r.tag){case 26:case 27:case 5:return Me(r.type);case 16:return Me("Lazy");case 13:return r.child!==s&&s!==null?Me("Suspense Fallback"):Me("Suspense");case 19:return Me("SuspenseList");case 0:case 15:return ie(r.type,!1);case 11:return ie(r.type.render,!1);case 1:return ie(r.type,!0);case 31:return Me("Activity");default:return""}}function Xe(r){try{var s="",o=null;do s+=De(r,o),o=r,r=r.return;while(r);return s}catch(u){return` Error generating stack: `+u.message+` -`+u.stack}}var We=Object.prototype.hasOwnProperty,Rt=e.unstable_scheduleCallback,pe=e.unstable_cancelCallback,Ie=e.unstable_shouldYield,Ye=e.unstable_requestPaint,ze=e.unstable_now,ue=e.unstable_getCurrentPriorityLevel,qe=e.unstable_ImmediatePriority,ht=e.unstable_UserBlockingPriority,$t=e.unstable_NormalPriority,Nt=e.unstable_LowPriority,Ut=e.unstable_IdlePriority,sn=e.log,yn=e.unstable_setDisableYieldValue,pn=null,kt=null;function Yt(r){if(typeof sn=="function"&&yn(r),kt&&typeof kt.setStrictMode=="function")try{kt.setStrictMode(pn,r)}catch{}}var Ot=Math.clz32?Math.clz32:Zt,Yn=Math.log,fr=Math.LN2;function Zt(r){return r>>>=0,r===0?32:31-(Yn(r)/fr|0)|0}var he=256,Be=262144,Qe=4194304;function ot(r){var s=r&42;if(s!==0)return s;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return r&261888;case 262144:case 524288:case 1048576:case 2097152:return r&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function He(r,s,o){var u=r.pendingLanes;if(u===0)return 0;var p=0,y=r.suspendedLanes,_=r.pingedLanes;r=r.warmLanes;var j=u&134217727;return j!==0?(u=j&~y,u!==0?p=ot(u):(_&=j,_!==0?p=ot(_):o||(o=j&~r,o!==0&&(p=ot(o))))):(j=u&~y,j!==0?p=ot(j):_!==0?p=ot(_):o||(o=u&~r,o!==0&&(p=ot(o)))),p===0?0:s!==0&&s!==p&&(s&y)===0&&(y=p&-p,o=s&-s,y>=o||y===32&&(o&4194048)!==0)?s:p}function ye(r,s){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&s)===0}function lt(r,s){switch(r){case 1:case 2:case 4:case 8:case 64:return s+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function mt(){var r=Qe;return Qe<<=1,(Qe&62914560)===0&&(Qe=4194304),r}function Xt(r){for(var s=[],o=0;31>o;o++)s.push(r);return s}function yt(r,s){r.pendingLanes|=s,s!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function _n(r,s,o,u,p,y){var _=r.pendingLanes;r.pendingLanes=o,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=o,r.entangledLanes&=o,r.errorRecoveryDisabledLanes&=o,r.shellSuspendCounter=0;var j=r.entanglements,D=r.expirationTimes,W=r.hiddenUpdates;for(o=_&~o;0"u")return null;try{return r.activeElement||r.body}catch{return r.body}}var KT=/[\n"\\]/g;function Jn(r){return r.replace(KT,function(s){return"\\"+s.charCodeAt(0).toString(16)+" "})}function Wf(r,s,o,u,p,y,_,j){r.name="",_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"?r.type=_:r.removeAttribute("type"),s!=null?_==="number"?(s===0&&r.value===""||r.value!=s)&&(r.value=""+Xn(s)):r.value!==""+Xn(s)&&(r.value=""+Xn(s)):_!=="submit"&&_!=="reset"||r.removeAttribute("value"),s!=null?Yf(r,_,Xn(s)):o!=null?Yf(r,_,Xn(o)):u!=null&&r.removeAttribute("value"),p==null&&y!=null&&(r.defaultChecked=!!y),p!=null&&(r.checked=p&&typeof p!="function"&&typeof p!="symbol"),j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?r.name=""+Xn(j):r.removeAttribute("name")}function yy(r,s,o,u,p,y,_,j){if(y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"&&(r.type=y),s!=null||o!=null){if(!(y!=="submit"&&y!=="reset"||s!=null)){Kf(r);return}o=o!=null?""+Xn(o):"",s=s!=null?""+Xn(s):o,j||s===r.value||(r.value=s),r.defaultValue=s}u=u??p,u=typeof u!="function"&&typeof u!="symbol"&&!!u,r.checked=j?r.checked:!!u,r.defaultChecked=!!u,_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"&&(r.name=_),Kf(r)}function Yf(r,s,o){s==="number"&&_c(r.ownerDocument)===r||r.defaultValue===""+o||(r.defaultValue=""+o)}function ui(r,s,o,u){if(r=r.options,s){s={};for(var p=0;p"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),eh=!1;if(Kr)try{var Do={};Object.defineProperty(Do,"passive",{get:function(){eh=!0}}),window.addEventListener("test",Do,Do),window.removeEventListener("test",Do,Do)}catch{eh=!1}var Na=null,th=null,Ec=null;function Ny(){if(Ec)return Ec;var r,s=th,o=s.length,u,p="value"in Na?Na.value:Na.textContent,y=p.length;for(r=0;r=zo),ky=" ",Oy=!1;function My(r,s){switch(r){case"keyup":return wR.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dy(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var mi=!1;function SR(r,s){switch(r){case"compositionend":return Dy(s);case"keypress":return s.which!==32?null:(Oy=!0,ky);case"textInput":return r=s.data,r===ky&&Oy?null:r;default:return null}}function ER(r,s){if(mi)return r==="compositionend"||!ih&&My(r,s)?(r=Ny(),Ec=th=Na=null,mi=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:o,offset:s-r};r=u}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=Hy(o)}}function Vy(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?Vy(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function Fy(r){r=r!=null&&r.ownerDocument!=null&&r.ownerDocument.defaultView!=null?r.ownerDocument.defaultView:window;for(var s=_c(r.document);s instanceof r.HTMLIFrameElement;){try{var o=typeof s.contentWindow.location.href=="string"}catch{o=!1}if(o)r=s.contentWindow;else break;s=_c(r.document)}return s}function ch(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}var OR=Kr&&"documentMode"in document&&11>=document.documentMode,pi=null,uh=null,Bo=null,dh=!1;function Gy(r,s,o){var u=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;dh||pi==null||pi!==_c(u)||(u=pi,"selectionStart"in u&&ch(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),Bo&&Uo(Bo,u)||(Bo=u,u=vu(uh,"onSelect"),0>=_,p-=_,jr=1<<32-Ot(s)+p|o<et?(ut=Me,Me=null):ut=Me.sibling;var gt=X(B,Me,G[et],oe);if(gt===null){Me===null&&(Me=ut);break}r&&Me&>.alternate===null&&s(B,Me),L=y(gt,L,et),pt===null?$e=gt:pt.sibling=gt,pt=gt,Me=ut}if(et===G.length)return o(B,Me),dt&&Yr(B,et),$e;if(Me===null){for(;etet?(ut=Me,Me=null):ut=Me.sibling;var Ka=X(B,Me,gt.value,oe);if(Ka===null){Me===null&&(Me=ut);break}r&&Me&&Ka.alternate===null&&s(B,Me),L=y(Ka,L,et),pt===null?$e=Ka:pt.sibling=Ka,pt=Ka,Me=ut}if(gt.done)return o(B,Me),dt&&Yr(B,et),$e;if(Me===null){for(;!gt.done;et++,gt=G.next())gt=le(B,gt.value,oe),gt!==null&&(L=y(gt,L,et),pt===null?$e=gt:pt.sibling=gt,pt=gt);return dt&&Yr(B,et),$e}for(Me=u(Me);!gt.done;et++,gt=G.next())gt=Z(Me,B,et,gt.value,oe),gt!==null&&(r&>.alternate!==null&&Me.delete(gt.key===null?et:gt.key),L=y(gt,L,et),pt===null?$e=gt:pt.sibling=gt,pt=gt);return r&&Me.forEach(function(QA){return s(B,QA)}),dt&&Yr(B,et),$e}function St(B,L,G,oe){if(typeof G=="object"&&G!==null&&G.type===S&&G.key===null&&(G=G.props.children),typeof G=="object"&&G!==null){switch(G.$$typeof){case w:e:{for(var $e=G.key;L!==null;){if(L.key===$e){if($e=G.type,$e===S){if(L.tag===7){o(B,L.sibling),oe=p(L,G.props.children),oe.return=B,B=oe;break e}}else if(L.elementType===$e||typeof $e=="object"&&$e!==null&&$e.$$typeof===U&&Cs($e)===L.type){o(B,L.sibling),oe=p(L,G.props),Ko(oe,G),oe.return=B,B=oe;break e}o(B,L);break}else s(B,L);L=L.sibling}G.type===S?(oe=ws(G.props.children,B.mode,oe,G.key),oe.return=B,B=oe):(oe=Dc(G.type,G.key,G.props,null,B.mode,oe),Ko(oe,G),oe.return=B,B=oe)}return _(B);case E:e:{for($e=G.key;L!==null;){if(L.key===$e)if(L.tag===4&&L.stateNode.containerInfo===G.containerInfo&&L.stateNode.implementation===G.implementation){o(B,L.sibling),oe=p(L,G.children||[]),oe.return=B,B=oe;break e}else{o(B,L);break}else s(B,L);L=L.sibling}oe=yh(G,B.mode,oe),oe.return=B,B=oe}return _(B);case U:return G=Cs(G),St(B,L,G,oe)}if(de(G))return Te(B,L,G,oe);if(me(G)){if($e=me(G),typeof $e!="function")throw Error(a(150));return G=$e.call(G),Ve(B,L,G,oe)}if(typeof G.then=="function")return St(B,L,Bc(G),oe);if(G.$$typeof===R)return St(B,L,zc(B,G),oe);Hc(B,G)}return typeof G=="string"&&G!==""||typeof G=="number"||typeof G=="bigint"?(G=""+G,L!==null&&L.tag===6?(o(B,L.sibling),oe=p(L,G),oe.return=B,B=oe):(o(B,L),oe=vh(G,B.mode,oe),oe.return=B,B=oe),_(B)):o(B,L)}return function(B,L,G,oe){try{Go=0;var $e=St(B,L,G,oe);return Ci=null,$e}catch(Me){if(Me===Ni||Me===$c)throw Me;var pt=$n(29,Me,null,B.mode);return pt.lanes=oe,pt.return=B,pt}finally{}}}var Ts=pb(!0),gb=pb(!1),Aa=!1;function Ah(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function kh(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,callbacks:null})}function ka(r){return{lane:r,tag:0,payload:null,callback:null,next:null}}function Oa(r,s,o){var u=r.updateQueue;if(u===null)return null;if(u=u.shared,(vt&2)!==0){var p=u.pending;return p===null?s.next=s:(s.next=p.next,p.next=s),u.pending=s,s=Mc(r),Zy(r,null,o),s}return Oc(r,u,s,o),Mc(r)}function Wo(r,s,o){if(s=s.updateQueue,s!==null&&(s=s.shared,(o&4194048)!==0)){var u=s.lanes;u&=r.pendingLanes,o|=u,s.lanes=o,Sn(r,o)}}function Oh(r,s){var o=r.updateQueue,u=r.alternate;if(u!==null&&(u=u.updateQueue,o===u)){var p=null,y=null;if(o=o.firstBaseUpdate,o!==null){do{var _={lane:o.lane,tag:o.tag,payload:o.payload,callback:null,next:null};y===null?p=y=_:y=y.next=_,o=o.next}while(o!==null);y===null?p=y=s:y=y.next=s}else p=y=s;o={baseState:u.baseState,firstBaseUpdate:p,lastBaseUpdate:y,shared:u.shared,callbacks:u.callbacks},r.updateQueue=o;return}r=o.lastBaseUpdate,r===null?o.firstBaseUpdate=s:r.next=s,o.lastBaseUpdate=s}var Mh=!1;function Yo(){if(Mh){var r=Ei;if(r!==null)throw r}}function Xo(r,s,o,u){Mh=!1;var p=r.updateQueue;Aa=!1;var y=p.firstBaseUpdate,_=p.lastBaseUpdate,j=p.shared.pending;if(j!==null){p.shared.pending=null;var D=j,W=D.next;D.next=null,_===null?y=W:_.next=W,_=D;var ae=r.alternate;ae!==null&&(ae=ae.updateQueue,j=ae.lastBaseUpdate,j!==_&&(j===null?ae.firstBaseUpdate=W:j.next=W,ae.lastBaseUpdate=D))}if(y!==null){var le=p.baseState;_=0,ae=W=D=null,j=y;do{var X=j.lane&-536870913,Z=X!==j.lane;if(Z?(ct&X)===X:(u&X)===X){X!==0&&X===Si&&(Mh=!0),ae!==null&&(ae=ae.next={lane:0,tag:j.tag,payload:j.payload,callback:null,next:null});e:{var Te=r,Ve=j;X=s;var St=o;switch(Ve.tag){case 1:if(Te=Ve.payload,typeof Te=="function"){le=Te.call(St,le,X);break e}le=Te;break e;case 3:Te.flags=Te.flags&-65537|128;case 0:if(Te=Ve.payload,X=typeof Te=="function"?Te.call(St,le,X):Te,X==null)break e;le=g({},le,X);break e;case 2:Aa=!0}}X=j.callback,X!==null&&(r.flags|=64,Z&&(r.flags|=8192),Z=p.callbacks,Z===null?p.callbacks=[X]:Z.push(X))}else Z={lane:X,tag:j.tag,payload:j.payload,callback:j.callback,next:null},ae===null?(W=ae=Z,D=le):ae=ae.next=Z,_|=X;if(j=j.next,j===null){if(j=p.shared.pending,j===null)break;Z=j,j=Z.next,Z.next=null,p.lastBaseUpdate=Z,p.shared.pending=null}}while(!0);ae===null&&(D=le),p.baseState=D,p.firstBaseUpdate=W,p.lastBaseUpdate=ae,y===null&&(p.shared.lanes=0),za|=_,r.lanes=_,r.memoizedState=le}}function vb(r,s){if(typeof r!="function")throw Error(a(191,r));r.call(s)}function yb(r,s){var o=r.callbacks;if(o!==null)for(r.callbacks=null,r=0;ry?y:8;var _=k.T,j={};k.T=j,Qh(r,!1,s,o);try{var D=p(),W=k.S;if(W!==null&&W(j,D),D!==null&&typeof D=="object"&&typeof D.then=="function"){var ae=BR(D,u);Zo(r,s,ae,Vn(r))}else Zo(r,s,u,Vn(r))}catch(le){Zo(r,s,{then:function(){},status:"rejected",reason:le},Vn())}finally{K.p=y,_!==null&&j.types!==null&&(_.types=j.types),k.T=_}}function KR(){}function Xh(r,s,o,u){if(r.tag!==5)throw Error(a(476));var p=Xb(r).queue;Yb(r,p,s,F,o===null?KR:function(){return Jb(r),o(u)})}function Xb(r){var s=r.memoizedState;if(s!==null)return s;s={memoizedState:F,baseState:F,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Zr,lastRenderedState:F},next:null};var o={};return s.next={memoizedState:o,baseState:o,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Zr,lastRenderedState:o},next:null},r.memoizedState=s,r=r.alternate,r!==null&&(r.memoizedState=s),s}function Jb(r){var s=Xb(r);s.next===null&&(s=r.alternate.memoizedState),Zo(r,s.next.queue,{},Vn())}function Jh(){return cn(gl)}function Qb(){return It().memoizedState}function Zb(){return It().memoizedState}function WR(r){for(var s=r.return;s!==null;){switch(s.tag){case 24:case 3:var o=Vn();r=ka(o);var u=Oa(s,r,o);u!==null&&(kn(u,s,o),Wo(u,s,o)),s={cache:Ch()},r.payload=s;return}s=s.return}}function YR(r,s,o){var u=Vn();o={lane:u,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},Qc(r)?t0(s,o):(o=ph(r,s,o,u),o!==null&&(kn(o,r,u),n0(o,s,u)))}function e0(r,s,o){var u=Vn();Zo(r,s,o,u)}function Zo(r,s,o,u){var p={lane:u,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null};if(Qc(r))t0(s,p);else{var y=r.alternate;if(r.lanes===0&&(y===null||y.lanes===0)&&(y=s.lastRenderedReducer,y!==null))try{var _=s.lastRenderedState,j=y(_,o);if(p.hasEagerState=!0,p.eagerState=j,In(j,_))return Oc(r,s,p,0),Et===null&&kc(),!1}catch{}finally{}if(o=ph(r,s,p,u),o!==null)return kn(o,r,u),n0(o,s,u),!0}return!1}function Qh(r,s,o,u){if(u={lane:2,revertLane:Am(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},Qc(r)){if(s)throw Error(a(479))}else s=ph(r,o,u,2),s!==null&&kn(s,r,2)}function Qc(r){var s=r.alternate;return r===Ze||s!==null&&s===Ze}function t0(r,s){Ti=Fc=!0;var o=r.pending;o===null?s.next=s:(s.next=o.next,o.next=s),r.pending=s}function n0(r,s,o){if((o&4194048)!==0){var u=s.lanes;u&=r.pendingLanes,o|=u,s.lanes=o,Sn(r,o)}}var el={readContext:cn,use:Wc,useCallback:Dt,useContext:Dt,useEffect:Dt,useImperativeHandle:Dt,useLayoutEffect:Dt,useInsertionEffect:Dt,useMemo:Dt,useReducer:Dt,useRef:Dt,useState:Dt,useDebugValue:Dt,useDeferredValue:Dt,useTransition:Dt,useSyncExternalStore:Dt,useId:Dt,useHostTransitionStatus:Dt,useFormState:Dt,useActionState:Dt,useOptimistic:Dt,useMemoCache:Dt,useCacheRefresh:Dt};el.useEffectEvent=Dt;var r0={readContext:cn,use:Wc,useCallback:function(r,s){return bn().memoizedState=[r,s===void 0?null:s],r},useContext:cn,useEffect:Ub,useImperativeHandle:function(r,s,o){o=o!=null?o.concat([r]):null,Xc(4194308,4,Vb.bind(null,s,r),o)},useLayoutEffect:function(r,s){return Xc(4194308,4,r,s)},useInsertionEffect:function(r,s){Xc(4,2,r,s)},useMemo:function(r,s){var o=bn();s=s===void 0?null:s;var u=r();if(Rs){Yt(!0);try{r()}finally{Yt(!1)}}return o.memoizedState=[u,s],u},useReducer:function(r,s,o){var u=bn();if(o!==void 0){var p=o(s);if(Rs){Yt(!0);try{o(s)}finally{Yt(!1)}}}else p=s;return u.memoizedState=u.baseState=p,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:p},u.queue=r,r=r.dispatch=YR.bind(null,Ze,r),[u.memoizedState,r]},useRef:function(r){var s=bn();return r={current:r},s.memoizedState=r},useState:function(r){r=Fh(r);var s=r.queue,o=e0.bind(null,Ze,s);return s.dispatch=o,[r.memoizedState,o]},useDebugValue:Wh,useDeferredValue:function(r,s){var o=bn();return Yh(o,r,s)},useTransition:function(){var r=Fh(!1);return r=Yb.bind(null,Ze,r.queue,!0,!1),bn().memoizedState=r,[!1,r]},useSyncExternalStore:function(r,s,o){var u=Ze,p=bn();if(dt){if(o===void 0)throw Error(a(407));o=o()}else{if(o=s(),Et===null)throw Error(a(349));(ct&127)!==0||Eb(u,s,o)}p.memoizedState=o;var y={value:o,getSnapshot:s};return p.queue=y,Ub(Cb.bind(null,u,y,r),[r]),u.flags|=2048,Ai(9,{destroy:void 0},Nb.bind(null,u,y,o,s),null),o},useId:function(){var r=bn(),s=Et.identifierPrefix;if(dt){var o=Tr,u=jr;o=(u&~(1<<32-Ot(u)-1)).toString(32)+o,s="_"+s+"R_"+o,o=Gc++,0<\/script>",y=y.removeChild(y.firstChild);break;case"select":y=typeof u.is=="string"?_.createElement("select",{is:u.is}):_.createElement("select"),u.multiple?y.multiple=!0:u.size&&(y.size=u.size);break;default:y=typeof u.is=="string"?_.createElement(p,{is:u.is}):_.createElement(p)}}y[on]=s,y[Nn]=u;e:for(_=s.child;_!==null;){if(_.tag===5||_.tag===6)y.appendChild(_.stateNode);else if(_.tag!==4&&_.tag!==27&&_.child!==null){_.child.return=_,_=_.child;continue}if(_===s)break e;for(;_.sibling===null;){if(_.return===null||_.return===s)break e;_=_.return}_.sibling.return=_.return,_=_.sibling}s.stateNode=y;e:switch(dn(y,p,u),p){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break e;case"img":u=!0;break e;default:u=!1}u&&ta(s)}}return Tt(s),fm(s,s.type,r===null?null:r.memoizedProps,s.pendingProps,o),null;case 6:if(r&&s.stateNode!=null)r.memoizedProps!==u&&ta(s);else{if(typeof u!="string"&&s.stateNode===null)throw Error(a(166));if(r=ee.current,wi(s)){if(r=s.stateNode,o=s.memoizedProps,u=null,p=ln,p!==null)switch(p.tag){case 27:case 5:u=p.memoizedProps}r[on]=s,r=!!(r.nodeValue===o||u!==null&&u.suppressHydrationWarning===!0||_x(r.nodeValue,o)),r||Ta(s,!0)}else r=yu(r).createTextNode(u),r[on]=s,s.stateNode=r}return Tt(s),null;case 31:if(o=s.memoizedState,r===null||r.memoizedState!==null){if(u=wi(s),o!==null){if(r===null){if(!u)throw Error(a(318));if(r=s.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(a(557));r[on]=s}else _s(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;Tt(s),r=!1}else o=_h(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=o),r=!0;if(!r)return s.flags&256?(Bn(s),s):(Bn(s),null);if((s.flags&128)!==0)throw Error(a(558))}return Tt(s),null;case 13:if(u=s.memoizedState,r===null||r.memoizedState!==null&&r.memoizedState.dehydrated!==null){if(p=wi(s),u!==null&&u.dehydrated!==null){if(r===null){if(!p)throw Error(a(318));if(p=s.memoizedState,p=p!==null?p.dehydrated:null,!p)throw Error(a(317));p[on]=s}else _s(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;Tt(s),p=!1}else p=_h(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=p),p=!0;if(!p)return s.flags&256?(Bn(s),s):(Bn(s),null)}return Bn(s),(s.flags&128)!==0?(s.lanes=o,s):(o=u!==null,r=r!==null&&r.memoizedState!==null,o&&(u=s.child,p=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(p=u.alternate.memoizedState.cachePool.pool),y=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(y=u.memoizedState.cachePool.pool),y!==p&&(u.flags|=2048)),o!==r&&o&&(s.child.flags|=8192),ru(s,s.updateQueue),Tt(s),null);case 4:return se(),r===null&&Dm(s.stateNode.containerInfo),Tt(s),null;case 10:return Jr(s.type),Tt(s),null;case 19:if(O(zt),u=s.memoizedState,u===null)return Tt(s),null;if(p=(s.flags&128)!==0,y=u.rendering,y===null)if(p)nl(u,!1);else{if(Pt!==0||r!==null&&(r.flags&128)!==0)for(r=s.child;r!==null;){if(y=Vc(r),y!==null){for(s.flags|=128,nl(u,!1),r=y.updateQueue,s.updateQueue=r,ru(s,r),s.subtreeFlags=0,r=o,o=s.child;o!==null;)eb(o,r),o=o.sibling;return I(zt,zt.current&1|2),dt&&Yr(s,u.treeForkCount),s.child}r=r.sibling}u.tail!==null&&ze()>lu&&(s.flags|=128,p=!0,nl(u,!1),s.lanes=4194304)}else{if(!p)if(r=Vc(y),r!==null){if(s.flags|=128,p=!0,r=r.updateQueue,s.updateQueue=r,ru(s,r),nl(u,!0),u.tail===null&&u.tailMode==="hidden"&&!y.alternate&&!dt)return Tt(s),null}else 2*ze()-u.renderingStartTime>lu&&o!==536870912&&(s.flags|=128,p=!0,nl(u,!1),s.lanes=4194304);u.isBackwards?(y.sibling=s.child,s.child=y):(r=u.last,r!==null?r.sibling=y:s.child=y,u.last=y)}return u.tail!==null?(r=u.tail,u.rendering=r,u.tail=r.sibling,u.renderingStartTime=ze(),r.sibling=null,o=zt.current,I(zt,p?o&1|2:o&1),dt&&Yr(s,u.treeForkCount),r):(Tt(s),null);case 22:case 23:return Bn(s),Ph(),u=s.memoizedState!==null,r!==null?r.memoizedState!==null!==u&&(s.flags|=8192):u&&(s.flags|=8192),u?(o&536870912)!==0&&(s.flags&128)===0&&(Tt(s),s.subtreeFlags&6&&(s.flags|=8192)):Tt(s),o=s.updateQueue,o!==null&&ru(s,o.retryQueue),o=null,r!==null&&r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),u=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(u=s.memoizedState.cachePool.pool),u!==o&&(s.flags|=2048),r!==null&&O(Ns),null;case 24:return o=null,r!==null&&(o=r.memoizedState.cache),s.memoizedState.cache!==o&&(s.flags|=2048),Jr(Bt),Tt(s),null;case 25:return null;case 30:return null}throw Error(a(156,s.tag))}function eA(r,s){switch(xh(s),s.tag){case 1:return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return Jr(Bt),se(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 26:case 27:case 5:return ke(s),null;case 31:if(s.memoizedState!==null){if(Bn(s),s.alternate===null)throw Error(a(340));_s()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 13:if(Bn(s),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(a(340));_s()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return O(zt),null;case 4:return se(),null;case 10:return Jr(s.type),null;case 22:case 23:return Bn(s),Ph(),r!==null&&O(Ns),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 24:return Jr(Bt),null;case 25:return null;default:return null}}function j0(r,s){switch(xh(s),s.tag){case 3:Jr(Bt),se();break;case 26:case 27:case 5:ke(s);break;case 4:se();break;case 31:s.memoizedState!==null&&Bn(s);break;case 13:Bn(s);break;case 19:O(zt);break;case 10:Jr(s.type);break;case 22:case 23:Bn(s),Ph(),r!==null&&O(Ns);break;case 24:Jr(Bt)}}function rl(r,s){try{var o=s.updateQueue,u=o!==null?o.lastEffect:null;if(u!==null){var p=u.next;o=p;do{if((o.tag&r)===r){u=void 0;var y=o.create,_=o.inst;u=y(),_.destroy=u}o=o.next}while(o!==p)}}catch(j){xt(s,s.return,j)}}function Pa(r,s,o){try{var u=s.updateQueue,p=u!==null?u.lastEffect:null;if(p!==null){var y=p.next;u=y;do{if((u.tag&r)===r){var _=u.inst,j=_.destroy;if(j!==void 0){_.destroy=void 0,p=s;var D=o,W=j;try{W()}catch(ae){xt(p,D,ae)}}}u=u.next}while(u!==y)}}catch(ae){xt(s,s.return,ae)}}function T0(r){var s=r.updateQueue;if(s!==null){var o=r.stateNode;try{yb(s,o)}catch(u){xt(r,r.return,u)}}}function R0(r,s,o){o.props=As(r.type,r.memoizedProps),o.state=r.memoizedState;try{o.componentWillUnmount()}catch(u){xt(r,s,u)}}function al(r,s){try{var o=r.ref;if(o!==null){switch(r.tag){case 26:case 27:case 5:var u=r.stateNode;break;case 30:u=r.stateNode;break;default:u=r.stateNode}typeof o=="function"?r.refCleanup=o(u):o.current=u}}catch(p){xt(r,s,p)}}function Rr(r,s){var o=r.ref,u=r.refCleanup;if(o!==null)if(typeof u=="function")try{u()}catch(p){xt(r,s,p)}finally{r.refCleanup=null,r=r.alternate,r!=null&&(r.refCleanup=null)}else if(typeof o=="function")try{o(null)}catch(p){xt(r,s,p)}else o.current=null}function A0(r){var s=r.type,o=r.memoizedProps,u=r.stateNode;try{e:switch(s){case"button":case"input":case"select":case"textarea":o.autoFocus&&u.focus();break e;case"img":o.src?u.src=o.src:o.srcSet&&(u.srcset=o.srcSet)}}catch(p){xt(r,r.return,p)}}function hm(r,s,o){try{var u=r.stateNode;_A(u,r.type,o,s),u[Nn]=s}catch(p){xt(r,r.return,p)}}function k0(r){return r.tag===5||r.tag===3||r.tag===26||r.tag===27&&Ha(r.type)||r.tag===4}function mm(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||k0(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.tag===27&&Ha(r.type)||r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function pm(r,s,o){var u=r.tag;if(u===5||u===6)r=r.stateNode,s?(o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o).insertBefore(r,s):(s=o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o,s.appendChild(r),o=o._reactRootContainer,o!=null||s.onclick!==null||(s.onclick=Gr));else if(u!==4&&(u===27&&Ha(r.type)&&(o=r.stateNode,s=null),r=r.child,r!==null))for(pm(r,s,o),r=r.sibling;r!==null;)pm(r,s,o),r=r.sibling}function au(r,s,o){var u=r.tag;if(u===5||u===6)r=r.stateNode,s?o.insertBefore(r,s):o.appendChild(r);else if(u!==4&&(u===27&&Ha(r.type)&&(o=r.stateNode),r=r.child,r!==null))for(au(r,s,o),r=r.sibling;r!==null;)au(r,s,o),r=r.sibling}function O0(r){var s=r.stateNode,o=r.memoizedProps;try{for(var u=r.type,p=s.attributes;p.length;)s.removeAttributeNode(p[0]);dn(s,u,o),s[on]=r,s[Nn]=o}catch(y){xt(r,r.return,y)}}var na=!1,Vt=!1,gm=!1,M0=typeof WeakSet=="function"?WeakSet:Set,tn=null;function tA(r,s){if(r=r.containerInfo,zm=Nu,r=Fy(r),ch(r)){if("selectionStart"in r)var o={start:r.selectionStart,end:r.selectionEnd};else e:{o=(o=r.ownerDocument)&&o.defaultView||window;var u=o.getSelection&&o.getSelection();if(u&&u.rangeCount!==0){o=u.anchorNode;var p=u.anchorOffset,y=u.focusNode;u=u.focusOffset;try{o.nodeType,y.nodeType}catch{o=null;break e}var _=0,j=-1,D=-1,W=0,ae=0,le=r,X=null;t:for(;;){for(var Z;le!==o||p!==0&&le.nodeType!==3||(j=_+p),le!==y||u!==0&&le.nodeType!==3||(D=_+u),le.nodeType===3&&(_+=le.nodeValue.length),(Z=le.firstChild)!==null;)X=le,le=Z;for(;;){if(le===r)break t;if(X===o&&++W===p&&(j=_),X===y&&++ae===u&&(D=_),(Z=le.nextSibling)!==null)break;le=X,X=le.parentNode}le=Z}o=j===-1||D===-1?null:{start:j,end:D}}else o=null}o=o||{start:0,end:0}}else o=null;for(Im={focusedElem:r,selectionRange:o},Nu=!1,tn=s;tn!==null;)if(s=tn,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,tn=r;else for(;tn!==null;){switch(s=tn,y=s.alternate,r=s.flags,s.tag){case 0:if((r&4)!==0&&(r=s.updateQueue,r=r!==null?r.events:null,r!==null))for(o=0;o title"))),dn(y,u,o),y[on]=r,en(y),u=y;break e;case"link":var _=$x("link","href",p).get(u+(o.href||""));if(_){for(var j=0;j<_.length;j++)if(y=_[j],y.getAttribute("href")===(o.href==null||o.href===""?null:o.href)&&y.getAttribute("rel")===(o.rel==null?null:o.rel)&&y.getAttribute("title")===(o.title==null?null:o.title)&&y.getAttribute("crossorigin")===(o.crossOrigin==null?null:o.crossOrigin)){_.splice(j,1);break t}}y=p.createElement(u),dn(y,u,o),p.head.appendChild(y);break;case"meta":if(_=$x("meta","content",p).get(u+(o.content||""))){for(j=0;j<_.length;j++)if(y=_[j],y.getAttribute("content")===(o.content==null?null:""+o.content)&&y.getAttribute("name")===(o.name==null?null:o.name)&&y.getAttribute("property")===(o.property==null?null:o.property)&&y.getAttribute("http-equiv")===(o.httpEquiv==null?null:o.httpEquiv)&&y.getAttribute("charset")===(o.charSet==null?null:o.charSet)){_.splice(j,1);break t}}y=p.createElement(u),dn(y,u,o),p.head.appendChild(y);break;default:throw Error(a(468,u))}y[on]=r,en(y),u=y}r.stateNode=u}else Ux(p,r.type,r.stateNode);else r.stateNode=Ix(p,u,r.memoizedProps);else y!==u?(y===null?o.stateNode!==null&&(o=o.stateNode,o.parentNode.removeChild(o)):y.count--,u===null?Ux(p,r.type,r.stateNode):Ix(p,u,r.memoizedProps)):u===null&&r.stateNode!==null&&hm(r,r.memoizedProps,o.memoizedProps)}break;case 27:Tn(s,r),Rn(r),u&512&&(Vt||o===null||Rr(o,o.return)),o!==null&&u&4&&hm(r,r.memoizedProps,o.memoizedProps);break;case 5:if(Tn(s,r),Rn(r),u&512&&(Vt||o===null||Rr(o,o.return)),r.flags&32){p=r.stateNode;try{di(p,"")}catch(Te){xt(r,r.return,Te)}}u&4&&r.stateNode!=null&&(p=r.memoizedProps,hm(r,p,o!==null?o.memoizedProps:p)),u&1024&&(gm=!0);break;case 6:if(Tn(s,r),Rn(r),u&4){if(r.stateNode===null)throw Error(a(162));u=r.memoizedProps,o=r.stateNode;try{o.nodeValue=u}catch(Te){xt(r,r.return,Te)}}break;case 3:if(wu=null,p=pr,pr=bu(s.containerInfo),Tn(s,r),pr=p,Rn(r),u&4&&o!==null&&o.memoizedState.isDehydrated)try{Hi(s.containerInfo)}catch(Te){xt(r,r.return,Te)}gm&&(gm=!1,U0(r));break;case 4:u=pr,pr=bu(r.stateNode.containerInfo),Tn(s,r),Rn(r),pr=u;break;case 12:Tn(s,r),Rn(r);break;case 31:Tn(s,r),Rn(r),u&4&&(u=r.updateQueue,u!==null&&(r.updateQueue=null,su(r,u)));break;case 13:Tn(s,r),Rn(r),r.child.flags&8192&&r.memoizedState!==null!=(o!==null&&o.memoizedState!==null)&&(ou=ze()),u&4&&(u=r.updateQueue,u!==null&&(r.updateQueue=null,su(r,u)));break;case 22:p=r.memoizedState!==null;var D=o!==null&&o.memoizedState!==null,W=na,ae=Vt;if(na=W||p,Vt=ae||D,Tn(s,r),Vt=ae,na=W,Rn(r),u&8192)e:for(s=r.stateNode,s._visibility=p?s._visibility&-2:s._visibility|1,p&&(o===null||D||na||Vt||ks(r)),o=null,s=r;;){if(s.tag===5||s.tag===26){if(o===null){D=o=s;try{if(y=D.stateNode,p)_=y.style,typeof _.setProperty=="function"?_.setProperty("display","none","important"):_.display="none";else{j=D.stateNode;var le=D.memoizedProps.style,X=le!=null&&le.hasOwnProperty("display")?le.display:null;j.style.display=X==null||typeof X=="boolean"?"":(""+X).trim()}}catch(Te){xt(D,D.return,Te)}}}else if(s.tag===6){if(o===null){D=s;try{D.stateNode.nodeValue=p?"":D.memoizedProps}catch(Te){xt(D,D.return,Te)}}}else if(s.tag===18){if(o===null){D=s;try{var Z=D.stateNode;p?Rx(Z,!0):Rx(D.stateNode,!1)}catch(Te){xt(D,D.return,Te)}}}else if((s.tag!==22&&s.tag!==23||s.memoizedState===null||s===r)&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===r)break e;for(;s.sibling===null;){if(s.return===null||s.return===r)break e;o===s&&(o=null),s=s.return}o===s&&(o=null),s.sibling.return=s.return,s=s.sibling}u&4&&(u=r.updateQueue,u!==null&&(o=u.retryQueue,o!==null&&(u.retryQueue=null,su(r,o))));break;case 19:Tn(s,r),Rn(r),u&4&&(u=r.updateQueue,u!==null&&(r.updateQueue=null,su(r,u)));break;case 30:break;case 21:break;default:Tn(s,r),Rn(r)}}function Rn(r){var s=r.flags;if(s&2){try{for(var o,u=r.return;u!==null;){if(k0(u)){o=u;break}u=u.return}if(o==null)throw Error(a(160));switch(o.tag){case 27:var p=o.stateNode,y=mm(r);au(r,y,p);break;case 5:var _=o.stateNode;o.flags&32&&(di(_,""),o.flags&=-33);var j=mm(r);au(r,j,_);break;case 3:case 4:var D=o.stateNode.containerInfo,W=mm(r);pm(r,W,D);break;default:throw Error(a(161))}}catch(ae){xt(r,r.return,ae)}r.flags&=-3}s&4096&&(r.flags&=-4097)}function U0(r){if(r.subtreeFlags&1024)for(r=r.child;r!==null;){var s=r;U0(s),s.tag===5&&s.flags&1024&&s.stateNode.reset(),r=r.sibling}}function aa(r,s){if(s.subtreeFlags&8772)for(s=s.child;s!==null;)D0(r,s.alternate,s),s=s.sibling}function ks(r){for(r=r.child;r!==null;){var s=r;switch(s.tag){case 0:case 11:case 14:case 15:Pa(4,s,s.return),ks(s);break;case 1:Rr(s,s.return);var o=s.stateNode;typeof o.componentWillUnmount=="function"&&R0(s,s.return,o),ks(s);break;case 27:hl(s.stateNode);case 26:case 5:Rr(s,s.return),ks(s);break;case 22:s.memoizedState===null&&ks(s);break;case 30:ks(s);break;default:ks(s)}r=r.sibling}}function sa(r,s,o){for(o=o&&(s.subtreeFlags&8772)!==0,s=s.child;s!==null;){var u=s.alternate,p=r,y=s,_=y.flags;switch(y.tag){case 0:case 11:case 15:sa(p,y,o),rl(4,y);break;case 1:if(sa(p,y,o),u=y,p=u.stateNode,typeof p.componentDidMount=="function")try{p.componentDidMount()}catch(W){xt(u,u.return,W)}if(u=y,p=u.updateQueue,p!==null){var j=u.stateNode;try{var D=p.shared.hiddenCallbacks;if(D!==null)for(p.shared.hiddenCallbacks=null,p=0;pSt&&(_=St,St=Ve,Ve=_);var B=qy(j,Ve),L=qy(j,St);if(B&&L&&(Z.rangeCount!==1||Z.anchorNode!==B.node||Z.anchorOffset!==B.offset||Z.focusNode!==L.node||Z.focusOffset!==L.offset)){var G=le.createRange();G.setStart(B.node,B.offset),Z.removeAllRanges(),Ve>St?(Z.addRange(G),Z.extend(L.node,L.offset)):(G.setEnd(L.node,L.offset),Z.addRange(G))}}}}for(le=[],Z=j;Z=Z.parentNode;)Z.nodeType===1&&le.push({element:Z,left:Z.scrollLeft,top:Z.scrollTop});for(typeof j.focus=="function"&&j.focus(),j=0;jo?32:o,k.T=null,o=Sm,Sm=null;var y=$a,_=oa;if(Jt=0,Pi=$a=null,oa=0,(vt&6)!==0)throw Error(a(331));var j=vt;if(vt|=4,V0(y.current),B0(y,y.current,_,o),vt=j,ul(0,!1),kt&&typeof kt.onPostCommitFiberRoot=="function")try{kt.onPostCommitFiberRoot(pn,y)}catch{}return!0}finally{K.p=p,k.T=u,lx(r,s)}}function ux(r,s,o){s=Zn(o,s),s=nm(r.stateNode,s,2),r=Oa(r,s,2),r!==null&&(yt(r,2),Ar(r))}function xt(r,s,o){if(r.tag===3)ux(r,r,o);else for(;s!==null;){if(s.tag===3){ux(s,r,o);break}else if(s.tag===1){var u=s.stateNode;if(typeof s.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Ia===null||!Ia.has(u))){r=Zn(o,r),o=d0(2),u=Oa(s,o,2),u!==null&&(f0(o,u,s,r),yt(u,2),Ar(u));break}}s=s.return}}function jm(r,s,o){var u=r.pingCache;if(u===null){u=r.pingCache=new aA;var p=new Set;u.set(s,p)}else p=u.get(s),p===void 0&&(p=new Set,u.set(s,p));p.has(o)||(bm=!0,p.add(o),r=cA.bind(null,r,s,o),s.then(r,r))}function cA(r,s,o){var u=r.pingCache;u!==null&&u.delete(s),r.pingedLanes|=r.suspendedLanes&o,r.warmLanes&=~o,Et===r&&(ct&o)===o&&(Pt===4||Pt===3&&(ct&62914560)===ct&&300>ze()-ou?(vt&2)===0&&Li(r,0):xm|=o,Di===ct&&(Di=0)),Ar(r)}function dx(r,s){s===0&&(s=mt()),r=xs(r,s),r!==null&&(yt(r,s),Ar(r))}function uA(r){var s=r.memoizedState,o=0;s!==null&&(o=s.retryLane),dx(r,o)}function dA(r,s){var o=0;switch(r.tag){case 31:case 13:var u=r.stateNode,p=r.memoizedState;p!==null&&(o=p.retryLane);break;case 19:u=r.stateNode;break;case 22:u=r.stateNode._retryCache;break;default:throw Error(a(314))}u!==null&&u.delete(s),dx(r,o)}function fA(r,s){return Rt(r,s)}var mu=null,Ii=null,Tm=!1,pu=!1,Rm=!1,Ba=0;function Ar(r){r!==Ii&&r.next===null&&(Ii===null?mu=Ii=r:Ii=Ii.next=r),pu=!0,Tm||(Tm=!0,mA())}function ul(r,s){if(!Rm&&pu){Rm=!0;do for(var o=!1,u=mu;u!==null;){if(r!==0){var p=u.pendingLanes;if(p===0)var y=0;else{var _=u.suspendedLanes,j=u.pingedLanes;y=(1<<31-Ot(42|r)+1)-1,y&=p&~(_&~j),y=y&201326741?y&201326741|1:y?y|2:0}y!==0&&(o=!0,px(u,y))}else y=ct,y=He(u,u===Et?y:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),(y&3)===0||ye(u,y)||(o=!0,px(u,y));u=u.next}while(o);Rm=!1}}function hA(){fx()}function fx(){pu=Tm=!1;var r=0;Ba!==0&&EA()&&(r=Ba);for(var s=ze(),o=null,u=mu;u!==null;){var p=u.next,y=hx(u,s);y===0?(u.next=null,o===null?mu=p:o.next=p,p===null&&(Ii=o)):(o=u,(r!==0||(y&3)!==0)&&(pu=!0)),u=p}Jt!==0&&Jt!==5||ul(r),Ba!==0&&(Ba=0)}function hx(r,s){for(var o=r.suspendedLanes,u=r.pingedLanes,p=r.expirationTimes,y=r.pendingLanes&-62914561;0j)break;var ae=D.transferSize,le=D.initiatorType;ae&&Sx(le)&&(D=D.responseEnd,_+=ae*(D"u"?null:document;function Px(r,s,o){var u=$i;if(u&&typeof s=="string"&&s){var p=Jn(s);p='link[rel="'+r+'"][href="'+p+'"]',typeof o=="string"&&(p+='[crossorigin="'+o+'"]'),Dx.has(p)||(Dx.add(p),r={rel:r,crossOrigin:o,href:s},u.querySelector(p)===null&&(s=u.createElement("link"),dn(s,"link",r),en(s),u.head.appendChild(s)))}}function MA(r){la.D(r),Px("dns-prefetch",r,null)}function DA(r,s){la.C(r,s),Px("preconnect",r,s)}function PA(r,s,o){la.L(r,s,o);var u=$i;if(u&&r&&s){var p='link[rel="preload"][as="'+Jn(s)+'"]';s==="image"&&o&&o.imageSrcSet?(p+='[imagesrcset="'+Jn(o.imageSrcSet)+'"]',typeof o.imageSizes=="string"&&(p+='[imagesizes="'+Jn(o.imageSizes)+'"]')):p+='[href="'+Jn(r)+'"]';var y=p;switch(s){case"style":y=Ui(r);break;case"script":y=Bi(r)}sr.has(y)||(r=g({rel:"preload",href:s==="image"&&o&&o.imageSrcSet?void 0:r,as:s},o),sr.set(y,r),u.querySelector(p)!==null||s==="style"&&u.querySelector(ml(y))||s==="script"&&u.querySelector(pl(y))||(s=u.createElement("link"),dn(s,"link",r),en(s),u.head.appendChild(s)))}}function LA(r,s){la.m(r,s);var o=$i;if(o&&r){var u=s&&typeof s.as=="string"?s.as:"script",p='link[rel="modulepreload"][as="'+Jn(u)+'"][href="'+Jn(r)+'"]',y=p;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":y=Bi(r)}if(!sr.has(y)&&(r=g({rel:"modulepreload",href:r},s),sr.set(y,r),o.querySelector(p)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(o.querySelector(pl(y)))return}u=o.createElement("link"),dn(u,"link",r),en(u),o.head.appendChild(u)}}}function zA(r,s,o){la.S(r,s,o);var u=$i;if(u&&r){var p=li(u).hoistableStyles,y=Ui(r);s=s||"default";var _=p.get(y);if(!_){var j={loading:0,preload:null};if(_=u.querySelector(ml(y)))j.loading=5;else{r=g({rel:"stylesheet",href:r,"data-precedence":s},o),(o=sr.get(y))&&Fm(r,o);var D=_=u.createElement("link");en(D),dn(D,"link",r),D._p=new Promise(function(W,ae){D.onload=W,D.onerror=ae}),D.addEventListener("load",function(){j.loading|=1}),D.addEventListener("error",function(){j.loading|=2}),j.loading|=4,xu(_,s,u)}_={type:"stylesheet",instance:_,count:1,state:j},p.set(y,_)}}}function IA(r,s){la.X(r,s);var o=$i;if(o&&r){var u=li(o).hoistableScripts,p=Bi(r),y=u.get(p);y||(y=o.querySelector(pl(p)),y||(r=g({src:r,async:!0},s),(s=sr.get(p))&&Gm(r,s),y=o.createElement("script"),en(y),dn(y,"link",r),o.head.appendChild(y)),y={type:"script",instance:y,count:1,state:null},u.set(p,y))}}function $A(r,s){la.M(r,s);var o=$i;if(o&&r){var u=li(o).hoistableScripts,p=Bi(r),y=u.get(p);y||(y=o.querySelector(pl(p)),y||(r=g({src:r,async:!0,type:"module"},s),(s=sr.get(p))&&Gm(r,s),y=o.createElement("script"),en(y),dn(y,"link",r),o.head.appendChild(y)),y={type:"script",instance:y,count:1,state:null},u.set(p,y))}}function Lx(r,s,o,u){var p=(p=ee.current)?bu(p):null;if(!p)throw Error(a(446));switch(r){case"meta":case"title":return null;case"style":return typeof o.precedence=="string"&&typeof o.href=="string"?(s=Ui(o.href),o=li(p).hoistableStyles,u=o.get(s),u||(u={type:"style",instance:null,count:0,state:null},o.set(s,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(o.rel==="stylesheet"&&typeof o.href=="string"&&typeof o.precedence=="string"){r=Ui(o.href);var y=li(p).hoistableStyles,_=y.get(r);if(_||(p=p.ownerDocument||p,_={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},y.set(r,_),(y=p.querySelector(ml(r)))&&!y._p&&(_.instance=y,_.state.loading=5),sr.has(r)||(o={rel:"preload",as:"style",href:o.href,crossOrigin:o.crossOrigin,integrity:o.integrity,media:o.media,hrefLang:o.hrefLang,referrerPolicy:o.referrerPolicy},sr.set(r,o),y||UA(p,r,o,_.state))),s&&u===null)throw Error(a(528,""));return _}if(s&&u!==null)throw Error(a(529,""));return null;case"script":return s=o.async,o=o.src,typeof o=="string"&&s&&typeof s!="function"&&typeof s!="symbol"?(s=Bi(o),o=li(p).hoistableScripts,u=o.get(s),u||(u={type:"script",instance:null,count:0,state:null},o.set(s,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(a(444,r))}}function Ui(r){return'href="'+Jn(r)+'"'}function ml(r){return'link[rel="stylesheet"]['+r+"]"}function zx(r){return g({},r,{"data-precedence":r.precedence,precedence:null})}function UA(r,s,o,u){r.querySelector('link[rel="preload"][as="style"]['+s+"]")?u.loading=1:(s=r.createElement("link"),u.preload=s,s.addEventListener("load",function(){return u.loading|=1}),s.addEventListener("error",function(){return u.loading|=2}),dn(s,"link",o),en(s),r.head.appendChild(s))}function Bi(r){return'[src="'+Jn(r)+'"]'}function pl(r){return"script[async]"+r}function Ix(r,s,o){if(s.count++,s.instance===null)switch(s.type){case"style":var u=r.querySelector('style[data-href~="'+Jn(o.href)+'"]');if(u)return s.instance=u,en(u),u;var p=g({},o,{"data-href":o.href,"data-precedence":o.precedence,href:null,precedence:null});return u=(r.ownerDocument||r).createElement("style"),en(u),dn(u,"style",p),xu(u,o.precedence,r),s.instance=u;case"stylesheet":p=Ui(o.href);var y=r.querySelector(ml(p));if(y)return s.state.loading|=4,s.instance=y,en(y),y;u=zx(o),(p=sr.get(p))&&Fm(u,p),y=(r.ownerDocument||r).createElement("link"),en(y);var _=y;return _._p=new Promise(function(j,D){_.onload=j,_.onerror=D}),dn(y,"link",u),s.state.loading|=4,xu(y,o.precedence,r),s.instance=y;case"script":return y=Bi(o.src),(p=r.querySelector(pl(y)))?(s.instance=p,en(p),p):(u=o,(p=sr.get(y))&&(u=g({},o),Gm(u,p)),r=r.ownerDocument||r,p=r.createElement("script"),en(p),dn(p,"link",u),r.head.appendChild(p),s.instance=p);case"void":return null;default:throw Error(a(443,s.type))}else s.type==="stylesheet"&&(s.state.loading&4)===0&&(u=s.instance,s.state.loading|=4,xu(u,o.precedence,r));return s.instance}function xu(r,s,o){for(var u=o.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),p=u.length?u[u.length-1]:null,y=p,_=0;_ title"):null)}function BA(r,s,o){if(o===1||s.itemProp!=null)return!1;switch(r){case"meta":case"title":return!0;case"style":if(typeof s.precedence!="string"||typeof s.href!="string"||s.href==="")break;return!0;case"link":if(typeof s.rel!="string"||typeof s.href!="string"||s.href===""||s.onLoad||s.onError)break;switch(s.rel){case"stylesheet":return r=s.disabled,typeof s.precedence=="string"&&r==null;default:return!0}case"script":if(s.async&&typeof s.async!="function"&&typeof s.async!="symbol"&&!s.onLoad&&!s.onError&&s.src&&typeof s.src=="string")return!0}return!1}function Bx(r){return!(r.type==="stylesheet"&&(r.state.loading&3)===0)}function HA(r,s,o,u){if(o.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&(o.state.loading&4)===0){if(o.instance===null){var p=Ui(u.href),y=s.querySelector(ml(p));if(y){s=y._p,s!==null&&typeof s=="object"&&typeof s.then=="function"&&(r.count++,r=_u.bind(r),s.then(r,r)),o.state.loading|=4,o.instance=y,en(y);return}y=s.ownerDocument||s,u=zx(u),(p=sr.get(p))&&Fm(u,p),y=y.createElement("link"),en(y);var _=y;_._p=new Promise(function(j,D){_.onload=j,_.onerror=D}),dn(y,"link",u),o.instance=y}r.stylesheets===null&&(r.stylesheets=new Map),r.stylesheets.set(o,s),(s=o.state.preload)&&(o.state.loading&3)===0&&(r.count++,o=_u.bind(r),s.addEventListener("load",o),s.addEventListener("error",o))}}var Km=0;function qA(r,s){return r.stylesheets&&r.count===0&&Eu(r,r.stylesheets),0Km?50:800)+s);return r.unsuspend=o,function(){r.unsuspend=null,clearTimeout(u),clearTimeout(p)}}:null}function _u(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Eu(this,this.stylesheets);else if(this.unsuspend){var r=this.unsuspend;this.unsuspend=null,r()}}}var Su=null;function Eu(r,s){r.stylesheets=null,r.unsuspend!==null&&(r.count++,Su=new Map,s.forEach(VA,r),Su=null,_u.call(r))}function VA(r,s){if(!(s.state.loading&4)){var o=Su.get(r);if(o)var u=o.get(null);else{o=new Map,Su.set(r,o);for(var p=r.querySelectorAll("link[data-precedence],style[data-precedence]"),y=0;y"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),np.exports=ik(),np.exports}var lk=ok();/** +`+u.stack}}var We=Object.prototype.hasOwnProperty,Ct=e.unstable_scheduleCallback,pe=e.unstable_cancelCallback,$e=e.unstable_shouldYield,Ke=e.unstable_requestPaint,Le=e.unstable_now,ue=e.unstable_getCurrentPriorityLevel,qe=e.unstable_ImmediatePriority,gt=e.unstable_UserBlockingPriority,Xt=e.unstable_NormalPriority,jt=e.unstable_LowPriority,At=e.unstable_IdlePriority,on=e.log,gn=e.unstable_setDisableYieldValue,vn=null,Mt=null;function Jt(r){if(typeof on=="function"&&gn(r),Mt&&typeof Mt.setStrictMode=="function")try{Mt.setStrictMode(vn,r)}catch{}}var Dt=Math.clz32?Math.clz32:en,fr=Math.log,Yn=Math.LN2;function en(r){return r>>>=0,r===0?32:31-(fr(r)/Yn|0)|0}var he=256,Be=262144,et=4194304;function rt(r){var s=r&42;if(s!==0)return s;switch(r&-r){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return r&261888;case 262144:case 524288:case 1048576:case 2097152:return r&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return r&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return r}}function He(r,s,o){var u=r.pendingLanes;if(u===0)return 0;var p=0,y=r.suspendedLanes,_=r.pingedLanes;r=r.warmLanes;var j=u&134217727;return j!==0?(u=j&~y,u!==0?p=rt(u):(_&=j,_!==0?p=rt(_):o||(o=j&~r,o!==0&&(p=rt(o))))):(j=u&~y,j!==0?p=rt(j):_!==0?p=rt(_):o||(o=u&~r,o!==0&&(p=rt(o)))),p===0?0:s!==0&&s!==p&&(s&y)===0&&(y=p&-p,o=s&-s,y>=o||y===32&&(o&4194048)!==0)?s:p}function Et(r,s){return(r.pendingLanes&~(r.suspendedLanes&~r.pingedLanes)&s)===0}function we(r,s){switch(r){case 1:case 2:case 4:case 8:case 64:return s+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ft(){var r=et;return et<<=1,(et&62914560)===0&&(et=4194304),r}function kt(r){for(var s=[],o=0;31>o;o++)s.push(r);return s}function ht(r,s){r.pendingLanes|=s,s!==268435456&&(r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0)}function $t(r,s,o,u,p,y){var _=r.pendingLanes;r.pendingLanes=o,r.suspendedLanes=0,r.pingedLanes=0,r.warmLanes=0,r.expiredLanes&=o,r.entangledLanes&=o,r.errorRecoveryDisabledLanes&=o,r.shellSuspendCounter=0;var j=r.entanglements,D=r.expirationTimes,W=r.hiddenUpdates;for(o=_&~o;0"u")return null;try{return r.activeElement||r.body}catch{return r.body}}var KT=/[\n"\\]/g;function Jn(r){return r.replace(KT,function(s){return"\\"+s.charCodeAt(0).toString(16)+" "})}function Xf(r,s,o,u,p,y,_,j){r.name="",_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"?r.type=_:r.removeAttribute("type"),s!=null?_==="number"?(s===0&&r.value===""||r.value!=s)&&(r.value=""+Xn(s)):r.value!==""+Xn(s)&&(r.value=""+Xn(s)):_!=="submit"&&_!=="reset"||r.removeAttribute("value"),s!=null?Jf(r,_,Xn(s)):o!=null?Jf(r,_,Xn(o)):u!=null&&r.removeAttribute("value"),p==null&&y!=null&&(r.defaultChecked=!!y),p!=null&&(r.checked=p&&typeof p!="function"&&typeof p!="symbol"),j!=null&&typeof j!="function"&&typeof j!="symbol"&&typeof j!="boolean"?r.name=""+Xn(j):r.removeAttribute("name")}function yy(r,s,o,u,p,y,_,j){if(y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"&&(r.type=y),s!=null||o!=null){if(!(y!=="submit"&&y!=="reset"||s!=null)){Yf(r);return}o=o!=null?""+Xn(o):"",s=s!=null?""+Xn(s):o,j||s===r.value||(r.value=s),r.defaultValue=s}u=u??p,u=typeof u!="function"&&typeof u!="symbol"&&!!u,r.checked=j?r.checked:!!u,r.defaultChecked=!!u,_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"&&(r.name=_),Yf(r)}function Jf(r,s,o){s==="number"&&_c(r.ownerDocument)===r||r.defaultValue===""+o||(r.defaultValue=""+o)}function ui(r,s,o,u){if(r=r.options,s){s={};for(var p=0;p"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),nh=!1;if(Kr)try{var Do={};Object.defineProperty(Do,"passive",{get:function(){nh=!0}}),window.addEventListener("test",Do,Do),window.removeEventListener("test",Do,Do)}catch{nh=!1}var Na=null,rh=null,Ec=null;function Ny(){if(Ec)return Ec;var r,s=rh,o=s.length,u,p="value"in Na?Na.value:Na.textContent,y=p.length;for(r=0;r=zo),ky=" ",Oy=!1;function My(r,s){switch(r){case"keyup":return wR.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Dy(r){return r=r.detail,typeof r=="object"&&"data"in r?r.data:null}var mi=!1;function SR(r,s){switch(r){case"compositionend":return Dy(s);case"keypress":return s.which!==32?null:(Oy=!0,ky);case"textInput":return r=s.data,r===ky&&Oy?null:r;default:return null}}function ER(r,s){if(mi)return r==="compositionend"||!lh&&My(r,s)?(r=Ny(),Ec=rh=Na=null,mi=!1,r):null;switch(r){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:o,offset:s-r};r=u}e:{for(;o;){if(o.nextSibling){o=o.nextSibling;break e}o=o.parentNode}o=void 0}o=Hy(o)}}function Vy(r,s){return r&&s?r===s?!0:r&&r.nodeType===3?!1:s&&s.nodeType===3?Vy(r,s.parentNode):"contains"in r?r.contains(s):r.compareDocumentPosition?!!(r.compareDocumentPosition(s)&16):!1:!1}function Fy(r){r=r!=null&&r.ownerDocument!=null&&r.ownerDocument.defaultView!=null?r.ownerDocument.defaultView:window;for(var s=_c(r.document);s instanceof r.HTMLIFrameElement;){try{var o=typeof s.contentWindow.location.href=="string"}catch{o=!1}if(o)r=s.contentWindow;else break;s=_c(r.document)}return s}function dh(r){var s=r&&r.nodeName&&r.nodeName.toLowerCase();return s&&(s==="input"&&(r.type==="text"||r.type==="search"||r.type==="tel"||r.type==="url"||r.type==="password")||s==="textarea"||r.contentEditable==="true")}var OR=Kr&&"documentMode"in document&&11>=document.documentMode,pi=null,fh=null,Bo=null,hh=!1;function Gy(r,s,o){var u=o.window===o?o.document:o.nodeType===9?o:o.ownerDocument;hh||pi==null||pi!==_c(u)||(u=pi,"selectionStart"in u&&dh(u)?u={start:u.selectionStart,end:u.selectionEnd}:(u=(u.ownerDocument&&u.ownerDocument.defaultView||window).getSelection(),u={anchorNode:u.anchorNode,anchorOffset:u.anchorOffset,focusNode:u.focusNode,focusOffset:u.focusOffset}),Bo&&Uo(Bo,u)||(Bo=u,u=vu(fh,"onSelect"),0>=_,p-=_,jr=1<<32-Dt(s)+p|o<Ze?(ct=Oe,Oe=null):ct=Oe.sibling;var pt=X(B,Oe,G[Ze],oe);if(pt===null){Oe===null&&(Oe=ct);break}r&&Oe&&pt.alternate===null&&s(B,Oe),z=y(pt,z,Ze),mt===null?Ie=pt:mt.sibling=pt,mt=pt,Oe=ct}if(Ze===G.length)return o(B,Oe),ut&&Yr(B,Ze),Ie;if(Oe===null){for(;ZeZe?(ct=Oe,Oe=null):ct=Oe.sibling;var Ka=X(B,Oe,pt.value,oe);if(Ka===null){Oe===null&&(Oe=ct);break}r&&Oe&&Ka.alternate===null&&s(B,Oe),z=y(Ka,z,Ze),mt===null?Ie=Ka:mt.sibling=Ka,mt=Ka,Oe=ct}if(pt.done)return o(B,Oe),ut&&Yr(B,Ze),Ie;if(Oe===null){for(;!pt.done;Ze++,pt=G.next())pt=le(B,pt.value,oe),pt!==null&&(z=y(pt,z,Ze),mt===null?Ie=pt:mt.sibling=pt,mt=pt);return ut&&Yr(B,Ze),Ie}for(Oe=u(Oe);!pt.done;Ze++,pt=G.next())pt=Z(Oe,B,Ze,pt.value,oe),pt!==null&&(r&&pt.alternate!==null&&Oe.delete(pt.key===null?Ze:pt.key),z=y(pt,z,Ze),mt===null?Ie=pt:mt.sibling=pt,mt=pt);return r&&Oe.forEach(function(QA){return s(B,QA)}),ut&&Yr(B,Ze),Ie}function _t(B,z,G,oe){if(typeof G=="object"&&G!==null&&G.type===S&&G.key===null&&(G=G.props.children),typeof G=="object"&&G!==null){switch(G.$$typeof){case w:e:{for(var Ie=G.key;z!==null;){if(z.key===Ie){if(Ie=G.type,Ie===S){if(z.tag===7){o(B,z.sibling),oe=p(z,G.props.children),oe.return=B,B=oe;break e}}else if(z.elementType===Ie||typeof Ie=="object"&&Ie!==null&&Ie.$$typeof===U&&Cs(Ie)===z.type){o(B,z.sibling),oe=p(z,G.props),Ko(oe,G),oe.return=B,B=oe;break e}o(B,z);break}else s(B,z);z=z.sibling}G.type===S?(oe=ws(G.props.children,B.mode,oe,G.key),oe.return=B,B=oe):(oe=Dc(G.type,G.key,G.props,null,B.mode,oe),Ko(oe,G),oe.return=B,B=oe)}return _(B);case E:e:{for(Ie=G.key;z!==null;){if(z.key===Ie)if(z.tag===4&&z.stateNode.containerInfo===G.containerInfo&&z.stateNode.implementation===G.implementation){o(B,z.sibling),oe=p(z,G.children||[]),oe.return=B,B=oe;break e}else{o(B,z);break}else s(B,z);z=z.sibling}oe=xh(G,B.mode,oe),oe.return=B,B=oe}return _(B);case U:return G=Cs(G),_t(B,z,G,oe)}if(de(G))return Re(B,z,G,oe);if(me(G)){if(Ie=me(G),typeof Ie!="function")throw Error(a(150));return G=Ie.call(G),Ve(B,z,G,oe)}if(typeof G.then=="function")return _t(B,z,Bc(G),oe);if(G.$$typeof===T)return _t(B,z,zc(B,G),oe);Hc(B,G)}return typeof G=="string"&&G!==""||typeof G=="number"||typeof G=="bigint"?(G=""+G,z!==null&&z.tag===6?(o(B,z.sibling),oe=p(z,G),oe.return=B,B=oe):(o(B,z),oe=bh(G,B.mode,oe),oe.return=B,B=oe),_(B)):o(B,z)}return function(B,z,G,oe){try{Go=0;var Ie=_t(B,z,G,oe);return Ci=null,Ie}catch(Oe){if(Oe===Ni||Oe===$c)throw Oe;var mt=$n(29,Oe,null,B.mode);return mt.lanes=oe,mt.return=B,mt}finally{}}}var Ts=pb(!0),gb=pb(!1),Aa=!1;function Oh(r){r.updateQueue={baseState:r.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Mh(r,s){r=r.updateQueue,s.updateQueue===r&&(s.updateQueue={baseState:r.baseState,firstBaseUpdate:r.firstBaseUpdate,lastBaseUpdate:r.lastBaseUpdate,shared:r.shared,callbacks:null})}function ka(r){return{lane:r,tag:0,payload:null,callback:null,next:null}}function Oa(r,s,o){var u=r.updateQueue;if(u===null)return null;if(u=u.shared,(vt&2)!==0){var p=u.pending;return p===null?s.next=s:(s.next=p.next,p.next=s),u.pending=s,s=Mc(r),Zy(r,null,o),s}return Oc(r,u,s,o),Mc(r)}function Wo(r,s,o){if(s=s.updateQueue,s!==null&&(s=s.shared,(o&4194048)!==0)){var u=s.lanes;u&=r.pendingLanes,o|=u,s.lanes=o,Sn(r,o)}}function Dh(r,s){var o=r.updateQueue,u=r.alternate;if(u!==null&&(u=u.updateQueue,o===u)){var p=null,y=null;if(o=o.firstBaseUpdate,o!==null){do{var _={lane:o.lane,tag:o.tag,payload:o.payload,callback:null,next:null};y===null?p=y=_:y=y.next=_,o=o.next}while(o!==null);y===null?p=y=s:y=y.next=s}else p=y=s;o={baseState:u.baseState,firstBaseUpdate:p,lastBaseUpdate:y,shared:u.shared,callbacks:u.callbacks},r.updateQueue=o;return}r=o.lastBaseUpdate,r===null?o.firstBaseUpdate=s:r.next=s,o.lastBaseUpdate=s}var Ph=!1;function Yo(){if(Ph){var r=Ei;if(r!==null)throw r}}function Xo(r,s,o,u){Ph=!1;var p=r.updateQueue;Aa=!1;var y=p.firstBaseUpdate,_=p.lastBaseUpdate,j=p.shared.pending;if(j!==null){p.shared.pending=null;var D=j,W=D.next;D.next=null,_===null?y=W:_.next=W,_=D;var ae=r.alternate;ae!==null&&(ae=ae.updateQueue,j=ae.lastBaseUpdate,j!==_&&(j===null?ae.firstBaseUpdate=W:j.next=W,ae.lastBaseUpdate=D))}if(y!==null){var le=p.baseState;_=0,ae=W=D=null,j=y;do{var X=j.lane&-536870913,Z=X!==j.lane;if(Z?(lt&X)===X:(u&X)===X){X!==0&&X===Si&&(Ph=!0),ae!==null&&(ae=ae.next={lane:0,tag:j.tag,payload:j.payload,callback:null,next:null});e:{var Re=r,Ve=j;X=s;var _t=o;switch(Ve.tag){case 1:if(Re=Ve.payload,typeof Re=="function"){le=Re.call(_t,le,X);break e}le=Re;break e;case 3:Re.flags=Re.flags&-65537|128;case 0:if(Re=Ve.payload,X=typeof Re=="function"?Re.call(_t,le,X):Re,X==null)break e;le=g({},le,X);break e;case 2:Aa=!0}}X=j.callback,X!==null&&(r.flags|=64,Z&&(r.flags|=8192),Z=p.callbacks,Z===null?p.callbacks=[X]:Z.push(X))}else Z={lane:X,tag:j.tag,payload:j.payload,callback:j.callback,next:null},ae===null?(W=ae=Z,D=le):ae=ae.next=Z,_|=X;if(j=j.next,j===null){if(j=p.shared.pending,j===null)break;Z=j,j=Z.next,Z.next=null,p.lastBaseUpdate=Z,p.shared.pending=null}}while(!0);ae===null&&(D=le),p.baseState=D,p.firstBaseUpdate=W,p.lastBaseUpdate=ae,y===null&&(p.shared.lanes=0),za|=_,r.lanes=_,r.memoizedState=le}}function vb(r,s){if(typeof r!="function")throw Error(a(191,r));r.call(s)}function yb(r,s){var o=r.callbacks;if(o!==null)for(r.callbacks=null,r=0;ry?y:8;var _=k.T,j={};k.T=j,em(r,!1,s,o);try{var D=p(),W=k.S;if(W!==null&&W(j,D),D!==null&&typeof D=="object"&&typeof D.then=="function"){var ae=BR(D,u);Zo(r,s,ae,Vn(r))}else Zo(r,s,u,Vn(r))}catch(le){Zo(r,s,{then:function(){},status:"rejected",reason:le},Vn())}finally{K.p=y,_!==null&&j.types!==null&&(_.types=j.types),k.T=_}}function KR(){}function Qh(r,s,o,u){if(r.tag!==5)throw Error(a(476));var p=Xb(r).queue;Yb(r,p,s,F,o===null?KR:function(){return Jb(r),o(u)})}function Xb(r){var s=r.memoizedState;if(s!==null)return s;s={memoizedState:F,baseState:F,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Zr,lastRenderedState:F},next:null};var o={};return s.next={memoizedState:o,baseState:o,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Zr,lastRenderedState:o},next:null},r.memoizedState=s,r=r.alternate,r!==null&&(r.memoizedState=s),s}function Jb(r){var s=Xb(r);s.next===null&&(s=r.alternate.memoizedState),Zo(r,s.next.queue,{},Vn())}function Zh(){return un(gl)}function Qb(){return Bt().memoizedState}function Zb(){return Bt().memoizedState}function WR(r){for(var s=r.return;s!==null;){switch(s.tag){case 24:case 3:var o=Vn();r=ka(o);var u=Oa(s,r,o);u!==null&&(kn(u,s,o),Wo(u,s,o)),s={cache:Th()},r.payload=s;return}s=s.return}}function YR(r,s,o){var u=Vn();o={lane:u,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null},Qc(r)?t0(s,o):(o=vh(r,s,o,u),o!==null&&(kn(o,r,u),n0(o,s,u)))}function e0(r,s,o){var u=Vn();Zo(r,s,o,u)}function Zo(r,s,o,u){var p={lane:u,revertLane:0,gesture:null,action:o,hasEagerState:!1,eagerState:null,next:null};if(Qc(r))t0(s,p);else{var y=r.alternate;if(r.lanes===0&&(y===null||y.lanes===0)&&(y=s.lastRenderedReducer,y!==null))try{var _=s.lastRenderedState,j=y(_,o);if(p.hasEagerState=!0,p.eagerState=j,In(j,_))return Oc(r,s,p,0),St===null&&kc(),!1}catch{}finally{}if(o=vh(r,s,p,u),o!==null)return kn(o,r,u),n0(o,s,u),!0}return!1}function em(r,s,o,u){if(u={lane:2,revertLane:Om(),gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},Qc(r)){if(s)throw Error(a(479))}else s=vh(r,o,u,2),s!==null&&kn(s,r,2)}function Qc(r){var s=r.alternate;return r===Qe||s!==null&&s===Qe}function t0(r,s){Ti=Fc=!0;var o=r.pending;o===null?s.next=s:(s.next=o.next,o.next=s),r.pending=s}function n0(r,s,o){if((o&4194048)!==0){var u=s.lanes;u&=r.pendingLanes,o|=u,s.lanes=o,Sn(r,o)}}var el={readContext:un,use:Wc,useCallback:Lt,useContext:Lt,useEffect:Lt,useImperativeHandle:Lt,useLayoutEffect:Lt,useInsertionEffect:Lt,useMemo:Lt,useReducer:Lt,useRef:Lt,useState:Lt,useDebugValue:Lt,useDeferredValue:Lt,useTransition:Lt,useSyncExternalStore:Lt,useId:Lt,useHostTransitionStatus:Lt,useFormState:Lt,useActionState:Lt,useOptimistic:Lt,useMemoCache:Lt,useCacheRefresh:Lt};el.useEffectEvent=Lt;var r0={readContext:un,use:Wc,useCallback:function(r,s){return xn().memoizedState=[r,s===void 0?null:s],r},useContext:un,useEffect:Ub,useImperativeHandle:function(r,s,o){o=o!=null?o.concat([r]):null,Xc(4194308,4,Vb.bind(null,s,r),o)},useLayoutEffect:function(r,s){return Xc(4194308,4,r,s)},useInsertionEffect:function(r,s){Xc(4,2,r,s)},useMemo:function(r,s){var o=xn();s=s===void 0?null:s;var u=r();if(Rs){Jt(!0);try{r()}finally{Jt(!1)}}return o.memoizedState=[u,s],u},useReducer:function(r,s,o){var u=xn();if(o!==void 0){var p=o(s);if(Rs){Jt(!0);try{o(s)}finally{Jt(!1)}}}else p=s;return u.memoizedState=u.baseState=p,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:r,lastRenderedState:p},u.queue=r,r=r.dispatch=YR.bind(null,Qe,r),[u.memoizedState,r]},useRef:function(r){var s=xn();return r={current:r},s.memoizedState=r},useState:function(r){r=Kh(r);var s=r.queue,o=e0.bind(null,Qe,s);return s.dispatch=o,[r.memoizedState,o]},useDebugValue:Xh,useDeferredValue:function(r,s){var o=xn();return Jh(o,r,s)},useTransition:function(){var r=Kh(!1);return r=Yb.bind(null,Qe,r.queue,!0,!1),xn().memoizedState=r,[!1,r]},useSyncExternalStore:function(r,s,o){var u=Qe,p=xn();if(ut){if(o===void 0)throw Error(a(407));o=o()}else{if(o=s(),St===null)throw Error(a(349));(lt&127)!==0||Eb(u,s,o)}p.memoizedState=o;var y={value:o,getSnapshot:s};return p.queue=y,Ub(Cb.bind(null,u,y,r),[r]),u.flags|=2048,Ai(9,{destroy:void 0},Nb.bind(null,u,y,o,s),null),o},useId:function(){var r=xn(),s=St.identifierPrefix;if(ut){var o=Tr,u=jr;o=(u&~(1<<32-Dt(u)-1)).toString(32)+o,s="_"+s+"R_"+o,o=Gc++,0<\/script>",y=y.removeChild(y.firstChild);break;case"select":y=typeof u.is=="string"?_.createElement("select",{is:u.is}):_.createElement("select"),u.multiple?y.multiple=!0:u.size&&(y.size=u.size);break;default:y=typeof u.is=="string"?_.createElement(p,{is:u.is}):_.createElement(p)}}y[ln]=s,y[Nn]=u;e:for(_=s.child;_!==null;){if(_.tag===5||_.tag===6)y.appendChild(_.stateNode);else if(_.tag!==4&&_.tag!==27&&_.child!==null){_.child.return=_,_=_.child;continue}if(_===s)break e;for(;_.sibling===null;){if(_.return===null||_.return===s)break e;_=_.return}_.sibling.return=_.return,_=_.sibling}s.stateNode=y;e:switch(fn(y,p,u),p){case"button":case"input":case"select":case"textarea":u=!!u.autoFocus;break e;case"img":u=!0;break e;default:u=!1}u&&ta(s)}}return Rt(s),mm(s,s.type,r===null?null:r.memoizedProps,s.pendingProps,o),null;case 6:if(r&&s.stateNode!=null)r.memoizedProps!==u&&ta(s);else{if(typeof u!="string"&&s.stateNode===null)throw Error(a(166));if(r=ee.current,wi(s)){if(r=s.stateNode,o=s.memoizedProps,u=null,p=cn,p!==null)switch(p.tag){case 27:case 5:u=p.memoizedProps}r[ln]=s,r=!!(r.nodeValue===o||u!==null&&u.suppressHydrationWarning===!0||_x(r.nodeValue,o)),r||Ta(s,!0)}else r=yu(r).createTextNode(u),r[ln]=s,s.stateNode=r}return Rt(s),null;case 31:if(o=s.memoizedState,r===null||r.memoizedState!==null){if(u=wi(s),o!==null){if(r===null){if(!u)throw Error(a(318));if(r=s.memoizedState,r=r!==null?r.dehydrated:null,!r)throw Error(a(557));r[ln]=s}else _s(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;Rt(s),r=!1}else o=Eh(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=o),r=!0;if(!r)return s.flags&256?(Bn(s),s):(Bn(s),null);if((s.flags&128)!==0)throw Error(a(558))}return Rt(s),null;case 13:if(u=s.memoizedState,r===null||r.memoizedState!==null&&r.memoizedState.dehydrated!==null){if(p=wi(s),u!==null&&u.dehydrated!==null){if(r===null){if(!p)throw Error(a(318));if(p=s.memoizedState,p=p!==null?p.dehydrated:null,!p)throw Error(a(317));p[ln]=s}else _s(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;Rt(s),p=!1}else p=Eh(),r!==null&&r.memoizedState!==null&&(r.memoizedState.hydrationErrors=p),p=!0;if(!p)return s.flags&256?(Bn(s),s):(Bn(s),null)}return Bn(s),(s.flags&128)!==0?(s.lanes=o,s):(o=u!==null,r=r!==null&&r.memoizedState!==null,o&&(u=s.child,p=null,u.alternate!==null&&u.alternate.memoizedState!==null&&u.alternate.memoizedState.cachePool!==null&&(p=u.alternate.memoizedState.cachePool.pool),y=null,u.memoizedState!==null&&u.memoizedState.cachePool!==null&&(y=u.memoizedState.cachePool.pool),y!==p&&(u.flags|=2048)),o!==r&&o&&(s.child.flags|=8192),ru(s,s.updateQueue),Rt(s),null);case 4:return se(),r===null&&Lm(s.stateNode.containerInfo),Rt(s),null;case 10:return Jr(s.type),Rt(s),null;case 19:if(O(Ut),u=s.memoizedState,u===null)return Rt(s),null;if(p=(s.flags&128)!==0,y=u.rendering,y===null)if(p)nl(u,!1);else{if(zt!==0||r!==null&&(r.flags&128)!==0)for(r=s.child;r!==null;){if(y=Vc(r),y!==null){for(s.flags|=128,nl(u,!1),r=y.updateQueue,s.updateQueue=r,ru(s,r),s.subtreeFlags=0,r=o,o=s.child;o!==null;)eb(o,r),o=o.sibling;return I(Ut,Ut.current&1|2),ut&&Yr(s,u.treeForkCount),s.child}r=r.sibling}u.tail!==null&&Le()>lu&&(s.flags|=128,p=!0,nl(u,!1),s.lanes=4194304)}else{if(!p)if(r=Vc(y),r!==null){if(s.flags|=128,p=!0,r=r.updateQueue,s.updateQueue=r,ru(s,r),nl(u,!0),u.tail===null&&u.tailMode==="hidden"&&!y.alternate&&!ut)return Rt(s),null}else 2*Le()-u.renderingStartTime>lu&&o!==536870912&&(s.flags|=128,p=!0,nl(u,!1),s.lanes=4194304);u.isBackwards?(y.sibling=s.child,s.child=y):(r=u.last,r!==null?r.sibling=y:s.child=y,u.last=y)}return u.tail!==null?(r=u.tail,u.rendering=r,u.tail=r.sibling,u.renderingStartTime=Le(),r.sibling=null,o=Ut.current,I(Ut,p?o&1|2:o&1),ut&&Yr(s,u.treeForkCount),r):(Rt(s),null);case 22:case 23:return Bn(s),zh(),u=s.memoizedState!==null,r!==null?r.memoizedState!==null!==u&&(s.flags|=8192):u&&(s.flags|=8192),u?(o&536870912)!==0&&(s.flags&128)===0&&(Rt(s),s.subtreeFlags&6&&(s.flags|=8192)):Rt(s),o=s.updateQueue,o!==null&&ru(s,o.retryQueue),o=null,r!==null&&r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),u=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(u=s.memoizedState.cachePool.pool),u!==o&&(s.flags|=2048),r!==null&&O(Ns),null;case 24:return o=null,r!==null&&(o=r.memoizedState.cache),s.memoizedState.cache!==o&&(s.flags|=2048),Jr(Ht),Rt(s),null;case 25:return null;case 30:return null}throw Error(a(156,s.tag))}function eA(r,s){switch(_h(s),s.tag){case 1:return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 3:return Jr(Ht),se(),r=s.flags,(r&65536)!==0&&(r&128)===0?(s.flags=r&-65537|128,s):null;case 26:case 27:case 5:return ze(s),null;case 31:if(s.memoizedState!==null){if(Bn(s),s.alternate===null)throw Error(a(340));_s()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 13:if(Bn(s),r=s.memoizedState,r!==null&&r.dehydrated!==null){if(s.alternate===null)throw Error(a(340));_s()}return r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 19:return O(Ut),null;case 4:return se(),null;case 10:return Jr(s.type),null;case 22:case 23:return Bn(s),zh(),r!==null&&O(Ns),r=s.flags,r&65536?(s.flags=r&-65537|128,s):null;case 24:return Jr(Ht),null;case 25:return null;default:return null}}function j0(r,s){switch(_h(s),s.tag){case 3:Jr(Ht),se();break;case 26:case 27:case 5:ze(s);break;case 4:se();break;case 31:s.memoizedState!==null&&Bn(s);break;case 13:Bn(s);break;case 19:O(Ut);break;case 10:Jr(s.type);break;case 22:case 23:Bn(s),zh(),r!==null&&O(Ns);break;case 24:Jr(Ht)}}function rl(r,s){try{var o=s.updateQueue,u=o!==null?o.lastEffect:null;if(u!==null){var p=u.next;o=p;do{if((o.tag&r)===r){u=void 0;var y=o.create,_=o.inst;u=y(),_.destroy=u}o=o.next}while(o!==p)}}catch(j){bt(s,s.return,j)}}function Pa(r,s,o){try{var u=s.updateQueue,p=u!==null?u.lastEffect:null;if(p!==null){var y=p.next;u=y;do{if((u.tag&r)===r){var _=u.inst,j=_.destroy;if(j!==void 0){_.destroy=void 0,p=s;var D=o,W=j;try{W()}catch(ae){bt(p,D,ae)}}}u=u.next}while(u!==y)}}catch(ae){bt(s,s.return,ae)}}function T0(r){var s=r.updateQueue;if(s!==null){var o=r.stateNode;try{yb(s,o)}catch(u){bt(r,r.return,u)}}}function R0(r,s,o){o.props=As(r.type,r.memoizedProps),o.state=r.memoizedState;try{o.componentWillUnmount()}catch(u){bt(r,s,u)}}function al(r,s){try{var o=r.ref;if(o!==null){switch(r.tag){case 26:case 27:case 5:var u=r.stateNode;break;case 30:u=r.stateNode;break;default:u=r.stateNode}typeof o=="function"?r.refCleanup=o(u):o.current=u}}catch(p){bt(r,s,p)}}function Rr(r,s){var o=r.ref,u=r.refCleanup;if(o!==null)if(typeof u=="function")try{u()}catch(p){bt(r,s,p)}finally{r.refCleanup=null,r=r.alternate,r!=null&&(r.refCleanup=null)}else if(typeof o=="function")try{o(null)}catch(p){bt(r,s,p)}else o.current=null}function A0(r){var s=r.type,o=r.memoizedProps,u=r.stateNode;try{e:switch(s){case"button":case"input":case"select":case"textarea":o.autoFocus&&u.focus();break e;case"img":o.src?u.src=o.src:o.srcSet&&(u.srcset=o.srcSet)}}catch(p){bt(r,r.return,p)}}function pm(r,s,o){try{var u=r.stateNode;_A(u,r.type,o,s),u[Nn]=s}catch(p){bt(r,r.return,p)}}function k0(r){return r.tag===5||r.tag===3||r.tag===26||r.tag===27&&Ha(r.type)||r.tag===4}function gm(r){e:for(;;){for(;r.sibling===null;){if(r.return===null||k0(r.return))return null;r=r.return}for(r.sibling.return=r.return,r=r.sibling;r.tag!==5&&r.tag!==6&&r.tag!==18;){if(r.tag===27&&Ha(r.type)||r.flags&2||r.child===null||r.tag===4)continue e;r.child.return=r,r=r.child}if(!(r.flags&2))return r.stateNode}}function vm(r,s,o){var u=r.tag;if(u===5||u===6)r=r.stateNode,s?(o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o).insertBefore(r,s):(s=o.nodeType===9?o.body:o.nodeName==="HTML"?o.ownerDocument.body:o,s.appendChild(r),o=o._reactRootContainer,o!=null||s.onclick!==null||(s.onclick=Gr));else if(u!==4&&(u===27&&Ha(r.type)&&(o=r.stateNode,s=null),r=r.child,r!==null))for(vm(r,s,o),r=r.sibling;r!==null;)vm(r,s,o),r=r.sibling}function au(r,s,o){var u=r.tag;if(u===5||u===6)r=r.stateNode,s?o.insertBefore(r,s):o.appendChild(r);else if(u!==4&&(u===27&&Ha(r.type)&&(o=r.stateNode),r=r.child,r!==null))for(au(r,s,o),r=r.sibling;r!==null;)au(r,s,o),r=r.sibling}function O0(r){var s=r.stateNode,o=r.memoizedProps;try{for(var u=r.type,p=s.attributes;p.length;)s.removeAttributeNode(p[0]);fn(s,u,o),s[ln]=r,s[Nn]=o}catch(y){bt(r,r.return,y)}}var na=!1,Ft=!1,ym=!1,M0=typeof WeakSet=="function"?WeakSet:Set,nn=null;function tA(r,s){if(r=r.containerInfo,$m=Nu,r=Fy(r),dh(r)){if("selectionStart"in r)var o={start:r.selectionStart,end:r.selectionEnd};else e:{o=(o=r.ownerDocument)&&o.defaultView||window;var u=o.getSelection&&o.getSelection();if(u&&u.rangeCount!==0){o=u.anchorNode;var p=u.anchorOffset,y=u.focusNode;u=u.focusOffset;try{o.nodeType,y.nodeType}catch{o=null;break e}var _=0,j=-1,D=-1,W=0,ae=0,le=r,X=null;t:for(;;){for(var Z;le!==o||p!==0&&le.nodeType!==3||(j=_+p),le!==y||u!==0&&le.nodeType!==3||(D=_+u),le.nodeType===3&&(_+=le.nodeValue.length),(Z=le.firstChild)!==null;)X=le,le=Z;for(;;){if(le===r)break t;if(X===o&&++W===p&&(j=_),X===y&&++ae===u&&(D=_),(Z=le.nextSibling)!==null)break;le=X,X=le.parentNode}le=Z}o=j===-1||D===-1?null:{start:j,end:D}}else o=null}o=o||{start:0,end:0}}else o=null;for(Um={focusedElem:r,selectionRange:o},Nu=!1,nn=s;nn!==null;)if(s=nn,r=s.child,(s.subtreeFlags&1028)!==0&&r!==null)r.return=s,nn=r;else for(;nn!==null;){switch(s=nn,y=s.alternate,r=s.flags,s.tag){case 0:if((r&4)!==0&&(r=s.updateQueue,r=r!==null?r.events:null,r!==null))for(o=0;o title"))),fn(y,u,o),y[ln]=r,tn(y),u=y;break e;case"link":var _=$x("link","href",p).get(u+(o.href||""));if(_){for(var j=0;j<_.length;j++)if(y=_[j],y.getAttribute("href")===(o.href==null||o.href===""?null:o.href)&&y.getAttribute("rel")===(o.rel==null?null:o.rel)&&y.getAttribute("title")===(o.title==null?null:o.title)&&y.getAttribute("crossorigin")===(o.crossOrigin==null?null:o.crossOrigin)){_.splice(j,1);break t}}y=p.createElement(u),fn(y,u,o),p.head.appendChild(y);break;case"meta":if(_=$x("meta","content",p).get(u+(o.content||""))){for(j=0;j<_.length;j++)if(y=_[j],y.getAttribute("content")===(o.content==null?null:""+o.content)&&y.getAttribute("name")===(o.name==null?null:o.name)&&y.getAttribute("property")===(o.property==null?null:o.property)&&y.getAttribute("http-equiv")===(o.httpEquiv==null?null:o.httpEquiv)&&y.getAttribute("charset")===(o.charSet==null?null:o.charSet)){_.splice(j,1);break t}}y=p.createElement(u),fn(y,u,o),p.head.appendChild(y);break;default:throw Error(a(468,u))}y[ln]=r,tn(y),u=y}r.stateNode=u}else Ux(p,r.type,r.stateNode);else r.stateNode=Ix(p,u,r.memoizedProps);else y!==u?(y===null?o.stateNode!==null&&(o=o.stateNode,o.parentNode.removeChild(o)):y.count--,u===null?Ux(p,r.type,r.stateNode):Ix(p,u,r.memoizedProps)):u===null&&r.stateNode!==null&&pm(r,r.memoizedProps,o.memoizedProps)}break;case 27:Tn(s,r),Rn(r),u&512&&(Ft||o===null||Rr(o,o.return)),o!==null&&u&4&&pm(r,r.memoizedProps,o.memoizedProps);break;case 5:if(Tn(s,r),Rn(r),u&512&&(Ft||o===null||Rr(o,o.return)),r.flags&32){p=r.stateNode;try{di(p,"")}catch(Re){bt(r,r.return,Re)}}u&4&&r.stateNode!=null&&(p=r.memoizedProps,pm(r,p,o!==null?o.memoizedProps:p)),u&1024&&(ym=!0);break;case 6:if(Tn(s,r),Rn(r),u&4){if(r.stateNode===null)throw Error(a(162));u=r.memoizedProps,o=r.stateNode;try{o.nodeValue=u}catch(Re){bt(r,r.return,Re)}}break;case 3:if(wu=null,p=pr,pr=bu(s.containerInfo),Tn(s,r),pr=p,Rn(r),u&4&&o!==null&&o.memoizedState.isDehydrated)try{Hi(s.containerInfo)}catch(Re){bt(r,r.return,Re)}ym&&(ym=!1,U0(r));break;case 4:u=pr,pr=bu(r.stateNode.containerInfo),Tn(s,r),Rn(r),pr=u;break;case 12:Tn(s,r),Rn(r);break;case 31:Tn(s,r),Rn(r),u&4&&(u=r.updateQueue,u!==null&&(r.updateQueue=null,su(r,u)));break;case 13:Tn(s,r),Rn(r),r.child.flags&8192&&r.memoizedState!==null!=(o!==null&&o.memoizedState!==null)&&(ou=Le()),u&4&&(u=r.updateQueue,u!==null&&(r.updateQueue=null,su(r,u)));break;case 22:p=r.memoizedState!==null;var D=o!==null&&o.memoizedState!==null,W=na,ae=Ft;if(na=W||p,Ft=ae||D,Tn(s,r),Ft=ae,na=W,Rn(r),u&8192)e:for(s=r.stateNode,s._visibility=p?s._visibility&-2:s._visibility|1,p&&(o===null||D||na||Ft||ks(r)),o=null,s=r;;){if(s.tag===5||s.tag===26){if(o===null){D=o=s;try{if(y=D.stateNode,p)_=y.style,typeof _.setProperty=="function"?_.setProperty("display","none","important"):_.display="none";else{j=D.stateNode;var le=D.memoizedProps.style,X=le!=null&&le.hasOwnProperty("display")?le.display:null;j.style.display=X==null||typeof X=="boolean"?"":(""+X).trim()}}catch(Re){bt(D,D.return,Re)}}}else if(s.tag===6){if(o===null){D=s;try{D.stateNode.nodeValue=p?"":D.memoizedProps}catch(Re){bt(D,D.return,Re)}}}else if(s.tag===18){if(o===null){D=s;try{var Z=D.stateNode;p?Rx(Z,!0):Rx(D.stateNode,!1)}catch(Re){bt(D,D.return,Re)}}}else if((s.tag!==22&&s.tag!==23||s.memoizedState===null||s===r)&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===r)break e;for(;s.sibling===null;){if(s.return===null||s.return===r)break e;o===s&&(o=null),s=s.return}o===s&&(o=null),s.sibling.return=s.return,s=s.sibling}u&4&&(u=r.updateQueue,u!==null&&(o=u.retryQueue,o!==null&&(u.retryQueue=null,su(r,o))));break;case 19:Tn(s,r),Rn(r),u&4&&(u=r.updateQueue,u!==null&&(r.updateQueue=null,su(r,u)));break;case 30:break;case 21:break;default:Tn(s,r),Rn(r)}}function Rn(r){var s=r.flags;if(s&2){try{for(var o,u=r.return;u!==null;){if(k0(u)){o=u;break}u=u.return}if(o==null)throw Error(a(160));switch(o.tag){case 27:var p=o.stateNode,y=gm(r);au(r,y,p);break;case 5:var _=o.stateNode;o.flags&32&&(di(_,""),o.flags&=-33);var j=gm(r);au(r,j,_);break;case 3:case 4:var D=o.stateNode.containerInfo,W=gm(r);vm(r,W,D);break;default:throw Error(a(161))}}catch(ae){bt(r,r.return,ae)}r.flags&=-3}s&4096&&(r.flags&=-4097)}function U0(r){if(r.subtreeFlags&1024)for(r=r.child;r!==null;){var s=r;U0(s),s.tag===5&&s.flags&1024&&s.stateNode.reset(),r=r.sibling}}function aa(r,s){if(s.subtreeFlags&8772)for(s=s.child;s!==null;)D0(r,s.alternate,s),s=s.sibling}function ks(r){for(r=r.child;r!==null;){var s=r;switch(s.tag){case 0:case 11:case 14:case 15:Pa(4,s,s.return),ks(s);break;case 1:Rr(s,s.return);var o=s.stateNode;typeof o.componentWillUnmount=="function"&&R0(s,s.return,o),ks(s);break;case 27:hl(s.stateNode);case 26:case 5:Rr(s,s.return),ks(s);break;case 22:s.memoizedState===null&&ks(s);break;case 30:ks(s);break;default:ks(s)}r=r.sibling}}function sa(r,s,o){for(o=o&&(s.subtreeFlags&8772)!==0,s=s.child;s!==null;){var u=s.alternate,p=r,y=s,_=y.flags;switch(y.tag){case 0:case 11:case 15:sa(p,y,o),rl(4,y);break;case 1:if(sa(p,y,o),u=y,p=u.stateNode,typeof p.componentDidMount=="function")try{p.componentDidMount()}catch(W){bt(u,u.return,W)}if(u=y,p=u.updateQueue,p!==null){var j=u.stateNode;try{var D=p.shared.hiddenCallbacks;if(D!==null)for(p.shared.hiddenCallbacks=null,p=0;p_t&&(_=_t,_t=Ve,Ve=_);var B=qy(j,Ve),z=qy(j,_t);if(B&&z&&(Z.rangeCount!==1||Z.anchorNode!==B.node||Z.anchorOffset!==B.offset||Z.focusNode!==z.node||Z.focusOffset!==z.offset)){var G=le.createRange();G.setStart(B.node,B.offset),Z.removeAllRanges(),Ve>_t?(Z.addRange(G),Z.extend(z.node,z.offset)):(G.setEnd(z.node,z.offset),Z.addRange(G))}}}}for(le=[],Z=j;Z=Z.parentNode;)Z.nodeType===1&&le.push({element:Z,left:Z.scrollLeft,top:Z.scrollTop});for(typeof j.focus=="function"&&j.focus(),j=0;jo?32:o,k.T=null,o=Nm,Nm=null;var y=$a,_=oa;if(Qt=0,Pi=$a=null,oa=0,(vt&6)!==0)throw Error(a(331));var j=vt;if(vt|=4,V0(y.current),B0(y,y.current,_,o),vt=j,ul(0,!1),Mt&&typeof Mt.onPostCommitFiberRoot=="function")try{Mt.onPostCommitFiberRoot(vn,y)}catch{}return!0}finally{K.p=p,k.T=u,lx(r,s)}}function ux(r,s,o){s=Zn(o,s),s=am(r.stateNode,s,2),r=Oa(r,s,2),r!==null&&(ht(r,2),Ar(r))}function bt(r,s,o){if(r.tag===3)ux(r,r,o);else for(;s!==null;){if(s.tag===3){ux(s,r,o);break}else if(s.tag===1){var u=s.stateNode;if(typeof s.type.getDerivedStateFromError=="function"||typeof u.componentDidCatch=="function"&&(Ia===null||!Ia.has(u))){r=Zn(o,r),o=d0(2),u=Oa(s,o,2),u!==null&&(f0(o,u,s,r),ht(u,2),Ar(u));break}}s=s.return}}function Rm(r,s,o){var u=r.pingCache;if(u===null){u=r.pingCache=new aA;var p=new Set;u.set(s,p)}else p=u.get(s),p===void 0&&(p=new Set,u.set(s,p));p.has(o)||(wm=!0,p.add(o),r=cA.bind(null,r,s,o),s.then(r,r))}function cA(r,s,o){var u=r.pingCache;u!==null&&u.delete(s),r.pingedLanes|=r.suspendedLanes&o,r.warmLanes&=~o,St===r&&(lt&o)===o&&(zt===4||zt===3&&(lt&62914560)===lt&&300>Le()-ou?(vt&2)===0&&Li(r,0):_m|=o,Di===lt&&(Di=0)),Ar(r)}function dx(r,s){s===0&&(s=ft()),r=xs(r,s),r!==null&&(ht(r,s),Ar(r))}function uA(r){var s=r.memoizedState,o=0;s!==null&&(o=s.retryLane),dx(r,o)}function dA(r,s){var o=0;switch(r.tag){case 31:case 13:var u=r.stateNode,p=r.memoizedState;p!==null&&(o=p.retryLane);break;case 19:u=r.stateNode;break;case 22:u=r.stateNode._retryCache;break;default:throw Error(a(314))}u!==null&&u.delete(s),dx(r,o)}function fA(r,s){return Ct(r,s)}var mu=null,Ii=null,Am=!1,pu=!1,km=!1,Ba=0;function Ar(r){r!==Ii&&r.next===null&&(Ii===null?mu=Ii=r:Ii=Ii.next=r),pu=!0,Am||(Am=!0,mA())}function ul(r,s){if(!km&&pu){km=!0;do for(var o=!1,u=mu;u!==null;){if(r!==0){var p=u.pendingLanes;if(p===0)var y=0;else{var _=u.suspendedLanes,j=u.pingedLanes;y=(1<<31-Dt(42|r)+1)-1,y&=p&~(_&~j),y=y&201326741?y&201326741|1:y?y|2:0}y!==0&&(o=!0,px(u,y))}else y=lt,y=He(u,u===St?y:0,u.cancelPendingCommit!==null||u.timeoutHandle!==-1),(y&3)===0||Et(u,y)||(o=!0,px(u,y));u=u.next}while(o);km=!1}}function hA(){fx()}function fx(){pu=Am=!1;var r=0;Ba!==0&&EA()&&(r=Ba);for(var s=Le(),o=null,u=mu;u!==null;){var p=u.next,y=hx(u,s);y===0?(u.next=null,o===null?mu=p:o.next=p,p===null&&(Ii=o)):(o=u,(r!==0||(y&3)!==0)&&(pu=!0)),u=p}Qt!==0&&Qt!==5||ul(r),Ba!==0&&(Ba=0)}function hx(r,s){for(var o=r.suspendedLanes,u=r.pingedLanes,p=r.expirationTimes,y=r.pendingLanes&-62914561;0j)break;var ae=D.transferSize,le=D.initiatorType;ae&&Sx(le)&&(D=D.responseEnd,_+=ae*(D"u"?null:document;function Px(r,s,o){var u=$i;if(u&&typeof s=="string"&&s){var p=Jn(s);p='link[rel="'+r+'"][href="'+p+'"]',typeof o=="string"&&(p+='[crossorigin="'+o+'"]'),Dx.has(p)||(Dx.add(p),r={rel:r,crossOrigin:o,href:s},u.querySelector(p)===null&&(s=u.createElement("link"),fn(s,"link",r),tn(s),u.head.appendChild(s)))}}function MA(r){la.D(r),Px("dns-prefetch",r,null)}function DA(r,s){la.C(r,s),Px("preconnect",r,s)}function PA(r,s,o){la.L(r,s,o);var u=$i;if(u&&r&&s){var p='link[rel="preload"][as="'+Jn(s)+'"]';s==="image"&&o&&o.imageSrcSet?(p+='[imagesrcset="'+Jn(o.imageSrcSet)+'"]',typeof o.imageSizes=="string"&&(p+='[imagesizes="'+Jn(o.imageSizes)+'"]')):p+='[href="'+Jn(r)+'"]';var y=p;switch(s){case"style":y=Ui(r);break;case"script":y=Bi(r)}sr.has(y)||(r=g({rel:"preload",href:s==="image"&&o&&o.imageSrcSet?void 0:r,as:s},o),sr.set(y,r),u.querySelector(p)!==null||s==="style"&&u.querySelector(ml(y))||s==="script"&&u.querySelector(pl(y))||(s=u.createElement("link"),fn(s,"link",r),tn(s),u.head.appendChild(s)))}}function LA(r,s){la.m(r,s);var o=$i;if(o&&r){var u=s&&typeof s.as=="string"?s.as:"script",p='link[rel="modulepreload"][as="'+Jn(u)+'"][href="'+Jn(r)+'"]',y=p;switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":y=Bi(r)}if(!sr.has(y)&&(r=g({rel:"modulepreload",href:r},s),sr.set(y,r),o.querySelector(p)===null)){switch(u){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(o.querySelector(pl(y)))return}u=o.createElement("link"),fn(u,"link",r),tn(u),o.head.appendChild(u)}}}function zA(r,s,o){la.S(r,s,o);var u=$i;if(u&&r){var p=li(u).hoistableStyles,y=Ui(r);s=s||"default";var _=p.get(y);if(!_){var j={loading:0,preload:null};if(_=u.querySelector(ml(y)))j.loading=5;else{r=g({rel:"stylesheet",href:r,"data-precedence":s},o),(o=sr.get(y))&&Km(r,o);var D=_=u.createElement("link");tn(D),fn(D,"link",r),D._p=new Promise(function(W,ae){D.onload=W,D.onerror=ae}),D.addEventListener("load",function(){j.loading|=1}),D.addEventListener("error",function(){j.loading|=2}),j.loading|=4,xu(_,s,u)}_={type:"stylesheet",instance:_,count:1,state:j},p.set(y,_)}}}function IA(r,s){la.X(r,s);var o=$i;if(o&&r){var u=li(o).hoistableScripts,p=Bi(r),y=u.get(p);y||(y=o.querySelector(pl(p)),y||(r=g({src:r,async:!0},s),(s=sr.get(p))&&Wm(r,s),y=o.createElement("script"),tn(y),fn(y,"link",r),o.head.appendChild(y)),y={type:"script",instance:y,count:1,state:null},u.set(p,y))}}function $A(r,s){la.M(r,s);var o=$i;if(o&&r){var u=li(o).hoistableScripts,p=Bi(r),y=u.get(p);y||(y=o.querySelector(pl(p)),y||(r=g({src:r,async:!0,type:"module"},s),(s=sr.get(p))&&Wm(r,s),y=o.createElement("script"),tn(y),fn(y,"link",r),o.head.appendChild(y)),y={type:"script",instance:y,count:1,state:null},u.set(p,y))}}function Lx(r,s,o,u){var p=(p=ee.current)?bu(p):null;if(!p)throw Error(a(446));switch(r){case"meta":case"title":return null;case"style":return typeof o.precedence=="string"&&typeof o.href=="string"?(s=Ui(o.href),o=li(p).hoistableStyles,u=o.get(s),u||(u={type:"style",instance:null,count:0,state:null},o.set(s,u)),u):{type:"void",instance:null,count:0,state:null};case"link":if(o.rel==="stylesheet"&&typeof o.href=="string"&&typeof o.precedence=="string"){r=Ui(o.href);var y=li(p).hoistableStyles,_=y.get(r);if(_||(p=p.ownerDocument||p,_={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},y.set(r,_),(y=p.querySelector(ml(r)))&&!y._p&&(_.instance=y,_.state.loading=5),sr.has(r)||(o={rel:"preload",as:"style",href:o.href,crossOrigin:o.crossOrigin,integrity:o.integrity,media:o.media,hrefLang:o.hrefLang,referrerPolicy:o.referrerPolicy},sr.set(r,o),y||UA(p,r,o,_.state))),s&&u===null)throw Error(a(528,""));return _}if(s&&u!==null)throw Error(a(529,""));return null;case"script":return s=o.async,o=o.src,typeof o=="string"&&s&&typeof s!="function"&&typeof s!="symbol"?(s=Bi(o),o=li(p).hoistableScripts,u=o.get(s),u||(u={type:"script",instance:null,count:0,state:null},o.set(s,u)),u):{type:"void",instance:null,count:0,state:null};default:throw Error(a(444,r))}}function Ui(r){return'href="'+Jn(r)+'"'}function ml(r){return'link[rel="stylesheet"]['+r+"]"}function zx(r){return g({},r,{"data-precedence":r.precedence,precedence:null})}function UA(r,s,o,u){r.querySelector('link[rel="preload"][as="style"]['+s+"]")?u.loading=1:(s=r.createElement("link"),u.preload=s,s.addEventListener("load",function(){return u.loading|=1}),s.addEventListener("error",function(){return u.loading|=2}),fn(s,"link",o),tn(s),r.head.appendChild(s))}function Bi(r){return'[src="'+Jn(r)+'"]'}function pl(r){return"script[async]"+r}function Ix(r,s,o){if(s.count++,s.instance===null)switch(s.type){case"style":var u=r.querySelector('style[data-href~="'+Jn(o.href)+'"]');if(u)return s.instance=u,tn(u),u;var p=g({},o,{"data-href":o.href,"data-precedence":o.precedence,href:null,precedence:null});return u=(r.ownerDocument||r).createElement("style"),tn(u),fn(u,"style",p),xu(u,o.precedence,r),s.instance=u;case"stylesheet":p=Ui(o.href);var y=r.querySelector(ml(p));if(y)return s.state.loading|=4,s.instance=y,tn(y),y;u=zx(o),(p=sr.get(p))&&Km(u,p),y=(r.ownerDocument||r).createElement("link"),tn(y);var _=y;return _._p=new Promise(function(j,D){_.onload=j,_.onerror=D}),fn(y,"link",u),s.state.loading|=4,xu(y,o.precedence,r),s.instance=y;case"script":return y=Bi(o.src),(p=r.querySelector(pl(y)))?(s.instance=p,tn(p),p):(u=o,(p=sr.get(y))&&(u=g({},o),Wm(u,p)),r=r.ownerDocument||r,p=r.createElement("script"),tn(p),fn(p,"link",u),r.head.appendChild(p),s.instance=p);case"void":return null;default:throw Error(a(443,s.type))}else s.type==="stylesheet"&&(s.state.loading&4)===0&&(u=s.instance,s.state.loading|=4,xu(u,o.precedence,r));return s.instance}function xu(r,s,o){for(var u=o.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),p=u.length?u[u.length-1]:null,y=p,_=0;_ title"):null)}function BA(r,s,o){if(o===1||s.itemProp!=null)return!1;switch(r){case"meta":case"title":return!0;case"style":if(typeof s.precedence!="string"||typeof s.href!="string"||s.href==="")break;return!0;case"link":if(typeof s.rel!="string"||typeof s.href!="string"||s.href===""||s.onLoad||s.onError)break;switch(s.rel){case"stylesheet":return r=s.disabled,typeof s.precedence=="string"&&r==null;default:return!0}case"script":if(s.async&&typeof s.async!="function"&&typeof s.async!="symbol"&&!s.onLoad&&!s.onError&&s.src&&typeof s.src=="string")return!0}return!1}function Bx(r){return!(r.type==="stylesheet"&&(r.state.loading&3)===0)}function HA(r,s,o,u){if(o.type==="stylesheet"&&(typeof u.media!="string"||matchMedia(u.media).matches!==!1)&&(o.state.loading&4)===0){if(o.instance===null){var p=Ui(u.href),y=s.querySelector(ml(p));if(y){s=y._p,s!==null&&typeof s=="object"&&typeof s.then=="function"&&(r.count++,r=_u.bind(r),s.then(r,r)),o.state.loading|=4,o.instance=y,tn(y);return}y=s.ownerDocument||s,u=zx(u),(p=sr.get(p))&&Km(u,p),y=y.createElement("link"),tn(y);var _=y;_._p=new Promise(function(j,D){_.onload=j,_.onerror=D}),fn(y,"link",u),o.instance=y}r.stylesheets===null&&(r.stylesheets=new Map),r.stylesheets.set(o,s),(s=o.state.preload)&&(o.state.loading&3)===0&&(r.count++,o=_u.bind(r),s.addEventListener("load",o),s.addEventListener("error",o))}}var Ym=0;function qA(r,s){return r.stylesheets&&r.count===0&&Eu(r,r.stylesheets),0Ym?50:800)+s);return r.unsuspend=o,function(){r.unsuspend=null,clearTimeout(u),clearTimeout(p)}}:null}function _u(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Eu(this,this.stylesheets);else if(this.unsuspend){var r=this.unsuspend;this.unsuspend=null,r()}}}var Su=null;function Eu(r,s){r.stylesheets=null,r.unsuspend!==null&&(r.count++,Su=new Map,s.forEach(VA,r),Su=null,_u.call(r))}function VA(r,s){if(!(s.state.loading&4)){var o=Su.get(r);if(o)var u=o.get(null);else{o=new Map,Su.set(r,o);for(var p=r.querySelectorAll("link[data-precedence],style[data-precedence]"),y=0;y"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),ap.exports=ik(),ap.exports}var lk=ok();/** * react-router v7.15.1 * * Copyright (c) Remix Software Inc. @@ -55,17 +55,17 @@ Error generating stack: `+u.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */var dw="popstate";function fw(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function ck(e={}){function t(a,i){var m;let l=(m=i.state)==null?void 0:m.masked,{pathname:c,search:f,hash:h}=l||a.location;return Yp("",{pathname:c,search:f,hash:h},i.state&&i.state.usr||null,i.state&&i.state.key||"default",l?{pathname:a.location.pathname,search:a.location.search,hash:a.location.hash}:void 0)}function n(a,i){return typeof i=="string"?i:Bl(i)}return dk(t,n,null,e)}function Mt(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Br(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function uk(){return Math.random().toString(36).substring(2,10)}function hw(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function Yp(e,t,n=null,a,i){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?So(t):t,state:n,key:t&&t.key||a||uk(),mask:i}}function Bl({pathname:e="/",search:t="",hash:n=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function So(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let a=e.indexOf("?");a>=0&&(t.search=e.substring(a),e=e.substring(0,a)),e&&(t.pathname=e)}return t}function dk(e,t,n,a={}){let{window:i=document.defaultView,v5Compat:l=!1}=a,c=i.history,f="POP",h=null,m=b();m==null&&(m=0,c.replaceState({...c.state,idx:m},""));function b(){return(c.state||{idx:null}).idx}function g(){f="POP";let C=b(),N=C==null?null:C-m;m=C,h&&h({action:f,location:S.location,delta:N})}function x(C,N){f="PUSH";let T=fw(C)?C:Yp(S.location,C,N);m=b()+1;let R=hw(T,m),M=S.createHref(T.mask||T);try{c.pushState(R,"",M)}catch($){if($ instanceof DOMException&&$.name==="DataCloneError")throw $;i.location.assign(M)}l&&h&&h({action:f,location:S.location,delta:1})}function w(C,N){f="REPLACE";let T=fw(C)?C:Yp(S.location,C,N);m=b();let R=hw(T,m),M=S.createHref(T.mask||T);c.replaceState(R,"",M),l&&h&&h({action:f,location:S.location,delta:0})}function E(C){return fk(C)}let S={get action(){return f},get location(){return e(i,c)},listen(C){if(h)throw new Error("A history only accepts one active listener");return i.addEventListener(dw,g),h=C,()=>{i.removeEventListener(dw,g),h=null}},createHref(C){return t(i,C)},createURL:E,encodeLocation(C){let N=E(C);return{pathname:N.pathname,search:N.search,hash:N.hash}},push:x,replace:w,go(C){return c.go(C)}};return S}function fk(e,t=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),Mt(n,"No window.location.(origin|href) available to create URL");let a=typeof e=="string"?e:Bl(e);return a=a.replace(/ $/,"%20"),!t&&a.startsWith("//")&&(a=n+a),new URL(a,n)}function _S(e,t,n="/"){return hk(e,t,n,!1)}function hk(e,t,n,a,i){let l=typeof t=="string"?So(t):t,c=pa(l.pathname||"/",n);if(c==null)return null;let f=mk(e),h=null,m=Ck(c);for(let b=0;h==null&&b{let b={relativePath:m===void 0?c.path||"":m,caseSensitive:c.caseSensitive===!0,childrenIndex:f,route:c};if(b.relativePath.startsWith("/")){if(!b.relativePath.startsWith(a)&&h)return;Mt(b.relativePath.startsWith(a),`Absolute route path "${b.relativePath}" nested under path "${a}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),b.relativePath=b.relativePath.slice(a.length)}let g=Sr([a,b.relativePath]),x=n.concat(b);c.children&&c.children.length>0&&(Mt(c.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${g}".`),SS(c.children,t,x,g,h)),!(c.path==null&&!c.index)&&t.push({path:g,score:_k(g,c.index),routesMeta:x})};return e.forEach((c,f)=>{var h;if(c.path===""||!((h=c.path)!=null&&h.includes("?")))l(c,f);else for(let m of ES(c.path))l(c,f,!0,m)}),t}function ES(e){let t=e.split("/");if(t.length===0)return[];let[n,...a]=t,i=n.endsWith("?"),l=n.replace(/\?$/,"");if(a.length===0)return i?[l,""]:[l];let c=ES(a.join("/")),f=[];return f.push(...c.map(h=>h===""?l:[l,h].join("/"))),i&&f.push(...c),f.map(h=>e.startsWith("/")&&h===""?"/":h)}function pk(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Sk(t.routesMeta.map(a=>a.childrenIndex),n.routesMeta.map(a=>a.childrenIndex)))}var gk=/^:[\w-]+$/,vk=3,yk=2,bk=1,xk=10,wk=-2,mw=e=>e==="*";function _k(e,t){let n=e.split("/"),a=n.length;return n.some(mw)&&(a+=wk),t&&(a+=yk),n.filter(i=>!mw(i)).reduce((i,l)=>i+(gk.test(l)?vk:l===""?bk:xk),a)}function Sk(e,t){return e.length===t.length&&e.slice(0,-1).every((a,i)=>a===t[i])?e[e.length-1]-t[t.length-1]:0}function Ek(e,t,n=!1){let{routesMeta:a}=e,i={},l="/",c=[];for(let f=0;f{if(b==="*"){let E=f[x]||"";c=l.slice(0,l.length-E.length).replace(/(.)\/+$/,"$1")}const w=f[x];return g&&!w?m[b]=void 0:m[b]=(w||"").replace(/%2F/g,"/"),m},{}),pathname:l,pathnameBase:c,pattern:e}}function Nk(e,t=!1,n=!0){Br(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let a=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(c,f,h,m,b)=>{if(a.push({paramName:f,isOptional:h!=null}),h){let g=b.charAt(m+c.length);return g&&g!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(a.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),a]}function Ck(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Br(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function pa(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,a=e.charAt(n);return a&&a!=="/"?null:e.slice(n)||"/"}var jk=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Tk(e,t="/"){let{pathname:n,search:a="",hash:i=""}=typeof e=="string"?So(e):e,l;return n?(n=CS(n),n.startsWith("/")?l=pw(n.substring(1),"/"):l=pw(n,t)):l=t,{pathname:l,search:kk(a),hash:Ok(i)}}function pw(e,t){let n=Nd(t).split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function ip(e,t,n,a){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(a)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Rk(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function NS(e){let t=Rk(e);return t.map((n,a)=>a===t.length-1?n.pathname:n.pathnameBase)}function Vg(e,t,n,a=!1){let i;typeof e=="string"?i=So(e):(i={...e},Mt(!i.pathname||!i.pathname.includes("?"),ip("?","pathname","search",i)),Mt(!i.pathname||!i.pathname.includes("#"),ip("#","pathname","hash",i)),Mt(!i.search||!i.search.includes("#"),ip("#","search","hash",i)));let l=e===""||i.pathname==="",c=l?"/":i.pathname,f;if(c==null)f=n;else{let g=t.length-1;if(!a&&c.startsWith("..")){let x=c.split("/");for(;x[0]==="..";)x.shift(),g-=1;i.pathname=x.join("/")}f=g>=0?t[g]:"/"}let h=Tk(i,f),m=c&&c!=="/"&&c.endsWith("/"),b=(l||c===".")&&n.endsWith("/");return!h.pathname.endsWith("/")&&(m||b)&&(h.pathname+="/"),h}var CS=e=>e.replace(/\/\/+/g,"/"),Sr=e=>CS(e.join("/")),Nd=e=>e.replace(/\/+$/,""),Ak=e=>Nd(e).replace(/^\/*/,"/"),kk=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Ok=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,Mk=class{constructor(e,t,n,a=!1){this.status=e,this.statusText=t||"",this.internal=a,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Dk(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Pk(e){let t=e.map(n=>n.route.path).filter(Boolean);return Sr(t)||"/"}var jS=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function TS(e,t){let n=e;if(typeof n!="string"||!jk.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let a=n,i=!1;if(jS)try{let l=new URL(window.location.href),c=n.startsWith("//")?new URL(l.protocol+n):new URL(n),f=pa(c.pathname,t);c.origin===l.origin&&f!=null?n=f+c.search+c.hash:i=!0}catch{Br(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:a,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var RS=["POST","PUT","PATCH","DELETE"];new Set(RS);var Lk=["GET",...RS];new Set(Lk);var Eo=v.createContext(null);Eo.displayName="DataRouter";var rf=v.createContext(null);rf.displayName="DataRouterState";var AS=v.createContext(!1);function zk(){return v.useContext(AS)}var kS=v.createContext({isTransitioning:!1});kS.displayName="ViewTransition";var Ik=v.createContext(new Map);Ik.displayName="Fetchers";var $k=v.createContext(null);$k.displayName="Await";var cr=v.createContext(null);cr.displayName="Navigation";var tc=v.createContext(null);tc.displayName="Location";var xa=v.createContext({outlet:null,matches:[],isDataRoute:!1});xa.displayName="Route";var Fg=v.createContext(null);Fg.displayName="RouteError";var OS="REACT_ROUTER_ERROR",Uk="REDIRECT",Bk="ROUTE_ERROR_RESPONSE";function Hk(e){if(e.startsWith(`${OS}:${Uk}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function qk(e){if(e.startsWith(`${OS}:${Bk}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new Mk(t.status,t.statusText,t.data)}catch{}}function Vk(e,{relative:t}={}){Mt(nc(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:a}=v.useContext(cr),{hash:i,pathname:l,search:c}=rc(e,{relative:t}),f=l;return n!=="/"&&(f=l==="/"?n:Sr([n,l])),a.createHref({pathname:f,search:c,hash:i})}function nc(){return v.useContext(tc)!=null}function wa(){return Mt(nc(),"useLocation() may be used only in the context of a component."),v.useContext(tc).location}var MS="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function DS(e){v.useContext(cr).static||v.useLayoutEffect(e)}function Fk(){let{isDataRoute:e}=v.useContext(xa);return e?a2():Gk()}function Gk(){Mt(nc(),"useNavigate() may be used only in the context of a component.");let e=v.useContext(Eo),{basename:t,navigator:n}=v.useContext(cr),{matches:a}=v.useContext(xa),{pathname:i}=wa(),l=JSON.stringify(NS(a)),c=v.useRef(!1);return DS(()=>{c.current=!0}),v.useCallback((h,m={})=>{if(Br(c.current,MS),!c.current)return;if(typeof h=="number"){n.go(h);return}let b=Vg(h,JSON.parse(l),i,m.relative==="path");e==null&&t!=="/"&&(b.pathname=b.pathname==="/"?t:Sr([t,b.pathname])),(m.replace?n.replace:n.push)(b,m.state,m)},[t,n,l,i,e])}v.createContext(null);function rc(e,{relative:t}={}){let{matches:n}=v.useContext(xa),{pathname:a}=wa(),i=JSON.stringify(NS(n));return v.useMemo(()=>Vg(e,JSON.parse(i),a,t==="path"),[e,i,a,t])}function Kk(e,t){return PS(e,t)}function PS(e,t,n){var C;Mt(nc(),"useRoutes() may be used only in the context of a component.");let{navigator:a}=v.useContext(cr),{matches:i}=v.useContext(xa),l=i[i.length-1],c=l?l.params:{},f=l?l.pathname:"/",h=l?l.pathnameBase:"/",m=l&&l.route;{let N=m&&m.path||"";zS(f,!m||N.endsWith("*")||N.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${f}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + */var dw="popstate";function fw(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function ck(e={}){function t(a,i){var m;let l=(m=i.state)==null?void 0:m.masked,{pathname:c,search:f,hash:h}=l||a.location;return Xp("",{pathname:c,search:f,hash:h},i.state&&i.state.usr||null,i.state&&i.state.key||"default",l?{pathname:a.location.pathname,search:a.location.search,hash:a.location.hash}:void 0)}function n(a,i){return typeof i=="string"?i:Bl(i)}return dk(t,n,null,e)}function Pt(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Br(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function uk(){return Math.random().toString(36).substring(2,10)}function hw(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function Xp(e,t,n=null,a,i){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?So(t):t,state:n,key:t&&t.key||a||uk(),mask:i}}function Bl({pathname:e="/",search:t="",hash:n=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function So(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let a=e.indexOf("?");a>=0&&(t.search=e.substring(a),e=e.substring(0,a)),e&&(t.pathname=e)}return t}function dk(e,t,n,a={}){let{window:i=document.defaultView,v5Compat:l=!1}=a,c=i.history,f="POP",h=null,m=b();m==null&&(m=0,c.replaceState({...c.state,idx:m},""));function b(){return(c.state||{idx:null}).idx}function g(){f="POP";let C=b(),N=C==null?null:C-m;m=C,h&&h({action:f,location:S.location,delta:N})}function x(C,N){f="PUSH";let A=fw(C)?C:Xp(S.location,C,N);m=b()+1;let T=hw(A,m),M=S.createHref(A.mask||A);try{c.pushState(T,"",M)}catch($){if($ instanceof DOMException&&$.name==="DataCloneError")throw $;i.location.assign(M)}l&&h&&h({action:f,location:S.location,delta:1})}function w(C,N){f="REPLACE";let A=fw(C)?C:Xp(S.location,C,N);m=b();let T=hw(A,m),M=S.createHref(A.mask||A);c.replaceState(T,"",M),l&&h&&h({action:f,location:S.location,delta:0})}function E(C){return fk(C)}let S={get action(){return f},get location(){return e(i,c)},listen(C){if(h)throw new Error("A history only accepts one active listener");return i.addEventListener(dw,g),h=C,()=>{i.removeEventListener(dw,g),h=null}},createHref(C){return t(i,C)},createURL:E,encodeLocation(C){let N=E(C);return{pathname:N.pathname,search:N.search,hash:N.hash}},push:x,replace:w,go(C){return c.go(C)}};return S}function fk(e,t=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),Pt(n,"No window.location.(origin|href) available to create URL");let a=typeof e=="string"?e:Bl(e);return a=a.replace(/ $/,"%20"),!t&&a.startsWith("//")&&(a=n+a),new URL(a,n)}function _S(e,t,n="/"){return hk(e,t,n,!1)}function hk(e,t,n,a,i){let l=typeof t=="string"?So(t):t,c=pa(l.pathname||"/",n);if(c==null)return null;let f=mk(e),h=null,m=Ck(c);for(let b=0;h==null&&b{let b={relativePath:m===void 0?c.path||"":m,caseSensitive:c.caseSensitive===!0,childrenIndex:f,route:c};if(b.relativePath.startsWith("/")){if(!b.relativePath.startsWith(a)&&h)return;Pt(b.relativePath.startsWith(a),`Absolute route path "${b.relativePath}" nested under path "${a}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),b.relativePath=b.relativePath.slice(a.length)}let g=Sr([a,b.relativePath]),x=n.concat(b);c.children&&c.children.length>0&&(Pt(c.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${g}".`),SS(c.children,t,x,g,h)),!(c.path==null&&!c.index)&&t.push({path:g,score:_k(g,c.index),routesMeta:x})};return e.forEach((c,f)=>{var h;if(c.path===""||!((h=c.path)!=null&&h.includes("?")))l(c,f);else for(let m of ES(c.path))l(c,f,!0,m)}),t}function ES(e){let t=e.split("/");if(t.length===0)return[];let[n,...a]=t,i=n.endsWith("?"),l=n.replace(/\?$/,"");if(a.length===0)return i?[l,""]:[l];let c=ES(a.join("/")),f=[];return f.push(...c.map(h=>h===""?l:[l,h].join("/"))),i&&f.push(...c),f.map(h=>e.startsWith("/")&&h===""?"/":h)}function pk(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Sk(t.routesMeta.map(a=>a.childrenIndex),n.routesMeta.map(a=>a.childrenIndex)))}var gk=/^:[\w-]+$/,vk=3,yk=2,bk=1,xk=10,wk=-2,mw=e=>e==="*";function _k(e,t){let n=e.split("/"),a=n.length;return n.some(mw)&&(a+=wk),t&&(a+=yk),n.filter(i=>!mw(i)).reduce((i,l)=>i+(gk.test(l)?vk:l===""?bk:xk),a)}function Sk(e,t){return e.length===t.length&&e.slice(0,-1).every((a,i)=>a===t[i])?e[e.length-1]-t[t.length-1]:0}function Ek(e,t,n=!1){let{routesMeta:a}=e,i={},l="/",c=[];for(let f=0;f{if(b==="*"){let E=f[x]||"";c=l.slice(0,l.length-E.length).replace(/(.)\/+$/,"$1")}const w=f[x];return g&&!w?m[b]=void 0:m[b]=(w||"").replace(/%2F/g,"/"),m},{}),pathname:l,pathnameBase:c,pattern:e}}function Nk(e,t=!1,n=!0){Br(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let a=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(c,f,h,m,b)=>{if(a.push({paramName:f,isOptional:h!=null}),h){let g=b.charAt(m+c.length);return g&&g!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(a.push({paramName:"*"}),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),a]}function Ck(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return Br(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function pa(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,a=e.charAt(n);return a&&a!=="/"?null:e.slice(n)||"/"}var jk=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function Tk(e,t="/"){let{pathname:n,search:a="",hash:i=""}=typeof e=="string"?So(e):e,l;return n?(n=CS(n),n.startsWith("/")?l=pw(n.substring(1),"/"):l=pw(n,t)):l=t,{pathname:l,search:kk(a),hash:Ok(i)}}function pw(e,t){let n=Cd(t).split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function lp(e,t,n,a){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(a)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Rk(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function NS(e){let t=Rk(e);return t.map((n,a)=>a===t.length-1?n.pathname:n.pathnameBase)}function Fg(e,t,n,a=!1){let i;typeof e=="string"?i=So(e):(i={...e},Pt(!i.pathname||!i.pathname.includes("?"),lp("?","pathname","search",i)),Pt(!i.pathname||!i.pathname.includes("#"),lp("#","pathname","hash",i)),Pt(!i.search||!i.search.includes("#"),lp("#","search","hash",i)));let l=e===""||i.pathname==="",c=l?"/":i.pathname,f;if(c==null)f=n;else{let g=t.length-1;if(!a&&c.startsWith("..")){let x=c.split("/");for(;x[0]==="..";)x.shift(),g-=1;i.pathname=x.join("/")}f=g>=0?t[g]:"/"}let h=Tk(i,f),m=c&&c!=="/"&&c.endsWith("/"),b=(l||c===".")&&n.endsWith("/");return!h.pathname.endsWith("/")&&(m||b)&&(h.pathname+="/"),h}var CS=e=>e.replace(/\/\/+/g,"/"),Sr=e=>CS(e.join("/")),Cd=e=>e.replace(/\/+$/,""),Ak=e=>Cd(e).replace(/^\/*/,"/"),kk=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,Ok=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,Mk=class{constructor(e,t,n,a=!1){this.status=e,this.statusText=t||"",this.internal=a,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function Dk(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function Pk(e){let t=e.map(n=>n.route.path).filter(Boolean);return Sr(t)||"/"}var jS=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function TS(e,t){let n=e;if(typeof n!="string"||!jk.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let a=n,i=!1;if(jS)try{let l=new URL(window.location.href),c=n.startsWith("//")?new URL(l.protocol+n):new URL(n),f=pa(c.pathname,t);c.origin===l.origin&&f!=null?n=f+c.search+c.hash:i=!0}catch{Br(!1,` contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:a,isExternal:i,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var RS=["POST","PUT","PATCH","DELETE"];new Set(RS);var Lk=["GET",...RS];new Set(Lk);var Eo=v.createContext(null);Eo.displayName="DataRouter";var af=v.createContext(null);af.displayName="DataRouterState";var AS=v.createContext(!1);function zk(){return v.useContext(AS)}var kS=v.createContext({isTransitioning:!1});kS.displayName="ViewTransition";var Ik=v.createContext(new Map);Ik.displayName="Fetchers";var $k=v.createContext(null);$k.displayName="Await";var cr=v.createContext(null);cr.displayName="Navigation";var tc=v.createContext(null);tc.displayName="Location";var xa=v.createContext({outlet:null,matches:[],isDataRoute:!1});xa.displayName="Route";var Gg=v.createContext(null);Gg.displayName="RouteError";var OS="REACT_ROUTER_ERROR",Uk="REDIRECT",Bk="ROUTE_ERROR_RESPONSE";function Hk(e){if(e.startsWith(`${OS}:${Uk}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function qk(e){if(e.startsWith(`${OS}:${Bk}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new Mk(t.status,t.statusText,t.data)}catch{}}function Vk(e,{relative:t}={}){Pt(nc(),"useHref() may be used only in the context of a component.");let{basename:n,navigator:a}=v.useContext(cr),{hash:i,pathname:l,search:c}=rc(e,{relative:t}),f=l;return n!=="/"&&(f=l==="/"?n:Sr([n,l])),a.createHref({pathname:f,search:c,hash:i})}function nc(){return v.useContext(tc)!=null}function wa(){return Pt(nc(),"useLocation() may be used only in the context of a component."),v.useContext(tc).location}var MS="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function DS(e){v.useContext(cr).static||v.useLayoutEffect(e)}function Fk(){let{isDataRoute:e}=v.useContext(xa);return e?a2():Gk()}function Gk(){Pt(nc(),"useNavigate() may be used only in the context of a component.");let e=v.useContext(Eo),{basename:t,navigator:n}=v.useContext(cr),{matches:a}=v.useContext(xa),{pathname:i}=wa(),l=JSON.stringify(NS(a)),c=v.useRef(!1);return DS(()=>{c.current=!0}),v.useCallback((h,m={})=>{if(Br(c.current,MS),!c.current)return;if(typeof h=="number"){n.go(h);return}let b=Fg(h,JSON.parse(l),i,m.relative==="path");e==null&&t!=="/"&&(b.pathname=b.pathname==="/"?t:Sr([t,b.pathname])),(m.replace?n.replace:n.push)(b,m.state,m)},[t,n,l,i,e])}v.createContext(null);function rc(e,{relative:t}={}){let{matches:n}=v.useContext(xa),{pathname:a}=wa(),i=JSON.stringify(NS(n));return v.useMemo(()=>Fg(e,JSON.parse(i),a,t==="path"),[e,i,a,t])}function Kk(e,t){return PS(e,t)}function PS(e,t,n){var C;Pt(nc(),"useRoutes() may be used only in the context of a component.");let{navigator:a}=v.useContext(cr),{matches:i}=v.useContext(xa),l=i[i.length-1],c=l?l.params:{},f=l?l.pathname:"/",h=l?l.pathnameBase:"/",m=l&&l.route;{let N=m&&m.path||"";zS(f,!m||N.endsWith("*")||N.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${f}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. -Please change the parent to .`)}let b=wa(),g;if(t){let N=typeof t=="string"?So(t):t;Mt(h==="/"||((C=N.pathname)==null?void 0:C.startsWith(h)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${h}" but pathname "${N.pathname}" was given in the \`location\` prop.`),g=N}else g=b;let x=g.pathname||"/",w=x;if(h!=="/"){let N=h.replace(/^\//,"").split("/");w="/"+x.replace(/^\//,"").split("/").slice(N.length).join("/")}let E=n&&n.state.matches.length?n.state.matches.map(N=>Object.assign(N,{route:n.manifest[N.route.id]||N.route})):_S(e,{pathname:w});Br(m||E!=null,`No routes matched location "${g.pathname}${g.search}${g.hash}" `),Br(E==null||E[E.length-1].route.element!==void 0||E[E.length-1].route.Component!==void 0||E[E.length-1].route.lazy!==void 0,`Matched leaf route at location "${g.pathname}${g.search}${g.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let S=Qk(E&&E.map(N=>Object.assign({},N,{params:Object.assign({},c,N.params),pathname:Sr([h,a.encodeLocation?a.encodeLocation(N.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:N.pathname]),pathnameBase:N.pathnameBase==="/"?h:Sr([h,a.encodeLocation?a.encodeLocation(N.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:N.pathnameBase])})),i,n);return t&&S?v.createElement(tc.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...g},navigationType:"POP"}},S):S}function Wk(){let e=r2(),t=Dk(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:a},l={padding:"2px 4px",backgroundColor:a},c=null;return console.error("Error handled by React Router default ErrorBoundary:",e),c=v.createElement(v.Fragment,null,v.createElement("p",null,"💿 Hey developer 👋"),v.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",v.createElement("code",{style:l},"ErrorBoundary")," or"," ",v.createElement("code",{style:l},"errorElement")," prop on your route.")),v.createElement(v.Fragment,null,v.createElement("h2",null,"Unexpected Application Error!"),v.createElement("h3",{style:{fontStyle:"italic"}},t),n?v.createElement("pre",{style:i},n):null,c)}var Yk=v.createElement(Wk,null),LS=class extends v.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||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const n=qk(e.digest);n&&(e=n)}let t=e!==void 0?v.createElement(xa.Provider,{value:this.props.routeContext},v.createElement(Fg.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?v.createElement(Xk,{error:e},t):t}};LS.contextType=AS;var op=new WeakMap;function Xk({children:e,error:t}){let{basename:n}=v.useContext(cr);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let a=Hk(t.digest);if(a){let i=op.get(t);if(i)throw i;let l=TS(a.location,n);if(jS&&!op.get(t))if(l.isExternal||a.reloadDocument)window.location.href=l.absoluteURL||l.to;else{const c=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(l.to,{replace:a.replace}));throw op.set(t,c),c}return v.createElement("meta",{httpEquiv:"refresh",content:`0;url=${l.absoluteURL||l.to}`})}}return e}function Jk({routeContext:e,match:t,children:n}){let a=v.useContext(Eo);return a&&a.static&&a.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=t.route.id),v.createElement(xa.Provider,{value:e},n)}function Qk(e,t=[],n){let a=n==null?void 0:n.state;if(e==null){if(!a)return null;if(a.errors)e=a.matches;else if(t.length===0&&!a.initialized&&a.matches.length>0)e=a.matches;else return null}let i=e,l=a==null?void 0:a.errors;if(l!=null){let b=i.findIndex(g=>g.route.id&&(l==null?void 0:l[g.route.id])!==void 0);Mt(b>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(l).join(",")}`),i=i.slice(0,Math.min(i.length,b+1))}let c=!1,f=-1;if(n&&a){c=a.renderFallback;for(let b=0;b=0?i=i.slice(0,f+1):i=[i[0]];break}}}}let h=n==null?void 0:n.onError,m=a&&h?(b,g)=>{var x,w;h(b,{location:a.location,params:((w=(x=a.matches)==null?void 0:x[0])==null?void 0:w.params)??{},pattern:Pk(a.matches),errorInfo:g})}:void 0;return i.reduceRight((b,g,x)=>{let w,E=!1,S=null,C=null;a&&(w=l&&g.route.id?l[g.route.id]:void 0,S=g.route.errorElement||Yk,c&&(f<0&&x===0?(zS("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),E=!0,C=null):f===x&&(E=!0,C=g.route.hydrateFallbackElement||null)));let N=t.concat(i.slice(0,x+1)),T=()=>{let R;return w?R=S:E?R=C:g.route.Component?R=v.createElement(g.route.Component,null):g.route.element?R=g.route.element:R=b,v.createElement(Jk,{match:g,routeContext:{outlet:b,matches:N,isDataRoute:a!=null},children:R})};return a&&(g.route.ErrorBoundary||g.route.errorElement||x===0)?v.createElement(LS,{location:a.location,revalidation:a.revalidation,component:S,error:w,children:T(),routeContext:{outlet:null,matches:N,isDataRoute:!0},onError:m}):T()},null)}function Gg(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Zk(e){let t=v.useContext(Eo);return Mt(t,Gg(e)),t}function e2(e){let t=v.useContext(rf);return Mt(t,Gg(e)),t}function t2(e){let t=v.useContext(xa);return Mt(t,Gg(e)),t}function Kg(e){let t=t2(e),n=t.matches[t.matches.length-1];return Mt(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function n2(){return Kg("useRouteId")}function r2(){var a;let e=v.useContext(Fg),t=e2("useRouteError"),n=Kg("useRouteError");return e!==void 0?e:(a=t.errors)==null?void 0:a[n]}function a2(){let{router:e}=Zk("useNavigate"),t=Kg("useNavigate"),n=v.useRef(!1);return DS(()=>{n.current=!0}),v.useCallback(async(i,l={})=>{Br(n.current,MS),n.current&&(typeof i=="number"?await e.navigate(i):await e.navigate(i,{fromRouteId:t,...l}))},[e,t])}var gw={};function zS(e,t,n){!t&&!gw[e]&&(gw[e]=!0,Br(!1,n))}v.memo(s2);function s2({routes:e,manifest:t,future:n,state:a,isStatic:i,onError:l}){return PS(e,void 0,{manifest:t,state:a,isStatic:i,onError:l})}function IS(e){Mt(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function i2({basename:e="/",children:t=null,location:n,navigationType:a="POP",navigator:i,static:l=!1,useTransitions:c}){Mt(!nc(),"You cannot render a inside another . You should never have more than one in your app.");let f=e.replace(/^\/*/,"/"),h=v.useMemo(()=>({basename:f,navigator:i,static:l,useTransitions:c,future:{}}),[f,i,l,c]);typeof n=="string"&&(n=So(n));let{pathname:m="/",search:b="",hash:g="",state:x=null,key:w="default",mask:E}=n,S=v.useMemo(()=>{let C=pa(m,f);return C==null?null:{location:{pathname:C,search:b,hash:g,state:x,key:w,mask:E},navigationType:a}},[f,m,b,g,x,w,a,E]);return Br(S!=null,` is not able to match the URL "${m}${b}${g}" because it does not start with the basename, so the won't render anything.`),S==null?null:v.createElement(cr.Provider,{value:h},v.createElement(tc.Provider,{children:t,value:S}))}function o2({children:e,location:t}){return Kk(Xp(e),t)}function Xp(e,t=[]){let n=[];return v.Children.forEach(e,(a,i)=>{if(!v.isValidElement(a))return;let l=[...t,i];if(a.type===v.Fragment){n.push.apply(n,Xp(a.props.children,l));return}Mt(a.type===IS,`[${typeof a.type=="string"?a.type:a.type.name}] is not a component. All component children of must be a or `),Mt(!a.props.index||!a.props.children,"An index route cannot have child routes.");let c={id:a.props.id||l.join("-"),caseSensitive:a.props.caseSensitive,element:a.props.element,Component:a.props.Component,index:a.props.index,path:a.props.path,middleware:a.props.middleware,loader:a.props.loader,action:a.props.action,hydrateFallbackElement:a.props.hydrateFallbackElement,HydrateFallback:a.props.HydrateFallback,errorElement:a.props.errorElement,ErrorBoundary:a.props.ErrorBoundary,hasErrorBoundary:a.props.hasErrorBoundary===!0||a.props.ErrorBoundary!=null||a.props.errorElement!=null,shouldRevalidate:a.props.shouldRevalidate,handle:a.props.handle,lazy:a.props.lazy};a.props.children&&(c.children=Xp(a.props.children,l)),n.push(c)}),n}var fd="get",hd="application/x-www-form-urlencoded";function af(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function l2(e){return af(e)&&e.tagName.toLowerCase()==="button"}function c2(e){return af(e)&&e.tagName.toLowerCase()==="form"}function u2(e){return af(e)&&e.tagName.toLowerCase()==="input"}function d2(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function f2(e,t){return e.button===0&&(!t||t==="_self")&&!d2(e)}var Ou=null;function h2(){if(Ou===null)try{new FormData(document.createElement("form"),0),Ou=!1}catch{Ou=!0}return Ou}var m2=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function lp(e){return e!=null&&!m2.has(e)?(Br(!1,`"${e}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${hd}"`),null):e}function p2(e,t){let n,a,i,l,c;if(c2(e)){let f=e.getAttribute("action");a=f?pa(f,t):null,n=e.getAttribute("method")||fd,i=lp(e.getAttribute("enctype"))||hd,l=new FormData(e)}else if(l2(e)||u2(e)&&(e.type==="submit"||e.type==="image")){let f=e.form;if(f==null)throw new Error('Cannot submit a )} - {/* New project button */} - + {/* New project button — controlled by Supabase permission */} + {canCreateProjects && ( + + )} diff --git a/supabase_tablero_cdc_create_projects_permission.sql b/supabase_tablero_cdc_create_projects_permission.sql new file mode 100644 index 0000000..fb942c8 --- /dev/null +++ b/supabase_tablero_cdc_create_projects_permission.sql @@ -0,0 +1,149 @@ +-- ============================================================= +-- TABLERO CDC — PERMISO PARA CREAR PROYECTOS / CUADROS +-- Fecha: 2026-09-01 +-- ============================================================= +-- Objetivo: +-- • Administrar desde Supabase quién puede crear proyectos manualmente. +-- • Mantener lectura, edición, Tiempo, Tarifario, Listas, Briefs y demás permisos intactos. +-- • Aplicar seguridad real en PostgreSQL, no solamente ocultar el botón "+ Nuevo". +-- +-- Usuarios autorizados inicialmente: +-- • boliva@gomezleemarketing.com +-- • areyes@gomezleemarketing.com +-- • iaracena@gomezleemarketing.com +-- • jgomez@gomezleemarketing.com +-- • mgomez@gomezleemarketing.com +-- ============================================================= + +begin; + +-- 1) Nuevo permiso, independiente de los demás. +alter table public.tablero_cdc_allowed_users + add column if not exists can_create_projects boolean not null default false; + +comment on column public.tablero_cdc_allowed_users.can_create_projects is + 'Permite crear manualmente nuevos proyectos/cuadros desde Tablero CDC.'; + +-- 2) Dejar exactamente a los cinco usuarios solicitados con acceso inicial. +-- No cambia role, is_active ni ningún otro permiso existente. +update public.tablero_cdc_allowed_users +set + can_create_projects = case + when lower(trim(email)) in ( + 'boliva@gomezleemarketing.com', + 'areyes@gomezleemarketing.com', + 'iaracena@gomezleemarketing.com', + 'jgomez@gomezleemarketing.com', + 'mgomez@gomezleemarketing.com' + ) then true + else false + end, + updated_at = now(); + +-- 3) Función central de permiso, reutilizable por app/RLS. +create or replace function public.tablero_cdc_current_user_can_create_projects() +returns boolean +language sql +stable +security definer +set search_path = public +as $$ + select exists ( + select 1 + from public.tablero_cdc_allowed_users u + where lower(trim(u.email)) = lower(trim(coalesce(auth.jwt() ->> 'email', ''))) + and u.is_active = true + and u.can_create_projects = true + ); +$$; + +revoke all on function public.tablero_cdc_current_user_can_create_projects() from public; +grant execute on function public.tablero_cdc_current_user_can_create_projects() to authenticated; + +-- 4) Candado de seguridad antes de tocar políticas de proyectos. +-- No habilitamos/deshabilitamos RLS ni reemplazamos políticas existentes. +-- Si la tabla no tiene la configuración esperada, toda esta transacción se revierte. +do $$ +declare + v_rls_enabled boolean; + v_has_permissive_insert boolean; +begin + select c.relrowsecurity + into v_rls_enabled + from pg_class c + join pg_namespace n on n.oid = c.relnamespace + where n.nspname = 'public' + and c.relname = 'tablero_cdc_projects' + and c.relkind in ('r', 'p'); + + if coalesce(v_rls_enabled, false) = false then + raise exception + 'SEGURIDAD: tablero_cdc_projects no tiene RLS habilitado. No se aplicó ningún cambio.'; + end if; + + select exists ( + select 1 + from pg_policies p + where p.schemaname = 'public' + and p.tablename = 'tablero_cdc_projects' + and upper(p.permissive) = 'PERMISSIVE' + and upper(p.cmd) in ('INSERT', 'ALL') + ) into v_has_permissive_insert; + + if not v_has_permissive_insert then + raise exception + 'SEGURIDAD: no se encontró la política permisiva de INSERT existente para tablero_cdc_projects. No se aplicó ningún cambio.'; + end if; +end $$; + +-- 5) Política RESTRICTIVA: se suma a las políticas existentes en vez de reemplazarlas. +-- Para los usuarios autenticados, un INSERT manual requiere can_create_projects=true. +-- Las operaciones realizadas con service_role continúan usando el comportamiento +-- normal de Supabase (service_role omite RLS). +drop policy if exists "tablero_cdc_projects_insert_requires_create_permission" + on public.tablero_cdc_projects; + +create policy "tablero_cdc_projects_insert_requires_create_permission" + on public.tablero_cdc_projects + as restrictive + for insert + to authenticated + with check (public.tablero_cdc_current_user_can_create_projects()); + +commit; + +-- ============================================================= +-- VERIFICACIÓN (solo lectura) +-- ============================================================= +select + email, + full_name, + role, + is_active, + can_create_projects +from public.tablero_cdc_allowed_users +order by full_name nulls last, email; + +select + policyname, + permissive, + roles, + cmd, + with_check +from pg_policies +where schemaname = 'public' + and tablename = 'tablero_cdc_projects' +order by policyname; + +-- ============================================================= +-- ADMINISTRACIÓN FUTURA +-- ============================================================= +-- Dar acceso: +-- update public.tablero_cdc_allowed_users +-- set can_create_projects = true, updated_at = now() +-- where lower(email) = lower('correo@gomezleemarketing.com'); +-- +-- Quitar acceso: +-- update public.tablero_cdc_allowed_users +-- set can_create_projects = false, updated_at = now() +-- where lower(email) = lower('correo@gomezleemarketing.com');