From 45d0665e37f37cb74e17c8912e59e6e8f5a15614 Mon Sep 17 00:00:00 2001 From: Yiannis Christodoulou Date: Thu, 25 Sep 2025 13:53:56 +0300 Subject: [PATCH] feat: Helper function to check if chapters represent a meaningful chapter structure --- .../components/video-player/VideoJSPlayer.jsx | 71 +++++- static/video_js/video-js.js | 220 +++++++++--------- static/video_js/video-js.js.map | 2 +- 3 files changed, 177 insertions(+), 116 deletions(-) diff --git a/frontend-tools/video-js/src/components/video-player/VideoJSPlayer.jsx b/frontend-tools/video-js/src/components/video-player/VideoJSPlayer.jsx index 8c341bd1..0350c8e4 100644 --- a/frontend-tools/video-js/src/components/video-player/VideoJSPlayer.jsx +++ b/frontend-tools/video-js/src/components/video-player/VideoJSPlayer.jsx @@ -1100,10 +1100,69 @@ function VideoJSPlayer({ videoId = 'default-video' }) { }; }, []); + // Helper function to check if chapters represent a meaningful chapter structure + // Returns false if there's only one chapter covering the entire video duration with a generic title + const hasRealChapters = useMemo(() => { + return (rawChaptersData, videoDuration) => { + if (!rawChaptersData || !Array.isArray(rawChaptersData) || rawChaptersData.length === 0) { + return false; + } + + // If there's more than one chapter, assume it's a real chapter structure + if (rawChaptersData.length > 1) { + return true; + } + + // If there's only one chapter, check if it's a generic segment marker + if (rawChaptersData.length === 1) { + const chapter = rawChaptersData[0]; + const startTime = convertTimeStringToSeconds(chapter.startTime); + const endTime = convertTimeStringToSeconds(chapter.endTime); + + // Check if it's a generic segment with common auto-generated titles + const isGenericTitle = chapter.chapterTitle + ?.toLowerCase() + .match(/^(segment|video|full video|chapter|part)$/); + + // If we have video duration info, check if this single chapter spans the whole video + if (videoDuration && videoDuration > 0) { + // Allow for small timing differences (1 second tolerance) + const tolerance = 1; + const isFullVideo = startTime <= tolerance && Math.abs(endTime - videoDuration) <= tolerance; + + // Only hide if it's both full video AND has a generic title + if (isFullVideo && isGenericTitle) { + return false; + } + + // If it doesn't span the full video, it's a real chapter + if (!isFullVideo) { + return true; + } + } + + // Fallback: If start time is 0 and the title is generic, assume it's not a real chapter + if (startTime === 0 && isGenericTitle) { + return false; + } + } + + return true; + }; + }, []); + // Memoized chapters data conversion const chaptersData = useMemo(() => { if (mediaData?.data?.chapter_data && mediaData?.data?.chapter_data.length > 0) { - return convertChaptersData(mediaData?.data?.chapter_data); + const videoDuration = mediaData?.data?.duration || null; + + // Check if we have real chapters or just a single segment + if (hasRealChapters(mediaData.data.chapter_data, videoDuration)) { + return convertChaptersData(mediaData?.data?.chapter_data); + } else { + // Return empty array if it's just a single segment covering the whole video + return []; + } } return isDevMode ? [ @@ -1135,7 +1194,7 @@ function VideoJSPlayer({ videoId = 'default-video' }) { chapterTitle: chapter.chapterTitle, })) : []; - }, [mediaData?.data?.chapter_data, isDevMode, convertChaptersData]); + }, [mediaData?.data?.chapter_data, mediaData?.data?.duration, isDevMode, convertChaptersData, hasRealChapters]); // Helper function to determine MIME type based on file extension or media type const getMimeType = (url, mediaType) => { @@ -1751,8 +1810,8 @@ function VideoJSPlayer({ videoId = 'default-video' }) { // Custom control spacer customControlSpacer: true, - // Chapters menu button (moved after subtitles/captions) - chaptersButton: true, + // Chapters menu button (only show if we have real chapters) + chaptersButton: chaptersData && chaptersData.length > 0, }, // ===== HTML5 TECH OPTIONS ===== @@ -2095,7 +2154,9 @@ function VideoJSPlayer({ videoId = 'default-video' }) { userPreferences: userPreferences.current, }); // Add it before the chapters button (or at a suitable position) - const chaptersButtonIndex = controlBar.children().indexOf(chaptersButton); + const chaptersButtonIndex = chaptersButton + ? controlBar.children().indexOf(chaptersButton) + : -1; const insertIndex = chaptersButtonIndex > 0 ? chaptersButtonIndex : controlBar.children().length - 3; controlBar.addChild(autoplayToggleButton, {}, insertIndex); diff --git a/static/video_js/video-js.js b/static/video_js/video-js.js index a055dc40..5cae5c62 100644 --- a/static/video_js/video-js.js +++ b/static/video_js/video-js.js @@ -6,19 +6,19 @@ * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */Wc.exports;var wb;function IA(){return wb||(wb=1,function(s,e){(function(){function i(A,G){Object.defineProperty(u.prototype,A,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",G[0],G[1])}})}function r(A){return A===null||typeof A!="object"?null:(A=Ze&&A[Ze]||A["@@iterator"],typeof A=="function"?A:null)}function o(A,G){A=(A=A.constructor)&&(A.displayName||A.name)||"ReactClass";var ge=A+"."+G;pt[ge]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",G,A),pt[ge]=!0)}function u(A,G,ge){this.props=A,this.context=G,this.refs=Sn,this.updater=ge||Ct}function c(){}function h(A,G,ge){this.props=A,this.context=G,this.refs=Sn,this.updater=ge||Ct}function m(A){return""+A}function v(A){try{m(A);var G=!1}catch{G=!0}if(G){G=console;var ge=G.error,De=typeof Symbol=="function"&&Symbol.toStringTag&&A[Symbol.toStringTag]||A.constructor.name||"Object";return ge.call(G,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",De),m(A)}}function S(A){if(A==null)return null;if(typeof A=="function")return A.$$typeof===xn?null:A.displayName||A.name||null;if(typeof A=="string")return A;switch(A){case te:return"Fragment";case Te:return"Profiler";case Ce:return"StrictMode";case et:return"Suspense";case Oe:return"SuspenseList";case ft:return"Activity"}if(typeof A=="object")switch(typeof A.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),A.$$typeof){case Ve:return"Portal";case Ae:return(A.displayName||"Context")+".Provider";case Ue:return(A._context.displayName||"Context")+".Consumer";case lt:var G=A.render;return A=A.displayName,A||(A=G.displayName||G.name||"",A=A!==""?"ForwardRef("+A+")":"ForwardRef"),A;case ve:return G=A.displayName||null,G!==null?G:S(A.type)||"Memo";case tt:G=A._payload,A=A._init;try{return S(A(G))}catch{}}return null}function x(A){if(A===te)return"<>";if(typeof A=="object"&&A!==null&&A.$$typeof===tt)return"<...>";try{var G=S(A);return G?"<"+G+">":"<...>"}catch{return"<...>"}}function D(){var A=_e.A;return A===null?null:A.getOwner()}function w(){return Error("react-stack-top-frame")}function I(A){if(Ei.call(A,"key")){var G=Object.getOwnPropertyDescriptor(A,"key").get;if(G&&G.isReactWarning)return!1}return A.key!==void 0}function C(A,G){function ge(){$t||($t=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",G))}ge.isReactWarning=!0,Object.defineProperty(A,"key",{get:ge,configurable:!0})}function P(){var A=S(this.type);return qr[A]||(qr[A]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),A=this.props.ref,A!==void 0?A:null}function U(A,G,ge,De,ze,Je,Ye,dt){return ge=Je.ref,A={$$typeof:ke,type:A,key:G,props:Je,_owner:ze},(ge!==void 0?ge:null)!==null?Object.defineProperty(A,"ref",{enumerable:!1,get:P}):Object.defineProperty(A,"ref",{enumerable:!1,value:null}),A._store={},Object.defineProperty(A._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(A,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(A,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Ye}),Object.defineProperty(A,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:dt}),Object.freeze&&(Object.freeze(A.props),Object.freeze(A)),A}function Y(A,G){return G=U(A.type,G,void 0,void 0,A._owner,A.props,A._debugStack,A._debugTask),A._store&&(G._store.validated=A._store.validated),G}function $(A){return typeof A=="object"&&A!==null&&A.$$typeof===ke}function X(A){var G={"=":"=0",":":"=2"};return"$"+A.replace(/[=:]/g,function(ge){return G[ge]})}function K(A,G){return typeof A=="object"&&A!==null&&A.key!=null?(v(A.key),X(""+A.key)):G.toString(36)}function le(){}function Q(A){switch(A.status){case"fulfilled":return A.value;case"rejected":throw A.reason;default:switch(typeof A.status=="string"?A.then(le,le):(A.status="pending",A.then(function(G){A.status==="pending"&&(A.status="fulfilled",A.value=G)},function(G){A.status==="pending"&&(A.status="rejected",A.reason=G)})),A.status){case"fulfilled":return A.value;case"rejected":throw A.reason}}throw A}function J(A,G,ge,De,ze){var Je=typeof A;(Je==="undefined"||Je==="boolean")&&(A=null);var Ye=!1;if(A===null)Ye=!0;else switch(Je){case"bigint":case"string":case"number":Ye=!0;break;case"object":switch(A.$$typeof){case ke:case Ve:Ye=!0;break;case tt:return Ye=A._init,J(Ye(A._payload),G,ge,De,ze)}}if(Ye){Ye=A,ze=ze(Ye);var dt=De===""?"."+K(Ye,0):De;return ht(ze)?(ge="",dt!=null&&(ge=dt.replace(ja,"$&/")+"/"),J(ze,G,ge,"",function(si){return si})):ze!=null&&($(ze)&&(ze.key!=null&&(Ye&&Ye.key===ze.key||v(ze.key)),ge=Y(ze,ge+(ze.key==null||Ye&&Ye.key===ze.key?"":(""+ze.key).replace(ja,"$&/")+"/")+dt),De!==""&&Ye!=null&&$(Ye)&&Ye.key==null&&Ye._store&&!Ye._store.validated&&(ge._store.validated=2),ze=ge),G.push(ze)),1}if(Ye=0,dt=De===""?".":De+":",ht(A))for(var Qe=0;Qe";if(typeof A=="object"&&A!==null&&A.$$typeof===Ce)return"<...>";try{var Q=S(A);return Q?"<"+Q+">":"<...>"}catch{return"<...>"}}function D(){var A=_e.A;return A===null?null:A.getOwner()}function k(){return Error("react-stack-top-frame")}function O(A){if(Zi.call(A,"key")){var Q=Object.getOwnPropertyDescriptor(A,"key").get;if(Q&&Q.isReactWarning)return!1}return A.key!==void 0}function C(A,Q){function Te(){gi||(gi=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",Q))}Te.isReactWarning=!0,Object.defineProperty(A,"key",{get:Te,configurable:!0})}function U(){var A=S(this.type);return Wt[A]||(Wt[A]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),A=this.props.ref,A!==void 0?A:null}function P(A,Q,Te,De,ze,tt,Ge,dt){return Te=tt.ref,A={$$typeof:ke,type:A,key:Q,props:tt,_owner:ze},(Te!==void 0?Te:null)!==null?Object.defineProperty(A,"ref",{enumerable:!1,get:U}):Object.defineProperty(A,"ref",{enumerable:!1,value:null}),A._store={},Object.defineProperty(A._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(A,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(A,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Ge}),Object.defineProperty(A,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:dt}),Object.freeze&&(Object.freeze(A.props),Object.freeze(A)),A}function Y(A,Q){return Q=P(A.type,Q,void 0,void 0,A._owner,A.props,A._debugStack,A._debugTask),A._store&&(Q._store.validated=A._store.validated),Q}function $(A){return typeof A=="object"&&A!==null&&A.$$typeof===ke}function G(A){var Q={"=":"=0",":":"=2"};return"$"+A.replace(/[=:]/g,function(Te){return Q[Te]})}function W(A,Q){return typeof A=="object"&&A!==null&&A.key!=null?(v(A.key),G(""+A.key)):Q.toString(36)}function le(){}function Z(A){switch(A.status){case"fulfilled":return A.value;case"rejected":throw A.reason;default:switch(typeof A.status=="string"?A.then(le,le):(A.status="pending",A.then(function(Q){A.status==="pending"&&(A.status="fulfilled",A.value=Q)},function(Q){A.status==="pending"&&(A.status="rejected",A.reason=Q)})),A.status){case"fulfilled":return A.value;case"rejected":throw A.reason}}throw A}function fe(A,Q,Te,De,ze){var tt=typeof A;(tt==="undefined"||tt==="boolean")&&(A=null);var Ge=!1;if(A===null)Ge=!0;else switch(tt){case"bigint":case"string":case"number":Ge=!0;break;case"object":switch(A.$$typeof){case ke:case Pe:Ge=!0;break;case Ce:return Ge=A._init,fe(Ge(A._payload),Q,Te,De,ze)}}if(Ge){Ge=A,ze=ze(Ge);var dt=De===""?"."+W(Ge,0):De;return Xt(ze)?(Te="",dt!=null&&(Te=dt.replace(ja,"$&/")+"/"),fe(ze,Q,Te,"",function(ai){return ai})):ze!=null&&($(ze)&&(ze.key!=null&&(Ge&&Ge.key===ze.key||v(ze.key)),Te=Y(ze,Te+(ze.key==null||Ge&&Ge.key===ze.key?"":(""+ze.key).replace(ja,"$&/")+"/")+dt),De!==""&&Ge!=null&&$(Ge)&&Ge.key==null&&Ge._store&&!Ge._store.validated&&(Te._store.validated=2),ze=Te),Q.push(ze)),1}if(Ge=0,dt=De===""?".":De+":",Xt(A))for(var Xe=0;Xe import('./MyComponent')) -Did you accidentally put curly braces around the import?`,G),"default"in G||console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s +Did you accidentally put curly braces around the import?`,Q),"default"in Q||console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s Your code should look like: - const MyComponent = lazy(() => import('./MyComponent'))`,G),G.default;throw A._result}function he(){var A=_e.H;return A===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: + const MyComponent = lazy(() => import('./MyComponent'))`,Q),Q.default;throw A._result}function ue(){var A=_e.H;return A===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: 1. You might have mismatching versions of React and the renderer (such as React DOM) 2. You might be breaking the Rules of Hooks 3. You might have more than one copy of React in the same app -See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),A}function xe(){}function ye(A){if(gt===null)try{var G=("require"+Math.random()).slice(0,7);gt=(s&&s[G]).call(s,"timers").setImmediate}catch{gt=function(De){Ua===!1&&(Ua=!0,typeof MessageChannel>"u"&&console.error("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var ze=new MessageChannel;ze.port1.onmessage=De,ze.port2.postMessage(void 0)}}return gt(A)}function pe(A){return 1 ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),{then:function(Qe,si){ze=!0,Ye.then(function(Ds){if(Be(G,ge),ge===0){try{Me(De),ye(function(){return ce(Ds,Qe,si)})}catch(Ud){_e.thrownErrors.push(Ud)}if(0<_e.thrownErrors.length){var jd=pe(_e.thrownErrors);_e.thrownErrors.length=0,si(jd)}}else Qe(Ds)},function(Ds){Be(G,ge),0<_e.thrownErrors.length&&(Ds=pe(_e.thrownErrors),_e.thrownErrors.length=0),si(Ds)})}}}var dt=Je;if(Be(G,ge),ge===0&&(Me(De),De.length!==0&&ir(function(){ze||Xi||(Xi=!0,console.error("A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"))}),_e.actQueue=null),0<_e.thrownErrors.length)throw A=pe(_e.thrownErrors),_e.thrownErrors.length=0,A;return{then:function(Qe,si){ze=!0,ge===0?(_e.actQueue=De,ye(function(){return ce(dt,Qe,si)})):Qe(dt)}}},e.cache=function(A){return function(){return A.apply(null,arguments)}},e.captureOwnerStack=function(){var A=_e.getCurrentStack;return A===null?null:A()},e.cloneElement=function(A,G,ge){if(A==null)throw Error("The argument must be a React element, but you passed "+A+".");var De=Vt({},A.props),ze=A.key,Je=A._owner;if(G!=null){var Ye;e:{if(Ei.call(G,"ref")&&(Ye=Object.getOwnPropertyDescriptor(G,"ref").get)&&Ye.isReactWarning){Ye=!1;break e}Ye=G.ref!==void 0}Ye&&(Je=D()),I(G)&&(v(G.key),ze=""+G.key);for(dt in G)!Ei.call(G,dt)||dt==="key"||dt==="__self"||dt==="__source"||dt==="ref"&&G.ref===void 0||(De[dt]=G[dt])}var dt=arguments.length-2;if(dt===1)De.children=ge;else if(1_e.recentlyCreatedOwnerStacks++;return U(A,ze,void 0,void 0,D(),De,Qe?Error("react-stack-top-frame"):za,Qe?ci(x(A)):er)},e.createRef=function(){var A={current:null};return Object.seal(A),A},e.forwardRef=function(A){A!=null&&A.$$typeof===ve?console.error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof A!="function"?console.error("forwardRef requires a render function but was given %s.",A===null?"null":typeof A):A.length!==0&&A.length!==2&&console.error("forwardRef render functions accept exactly two parameters: props and ref. %s",A.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),A!=null&&A.defaultProps!=null&&console.error("forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?");var G={$$typeof:lt,render:A},ge;return Object.defineProperty(G,"displayName",{enumerable:!1,configurable:!0,get:function(){return ge},set:function(De){ge=De,A.name||A.displayName||(Object.defineProperty(A,"name",{value:De}),A.displayName=De)}}),G},e.isValidElement=$,e.lazy=function(A){return{$$typeof:tt,_payload:{_status:-1,_result:A},_init:be}},e.memo=function(A,G){A==null&&console.error("memo: The first argument must be a component. Instead received: %s",A===null?"null":typeof A),G={$$typeof:ve,type:A,compare:G===void 0?null:G};var ge;return Object.defineProperty(G,"displayName",{enumerable:!1,configurable:!0,get:function(){return ge},set:function(De){ge=De,A.name||A.displayName||(Object.defineProperty(A,"name",{value:De}),A.displayName=De)}}),G},e.startTransition=function(A){var G=_e.T,ge={};_e.T=ge,ge._updatedFibers=new Set;try{var De=A(),ze=_e.S;ze!==null&&ze(ge,De),typeof De=="object"&&De!==null&&typeof De.then=="function"&&De.then(xe,Hr)}catch(Je){Hr(Je)}finally{G===null&&ge._updatedFibers&&(A=ge._updatedFibers.size,ge._updatedFibers.clear(),10"u"&&console.error("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var ze=new MessageChannel;ze.port1.onmessage=De,ze.port2.postMessage(void 0)}}return mt(A)}function Ee(A){return 1 ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),{then:function(Xe,ai){ze=!0,Ge.then(function(As){if($e(Q,Te),Te===0){try{ve(De),de(function(){return ee(As,Xe,ai)})}catch(Ud){_e.thrownErrors.push(Ud)}if(0<_e.thrownErrors.length){var jd=Ee(_e.thrownErrors);_e.thrownErrors.length=0,ai(jd)}}else Xe(As)},function(As){$e(Q,Te),0<_e.thrownErrors.length&&(As=Ee(_e.thrownErrors),_e.thrownErrors.length=0),ai(As)})}}}var dt=tt;if($e(Q,Te),Te===0&&(ve(De),De.length!==0&&sr(function(){ze||Ji||(Ji=!0,console.error("A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"))}),_e.actQueue=null),0<_e.thrownErrors.length)throw A=Ee(_e.thrownErrors),_e.thrownErrors.length=0,A;return{then:function(Xe,ai){ze=!0,Te===0?(_e.actQueue=De,de(function(){return ee(dt,Xe,ai)})):Xe(dt)}}},e.cache=function(A){return function(){return A.apply(null,arguments)}},e.captureOwnerStack=function(){var A=_e.getCurrentStack;return A===null?null:A()},e.cloneElement=function(A,Q,Te){if(A==null)throw Error("The argument must be a React element, but you passed "+A+".");var De=pt({},A.props),ze=A.key,tt=A._owner;if(Q!=null){var Ge;e:{if(Zi.call(Q,"ref")&&(Ge=Object.getOwnPropertyDescriptor(Q,"ref").get)&&Ge.isReactWarning){Ge=!1;break e}Ge=Q.ref!==void 0}Ge&&(tt=D()),O(Q)&&(v(Q.key),ze=""+Q.key);for(dt in Q)!Zi.call(Q,dt)||dt==="key"||dt==="__self"||dt==="__source"||dt==="ref"&&Q.ref===void 0||(De[dt]=Q[dt])}var dt=arguments.length-2;if(dt===1)De.children=Te;else if(1_e.recentlyCreatedOwnerStacks++;return P(A,ze,void 0,void 0,D(),De,Xe?Error("react-stack-top-frame"):wi,Xe?qt(x(A)):ir)},e.createRef=function(){var A={current:null};return Object.seal(A),A},e.forwardRef=function(A){A!=null&&A.$$typeof===ft?console.error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof A!="function"?console.error("forwardRef requires a render function but was given %s.",A===null?"null":typeof A):A.length!==0&&A.length!==2&&console.error("forwardRef render functions accept exactly two parameters: props and ref. %s",A.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),A!=null&&A.defaultProps!=null&&console.error("forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?");var Q={$$typeof:Qe,render:A},Te;return Object.defineProperty(Q,"displayName",{enumerable:!1,configurable:!0,get:function(){return Te},set:function(De){Te=De,A.name||A.displayName||(Object.defineProperty(A,"name",{value:De}),A.displayName=De)}}),Q},e.isValidElement=$,e.lazy=function(A){return{$$typeof:Ce,_payload:{_status:-1,_result:A},_init:ge}},e.memo=function(A,Q){A==null&&console.error("memo: The first argument must be a component. Instead received: %s",A===null?"null":typeof A),Q={$$typeof:ft,type:A,compare:Q===void 0?null:Q};var Te;return Object.defineProperty(Q,"displayName",{enumerable:!1,configurable:!0,get:function(){return Te},set:function(De){Te=De,A.name||A.displayName||(Object.defineProperty(A,"name",{value:De}),A.displayName=De)}}),Q},e.startTransition=function(A){var Q=_e.T,Te={};_e.T=Te,Te._updatedFibers=new Set;try{var De=A(),ze=_e.S;ze!==null&&ze(Te,De),typeof De=="object"&&De!==null&&typeof De.then=="function"&&De.then(pe,Vr)}catch(tt){Vr(tt)}finally{Q===null&&Te._updatedFibers&&(A=Te._updatedFibers.size,Te._updatedFibers.clear(),10";if(typeof te=="object"&&te!==null&&te.$$typeof===J)return"<...>";try{var Ce=s(te);return Ce?"<"+Ce+">":"<...>"}catch{return"<...>"}}function o(){var te=he.A;return te===null?null:te.getOwner()}function u(){return Error("react-stack-top-frame")}function c(te){if(xe.call(te,"key")){var Ce=Object.getOwnPropertyDescriptor(te,"key").get;if(Ce&&Ce.isReactWarning)return!1}return te.key!==void 0}function h(te,Ce){function Te(){Be||(Be=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",Ce))}Te.isReactWarning=!0,Object.defineProperty(te,"key",{get:Te,configurable:!0})}function m(){var te=s(this.type);return ce[te]||(ce[te]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),te=this.props.ref,te!==void 0?te:null}function v(te,Ce,Te,Ue,Ae,lt,et,Oe){return Te=lt.ref,te={$$typeof:w,type:te,key:Ce,props:lt,_owner:Ae},(Te!==void 0?Te:null)!==null?Object.defineProperty(te,"ref",{enumerable:!1,get:m}):Object.defineProperty(te,"ref",{enumerable:!1,value:null}),te._store={},Object.defineProperty(te._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(te,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(te,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:et}),Object.defineProperty(te,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Oe}),Object.freeze&&(Object.freeze(te.props),Object.freeze(te)),te}function S(te,Ce,Te,Ue,Ae,lt,et,Oe){var ve=Ce.children;if(ve!==void 0)if(Ue)if(ye(ve)){for(Ue=0;Ue";if(typeof re=="object"&&re!==null&&re.$$typeof===fe)return"<...>";try{var Oe=s(re);return Oe?"<"+Oe+">":"<...>"}catch{return"<...>"}}function o(){var re=ue.A;return re===null?null:re.getOwner()}function u(){return Error("react-stack-top-frame")}function c(re){if(pe.call(re,"key")){var Oe=Object.getOwnPropertyDescriptor(re,"key").get;if(Oe&&Oe.isReactWarning)return!1}return re.key!==void 0}function h(re,Oe){function be(){$e||($e=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",Oe))}be.isReactWarning=!0,Object.defineProperty(re,"key",{get:be,configurable:!0})}function m(){var re=s(this.type);return ee[re]||(ee[re]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),re=this.props.ref,re!==void 0?re:null}function v(re,Oe,be,Fe,He,Qe,Me,Gt){return be=Qe.ref,re={$$typeof:k,type:re,key:Oe,props:Qe,_owner:He},(be!==void 0?be:null)!==null?Object.defineProperty(re,"ref",{enumerable:!1,get:m}):Object.defineProperty(re,"ref",{enumerable:!1,value:null}),re._store={},Object.defineProperty(re._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(re,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(re,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Me}),Object.defineProperty(re,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Gt}),Object.freeze&&(Object.freeze(re.props),Object.freeze(re)),re}function S(re,Oe,be,Fe,He,Qe,Me,Gt){var ft=Oe.children;if(ft!==void 0)if(Fe)if(de(ft)){for(Fe=0;Fe React keys must be passed directly to JSX without using spread: let props = %s; - <%s key={someKey} {...props} />`,Ue,ve,tt,ve),Ve[ve+Ue]=!0)}if(ve=null,Te!==void 0&&(i(Te),ve=""+Te),c(Ce)&&(i(Ce.key),ve=""+Ce.key),"key"in Ce){Te={};for(var ft in Ce)ft!=="key"&&(Te[ft]=Ce[ft])}else Te=Ce;return ve&&h(Te,typeof te=="function"?te.displayName||te.name||"Unknown":te),v(te,ve,lt,Ae,o(),Te,et,Oe)}function x(te){typeof te=="object"&&te!==null&&te.$$typeof===w&&te._store&&(te._store.validated=1)}var D=ki,w=Symbol.for("react.transitional.element"),I=Symbol.for("react.portal"),C=Symbol.for("react.fragment"),P=Symbol.for("react.strict_mode"),U=Symbol.for("react.profiler"),Y=Symbol.for("react.consumer"),$=Symbol.for("react.context"),X=Symbol.for("react.forward_ref"),K=Symbol.for("react.suspense"),le=Symbol.for("react.suspense_list"),Q=Symbol.for("react.memo"),J=Symbol.for("react.lazy"),ee=Symbol.for("react.activity"),be=Symbol.for("react.client.reference"),he=D.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,xe=Object.prototype.hasOwnProperty,ye=Array.isArray,pe=console.createTask?console.createTask:function(){return null};D={"react-stack-bottom-frame":function(te){return te()}};var Be,ce={},Me=D["react-stack-bottom-frame"].bind(D,u)(),ke=pe(r(u)),Ve={};Xc.Fragment=C,Xc.jsx=function(te,Ce,Te,Ue,Ae){var lt=1e4>he.recentlyCreatedOwnerStacks++;return S(te,Ce,Te,!1,Ue,Ae,lt?Error("react-stack-top-frame"):Me,lt?pe(r(te)):ke)},Xc.jsxs=function(te,Ce,Te,Ue,Ae){var lt=1e4>he.recentlyCreatedOwnerStacks++;return S(te,Ce,Te,!0,Ue,Ae,lt?Error("react-stack-top-frame"):Me,lt?pe(r(te)):ke)}}()),Xc}Cb.exports=LA();var Bl=Cb.exports,kb={exports:{}},Rg={exports:{}},zg={};/** + <%s key={someKey} {...props} />`,Fe,ft,Ce,ft),Pe[ft+Fe]=!0)}if(ft=null,be!==void 0&&(i(be),ft=""+be),c(Oe)&&(i(Oe.key),ft=""+Oe.key),"key"in Oe){be={};for(var Ae in Oe)Ae!=="key"&&(be[Ae]=Oe[Ae])}else be=Oe;return ft&&h(be,typeof re=="function"?re.displayName||re.name||"Unknown":re),v(re,ft,Qe,He,o(),be,Me,Gt)}function x(re){typeof re=="object"&&re!==null&&re.$$typeof===k&&re._store&&(re._store.validated=1)}var D=Si,k=Symbol.for("react.transitional.element"),O=Symbol.for("react.portal"),C=Symbol.for("react.fragment"),U=Symbol.for("react.strict_mode"),P=Symbol.for("react.profiler"),Y=Symbol.for("react.consumer"),$=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),W=Symbol.for("react.suspense"),le=Symbol.for("react.suspense_list"),Z=Symbol.for("react.memo"),fe=Symbol.for("react.lazy"),K=Symbol.for("react.activity"),ge=Symbol.for("react.client.reference"),ue=D.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,pe=Object.prototype.hasOwnProperty,de=Array.isArray,Ee=console.createTask?console.createTask:function(){return null};D={"react-stack-bottom-frame":function(re){return re()}};var $e,ee={},ve=D["react-stack-bottom-frame"].bind(D,u)(),ke=Ee(r(u)),Pe={};Xc.Fragment=C,Xc.jsx=function(re,Oe,be,Fe,He){var Qe=1e4>ue.recentlyCreatedOwnerStacks++;return S(re,Oe,be,!1,Fe,He,Qe?Error("react-stack-top-frame"):ve,Qe?Ee(r(re)):ke)},Xc.jsxs=function(re,Oe,be,Fe,He){var Qe=1e4>ue.recentlyCreatedOwnerStacks++;return S(re,Oe,be,!0,Fe,He,Qe?Error("react-stack-top-frame"):ve,Qe?Ee(r(re)):ke)}}()),Xc}Cb.exports=LA();var Bl=Cb.exports,kb={exports:{}},Rg={exports:{}},zg={};/** * @license React * scheduler.development.js * @@ -39,7 +39,7 @@ React keys must be passed directly to JSX without using spread: * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Ob;function RA(){return Ob||(Ob=1,function(s){(function(){function e(){if(K=!1,ee){var ce=s.unstable_now();xe=ce;var Me=!0;try{e:{$=!1,X&&(X=!1,Q(be),be=-1),Y=!0;var ke=U;try{t:{for(c(ce),P=r(w);P!==null&&!(P.expirationTime>ce&&m());){var Ve=P.callback;if(typeof Ve=="function"){P.callback=null,U=P.priorityLevel;var te=Ve(P.expirationTime<=ce);if(ce=s.unstable_now(),typeof te=="function"){P.callback=te,c(ce),Me=!0;break t}P===r(w)&&o(w),c(ce)}else o(w);P=r(w)}if(P!==null)Me=!0;else{var Ce=r(I);Ce!==null&&v(h,Ce.startTime-ce),Me=!1}}break e}finally{P=null,U=ke,Y=!1}Me=void 0}}finally{Me?ye():ee=!1}}}function i(ce,Me){var ke=ce.length;ce.push(Me);e:for(;0>>1,te=ce[Ve];if(0>>1;Veu(Ue,ke))Aeu(lt,Ue)?(ce[Ve]=lt,ce[Ae]=ke,Ve=Ae):(ce[Ve]=Ue,ce[Te]=ke,Ve=Te);else if(Aeu(lt,ke))ce[Ve]=lt,ce[Ae]=ke,Ve=Ae;else break e}}return Me}function u(ce,Me){var ke=ce.sortIndex-Me.sortIndex;return ke!==0?ke:ce.id-Me.id}function c(ce){for(var Me=r(I);Me!==null;){if(Me.callback===null)o(I);else if(Me.startTime<=ce)o(I),Me.sortIndex=Me.expirationTime,i(w,Me);else break;Me=r(I)}}function h(ce){if(X=!1,c(ce),!$)if(r(w)!==null)$=!0,ee||(ee=!0,ye());else{var Me=r(I);Me!==null&&v(h,Me.startTime-ce)}}function m(){return K?!0:!(s.unstable_now()-xece||125Ve?(ce.sortIndex=ke,i(I,ce),r(w)===null&&ce===r(I)&&(X?(Q(be),be=-1):X=!0,v(h,ke-Ve))):(ce.sortIndex=te,i(w,ce),$||Y||($=!0,ee||(ee=!0,ye()))),ce},s.unstable_shouldYield=m,s.unstable_wrapCallback=function(ce){var Me=U;return function(){var ke=U;U=Me;try{return ce.apply(this,arguments)}finally{U=ke}}},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()}(zg)),zg}var Ib;function zA(){return Ib||(Ib=1,Rg.exports=RA()),Rg.exports}var jg={exports:{}},Vi={};/** + */var Ob;function RA(){return Ob||(Ob=1,function(s){(function(){function e(){if(W=!1,K){var ee=s.unstable_now();pe=ee;var ve=!0;try{e:{$=!1,G&&(G=!1,Z(ge),ge=-1),Y=!0;var ke=P;try{t:{for(c(ee),U=r(k);U!==null&&!(U.expirationTime>ee&&m());){var Pe=U.callback;if(typeof Pe=="function"){U.callback=null,P=U.priorityLevel;var re=Pe(U.expirationTime<=ee);if(ee=s.unstable_now(),typeof re=="function"){U.callback=re,c(ee),ve=!0;break t}U===r(k)&&o(k),c(ee)}else o(k);U=r(k)}if(U!==null)ve=!0;else{var Oe=r(O);Oe!==null&&v(h,Oe.startTime-ee),ve=!1}}break e}finally{U=null,P=ke,Y=!1}ve=void 0}}finally{ve?de():K=!1}}}function i(ee,ve){var ke=ee.length;ee.push(ve);e:for(;0>>1,re=ee[Pe];if(0>>1;Peu(Fe,ke))Heu(Qe,Fe)?(ee[Pe]=Qe,ee[He]=ke,Pe=He):(ee[Pe]=Fe,ee[be]=ke,Pe=be);else if(Heu(Qe,ke))ee[Pe]=Qe,ee[He]=ke,Pe=He;else break e}}return ve}function u(ee,ve){var ke=ee.sortIndex-ve.sortIndex;return ke!==0?ke:ee.id-ve.id}function c(ee){for(var ve=r(O);ve!==null;){if(ve.callback===null)o(O);else if(ve.startTime<=ee)o(O),ve.sortIndex=ve.expirationTime,i(k,ve);else break;ve=r(O)}}function h(ee){if(G=!1,c(ee),!$)if(r(k)!==null)$=!0,K||(K=!0,de());else{var ve=r(O);ve!==null&&v(h,ve.startTime-ee)}}function m(){return W?!0:!(s.unstable_now()-peee||125Pe?(ee.sortIndex=ke,i(O,ee),r(k)===null&&ee===r(O)&&(G?(Z(ge),ge=-1):G=!0,v(h,ke-Pe))):(ee.sortIndex=re,i(k,ee),$||Y||($=!0,K||(K=!0,de()))),ee},s.unstable_shouldYield=m,s.unstable_wrapCallback=function(ee){var ve=P;return function(){var ke=P;P=ve;try{return ee.apply(this,arguments)}finally{P=ke}}},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()}(zg)),zg}var Ib;function zA(){return Ib||(Ib=1,Rg.exports=RA()),Rg.exports}var jg={exports:{}},Qi={};/** * @license React * react-dom.development.js * @@ -47,11 +47,11 @@ React keys must be passed directly to JSX without using spread: * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Lb;function jA(){return Lb||(Lb=1,function(){function s(){}function e(x){return""+x}function i(x,D,w){var I=3` tag.%s',w),typeof x=="string"&&typeof D=="object"&&D!==null&&typeof D.as=="string"){w=D.as;var I=r(w,D.crossOrigin);m.d.L(x,w,{crossOrigin:I,integrity:typeof D.integrity=="string"?D.integrity:void 0,nonce:typeof D.nonce=="string"?D.nonce:void 0,type:typeof D.type=="string"?D.type:void 0,fetchPriority:typeof D.fetchPriority=="string"?D.fetchPriority:void 0,referrerPolicy:typeof D.referrerPolicy=="string"?D.referrerPolicy:void 0,imageSrcSet:typeof D.imageSrcSet=="string"?D.imageSrcSet:void 0,imageSizes:typeof D.imageSizes=="string"?D.imageSizes:void 0,media:typeof D.media=="string"?D.media:void 0})}},Vi.preloadModule=function(x,D){var w="";typeof x=="string"&&x||(w+=" The `href` argument encountered was "+o(x)+"."),D!==void 0&&typeof D!="object"?w+=" The `options` argument encountered was "+o(D)+".":D&&"as"in D&&typeof D.as!="string"&&(w+=" The `as` option encountered was "+o(D.as)+"."),w&&console.error('ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `` tag.%s',w),typeof x=="string"&&(D?(w=r(D.as,D.crossOrigin),m.d.m(x,{as:typeof D.as=="string"&&D.as!=="script"?D.as:void 0,crossOrigin:w,integrity:typeof D.integrity=="string"?D.integrity:void 0})):m.d.m(x))},Vi.requestFormReset=function(x){m.d.r(x)},Vi.unstable_batchedUpdates=function(x,D){return x(D)},Vi.useFormState=function(x,D,w){return c().useFormState(x,D,w)},Vi.useFormStatus=function(){return c().useHostTransitionStatus()},Vi.version="19.1.0",typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),Vi}var Rb;function UA(){return Rb||(Rb=1,jg.exports=jA()),jg.exports}var Kc={};/** +See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),x}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var h=Si,m={d:{f:s,r:function(){throw Error("Invalid form element. requestFormReset must be passed a form that was rendered by React.")},D:s,C:s,L:s,m:s,X:s,S:s,M:s},p:0,findDOMNode:null},v=Symbol.for("react.portal"),S=h.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;typeof Map=="function"&&Map.prototype!=null&&typeof Map.prototype.forEach=="function"&&typeof Set=="function"&&Set.prototype!=null&&typeof Set.prototype.clear=="function"&&typeof Set.prototype.forEach=="function"||console.error("React depends on Map and Set built-in types. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),Qi.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=m,Qi.createPortal=function(x,D){var k=2` tag.%s',k),typeof x=="string"&&typeof D=="object"&&D!==null&&typeof D.as=="string"){k=D.as;var O=r(k,D.crossOrigin);m.d.L(x,k,{crossOrigin:O,integrity:typeof D.integrity=="string"?D.integrity:void 0,nonce:typeof D.nonce=="string"?D.nonce:void 0,type:typeof D.type=="string"?D.type:void 0,fetchPriority:typeof D.fetchPriority=="string"?D.fetchPriority:void 0,referrerPolicy:typeof D.referrerPolicy=="string"?D.referrerPolicy:void 0,imageSrcSet:typeof D.imageSrcSet=="string"?D.imageSrcSet:void 0,imageSizes:typeof D.imageSizes=="string"?D.imageSizes:void 0,media:typeof D.media=="string"?D.media:void 0})}},Qi.preloadModule=function(x,D){var k="";typeof x=="string"&&x||(k+=" The `href` argument encountered was "+o(x)+"."),D!==void 0&&typeof D!="object"?k+=" The `options` argument encountered was "+o(D)+".":D&&"as"in D&&typeof D.as!="string"&&(k+=" The `as` option encountered was "+o(D.as)+"."),k&&console.error('ReactDOM.preloadModule(): Expected two arguments, a non-empty `href` string and, optionally, an `options` object with an `as` property valid for a `` tag.%s',k),typeof x=="string"&&(D?(k=r(D.as,D.crossOrigin),m.d.m(x,{as:typeof D.as=="string"&&D.as!=="script"?D.as:void 0,crossOrigin:k,integrity:typeof D.integrity=="string"?D.integrity:void 0})):m.d.m(x))},Qi.requestFormReset=function(x){m.d.r(x)},Qi.unstable_batchedUpdates=function(x,D){return x(D)},Qi.useFormState=function(x,D,k){return c().useFormState(x,D,k)},Qi.useFormStatus=function(){return c().useHostTransitionStatus()},Qi.version="19.1.0",typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),Qi}var Rb;function UA(){return Rb||(Rb=1,jg.exports=jA()),jg.exports}var Kc={};/** * @license React * react-dom-client.development.js * @@ -59,61 +59,61 @@ See https://react.dev/link/invalid-hook-call for tips about how to debug and fix * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var zb;function PA(){return zb||(zb=1,function(){function s(t,n){for(t=t.memoizedState;t!==null&&0=n.length)return l;var d=n[a],p=Bi(t)?t.slice():st({},t);return p[d]=e(t[d],n,a+1,l),p}function i(t,n,a){if(n.length!==a.length)console.warn("copyWithRename() expects paths of the same length");else{for(var l=0;lca?console.error("Unexpected pop."):(n!==dv[ca]&&console.error("Unexpected Fiber popped."),t.current=cv[ca],cv[ca]=null,dv[ca]=null,ca--)}function xe(t,n,a){ca++,cv[ca]=t.current,dv[ca]=a,t.current=n}function ye(t){return t===null&&console.error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."),t}function pe(t,n){xe(oo,n,t),xe(Vh,t,t),xe(ao,null,t);var a=n.nodeType;switch(a){case 9:case 11:a=a===9?"#document":"#fragment",n=(n=n.documentElement)&&(n=n.namespaceURI)?wM(n):Sa;break;default:if(a=n.tagName,n=n.namespaceURI)n=wM(n),n=NM(n,a);else switch(a){case"svg":n=Yc;break;case"math":n=Ag;break;default:n=Sa}}a=a.toLowerCase(),a=Mn(null,a),a={context:n,ancestorInfo:a},he(ao,t),xe(ao,a,t)}function Be(t){he(ao,t),he(Vh,t),he(oo,t)}function ce(){return ye(ao.current)}function Me(t){t.memoizedState!==null&&xe(Hm,t,t);var n=ye(ao.current),a=t.type,l=NM(n.context,a);a=Mn(n.ancestorInfo,a),l={context:l,ancestorInfo:a},n!==l&&(xe(Vh,t,t),xe(ao,l,t))}function ke(t){Vh.current===t&&(he(ao,t),he(Vh,t)),Hm.current===t&&(he(Hm,t),wf._currentValue=Pl)}function Ve(t){return typeof Symbol=="function"&&Symbol.toStringTag&&t[Symbol.toStringTag]||t.constructor.name||"Object"}function te(t){try{return Ce(t),!1}catch{return!0}}function Ce(t){return""+t}function Te(t,n){if(te(t))return console.error("The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.",n,Ve(t)),Ce(t)}function Ue(t,n){if(te(t))return console.error("The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.",n,Ve(t)),Ce(t)}function Ae(t){if(te(t))return console.error("Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.",Ve(t)),Ce(t)}function lt(t){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")return!1;var n=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(n.isDisabled)return!0;if(!n.supportsFiber)return console.error("The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools"),!0;try{fc=n.inject(t),Ki=n}catch(a){console.error("React instrumentation encountered an error: %s.",a)}return!!n.checkDCE}function et(t){if(typeof m5=="function"&&g5(t),Ki&&typeof Ki.setStrictMode=="function")try{Ki.setStrictMode(fc,t)}catch(n){Er||(Er=!0,console.error("React instrumentation encountered an error: %s",n))}}function Oe(t){we=t}function ve(){we!==null&&typeof we.markCommitStopped=="function"&&we.markCommitStopped()}function tt(t){we!==null&&typeof we.markComponentRenderStarted=="function"&&we.markComponentRenderStarted(t)}function ft(){we!==null&&typeof we.markComponentRenderStopped=="function"&&we.markComponentRenderStopped()}function Ze(t){we!==null&&typeof we.markRenderStarted=="function"&&we.markRenderStarted(t)}function pt(){we!==null&&typeof we.markRenderStopped=="function"&&we.markRenderStopped()}function Ct(t,n){we!==null&&typeof we.markStateUpdateScheduled=="function"&&we.markStateUpdateScheduled(t,n)}function Vt(t){return t>>>=0,t===0?32:31-(y5(t)/T5|0)|0}function Sn(t){if(t&1)return"SyncHydrationLane";if(t&2)return"Sync";if(t&4)return"InputContinuousHydration";if(t&8)return"InputContinuous";if(t&16)return"DefaultHydration";if(t&32)return"Default";if(t&128)return"TransitionHydration";if(t&4194048)return"Transition";if(t&62914560)return"Retry";if(t&67108864)return"SelectiveHydration";if(t&134217728)return"IdleHydration";if(t&268435456)return"Idle";if(t&536870912)return"Offscreen";if(t&1073741824)return"Deferred"}function wt(t){var n=t&42;if(n!==0)return n;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return console.error("Should have found matching lanes. This is a bug in React."),t}}function Nt(t,n,a){var l=t.pendingLanes;if(l===0)return 0;var d=0,p=t.suspendedLanes,_=t.pingedLanes;t=t.warmLanes;var M=l&134217727;return M!==0?(l=M&~p,l!==0?d=wt(l):(_&=M,_!==0?d=wt(_):a||(a=M&~t,a!==0&&(d=wt(a))))):(M=l&~p,M!==0?d=wt(M):_!==0?d=wt(_):a||(a=l&~t,a!==0&&(d=wt(a)))),d===0?0:n!==0&&n!==d&&!(n&p)&&(p=d&-d,a=n&-n,p>=a||p===32&&(a&4194048)!==0)?n:d}function ht(t,n){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&n)===0}function xn(t,n){switch(t){case 1:case 2:case 4:case 8:case 64:return n+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 n+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 console.error("Should have found matching lanes. This is a bug in React."),-1}}function _e(){var t=Vm;return Vm<<=1,!(Vm&4194048)&&(Vm=256),t}function Ei(){var t=$m;return $m<<=1,!($m&62914560)&&($m=4194304),t}function ci(t){for(var n=[],a=0;31>a;a++)n.push(t);return n}function $t(t,n){t.pendingLanes|=n,n!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Mi(t,n,a,l,d,p){var _=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var M=t.entanglements,k=t.expirationTimes,L=t.hiddenUpdates;for(a=_&~a;0Yh&&console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}function En(t){if(Tv===void 0)try{throw Error()}catch(a){var n=a.stack.trim().match(/\n( *(at )?)/);Tv=n&&n[1]||"",fD=-1=n.length)return l;var d=n[a],p=Hi(t)?t.slice():rt({},t);return p[d]=e(t[d],n,a+1,l),p}function i(t,n,a){if(n.length!==a.length)console.warn("copyWithRename() expects paths of the same length");else{for(var l=0;lda?console.error("Unexpected pop."):(n!==dv[da]&&console.error("Unexpected Fiber popped."),t.current=cv[da],cv[da]=null,dv[da]=null,da--)}function pe(t,n,a){da++,cv[da]=t.current,dv[da]=a,t.current=n}function de(t){return t===null&&console.error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."),t}function Ee(t,n){pe(oo,n,t),pe(Vh,t,t),pe(ao,null,t);var a=n.nodeType;switch(a){case 9:case 11:a=a===9?"#document":"#fragment",n=(n=n.documentElement)&&(n=n.namespaceURI)?wM(n):xa;break;default:if(a=n.tagName,n=n.namespaceURI)n=wM(n),n=NM(n,a);else switch(a){case"svg":n=Yc;break;case"math":n=Ag;break;default:n=xa}}a=a.toLowerCase(),a=Cn(null,a),a={context:n,ancestorInfo:a},ue(ao,t),pe(ao,a,t)}function $e(t){ue(ao,t),ue(Vh,t),ue(oo,t)}function ee(){return de(ao.current)}function ve(t){t.memoizedState!==null&&pe(Hm,t,t);var n=de(ao.current),a=t.type,l=NM(n.context,a);a=Cn(n.ancestorInfo,a),l={context:l,ancestorInfo:a},n!==l&&(pe(Vh,t,t),pe(ao,l,t))}function ke(t){Vh.current===t&&(ue(ao,t),ue(Vh,t)),Hm.current===t&&(ue(Hm,t),wf._currentValue=Pl)}function Pe(t){return typeof Symbol=="function"&&Symbol.toStringTag&&t[Symbol.toStringTag]||t.constructor.name||"Object"}function re(t){try{return Oe(t),!1}catch{return!0}}function Oe(t){return""+t}function be(t,n){if(re(t))return console.error("The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.",n,Pe(t)),Oe(t)}function Fe(t,n){if(re(t))return console.error("The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.",n,Pe(t)),Oe(t)}function He(t){if(re(t))return console.error("Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.",Pe(t)),Oe(t)}function Qe(t){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")return!1;var n=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(n.isDisabled)return!0;if(!n.supportsFiber)return console.error("The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools"),!0;try{fc=n.inject(t),tn=n}catch(a){console.error("React instrumentation encountered an error: %s.",a)}return!!n.checkDCE}function Me(t){if(typeof m5=="function"&&g5(t),tn&&typeof tn.setStrictMode=="function")try{tn.setStrictMode(fc,t)}catch(n){Dr||(Dr=!0,console.error("React instrumentation encountered an error: %s",n))}}function Gt(t){we=t}function ft(){we!==null&&typeof we.markCommitStopped=="function"&&we.markCommitStopped()}function Ce(t){we!==null&&typeof we.markComponentRenderStarted=="function"&&we.markComponentRenderStarted(t)}function Ae(){we!==null&&typeof we.markComponentRenderStopped=="function"&&we.markComponentRenderStopped()}function vt(t){we!==null&&typeof we.markRenderStarted=="function"&&we.markRenderStarted(t)}function At(){we!==null&&typeof we.markRenderStopped=="function"&&we.markRenderStopped()}function Je(t,n){we!==null&&typeof we.markStateUpdateScheduled=="function"&&we.markStateUpdateScheduled(t,n)}function pt(t){return t>>>=0,t===0?32:31-(y5(t)/T5|0)|0}function jt(t){if(t&1)return"SyncHydrationLane";if(t&2)return"Sync";if(t&4)return"InputContinuousHydration";if(t&8)return"InputContinuous";if(t&16)return"DefaultHydration";if(t&32)return"Default";if(t&128)return"TransitionHydration";if(t&4194048)return"Transition";if(t&62914560)return"Retry";if(t&67108864)return"SelectiveHydration";if(t&134217728)return"IdleHydration";if(t&268435456)return"Idle";if(t&536870912)return"Offscreen";if(t&1073741824)return"Deferred"}function nt(t){var n=t&42;if(n!==0)return n;switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194048;case 4194304:case 8388608:case 16777216:case 33554432:return t&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return console.error("Should have found matching lanes. This is a bug in React."),t}}function Ci(t,n,a){var l=t.pendingLanes;if(l===0)return 0;var d=0,p=t.suspendedLanes,_=t.pingedLanes;t=t.warmLanes;var M=l&134217727;return M!==0?(l=M&~p,l!==0?d=nt(l):(_&=M,_!==0?d=nt(_):a||(a=M&~t,a!==0&&(d=nt(a))))):(M=l&~p,M!==0?d=nt(M):_!==0?d=nt(_):a||(a=l&~t,a!==0&&(d=nt(a)))),d===0?0:n!==0&&n!==d&&!(n&p)&&(p=d&-d,a=n&-n,p>=a||p===32&&(a&4194048)!==0)?n:d}function Xt(t,n){return(t.pendingLanes&~(t.suspendedLanes&~t.pingedLanes)&n)===0}function Vt(t,n){switch(t){case 1:case 2:case 4:case 8:case 64:return n+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 n+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 console.error("Should have found matching lanes. This is a bug in React."),-1}}function _e(){var t=Vm;return Vm<<=1,!(Vm&4194048)&&(Vm=256),t}function Zi(){var t=$m;return $m<<=1,!($m&62914560)&&($m=4194304),t}function qt(t){for(var n=[],a=0;31>a;a++)n.push(t);return n}function gi(t,n){t.pendingLanes|=n,n!==268435456&&(t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0)}function Ai(t,n,a,l,d,p){var _=t.pendingLanes;t.pendingLanes=a,t.suspendedLanes=0,t.pingedLanes=0,t.warmLanes=0,t.expiredLanes&=a,t.entangledLanes&=a,t.errorRecoveryDisabledLanes&=a,t.shellSuspendCounter=0;var M=t.entanglements,N=t.expirationTimes,L=t.hiddenUpdates;for(a=_&~a;0Yh&&console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}function Dn(t){if(Tv===void 0)try{throw Error()}catch(a){var n=a.stack.trim().match(/\n( *(at )?)/);Tv=n&&n[1]||"",fD=-1)":-1_||L[p]!==Z[_]){var re=` -`+L[p].replace(" at new "," at ");return t.displayName&&re.includes("")&&(re=re.replace("",t.displayName)),typeof t=="function"&&bv.set(t,re),re}while(1<=p&&0<=_);break}}}finally{vv=!1,se.H=l,Ud(),Error.prepareStackTrace=a}return L=(L=t?t.displayName||t.name:"")?En(L):"",typeof t=="function"&&bv.set(t,L),L}function Bd(t){var n=Error.prepareStackTrace;if(Error.prepareStackTrace=void 0,t=t.stack,Error.prepareStackTrace=n,t.startsWith(`Error: react-stack-top-frame +`+Tv+t+fD}function Pd(t,n){if(!t||vv)return"";var a=bv.get(t);if(a!==void 0)return a;vv=!0,a=Error.prepareStackTrace,Error.prepareStackTrace=void 0;var l=null;l=ne.H,ne.H=null,jd();try{var d={DetermineComponentFrameRoot:function(){try{if(n){var X=function(){throw Error()};if(Object.defineProperty(X.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(X,[])}catch(Ie){var ae=Ie}Reflect.construct(t,[],X)}else{try{X.call()}catch(Ie){ae=Ie}t.call(X.prototype)}}else{try{throw Error()}catch(Ie){ae=Ie}(X=t())&&typeof X.catch=="function"&&X.catch(function(){})}}catch(Ie){if(Ie&&ae&&typeof Ie.stack=="string")return[Ie.stack,ae.stack]}return[null,null]}};d.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var p=Object.getOwnPropertyDescriptor(d.DetermineComponentFrameRoot,"name");p&&p.configurable&&Object.defineProperty(d.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var _=d.DetermineComponentFrameRoot(),M=_[0],N=_[1];if(M&&N){var L=M.split(` +`),J=N.split(` +`);for(_=p=0;p_||L[p]!==J[_]){var se=` +`+L[p].replace(" at new "," at ");return t.displayName&&se.includes("")&&(se=se.replace("",t.displayName)),typeof t=="function"&&bv.set(t,se),se}while(1<=p&&0<=_);break}}}finally{vv=!1,ne.H=l,Ud(),Error.prepareStackTrace=a}return L=(L=t?t.displayName||t.name:"")?Dn(L):"",typeof t=="function"&&bv.set(t,L),L}function Bd(t){var n=Error.prepareStackTrace;if(Error.prepareStackTrace=void 0,t=t.stack,Error.prepareStackTrace=n,t.startsWith(`Error: react-stack-top-frame `)&&(t=t.slice(29)),n=t.indexOf(` `),n!==-1&&(t=t.slice(n+1)),n=t.indexOf("react-stack-bottom-frame"),n!==-1&&(n=t.lastIndexOf(` -`,n)),n!==-1)t=t.slice(0,n);else return"";return t}function qd(t){switch(t.tag){case 26:case 27:case 5:return En(t.type);case 16:return En("Lazy");case 13:return En("Suspense");case 19:return En("SuspenseList");case 0:case 15:return Pd(t.type,!1);case 11:return Pd(t.type.render,!1);case 1:return Pd(t.type,!0);case 31:return En("Activity");default:return""}}function Bo(t){try{var n="";do{n+=qd(t);var a=t._debugInfo;if(a)for(var l=a.length-1;0<=l;l--){var d=a[l];if(typeof d.name=="string"){var p=n,_=d.env,M=En(d.name+(_?" ["+_+"]":""));n=p+M}}t=t.return}while(t);return n}catch(k){return` -Error generating stack: `+k.message+` -`+k.stack}}function Ii(t){return(t=t?t.displayName||t.name:"")?En(t):""}function Cu(){if(Xn===null)return null;var t=Xn._debugOwner;return t!=null?J(t):null}function qy(){if(Xn===null)return"";var t=Xn;try{var n="";switch(t.tag===6&&(t=t.return),t.tag){case 26:case 27:case 5:n+=En(t.type);break;case 13:n+=En("Suspense");break;case 19:n+=En("SuspenseList");break;case 31:n+=En("Activity");break;case 30:case 0:case 15:case 1:t._debugOwner||n!==""||(n+=Ii(t.type));break;case 11:t._debugOwner||n!==""||(n+=Ii(t.type.render))}for(;t;)if(typeof t.tag=="number"){var a=t;t=a._debugOwner;var l=a._debugStack;t&&l&&(typeof l!="string"&&(a._debugStack=l=Bd(l)),l!==""&&(n+=` +`,n)),n!==-1)t=t.slice(0,n);else return"";return t}function qd(t){switch(t.tag){case 26:case 27:case 5:return Dn(t.type);case 16:return Dn("Lazy");case 13:return Dn("Suspense");case 19:return Dn("SuspenseList");case 0:case 15:return Pd(t.type,!1);case 11:return Pd(t.type.render,!1);case 1:return Pd(t.type,!0);case 31:return Dn("Activity");default:return""}}function Bo(t){try{var n="";do{n+=qd(t);var a=t._debugInfo;if(a)for(var l=a.length-1;0<=l;l--){var d=a[l];if(typeof d.name=="string"){var p=n,_=d.env,M=Dn(d.name+(_?" ["+_+"]":""));n=p+M}}t=t.return}while(t);return n}catch(N){return` +Error generating stack: `+N.message+` +`+N.stack}}function zi(t){return(t=t?t.displayName||t.name:"")?Dn(t):""}function Cu(){if(Kn===null)return null;var t=Kn._debugOwner;return t!=null?fe(t):null}function qy(){if(Kn===null)return"";var t=Kn;try{var n="";switch(t.tag===6&&(t=t.return),t.tag){case 26:case 27:case 5:n+=Dn(t.type);break;case 13:n+=Dn("Suspense");break;case 19:n+=Dn("SuspenseList");break;case 31:n+=Dn("Activity");break;case 30:case 0:case 15:case 1:t._debugOwner||n!==""||(n+=zi(t.type));break;case 11:t._debugOwner||n!==""||(n+=zi(t.type.render))}for(;t;)if(typeof t.tag=="number"){var a=t;t=a._debugOwner;var l=a._debugStack;t&&l&&(typeof l!="string"&&(a._debugStack=l=Bd(l)),l!==""&&(n+=` `+l))}else if(t.debugStack!=null){var d=t.debugStack;(t=t.owner)&&d&&(n+=` `+Bd(d))}else break;var p=n}catch(_){p=` Error generating stack: `+_.message+` -`+_.stack}return p}function Re(t,n,a,l,d,p,_){var M=Xn;Bn(t);try{return t!==null&&t._debugTask?t._debugTask.run(n.bind(null,a,l,d,p,_)):n(a,l,d,p,_)}finally{Bn(M)}throw Error("runWithFiberInDEV should never be called in production. This is a bug in React.")}function Bn(t){se.getCurrentStack=t===null?null:qy,Dr=!1,Xn=t}function Li(t){switch(typeof t){case"bigint":case"boolean":case"number":case"string":case"undefined":return t;case"object":return Ae(t),t;default:return""}}function Et(t){var n=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function Fy(t){var n=Et(t)?"checked":"value",a=Object.getOwnPropertyDescriptor(t.constructor.prototype,n);Ae(t[n]);var l=""+t[n];if(!t.hasOwnProperty(n)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var d=a.get,p=a.set;return Object.defineProperty(t,n,{configurable:!0,get:function(){return d.call(this)},set:function(_){Ae(_),l=""+_,p.call(this,_)}}),Object.defineProperty(t,n,{enumerable:a.enumerable}),{getValue:function(){return l},setValue:function(_){Ae(_),l=""+_},stopTracking:function(){t._valueTracker=null,delete t[n]}}}}function Vr(t){t._valueTracker||(t._valueTracker=Fy(t))}function qo(t){if(!t)return!1;var n=t._valueTracker;if(!n)return!0;var a=n.getValue(),l="";return t&&(l=Et(t)?t.checked?"true":"false":t.value),t=l,t!==a?(n.setValue(t),!0):!1}function Au(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function di(t){return t.replace(x5,function(n){return"\\"+n.charCodeAt(0).toString(16)+" "})}function Rt(t,n){n.checked===void 0||n.defaultChecked===void 0||mD||(console.error("%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components",Cu()||"A component",n.type),mD=!0),n.value===void 0||n.defaultValue===void 0||pD||(console.error("%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components",Cu()||"A component",n.type),pD=!0)}function wu(t,n,a,l,d,p,_,M){t.name="",_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"?(Te(_,"type"),t.type=_):t.removeAttribute("type"),n!=null?_==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+Li(n)):t.value!==""+Li(n)&&(t.value=""+Li(n)):_!=="submit"&&_!=="reset"||t.removeAttribute("value"),n!=null?Fd(t,_,Li(n)):a!=null?Fd(t,_,Li(a)):l!=null&&t.removeAttribute("value"),d==null&&p!=null&&(t.defaultChecked=!!p),d!=null&&(t.checked=d&&typeof d!="function"&&typeof d!="symbol"),M!=null&&typeof M!="function"&&typeof M!="symbol"&&typeof M!="boolean"?(Te(M,"name"),t.name=""+Li(M)):t.removeAttribute("name")}function Fo(t,n,a,l,d,p,_,M){if(p!=null&&typeof p!="function"&&typeof p!="symbol"&&typeof p!="boolean"&&(Te(p,"type"),t.type=p),n!=null||a!=null){if(!(p!=="submit"&&p!=="reset"||n!=null))return;a=a!=null?""+Li(a):"",n=n!=null?""+Li(n):a,M||n===t.value||(t.value=n),t.defaultValue=n}l=l??d,l=typeof l!="function"&&typeof l!="symbol"&&!!l,t.checked=M?t.checked:!!l,t.defaultChecked=!!l,_!=null&&typeof _!="function"&&typeof _!="symbol"&&typeof _!="boolean"&&(Te(_,"name"),t.name=_)}function Fd(t,n,a){n==="number"&&Au(t.ownerDocument)===t||t.defaultValue===""+a||(t.defaultValue=""+a)}function Bp(t,n){n.value==null&&(typeof n.children=="object"&&n.children!==null?sv.Children.forEach(n.children,function(a){a==null||typeof a=="string"||typeof a=="number"||typeof a=="bigint"||yD||(yD=!0,console.error("Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to