vendor: 8,180 bytes, line 1
1var e=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var t=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function D(e,t){return E(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function k(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var A=/\/+/g;function j(e,t){return typeof e==`object`&&e&&e.key!=null?k(``+e.key):t.toString(36)}function M(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function ee(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,ee(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+j(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(A,`$&/`)+`/`),ee(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=D(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(A,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+j(a,u),c+=ee(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+j(a,u++),c+=ee(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return ee(M(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function N(e,t,n){if(e==null)return e;var r=[],i=0;return ee(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function P(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var F=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},I={map:N,forEach:function(e,t,n){N(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return N(e,function(){t++}),t},toArray:function(e){return N(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=I,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:P}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,F)}catch(e){F(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()}
vendor: 11,767 bytes, lines 1-3
1,e.version=`19.2.4`})),n=e(((e,n)=>{n.exports=t()})),r=e((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}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(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),i=e(((e,t)=>{t.exports=r()})),a=e((e=>{var t=n();function r(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function i(){}var a={d:{f:i,r:function(){throw Error(r(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},o=Symbol.for(`react.portal`);function s(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var c=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,e.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(r(299));return s(e,t,null,n)},e.flushSync=function(e){var t=c.T,n=a.p;try{if(c.T=null,a.p=2,e)return e()}finally{c.T=t,a.p=n,a.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,a.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&a.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin),i=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?a.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:i,fetchPriority:o}):n===`script`&&a.d.X(e,{crossOrigin:r,integrity:i,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=l(t.as,t.crossOrigin);a.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??a.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin);a.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=l(t.as,t.crossOrigin);a.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else a.d.m(e)},e.requestFormReset=function(e){a.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return c.H.useFormState(e,t,n)},e.useFormStatus=function(){return c.H.useHostTransitionStatus()},e.version=`19.2.4`})),o=e(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=a()})),s=e((e=>{var t=i(),r=n(),a=o();function s(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function c(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function l(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function u(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function d(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function f(e){if(l(e)!==e)throw Error(s(188))}function p(e){var t=e.alternate;if(!t){if(t=l(e),t===null)throw Error(s(188));return t===e?e:null}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var a=i.alternate;if(a===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===n)return f(i),e;if(a===r)return f(i),t;a=a.sibling}throw Error(s(188))}if(n.return!==r.return)n=i,r=a;else{for(var o=!1,c=i.child;c;){if(c===n){o=!0,n=i,r=a;break}if(c===r){o=!0,r=i,n=a;break}c=c.sibling}if(!o){for(c=a.child;c;){if(c===n){o=!0,n=a,r=i;break}if(c===r){o=!0,r=a,n=i;break}c=c.sibling}if(!o)throw Error(s(189))}}if(n.alternate!==r)throw Error(s(190))}if(n.tag!==3)throw Error(s(188));return n.stateNode.current===n?e:t}function m(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=m(e),t!==null)return t;e=e.sibling}return null}var h=Object.assign,g=Symbol.for(`react.element`),_=Symbol.for(`react.transitional.element`),v=Symbol.for(`react.portal`),y=Symbol.for(`react.fragment`),b=Symbol.for(`react.strict_mode`),x=Symbol.for(`react.profiler`),S=Symbol.for(`react.consumer`),C=Symbol.for(`react.context`),w=Symbol.for(`react.forward_ref`),T=Symbol.for(`react.suspense`),E=Symbol.for(`react.suspense_list`),D=Symbol.for(`react.memo`),O=Symbol.for(`react.lazy`),k=Symbol.for(`react.activity`),A=Symbol.for(`react.memo_cache_sentinel`),j=Symbol.iterator;function M(e){return typeof e!=`object`||!e?null:(e=j&&e[j]||e[`@@iterator`],typeof e==`function`?e:null)}var ee=Symbol.for(`react.client.reference`);function N(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ee?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case y:return`Fragment`;case x:return`Profiler`;case b:return`StrictMode`;case T:return`Suspense`;case E:return`SuspenseList`;case k:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case v:return`Portal`;case C:return e.displayName||`Context`;case S:return(e._context.displayName||`Context`)+`.Consumer`;case w:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case D:return t=e.displayName||null,t===null?N(e.type)||`Memo`:t;case O:t=e._payload,e=e._init;try{return N(e(t))}catch{}}return null}var P=Array.isArray,F=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I=a.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,te={pending:!1,data:null,method:null,action:null},L=[],ne=-1;function re(e){return{current:e}}function R(e){0>ne||(e.current=L[ne],L[ne]=null,ne--)}function z(e,t){ne++,L[ne]=e.current,e.current=t}var B=re(null),ie=re(null),ae=re(null),oe=re(null);function se(e,t){switch(z(ae,t),z(ie,e),z(B,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}R(B),z(B,e)}function V(){R(B),R(ie),R(ae)}function ce(e){e.memoizedState!==null&&z(oe,e);var t=B.current,n=Hd(t,e.type);t!==n&&(z(ie,e),z(B,n))}function le(e){ie.current===e&&(R(B),R(ie)),oe.current===e&&(R(oe),Qf._currentValue=te)}var ue,de;function H(e){if(ue===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ue=t&&t[1]||``,de=-1<e.stack.indexOf(` 2 at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return` 3`+ue+e+de}var fe=!1;function pe(e,t){if(!e||fe)return``;fe=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}
vendor: 20,316 bytes, lines 3-8
3else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(` 4`),l=s.split(` 5`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=` 6`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{fe=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?H(n):``}function me(e,t){switch(e.tag){case 26:case 27:case 5:return H(e.type);case 16:return H(`Lazy`);case 13:return e.child!==t&&t!==null?H(`Suspense Fallback`):H(`Suspense`);case 19:return H(`SuspenseList`);case 0:case 15:return pe(e.type,!1);case 11:return pe(e.type.render,!1);case 1:return pe(e.type,!0);case 31:return H(`Activity`);default:return``}}function he(e){try{var t=``,n=null;do t+=me(e,n),n=e,e=e.return;while(e);return t}catch(e){return` 7Error generating stack: `+e.message+` 8`+e.stack}}var U=Object.prototype.hasOwnProperty,ge=t.unstable_scheduleCallback,_e=t.unstable_cancelCallback,ve=t.unstable_shouldYield,ye=t.unstable_requestPaint,W=t.unstable_now,be=t.unstable_getCurrentPriorityLevel,xe=t.unstable_ImmediatePriority,Se=t.unstable_UserBlockingPriority,Ce=t.unstable_NormalPriority,we=t.unstable_LowPriority,Te=t.unstable_IdlePriority,Ee=t.log,De=t.unstable_setDisableYieldValue,G=null,Oe=null;function ke(e){if(typeof Ee==`function`&&De(e),Oe&&typeof Oe.setStrictMode==`function`)try{Oe.setStrictMode(G,e)}catch{}}var Ae=Math.clz32?Math.clz32:Ne,je=Math.log,Me=Math.LN2;function Ne(e){return e>>>=0,e===0?32:31-(je(e)/Me|0)|0}var Pe=256,Fe=262144,Ie=4194304;function Le(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Re(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Le(n))):i=Le(o):i=Le(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Le(n))):i=Le(o)):i=Le(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function ze(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Be(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+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 t+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 Ve(){var e=Ie;return Ie<<=1,!(Ie&62914560)&&(Ie=4194304),e}function He(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ue(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function We(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-Ae(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&Ge(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function Ge(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Ae(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function Ke(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Ae(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function qe(e,t){var n=t&-t;return n=n&42?1:Je(n),(n&(e.suspendedLanes|t))===0?n:0}function Je(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Ye(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function Xe(){var e=I.p;return e===0?(e=window.event,e===void 0?32:mp(e.type)):e}function Ze(e,t){var n=I.p;try{return I.p=e,t()}finally{I.p=n}}var Qe=Math.random().toString(36).slice(2),$e=`__reactFiber$`+Qe,et=`__reactProps$`+Qe,tt=`__reactContainer$`+Qe,nt=`__reactEvents$`+Qe,rt=`__reactListeners$`+Qe,it=`__reactHandles$`+Qe,at=`__reactResources$`+Qe,ot=`__reactMarker$`+Qe;function st(e){delete e[$e],delete e[et],delete e[nt],delete e[rt],delete e[it]}function ct(e){var t=e[$e];if(t)return t;for(var n=e.parentNode;n;){if(t=n[tt]||n[$e]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=df(e);e!==null;){if(n=e[$e])return n;e=df(e)}return t}e=n,n=e.parentNode}return null}function lt(e){if(e=e[$e]||e[tt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function ut(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(s(33))}function dt(e){var t=e[at];return t||=e[at]={hoistableStyles:new Map,hoistableScripts:new Map},t}function ft(e){e[ot]=!0}var pt=new Set,mt={};function ht(e,t){gt(e,t),gt(e+`Capture`,t)}function gt(e,t){for(mt[e]=t,e=0;e<t.length;e++)pt.add(t[e])}var _t=RegExp(`^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),vt={},yt={};function bt(e){return U.call(yt,e)?!0:U.call(vt,e)?!1:_t.test(e)?yt[e]=!0:(vt[e]=!0,!1)}function xt(e,t,n){if(bt(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}function St(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Ct(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function wt(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Tt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Et(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Dt(e){if(!e._valueTracker){var t=Tt(e)?`checked`:`value`;e._valueTracker=Et(e,t,``+e[t])}}function Ot(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Tt(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function kt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var At=/[\n"\\]/g;function jt(e){return e.replace(At,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Mt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+wt(t)):e.value!==``+wt(t)&&(e.value=``+wt(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Pt(e,o,wt(n)):Pt(e,o,wt(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+wt(s):e.removeAttribute(`name`)}function Nt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Dt(e);return}n=n==null?``:``+wt(n),t=t==null?n:``+wt(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Dt(e)}function Pt(e,t,n){t===`number`&&kt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Ft(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+wt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function It(e,t,n){if(t!=null&&(t=``+wt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+wt(n)}function Lt(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(s(92));if(P(r)){if(1<r.length)throw Error(s(93));r=r[0]}n=r}n??=``,t=n}n=wt(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Dt(e)}function Rt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var zt=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function Bt(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||zt.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function Vt(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(s(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var i in t)r=t[i],t.hasOwnProperty(i)&&n[i]!==r&&Bt(e,i,r)}else for(var a in t)t.hasOwnProperty(a)&&Bt(e,a,t[a])}function Ht(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var Ut=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),Wt=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Gt(e){return Wt.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function Kt(){}var qt=null;function Jt(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Yt=null,Xt=null;function Zt(e){var t=lt(e);if(t&&(e=t.stateNode)){var n=e[et]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Mt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+jt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=r[et]||null;if(!i)throw Error(s(90));Mt(r,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&Ot(r)}break a;case`textarea`:It(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Ft(e,!!n.multiple,t,!1)}}}var Qt=!1;function $t(e,t,n){if(Qt)return e(t,n);Qt=!0;try{return e(t)}finally{if(Qt=!1,(Yt!==null||Xt!==null)&&(yu(),Yt&&(t=Yt,e=Xt,Xt=Yt=null,Zt(t),e)))for(t=0;t<e.length;t++)Zt(e[t])}}function en(e,t){var n=e.stateNode;if(n===null)return null;var r=n[et]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(s(231,t,typeof n));return n}var tn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),nn=!1;if(tn)try{var rn={};Object.defineProperty(rn,`passive`,{get:function(){nn=!0}}),window.addEventListener(`test`,rn,rn),window.removeEventListener(`test`,rn,rn)}catch{nn=!1}var an=null,on=null,sn=null;function cn(){if(sn)return sn;var e,t=on,n=t.length,r,i=`value`in an?an.value:an.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return sn=i.slice(e,1<r?1-r:void 0)}function ln(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function un(){return!0}function dn(){return!1}function fn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?un:dn,this.isPropagationStopped=dn,this}return h(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=un)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=un)},persist:function(){},isPersistent:un}),t}var pn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},mn=fn(pn),hn=h({},pn,{view:0,detail:0}),gn=fn(hn),_n,vn,yn,bn=h({},hn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:jn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==yn&&(yn&&e.type===`mousemove`?(_n=e.screenX-yn.screenX,vn=e.screenY-yn.screenY):vn=_n=0,yn=e),_n)},movementY:function(e){return`movementY`in e?e.movementY:vn}}),xn=fn(bn),Sn=fn(h({},bn,{dataTransfer:0})),Cn=fn(h({},hn,{relatedTarget:0})),wn=fn(h({},pn,{animationName:0,elapsedTime:0,pseudoElement:0})),Tn=fn(h({},pn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),En=fn(h({},pn,{data:0})),Dn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},On={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F
85`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},kn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function An(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=kn[e])?!!t[e]:!1}function jn(){return An}var Mn=fn(h({},hn,{key:function(e){if(e.key){var t=Dn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=ln(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?On[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:jn,charCode:function(e){return e.type===`keypress`?ln(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?ln(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Nn=fn(h({},bn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Pn=fn(h({},hn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:jn})),Fn=fn(h({},pn,{propertyName:0,elapsedTime:0,pseudoElement:0})),In=fn(h({},bn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Ln=fn(h({},pn,{newState:0,oldState:0})),Rn=[9,13,27,32],zn=tn&&`CompositionEvent`in window,Bn=null;tn&&`documentMode`in document&&(Bn=document.documentMode);var Vn=tn&&`TextEvent`in window&&!Bn,Hn=tn&&(!zn||Bn&&8<Bn&&11>=Bn),Un=` `,Wn=!1;function Gn(e,t){switch(e){case`keyup`:return Rn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Kn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var qn=!1;function Jn(e,t){switch(e){case`compositionend`:return Kn(t);case`keypress`:return t.which===32?(Wn=!0,Un):null;case`textInput`:return e=t.data,e===Un&&Wn?null:e;default:return null}}function Yn(e,t){if(qn)return e===`compositionend`||!zn&&Gn(e,t)?(e=cn(),sn=on=an=null,qn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return Hn&&t.locale!==`ko`?null:t.data;default:return null}}var Xn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Zn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!Xn[e.type]:t===`textarea`}function Qn(e,t,n,r){Yt?Xt?Xt.push(r):Xt=[r]:Yt=r,t=Td(t,`onChange`),0<t.length&&(n=new mn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var $n=null,er=null;function tr(e){vd(e,0)}function nr(e){if(Ot(ut(e)))return e}function rr(e,t){if(e===`change`)return t}var ir=!1;if(tn){var ar;if(tn){var or=`oninput`in document;if(!or){var sr=document.createElement(`div`);sr.setAttribute(`oninput`,`return;`),or=typeof sr.oninput==`function`}ar=or}else ar=!1;ir=ar&&(!document.documentMode||9<document.documentMode)}function cr(){$n&&($n.detachEvent(`onpropertychange`,lr),er=$n=null)}function lr(e){if(e.propertyName===`value`&&nr(er)){var t=[];Qn(t,er,e,Jt(e)),$t(tr,t)}}function ur(e,t,n){e===`focusin`?(cr(),$n=t,er=n,$n.attachEvent(`onpropertychange`,lr)):e===`focusout`&&cr()}function dr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return nr(er)}function fr(e,t){if(e===`click`)return nr(t)}function pr(e,t){if(e===`input`||e===`change`)return nr(t)}function mr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var hr=typeof Object.is==`function`?Object.is:mr;function gr(e,t){if(hr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!U.call(t,i)||!hr(e[i],t[i]))return!1}return!0}function _r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function vr(e,t){var n=_r(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=_r(n)}}function yr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?yr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function br(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=kt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=kt(e.document)}return t}function xr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Sr=tn&&`documentMode`in document&&11>=document.documentMode,Cr=null,wr=null,Tr=null,Er=!1;function Dr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;
vendor: 76,857 bytes, line 8
8Er||Cr==null||Cr!==kt(r)||(r=Cr,`selectionStart`in r&&xr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Tr&&gr(Tr,r)||(Tr=r,r=Td(wr,`onSelect`),0<r.length&&(t=new mn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Cr)))}function Or(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var kr={animationend:Or(`Animation`,`AnimationEnd`),animationiteration:Or(`Animation`,`AnimationIteration`),animationstart:Or(`Animation`,`AnimationStart`),transitionrun:Or(`Transition`,`TransitionRun`),transitionstart:Or(`Transition`,`TransitionStart`),transitioncancel:Or(`Transition`,`TransitionCancel`),transitionend:Or(`Transition`,`TransitionEnd`)},Ar={},jr={};tn&&(jr=document.createElement(`div`).style,`AnimationEvent`in window||(delete kr.animationend.animation,delete kr.animationiteration.animation,delete kr.animationstart.animation),`TransitionEvent`in window||delete kr.transitionend.transition);function Mr(e){if(Ar[e])return Ar[e];if(!kr[e])return e;var t=kr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in jr)return Ar[e]=t[n];return e}var Nr=Mr(`animationend`),Pr=Mr(`animationiteration`),Fr=Mr(`animationstart`),Ir=Mr(`transitionrun`),Lr=Mr(`transitionstart`),Rr=Mr(`transitioncancel`),zr=Mr(`transitionend`),Br=new Map,Vr=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);Vr.push(`scrollEnd`);function Hr(e,t){Br.set(e,t),ht(t,[e])}var Ur=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},Wr=[],Gr=0,Kr=0;function qr(){for(var e=Gr,t=Kr=Gr=0;t<e;){var n=Wr[t];Wr[t++]=null;var r=Wr[t];Wr[t++]=null;var i=Wr[t];Wr[t++]=null;var a=Wr[t];if(Wr[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&Zr(n,i,a)}}function Jr(e,t,n,r){Wr[Gr++]=e,Wr[Gr++]=t,Wr[Gr++]=n,Wr[Gr++]=r,Kr|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function Yr(e,t,n,r){return Jr(e,t,n,r),Qr(e)}function Xr(e,t){return Jr(e,null,null,t),Qr(e)}function Zr(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Ae(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function Qr(e){if(50<uu)throw uu=0,du=null,Error(s(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var $r={};function ei(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ti(e,t,n,r){return new ei(e,t,n,r)}function ni(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ri(e,t){var n=e.alternate;return n===null?(n=ti(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function ii(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ai(e,t,n,r,i,a){var o=0;if(r=e,typeof e==`function`)ni(e)&&(o=1);else if(typeof e==`string`)o=Uf(e,n,B.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case k:return e=ti(31,n,t,i),e.elementType=k,e.lanes=a,e;case y:return oi(n.children,i,a,t);case b:o=8,i|=24;break;case x:return e=ti(12,n,t,i|2),e.elementType=x,e.lanes=a,e;case T:return e=ti(13,n,t,i),e.elementType=T,e.lanes=a,e;case E:return e=ti(19,n,t,i),e.elementType=E,e.lanes=a,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case C:o=10;break a;case S:o=9;break a;case w:o=11;break a;case D:o=14;break a;case O:o=16,r=null;break a}o=29,n=Error(s(130,e===null?`null`:typeof e,``)),r=null}return t=ti(o,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function oi(e,t,n,r){return e=ti(7,e,r,t),e.lanes=n,e}function si(e,t,n){return e=ti(6,e,null,t),e.lanes=n,e}function ci(e){var t=ti(18,null,null,0);return t.stateNode=e,t}function li(e,t,n){return t=ti(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var ui=new WeakMap;function di(e,t){if(typeof e==`object`&&e){var n=ui.get(e);return n===void 0?(t={value:e,source:t,stack:he(t)},ui.set(e,t),t):n}return{value:e,source:t,stack:he(t)}}var fi=[],pi=0,mi=null,hi=0,gi=[],_i=0,vi=null,yi=1,bi=``;function xi(e,t){fi[pi++]=hi,fi[pi++]=mi,mi=e,hi=t}function Si(e,t,n){gi[_i++]=yi,gi[_i++]=bi,gi[_i++]=vi,vi=e;var r=yi;e=bi;var i=32-Ae(r)-1;r&=~(1<<i),n+=1;var a=32-Ae(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,yi=1<<32-Ae(t)+i|n<<i|r,bi=a+e}else yi=1<<a|n<<i|r,bi=e}function Ci(e){e.return!==null&&(xi(e,1),Si(e,1,0))}function wi(e){for(;e===mi;)mi=fi[--pi],fi[pi]=null,hi=fi[--pi],fi[pi]=null;for(;e===vi;)vi=gi[--_i],gi[_i]=null,bi=gi[--_i],gi[_i]=null,yi=gi[--_i],gi[_i]=null}function Ti(e,t){gi[_i++]=yi,gi[_i++]=bi,gi[_i++]=vi,yi=t.id,bi=t.overflow,vi=e}var Ei=null,Di=null,K=!1,Oi=null,ki=!1,Ai=Error(s(519));function ji(e){throw Li(di(Error(s(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Ai}function Mi(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[$e]=e,t[et]=r,n){case`dialog`:$(`cancel`,t),$(`close`,t);break;case`iframe`:case`object`:case`embed`:$(`load`,t);break;case`video`:case`audio`:for(n=0;n<gd.length;n++)$(gd[n],t);break;case`source`:$(`error`,t);break;case`img`:case`image`:case`link`:$(`error`,t),$(`load`,t);break;case`details`:$(`toggle`,t);break;case`input`:$(`invalid`,t),Nt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:$(`invalid`,t);break;case`textarea`:$(`invalid`,t),Lt(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||jd(t.textContent,n)?(r.popover!=null&&($(`beforetoggle`,t),$(`toggle`,t)),r.onScroll!=null&&$(`scroll`,t),r.onScrollEnd!=null&&$(`scrollend`,t),r.onClick!=null&&(t.onclick=Kt),t=!0):t=!1,t||ji(e,!0)}function Ni(e){for(Ei=e.return;Ei;)switch(Ei.tag){case 5:case 31:case 13:ki=!1;return;case 27:case 3:ki=!0;return;default:Ei=Ei.return}}function Pi(e){if(e!==Ei)return!1;if(!K)return Ni(e),K=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!==`form`&&n!==`button`)||Ud(e.type,e.memoizedProps)),n=!n),n&&Di&&ji(e),Ni(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(s(317));Di=uf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(s(317));Di=uf(e)}else t===27?(t=Di,Zd(e.type)?(e=lf,lf=null,Di=e):Di=t):Di=Ei?cf(e.stateNode.nextSibling):null;return!0}function Fi(){Di=Ei=null,K=!1}function Ii(){var e=Oi;return e!==null&&(Xl===null?Xl=e:Xl.push.apply(Xl,e),Oi=null),e}function Li(e){Oi===null?Oi=[e]:Oi.push(e)}var Ri=re(null),zi=null,Bi=null;function Vi(e,t,n){z(Ri,t._currentValue),t._currentValue=n}function Hi(e){e._currentValue=Ri.current,R(Ri)}function Ui(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Wi(e,t,n,r){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var a=i.dependencies;if(a!==null){var o=i.child;a=a.firstContext;a:for(;a!==null;){var c=a;a=i;for(var l=0;l<t.length;l++)if(c.context===t[l]){a.lanes|=n,c=a.alternate,c!==null&&(c.lanes|=n),Ui(a.return,n,e),r||(o=null);break a}a=c.next}}else if(i.tag===18){if(o=i.return,o===null)throw Error(s(341));o.lanes|=n,a=o.alternate,a!==null&&(a.lanes|=n),Ui(o,n,e),o=null}else o=i.child;if(o!==null)o.return=i;else for(o=i;o!==null;){if(o===e){o=null;break}if(i=o.sibling,i!==null){i.return=o.return,o=i;break}o=o.return}i=o}}function Gi(e,t,n,r){e=null;for(var i=t,a=!1;i!==null;){if(!a){if(i.flags&524288)a=!0;else if(i.flags&262144)break}if(i.tag===10){var o=i.alternate;if(o===null)throw Error(s(387));if(o=o.memoizedProps,o!==null){var c=i.type;hr(i.pendingProps.value,o.value)||(e===null?e=[c]:e.push(c))}}else if(i===oe.current){if(o=i.alternate,o===null)throw Error(s(387));o.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e===null?e=[Qf]:e.push(Qf))}i=i.return}e!==null&&Wi(t,e,n,r),t.flags|=262144}function Ki(e){for(e=e.firstContext;e!==null;){if(!hr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function qi(e){zi=e,Bi=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Ji(e){return Xi(zi,e)}function Yi(e,t){return zi===null&&qi(e),Xi(e,t)}function Xi(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Bi===null){if(e===null)throw Error(s(308));Bi=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Bi=Bi.next=t;return n}var Zi=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},Qi=t.unstable_scheduleCallback,$i=t.unstable_NormalPriority,ea={$$typeof:C,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ta(){return{controller:new Zi,data:new Map,refCount:0}}function na(e){e.refCount--,e.refCount===0&&Qi($i,function(){e.controller.abort()})}var ra=null,ia=0,aa=0,oa=null;function sa(e,t){if(ra===null){var n=ra=[];ia=0,aa=ud(),oa={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return ia++,t.then(ca,ca),t}function ca(){if(--ia===0&&ra!==null){oa!==null&&(oa.status=`fulfilled`);var e=ra;ra=null,aa=0,oa=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function la(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var ua=F.S;F.S=function(e,t){$l=W(),typeof t==`object`&&t&&typeof t.then==`function`&&sa(e,t),ua!==null&&ua(e,t)};var da=re(null);function fa(){var e=da.current;return e===null?Ll.pooledCache:e}function pa(e,t){t===null?z(da,da.current):z(da,t.pool)}function ma(){var e=fa();return e===null?null:{parent:ea._currentValue,pool:e}}var ha=Error(s(460)),ga=Error(s(474)),_a=Error(s(542)),va={then:function(){}};function ya(e){return e=e.status,e===`fulfilled`||e===`rejected`}function ba(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(Kt,Kt),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,wa(e),e;default:if(typeof t.status==`string`)t.then(Kt,Kt);else{if(e=Ll,e!==null&&100<e.shellSuspendCounter)throw Error(s(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,wa(e),e}throw Sa=t,ha}}function xa(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(Sa=e,ha):e}}var Sa=null;function Ca(){if(Sa===null)throw Error(s(459));var e=Sa;return Sa=null,e}function wa(e){if(e===ha||e===_a)throw Error(s(483))}var Ta=null,Ea=0;function Da(e){var t=Ea;return Ea+=1,Ta===null&&(Ta=[]),ba(Ta,e,t)}function Oa(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function ka(e,t){throw t.$$typeof===g?Error(s(525)):(e=Object.prototype.toString.call(t),Error(s(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Aa(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function i(e,t){return e=ri(e,t),e.index=0,e.sibling=null,e}function a(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function o(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=si(n,e.mode,r),t.return=e,t):(t=i(t,n),t.return=e,t)}function l(e,t,n,r){var a=n.type;return a===y?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===a||typeof a==`object`&&a&&a.$$typeof===O&&xa(a)===t.type)?(t=i(t,n.props),Oa(t,n),t.return=e,t):(t=ai(n.type,n.key,n.props,null,e.mode,r),Oa(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=li(n,e.mode,r),t.return=e,t):(t=i(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,a){return t===null||t.tag!==7?(t=oi(n,e.mode,r,a),t.return=e,t):(t=i(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=si(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case _:return n=ai(t.type,t.key,t.props,null,e.mode,n),Oa(n,t),n.return=e,n;case v:return t=li(t,e.mode,n),t.return=e,t;case O:return t=xa(t),f(e,t,n)}if(P(t)||M(t))return t=oi(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Da(t),n);if(t.$$typeof===C)return f(e,Yi(e,t),n);ka(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case _:return n.key===i?l(e,t,n,r):null;case v:return n.key===i?u(e,t,n,r):null;case O:return n=xa(n),p(e,t,n,r)}if(P(n)||M(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Da(n),r);if(n.$$typeof===C)return p(e,t,Yi(e,n),r);ka(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case _:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case v:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case O:return r=xa(r),m(e,t,n,r,i)}if(P(r)||M(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,Da(r),i);if(r.$$typeof===C)return m(e,t,n,Yi(t,r),i);ka(t,r)}return null}function h(i,o,s,c){for(var l=null,u=null,d=o,h=o=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),o=a(_,o,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),K&&xi(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(o=a(d,o,h),u===null?l=d:u.sibling=d,u=d);return K&&xi(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),o=a(g,o,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),K&&xi(i,h),l}function g(i,o,c,l){if(c==null)throw Error(s(151));for(var u=null,d=null,h=o,g=o=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),o=a(y,o,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),K&&xi(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(o=a(v,o,g),d===null?u=v:d.sibling=v,d=v);return K&&xi(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),o=a(v,o,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),K&&xi(i,g),u}function b(e,r,a,c){if(typeof a==`object`&&a&&a.type===y&&a.key===null&&(a=a.props.children),typeof a==`object`&&a){switch(a.$$typeof){case _:a:{for(var l=a.key;r!==null;){if(r.key===l){if(l=a.type,l===y){if(r.tag===7){n(e,r.sibling),c=i(r,a.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===O&&xa(l)===r.type){n(e,r.sibling),c=i(r,a.props),Oa(c,a),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}a.type===y?(c=oi(a.props.children,e.mode,c,a.key),c.return=e,e=c):(c=ai(a.type,a.key,a.props,null,e.mode,c),Oa(c,a),c.return=e,e=c)}return o(e);case v:a:{for(l=a.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),c=i(r,a.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=li(a,e.mode,c),c.return=e,e=c}return o(e);case O:return a=xa(a),b(e,r,a,c)}if(P(a))return h(e,r,a,c);if(M(a)){if(l=M(a),typeof l!=`function`)throw Error(s(150));return a=l.call(a),g(e,r,a,c)}if(typeof a.then==`function`)return b(e,r,Da(a),c);if(a.$$typeof===C)return b(e,r,Yi(e,a),c);ka(e,a)}return typeof a==`string`&&a!==``||typeof a==`number`||typeof a==`bigint`?(a=``+a,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,a),c.return=e,e=c):(n(e,r),c=si(a,e.mode,c),c.return=e,e=c),o(e)):n(e,r)}return function(e,t,n,r){try{Ea=0;var i=b(e,t,n,r);return Ta=null,i}catch(t){if(t===ha||t===_a)throw t;var a=ti(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var ja=Aa(!0),Ma=Aa(!1),Na=!1;function Pa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Fa(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ia(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function La(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,J&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Qr(e),Zr(e,null,n),t}return Jr(e,r,t,n),Qr(e)}function Ra(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ke(e,n)}}function za(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ba=!1;function Va(){if(Ba){var e=oa;if(e!==null)throw e}}function Ha(e,t,n,r){Ba=!1;var i=e.updateQueue;Na=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(X&f)===f:(r&f)===f){f!==0&&f===aa&&(Ba=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(m=g.payload,typeof m==`function`){d=m.call(_,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m==`function`?m.call(_,d,f):m,f==null)break a;d=h({},d,f);break a;case 2:Na=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Wl|=o,e.lanes=o,e.memoizedState=d}}function Ua(e,t){if(typeof e!=`function`)throw Error(s(191,e));e.call(t)}function Wa(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)Ua(n[e],t)}var Ga=re(null),Ka=re(0);function qa(e,t){e=Hl,z(Ka,e),z(Ga,t),Hl=e|t.baseLanes}function Ja(){z(Ka,Hl),z(Ga,Ga.current)}function Ya(){Hl=Ka.current,R(Ga),R(Ka)}var Xa=re(null),Za=null;function Qa(e){var t=e.alternate;z(ro,ro.current&1),z(Xa,e),Za===null&&(t===null||Ga.current!==null||t.memoizedState!==null)&&(Za=e)}function $a(e){z(ro,ro.current),z(Xa,e),Za===null&&(Za=e)}function eo(e){e.tag===22?(z(ro,ro.current),z(Xa,e),Za===null&&(Za=e)):to(e)}function to(){z(ro,ro.current),z(Xa,Xa.current)}function no(e){R(Xa),Za===e&&(Za=null),R(ro)}var ro=re(0);function io(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||af(n)||of(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ao=0,q=null,oo=null,so=null,co=!1,lo=!1,uo=!1,fo=0,po=0,mo=null,ho=0;function go(){throw Error(s(321))}function _o(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!hr(e[n],t[n]))return!1;return!0}function vo(e,t,n,r,i,a){return ao=a,q=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,F.H=e===null||e.memoizedState===null?Fs:Is,uo=!1,a=n(r,i),uo=!1,lo&&(a=bo(t,n,r,i)),yo(e),a}function yo(e){F.H=Ps;var t=oo!==null&&oo.next!==null;if(ao=0,so=oo=q=null,co=!1,po=0,mo=null,t)throw Error(s(300));e===null||$s||(e=e.dependencies,e!==null&&Ki(e)&&($s=!0))}function bo(e,t,n,r){q=e;var i=0;do{if(lo&&(mo=null),po=0,lo=!1,25<=i)throw Error(s(301));if(i+=1,so=oo=null,e.updateQueue!=null){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,a.memoCache!=null&&(a.memoCache.index=0)}F.H=Ls,a=t(n,r)}while(lo);return a}function xo(){var e=F.H,t=e.useState()[0];return t=typeof t.then==`function`?Oo(t):t,e=e.useState()[0],(oo===null?null:oo.memoizedState)!==e&&(q.flags|=1024),t}function So(){var e=fo!==0;return fo=0,e}function Co(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function wo(e){if(co){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}co=!1}ao=0,so=oo=q=null,lo=!1,po=fo=0,mo=null}function To(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return so===null?q.memoizedState=so=e:so=so.next=e,so}function Eo(){if(oo===null){var e=q.alternate;e=e===null?null:e.memoizedState}else e=oo.next;var t=so===null?q.memoizedState:so.next;if(t!==null)so=t,oo=e;else{if(e===null)throw q.alternate===null?Error(s(467)):Error(s(310));oo=e,e={memoizedState:oo.memoizedState,baseState:oo.baseState,baseQueue:oo.baseQueue,queue:oo.queue,next:null},so===null?q.memoizedState=so=e:so=so.next=e}return so}function Do(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Oo(e){var t=po;return po+=1,mo===null&&(mo=[]),e=ba(mo,e,t),t=q,(so===null?t.memoizedState:so.next)===null&&(t=t.alternate,F.H=t===null||t.memoizedState===null?Fs:Is),e}function ko(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Oo(e);if(e.$$typeof===C)return Ji(e)}throw Error(s(438,String(e)))}function Ao(e){var t=null,n=q.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=q.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=Do(),q.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=A;return t.index++,n}function jo(e,t){return typeof t==`function`?t(e):t}function Mo(e){return No(Eo(),oo,e)}function No(e,t,n){var r=e.queue;if(r===null)throw Error(s(311));r.lastRenderedReducer=n;var i=e.baseQueue,a=r.pending;if(a!==null){if(i!==null){var o=i.next;i.next=a.next,a.next=o}t.baseQueue=i=a,r.pending=null}if(a=e.baseState,i===null)e.memoizedState=a;else{t=i.next;var c=o=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(ao&f)===f:(X&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===aa&&(d=!0);else if((ao&p)===p){u=u.next,p===aa&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,o=a):l=l.next=f,q.lanes|=p,Wl|=p;f=u.action,uo&&n(a,f),a=u.hasEagerState?u.eagerState:n(a,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,o=a):l=l.next=p,q.lanes|=f,Wl|=f;u=u.next}while(u!==null&&u!==t);if(l===null?o=a:l.next=c,!hr(a,e.memoizedState)&&($s=!0,d&&(n=oa,n!==null)))throw n;e.memoizedState=a,e.baseState=o,e.baseQueue=l,r.lastRenderedState=a}return i===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Po(e){var t=Eo(),n=t.queue;if(n===null)throw Error(s(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,a=t.memoizedState;if(i!==null){n.pending=null;var o=i=i.next;do a=e(a,o.action),o=o.next;while(o!==i);hr(a,t.memoizedState)||($s=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function Fo(e,t,n){var r=q,i=Eo(),a=K;if(a){if(n===void 0)throw Error(s(407));n=n()}else n=t();var o=!hr((oo||i).memoizedState,n);if(o&&(i.memoizedState=n,$s=!0),i=i.queue,os(Ro.bind(null,r,i,e),[e]),i.getSnapshot!==t||o||so!==null&&so.memoizedState.tag&1){if(r.flags|=2048,ts(9,{destroy:void 0},Lo.bind(null,r,i,n,t),null),Ll===null)throw Error(s(349));a||ao&127||Io(r,t,n)}return n}function Io(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=q.updateQueue,t===null?(t=Do(),q.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Lo(e,t,n,r){t.value=n,t.getSnapshot=r,zo(t)&&Bo(e)}function Ro(e,t,n){return n(function(){zo(t)&&Bo(e)})}function zo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!hr(e,n)}catch{return!0}}function Bo(e){var t=Xr(e,2);t!==null&&mu(t,e,2)}function Vo(e){var t=To();if(typeof e==`function`){var n=e;if(e=n(),uo){ke(!0);try{n()}finally{ke(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:jo,lastRenderedState:e},t}function Ho(e,t,n,r){return e.baseState=n,No(e,oo,typeof r==`function`?r:jo)}function Uo(e,t,n,r,i){if(js(e))throw Error(s(485));if(e=t.action,e!==null){var a={payload:i,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){a.listeners.push(e)}};F.T===null?a.isTransition=!1:n(!0),r(a),n=t.pending,n===null?(a.next=t.pending=a,Wo(t,a)):(a.next=n.next,t.pending=n.next=a)}}function Wo(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=F.T,o={};F.T=o;try{var s=n(i,r),c=F.S;c!==null&&c(o,s),Go(e,t,s)}catch(n){qo(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),F.T=a}}else try{a=n(i,r),Go(e,t,a)}catch(n){qo(e,t,n)}}function Go(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){Ko(e,t,n)},function(n){return qo(e,t,n)}):Ko(e,t,n)}function Ko(e,t,n){t.status=`fulfilled`,t.value=n,Jo(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Wo(e,n)))}function qo(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,Jo(t),t=t.next;while(t!==r)}e.action=null}function Jo(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Yo(e,t){return t}function Xo(e,t){if(K){var n=Ll.formState;if(n!==null){a:{var r=q;if(K){if(Di){b:{for(var i=Di,a=ki;i.nodeType!==8;){if(!a){i=null;break b}if(i=cf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){Di=cf(i.nextSibling),r=i.data===`F!`;break a}}ji(r)}r=!1}r&&(t=n[0])}}return n=To(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Yo,lastRenderedState:t},n.queue=r,n=Os.bind(null,q,r),r.dispatch=n,r=Vo(!1),a=As.bind(null,q,!1,r.queue),r=To(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Uo.bind(null,q,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function Zo(e){return Qo(Eo(),oo,e)}function Qo(e,t,n){if(t=No(e,t,Yo)[0],e=Mo(jo)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Oo(t)}catch(e){throw e===ha?_a:e}else r=t;t=Eo();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(q.flags|=2048,ts(9,{destroy:void 0},$o.bind(null,i,n),null)),[r,a,e]}function $o(e,t){e.action=t}function es(e){var t=Eo(),n=oo;if(n!==null)return Qo(t,n,e);Eo(),t=t.memoizedState,n=Eo();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function ts(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=q.updateQueue,t===null&&(t=Do(),q.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function ns(){return Eo().memoizedState}function rs(e,t,n,r){var i=To();q.flags|=e,i.memoizedState=ts(1|t,{destroy:void 0},n,r===void 0?null:r)}function is(e,t,n,r){var i=Eo();r=r===void 0?null:r;var a=i.memoizedState.inst;oo!==null&&r!==null&&_o(r,oo.memoizedState.deps)?i.memoizedState=ts(t,a,n,r):(q.flags|=e,i.memoizedState=ts(1|t,a,n,r))}function as(e,t){rs(8390656,8,e,t)}function os(e,t){is(2048,8,e,t)}function ss(e){q.flags|=4;var t=q.updateQueue;if(t===null)t=Do(),q.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function cs(e){var t=Eo().memoizedState;return ss({ref:t,nextImpl:e}),function(){if(J&2)throw Error(s(440));return t.impl.apply(void 0,arguments)}}function ls(e,t){return is(4,2,e,t)}function us(e,t){return is(4,4,e,t)}function ds(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function fs(e,t,n){n=n==null?null:n.concat([e]),is(4,4,ds.bind(null,t,e),n)}function ps(){}function ms(e,t){var n=Eo();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&_o(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function hs(e,t){var n=Eo();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&_o(t,r[1]))return r[0];if(r=e(),uo){ke(!0);try{e()}finally{ke(!1)}}return n.memoizedState=[r,t],r}function gs(e,t,n){return n===void 0||ao&1073741824&&!(X&261930)?e.memoizedState=t:(e.memoizedState=n,e=pu(),q.lanes|=e,Wl|=e,n)}function _s(e,t,n,r){return hr(n,t)?n:Ga.current===null?!(ao&42)||ao&1073741824&&!(X&261930)?($s=!0,e.memoizedState=n):(e=pu(),q.lanes|=e,Wl|=e,t):(e=gs(e,n,r),hr(e,t)||($s=!0),e)}function vs(e,t,n,r,i){var a=I.p;I.p=a!==0&&8>a?a:8;var o=F.T,s={};F.T=s,As(e,!1,t,n);try{var c=i(),l=F.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?ks(e,t,la(c,r),fu(e)):ks(e,t,r,fu(e))}catch(n){ks(e,t,{then:function(){},status:`rejected`,reason:n},fu())}finally{I.p=a,o!==null&&s.types!==null&&(o.types=s.types),F.T=o}}function ys(){}function bs(e,t,n,r){if(e.tag!==5)throw Error(s(476));var i=xs(e).queue;vs(e,i,t,te,n===null?ys:function(){return Ss(e),n(r)})}function xs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:te,baseState:te,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:jo,lastRenderedState:te},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:jo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ss(e){var t=xs(e);t.next===null&&(t=e.alternate.memoizedState),ks(e,t.next.queue,{},fu())}function Cs(){return Ji(Qf)}function ws(){return Eo().memoizedState}function Ts(){return Eo().memoizedState}function Es(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=fu();e=Ia(n);var r=La(t,e,n);r!==null&&(mu(r,t,n),Ra(r,t,n)),t={cache:ta()},e.payload=t;return}t=t.return}}function Ds(e,t,n){var r=fu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},js(e)?Ms(t,n):(n=Yr(e,t,n,r),n!==null&&(mu(n,e,r),Ns(n,t,r)))}function Os(e,t,n){ks(e,t,n,fu())}function ks(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(js(e))Ms(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,hr(s,o))return Jr(e,t,i,0),Ll===null&&qr(),!1}catch{}if(n=Yr(e,t,i,r),n!==null)return mu(n,e,r),Ns(n,t,r),!0}return!1}function As(e,t,n,r){if(r={lane:2,revertLane:ud(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},js(e)){if(t)throw Error(s(479))}else t=Yr(e,n,r,2),t!==null&&mu(t,e,2)}function js(e){var t=e.alternate;return e===q||t!==null&&t===q}function Ms(e,t){lo=co=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ns(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ke(e,n)}}var Ps={readContext:Ji,use:ko,useCallback:go,useContext:go,useEffect:go,useImperativeHandle:go,useLayoutEffect:go,useInsertionEffect:go,useMemo:go,useReducer:go,useRef:go,useState:go,useDebugValue:go,useDeferredValue:go,useTransition:go,useSyncExternalStore:go,useId:go,useHostTransitionStatus:go,useFormState:go,useActionState:go,useOptimistic:go,useMemoCache:go,useCacheRefresh:go};Ps.useEffectEvent=go;var Fs={readContext:Ji,use:ko,useCallback:function(e,t){return To().memoizedState=[e,t===void 0?null:t],e},useContext:Ji,useEffect:as,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),rs(4194308,4,ds.bind(null,t,e),n)},useLayoutEffect:function(e,t){return rs(4194308,4,e,t)},useInsertionEffect:function(e,t){rs(4,2,e,t)},useMemo:function(e,t){var n=To();t=t===void 0?null:t;var r=e();if(uo){ke(!0);try{e()}finally{ke(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=To();if(n!==void 0){var i=n(t);if(uo){ke(!0);try{n(t)}finally{ke(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Ds.bind(null,q,e),[r.memoizedState,e]},useRef:function(e){var t=To();return e={current:e},t.memoizedState=e},useState:function(e){e=Vo(e);var t=e.queue,n=Os.bind(null,q,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ps,useDeferredValue:function(e,t){return gs(To(),e,t)},useTransition:function(){var e=Vo(!1);return e=vs.bind(null,q,e.queue,!0,!1),To().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=q,i=To();if(K){if(n===void 0)throw Error(s(407));n=n()}else{if(n=t(),Ll===null)throw Error(s(349));X&127||Io(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,as(Ro.bind(null,r,a,e),[e]),r.flags|=2048,ts(9,{destroy:void 0},Lo.bind(null,r,a,n,t),null),n},useId:function(){var e=To(),t=Ll.identifierPrefix;if(K){var n=bi,r=yi;n=(r&~(1<<32-Ae(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=fo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=ho++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:Cs,useFormState:Xo,useActionState:Xo,useOptimistic:function(e){var t=To();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=As.bind(null,q,!0,n),n.dispatch=t,[e,t]},useMemoCache:Ao,useCacheRefresh:function(){return To().memoizedState=Es.bind(null,q)},useEffectEvent:function(e){var t=To(),n={impl:e};return t.memoizedState=n,function(){if(J&2)throw Error(s(440));return n.impl.apply(void 0,arguments)}}},Is={readContext:Ji,use:ko,useCallback:ms,useContext:Ji,useEffect:os,useImperativeHandle:fs,useInsertionEffect:ls,useLayoutEffect:us,useMemo:hs,useReducer:Mo,useRef:ns,useState:function(){return Mo(jo)},useDebugValue:ps,useDeferredValue:function(e,t){return _s(Eo(),oo.memoizedState,e,t)},useTransition:function(){var e=Mo(jo)[0],t=Eo().memoizedState;return[typeof e==`boolean`?e:Oo(e),t]},useSyncExternalStore:Fo,useId:ws,useHostTransitionStatus:Cs,useFormState:Zo,useActionState:Zo,useOptimistic:function(e,t){return Ho(Eo(),oo,e,t)},useMemoCache:Ao,useCacheRefresh:Ts};Is.useEffectEvent=cs;var Ls={readContext:Ji,use:ko,useCallback:ms,useContext:Ji,useEffect:os,useImperativeHandle:fs,useInsertionEffect:ls,useLayoutEffect:us,useMemo:hs,useReducer:Po,useRef:ns,useState:function(){return Po(jo)},useDebugValue:ps,useDeferredValue:function(e,t){var n=Eo();return oo===null?gs(n,e,t):_s(n,oo.memoizedState,e,t)},useTransition:function(){var e=Po(jo)[0],t=Eo().memoizedState;return[typeof e==`boolean`?e:Oo(e),t]},useSyncExternalStore:Fo,useId:ws,useHostTransitionStatus:Cs,useFormState:es,useActionState:es,useOptimistic:function(e,t){var n=Eo();return oo===null?(n.baseState=e,[e,n.queue.dispatch]):Ho(n,oo,e,t)},useMemoCache:Ao,useCacheRefresh:Ts};Ls.useEffectEvent=cs;function Rs(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:h({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var zs={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=fu(),i=Ia(r);i.payload=t,n!=null&&(i.callback=n),t=La(e,i,r),t!==null&&(mu(t,e,r),Ra(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=fu(),i=Ia(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=La(e,i,r),t!==null&&(mu(t,e,r),Ra(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=fu(),r=Ia(n);r.tag=2,t!=null&&(r.callback=t),t=La(e,r,n),t!==null&&(mu(t,e,n),Ra(t,e,n))}};function Bs(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!gr(n,r)||!gr(i,a):!0}function Vs(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&zs.enqueueReplaceState(t,t.state,null)}function Hs(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=h({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Us(e){Ur(e)}function Ws(e){console.error(e)}function Gs(e){Ur(e)}function Ks(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function qs(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Js(e,t,n){return n=Ia(n),n.tag=3,n.payload={element:null},n.callback=function(){Ks(e,t)},n}function Ys(e){return e=Ia(e),e.tag=3,e}function Xs(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){qs(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){qs(t,n,r),typeof i!=`function`&&(nu===null?nu=new Set([this]):nu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function Zs(e,t,n,r,i){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&Gi(t,n,i,!0),n=Xa.current,n!==null){switch(n.tag){case 31:case 13:return Za===null?Eu():n.alternate===null&&Ul===0&&(Ul=3),n.flags&=-257,n.flags|=65536,n.lanes=i,r===va?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Wu(e,r,i)),!1;case 22:return n.flags|=65536,r===va?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Wu(e,r,i)),!1}throw Error(s(435,n.tag))}return Wu(e,r,i),Eu(),!1}if(K)return t=Xa.current,t===null?(r!==Ai&&(t=Error(s(423),{cause:r}),Li(di(t,n))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=di(r,n),i=Js(e.stateNode,r,i),za(e,i),Ul!==4&&(Ul=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==Ai&&(e=Error(s(422),{cause:r}),Li(di(e,n)))),!1;var a=Error(s(520),{cause:r});if(a=di(a,n),Yl===null?Yl=[a]:Yl.push(a),Ul!==4&&(Ul=2),t===null)return!0;r=di(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=i&-i,n.lanes|=e,e=Js(n.stateNode,r,e),za(n,e),!1;case 1:if(t=n.type,a=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||a!==null&&typeof a.componentDidCatch==`function`&&(nu===null||!nu.has(a))))return n.flags|=65536,i&=-i,n.lanes|=i,i=Ys(i),Xs(i,e,n,r),za(n,i),!1}n=n.return}while(n!==null);return!1}var Qs=Error(s(461)),$s=!1;function ec(e,t,n,r){t.child=e===null?Ma(t,null,n,r):ja(t,e.child,n,r)}function tc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return qi(t),r=vo(e,t,n,o,a,i),s=So(),e!==null&&!$s?(Co(e,t,i),Tc(e,t,i)):(K&&s&&Ci(t),t.flags|=1,ec(e,t,r,i),t.child)}function nc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!ni(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,rc(e,t,a,r,i)):(e=ai(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Ec(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?gr:n,n(o,r)&&e.ref===t.ref)return Tc(e,t,i)}return t.flags|=1,e=ri(a,r),e.ref=t.ref,e.return=t,t.child=e}function rc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(gr(a,r)&&e.ref===t.ref)if($s=!1,t.pendingProps=r=a,Ec(e,i))e.flags&131072&&($s=!0);else return t.lanes=e.lanes,Tc(e,t,i)}return dc(e,t,n,r,i)}function ic(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return oc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&pa(t,a===null?null:a.cachePool),a===null?Ja():qa(t,a),eo(t);else return r=t.lanes=536870912,oc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&pa(t,null),Ja(),to(t)):(pa(t,a.cachePool),qa(t,a),to(t),t.memoizedState=null);return ec(e,t,i,n),t.child}function ac(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function oc(e,t,n,r,i){var a=fa();return a=a===null?null:{parent:ea._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&pa(t,null),Ja(),eo(t),e!==null&&Gi(e,t,r,!0),t.childLanes=i,null}function sc(e,t){return t=bc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function cc(e,t,n){return ja(t,e.child,null,n),e=sc(t,t.pendingProps),e.flags|=2,no(t),t.memoizedState=null,e}function lc(e,t,n){var r=t.pendingProps,i=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(K){if(r.mode===`hidden`)return e=sc(t,r),t.lanes=536870912,ac(null,e);if($a(t),(e=Di)?(e=rf(e,ki),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:vi===null?null:{id:yi,overflow:bi},retryLane:536870912,hydrationErrors:null},n=ci(e),n.return=t,t.child=n,Ei=t,Di=null)):e=null,e===null)throw ji(t);return t.lanes=536870912,null}return sc(t,r)}var a=e.memoizedState;if(a!==null){var o=a.dehydrated;if($a(t),i)if(t.flags&256)t.flags&=-257,t=cc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(s(558));else if($s||Gi(e,t,n,!1),i=(n&e.childLanes)!==0,$s||i){if(r=Ll,r!==null&&(o=qe(r,n),o!==0&&o!==a.retryLane))throw a.retryLane=o,Xr(e,o),mu(r,e,o),Qs;Eu(),t=cc(e,t,n)}else e=a.treeContext,Di=cf(o.nextSibling),Ei=t,K=!0,Oi=null,ki=!1,e!==null&&Ti(t,e),t=sc(t,r),t.flags|=4096;return t}return e=ri(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function uc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(s(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function dc(e,t,n,r,i){return qi(t),n=vo(e,t,n,r,void 0,i),r=So(),e!==null&&!$s?(Co(e,t,i),Tc(e,t,i)):(K&&r&&Ci(t),t.flags|=1,ec(e,t,n,i),t.child)}function fc(e,t,n,r,i,a){return qi(t),t.updateQueue=null,n=bo(t,r,n,i),yo(e),r=So(),e!==null&&!$s?(Co(e,t,a),Tc(e,t,a)):(K&&r&&Ci(t),t.flags|=1,ec(e,t,n,a),t.child)}function pc(e,t,n,r,i){if(qi(t),t.stateNode===null){var a=$r,o=n.contextType;typeof o==`object`&&o&&(a=Ji(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=zs,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Pa(t),o=n.contextType,a.context=typeof o==`object`&&o?Ji(o):$r,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Rs(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&zs.enqueueReplaceState(a,a.state,null),Ha(t,r,a,i),Va(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Hs(n,s);a.props=c;var l=a.context,u=n.contextType;o=$r,typeof u==`object`&&u&&(o=Ji(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Vs(t,a,r,o),Na=!1;var f=t.memoizedState;a.state=f,Ha(t,r,a,i),Va(),l=t.memoizedState,s||f!==l||Na?(typeof d==`function`&&(Rs(t,n,d,r),l=t.memoizedState),(c=Na||Bs(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Fa(e,t),o=t.memoizedProps,u=Hs(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=$r,typeof l==`object`&&l&&(c=Ji(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Vs(t,a,r,c),Na=!1,f=t.memoizedState,a.state=f,Ha(t,r,a,i),Va();var p=t.memoizedState;o!==d||f!==p||Na||e!==null&&e.dependencies!==null&&Ki(e.dependencies)?(typeof s==`function`&&(Rs(t,n,s,r),p=t.memoizedState),(u=Na||Bs(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&Ki(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,uc(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=ja(t,e.child,null,i),t.child=ja(t,null,n,i)):ec(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Tc(e,t,i),e}function mc(e,t,n,r){return Fi(),t.flags|=256,ec(e,t,n,r),t.child}var hc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function gc(e){return{baseLanes:e,cachePool:ma()}}function _c(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=ql),e}function vc(e,t,n){var r=t.pendingProps,i=!1,a=(t.flags&128)!=0,o;if((o=a)||(o=e!==null&&e.memoizedState===null?!1:(ro.current&2)!=0),o&&(i=!0,t.flags&=-129),o=(t.flags&32)!=0,t.flags&=-33,e===null){if(K){if(i?Qa(t):to(t),(e=Di)?(e=rf(e,ki),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:vi===null?null:{id:yi,overflow:bi},retryLane:536870912,hydrationErrors:null},n=ci(e),n.return=t,t.child=n,Ei=t,Di=null)):e=null,e===null)throw ji(t);return of(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,i?(to(t),i=t.mode,c=bc({mode:`hidden`,children:c},i),r=oi(r,i,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=gc(n),r.childLanes=_c(e,o,n),t.memoizedState=hc,ac(null,r)):(Qa(t),yc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(a)t.flags&256?(Qa(t),t.flags&=-257,t=xc(e,t,n)):t.memoizedState===null?(to(t),c=r.fallback,i=t.mode,r=bc({mode:`visible`,children:r.children},i),c=oi(c,i,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,ja(t,e.child,null,n),r=t.child,r.memoizedState=gc(n),r.childLanes=_c(e,o,n),t.memoizedState=hc,t=ac(null,r)):(to(t),t.child=e.child,t.flags|=128,t=null);else if(Qa(t),of(c)){if(o=c.nextSibling&&c.nextSibling.dataset,o)var u=o.dgst;o=u,r=Error(s(419)),r.stack=``,r.digest=o,Li({value:r,source:null,stack:null}),t=xc(e,t,n)}else if($s||Gi(e,t,n,!1),o=(n&e.childLanes)!==0,$s||o){if(o=Ll,o!==null&&(r=qe(o,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,Xr(e,r),mu(o,e,r),Qs;af(c)||Eu(),t=xc(e,t,n)}else af(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Di=cf(c.nextSibling),Ei=t,K=!0,Oi=null,ki=!1,e!==null&&Ti(t,e),t=yc(t,r.children),t.flags|=4096);return t}return i?(to(t),c=r.fallback,i=t.mode,l=e.child,u=l.sibling,r=ri(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=oi(c,i,n,null),c.flags|=2):c=ri(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,ac(null,r),r=t.child,c=e.child.memoizedState,c===null?c=gc(n):(i=c.cachePool,i===null?i=ma():(l=ea._currentValue,i=i.parent===l?i:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:i}),r.memoizedState=c,r.childLanes=_c(e,o,n),t.memoizedState=hc,ac(e.child,r)):(Qa(t),n=e.child,e=n.sibling,n=ri(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(o=t.deletions,o===null?(t.deletions=[e],t.flags|=16):o.push(e)),t.child=n,t.memoizedState=null,n)}function yc(e,t){return t=bc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function bc(e,t){return e=ti(22,e,null,t),e.lanes=0,e}function xc(e,t,n){return ja(t,e.child,null,n),e=yc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Sc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ui(e.return,t,n)}function Cc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function wc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=ro.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,z(ro,o),ec(e,t,r,n),r=K?hi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Sc(e,n,t);else if(e.tag===19)Sc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&io(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Cc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&io(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Cc(t,!0,n,null,a,r);break;case`together`:Cc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Tc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Wl|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(Gi(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(s(153));if(t.child!==null){for(e=t.child,n=ri(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ri(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Ec(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&Ki(e))):!0}function Dc(e,t,n){switch(t.tag){case 3:se(t,t.stateNode.containerInfo),Vi(t,ea,e.memoizedState.cache),Fi();break;case 27:case 5:ce(t);break;case 4:se(t,t.stateNode.containerInfo);break;case 10:Vi(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,$a(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(Qa(t),e=Tc(e,t,n),e===null?null:e.sibling):vc(e,t,n):(Qa(t),t.flags|=128,null);Qa(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(Gi(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return wc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),z(ro,ro.current),r)break;return null;case 22:return t.lanes=0,ic(e,t,n,t.pendingProps);case 24:Vi(t,ea,e.memoizedState.cache)}return Tc(e,t,n)}function Oc(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)$s=!0;else{if(!Ec(e,n)&&!(t.flags&128))return $s=!1,Dc(e,t,n);$s=!!(e.flags&131072)}else $s=!1,K&&t.flags&1048576&&Si(t,hi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=xa(t.elementType),t.type=e,typeof e==`function`)ni(e)?(r=Hs(e,r),t.tag=1,t=pc(null,t,e,r,n)):(t.tag=0,t=dc(null,t,e,r,n));else{if(e!=null){var i=e.$$typeof;if(i===w){t.tag=11,t=tc(null,t,e,r,n);break a}else if(i===D){t.tag=14,t=nc(null,t,e,r,n);break a}}throw t=N(e)||e,Error(s(306,t,``))}}return t;case 0:return dc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,i=Hs(r,t.pendingProps),pc(e,t,r,i,n);case 3:a:{if(se(t,t.stateNode.containerInfo),e===null)throw Error(s(387));r=t.pendingProps;var a=t.memoizedState;i=a.element,Fa(e,t),Ha(t,r,null,n);var o=t.memoizedState;if(r=o.cache,Vi(t,ea,r),r!==a.cache&&Wi(t,[ea],n,!0),Va(),r=o.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:o.cache},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){t=mc(e,t,r,n);break a}else if(r!==i){i=di(Error(s(424)),t),Li(i),t=mc(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(Di=cf(e.firstChild),Ei=t,K=!0,Oi=null,ki=!0,n=Ma(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Fi(),r===i){t=Tc(e,t,n);break a}ec(e,t,r,n)}t=t.child}return t;case 26:return uc(e,t),e===null?(n=kf(t.type,null,t.pendingProps,null))?t.memoizedState=n:K||(n=t.type,e=t.pendingProps,r=Bd(ae.current).createElement(n),r[$e]=t,r[et]=e,Pd(r,n,e),ft(r),t.stateNode=r):t.memoizedState=kf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ce(t),e===null&&K&&(r=t.stateNode=ff(t.type,t.pendingProps,ae.current),Ei=t,ki=!0,i=Di,Zd(t.type)?(lf=i,Di=cf(r.firstChild)):Di=i),ec(e,t,t.pendingProps.children,n),uc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&K&&((i=r=Di)&&(r=tf(r,t.type,t.pendingProps,ki),r===null?i=!1:(t.stateNode=r,Ei=t,Di=cf(r.firstChild),ki=!1,i=!0)),i||ji(t)),ce(t),i=t.type,a=t.pendingProps,o=e===null?null:e.memoizedProps,r=a.children,Ud(i,a)?r=null:o!==null&&Ud(i,o)&&(t.flags|=32),t.memoizedState!==null&&(i=vo(e,t,xo,null,null,n),Qf._currentValue=i),uc(e,t),ec(e,t,r,n),t.child;case 6:return e===null&&K&&((e=n=Di)&&(n=nf(n,t.pendingProps,ki),n===null?e=!1:(t.stateNode=n,Ei=t,Di=null,e=!0)),e||ji(t)),null;case 13:return vc(e,t,n);case 4:return se(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=ja(t,null,r,n):ec(e,t,r,n),t.child;case 11:return tc(e,t,t.type,t.pendingProps,n);case 7:return ec(e,t,t.pendingProps,n),t.child;case 8:return ec(e,t,t.pendingProps.children,n),t.child;case 12:return ec(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Vi(t,t.type,r.value),ec(e,t,r.children,n),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,qi(t),i=Ji(i),r=r(i),t.flags|=1,ec(e,t,r,n),t.child;case 14:return nc(e,t,t.type,t.pendingProps,n);case 15:return rc(e,t,t.type,t.pendingProps,n);case 19:return wc(e,t,n);case 31:return lc(e,t,n);case 22:return ic(e,t,n,t.pendingProps);case 24:return qi(t),r=Ji(ea),e===null?(i=fa(),i===null&&(i=Ll,a=ta(),i.pooledCache=a,a.refCount++,a!==null&&(i.pooledCacheLanes|=n),i=a),t.memoizedState={parent:r,cache:i},Pa(t),Vi(t,ea,i)):((e.lanes&n)!==0&&(Fa(e,t),Ha(t,null,null,n),Va()),i=e.memoizedState,a=t.memoizedState,i.parent===r?(r=a.cache,Vi(t,ea,r),r!==i.cache&&Wi(t,[ea],n,!0)):(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),Vi(t,ea,r))),ec(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(s(156,t.tag))}function kc(e){e.flags|=4}function Ac(e,t,n,r,i){if((t=(e.mode&32)!=0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(Cu())e.flags|=8192;else throw Sa=va,ga}else e.flags&=-16777217}function jc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Wf(t))if(Cu())e.flags|=8192;else throw Sa=va,ga}function Mc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:Ve(),e.lanes|=t,Jl|=t)}function Nc(e,t){if(!K)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Pc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Fc(e,t,n){var r=t.pendingProps;switch(wi(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Pc(t),null;case 1:return Pc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Hi(ea),V(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Pi(t)?kc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ii())),Pc(t),null;case 26:var i=t.type,a=t.memoizedState;return e===null?(kc(t),a===null?(Pc(t),Ac(t,i,null,r,n)):(Pc(t),jc(t,a))):a?a===e.memoizedState?(Pc(t),t.flags&=-16777217):(kc(t),Pc(t),jc(t,a)):(e=e.memoizedProps,e!==r&&kc(t),Pc(t),Ac(t,i,e,r,n)),null;case 27:if(le(t),n=ae.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&kc(t);else{if(!r){if(t.stateNode===null)throw Error(s(166));return Pc(t),null}e=B.current,Pi(t)?Mi(t,e):(e=ff(i,r,n),t.stateNode=e,kc(t))}return Pc(t),null;case 5:if(le(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&kc(t);else{if(!r){if(t.stateNode===null)throw Error(s(166));return Pc(t),null}if(a=B.current,Pi(t))Mi(t,a);else{var o=Bd(ae.current);switch(a){case 1:a=o.createElementNS(`http://www.w3.org/2000/svg`,i);break;case 2:a=o.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;default:switch(i){case`svg`:a=o.createElementNS(`http://www.w3.org/2000/svg`,i);break;case`math`:a=o.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;case`script`:a=o.createElement(`div`),a.innerHTML=`<script><\/script>`,a=a.removeChild(a.firstChild);break;case`select`:a=typeof r.is==`string`?o.createElement(`select`,{is:r.is}):o.createElement(`select`),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=typeof r.is==`string`?o.createElement(i,{is:r.is}):o.createElement(i)}}a[$e]=t,a[et]=r;a:for(o=t.child;o!==null;){if(o.tag===5||o.tag===6)a.appendChild(o.stateNode);else if(o.tag!==4&&o.tag!==27&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===t)break a;for(;o.sibling===null;){if(o.return===null||o.return===t)break a;o=o.return}o.sibling.return=o.return,o=o.sibling}t.stateNode=a;a:switch(Pd(a,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&kc(t)}}return Pc(t),Ac(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&kc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(s(166));if(e=ae.current,Pi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Ei,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[$e]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||ji(t,!0)}else e=Bd(e).createTextNode(r),e[$e]=t,t.stateNode=e}return Pc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Pi(t),n!==null){if(e===null){if(!r)throw Error(s(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(s(557));e[$e]=t}else Fi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Pc(t),e=!1}else n=Ii(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(no(t),t):(no(t),null);if(t.flags&128)throw Error(s(558))}return Pc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Pi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(s(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(s(317));i[$e]=t}else Fi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Pc(t),i=!1}else i=Ii(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(no(t),t):(no(t),null)}return no(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),a=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(a=r.memoizedState.cachePool.pool),a!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Mc(t,t.updateQueue),Pc(t),null);case 4:return V(),e===null&&xd(t.stateNode.containerInfo),Pc(t),null;case 10:return Hi(t.type),Pc(t),null;case 19:if(R(ro),r=t.memoizedState,r===null)return Pc(t),null;if(i=(t.flags&128)!=0,a=r.rendering,a===null)if(i)Nc(r,!1);else{if(Ul!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(a=io(e),a!==null){for(t.flags|=128,Nc(r,!1),e=a.updateQueue,t.updateQueue=e,Mc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ii(n,e),n=n.sibling;return z(ro,ro.current&1|2),K&&xi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&W()>eu&&(t.flags|=128,i=!0,Nc(r,!1),t.lanes=4194304)}else{if(!i)if(e=io(a),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Mc(t,e),Nc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!a.alternate&&!K)return Pc(t),null}else 2*W()-r.renderingStartTime>eu&&n!==536870912&&(t.flags|=128,i=!0,Nc(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(e=r.last,e===null?t.child=a:e.sibling=a,r.last=a)}return r.tail===null?(Pc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=W(),e.sibling=null,n=ro.current,z(ro,i?n&1|2:n&1),K&&xi(t,r.treeForkCount),e);case 22:case 23:return no(t),Ya(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Pc(t),t.subtreeFlags&6&&(t.flags|=8192)):Pc(t),n=t.updateQueue,n!==null&&Mc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&R(da),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Hi(ea),Pc(t),null;case 25:return null;case 30:return null}throw Error(s(156,t.tag))}function Ic(e,t){switch(wi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Hi(ea),V(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return le(t),null;case 31:if(t.memoizedState!==null){if(no(t),t.alternate===null)throw Error(s(340));Fi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(no(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(s(340));Fi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return R(ro),null;case 4:return V(),null;case 10:return Hi(t.type),null;case 22:case 23:return no(t),Ya(),e!==null&&R(da),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Hi(ea),null;case 25:return null;default:return null}}function Lc(e,t){switch(wi(t),t.tag){case 3:Hi(ea),V();break;case 26:case 27:case 5:le(t);break;case 4:V();break;case 31:t.memoizedState!==null&&no(t);break;case 13:no(t);break;case 19:R(ro);break;case 10:Hi(t.type);break;case 22:case 23:no(t),Ya(),e!==null&&R(da);break;case 24:Hi(ea)}}function Rc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Q(t,t.return,e)}}function zc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Q(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Q(t,t.return,e)}}function Bc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Wa(t,n)}catch(t){Q(e,e.return,t)}}}function Vc(e,t,n){n.props=Hs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Q(e,t,n)}}function Hc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Q(e,t,n)}}function Uc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Q(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Q(e,t,n)}else n.current=null}function Wc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Q(e,e.return,t)}}function Gc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[et]=t}catch(t){Q(e,e.return,t)}}function Kc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function qc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Kc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Jc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Kt));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Jc(e,t,n),e=e.sibling;e!==null;)Jc(e,t,n),e=e.sibling}function Yc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Yc(e,t,n),e=e.sibling;e!==null;)Yc(e,t,n),e=e.sibling}function Xc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[$e]=e,t[et]=n}catch(t){Q(e,e.return,t)}}var Zc=!1,Qc=!1,$c=!1,el=typeof WeakSet==`function`?WeakSet:Set,tl=null;function nl(e,t){if(e=e.containerInfo,Rd=sp,e=br(e),xr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break a}var o=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=o+i),f!==a||r!==0&&f.nodeType!==3||(l=o+r),f.nodeType===3&&(o+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=o),p===a&&++d===r&&(l=o),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,tl=t;tl!==null;)if(t=tl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,tl=e;else for(;tl!==null;){switch(t=tl,a=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)i=e[n],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&a!==null){e=void 0,n=t,i=a.memoizedProps,a=a.memoizedState,r=n.stateNode;try{var h=Hs(n.type,i);e=r.getSnapshotBeforeUpdate(h,a),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Q(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)ef(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:ef(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(s(163))}if(e=t.sibling,e!==null){e.return=t.return,tl=e;break}tl=t.return}}function rl(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:vl(e,n),r&4&&Rc(5,n);break;case 1:if(vl(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Q(n,n.return,e)}else{var i=Hs(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Q(n,n.return,e)}}r&64&&Bc(n),r&512&&Hc(n,n.return);break;case 3:if(vl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{Wa(e,t)}catch(e){Q(n,n.return,e)}}break;case 27:t===null&&r&4&&Xc(n);case 26:case 5:vl(e,n),t===null&&r&4&&Wc(n),r&512&&Hc(n,n.return);break;case 12:vl(e,n);break;case 31:vl(e,n),r&4&&ll(e,n);break;case 13:vl(e,n),r&4&&ul(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=qu.bind(null,n),sf(e,n))));break;case 22:if(r=n.memoizedState!==null||Zc,!r){t=t!==null&&t.memoizedState!==null||Qc,i=Zc;var a=Qc;Zc=r,(Qc=t)&&!a?bl(e,n,(n.subtreeFlags&8772)!=0):vl(e,n),Zc=i,Qc=a}break;case 30:break;default:vl(e,n)}}function il(e){var t=e.alternate;t!==null&&(e.alternate=null,il(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&st(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var al=null,ol=!1;function sl(e,t,n){for(n=n.child;n!==null;)cl(e,t,n),n=n.sibling}function cl(e,t,n){if(Oe&&typeof Oe.onCommitFiberUnmount==`function`)try{Oe.onCommitFiberUnmount(G,n)}catch{}switch(n.tag){case 26:Qc||Uc(n,t),sl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Qc||Uc(n,t);var r=al,i=ol;Zd(n.type)&&(al=n.stateNode,ol=!1),sl(e,t,n),pf(n.stateNode),al=r,ol=i;break;case 5:Qc||Uc(n,t);case 6:if(r=al,i=ol,al=null,sl(e,t,n),al=r,ol=i,al!==null)if(ol)try{(al.nodeType===9?al.body:al.nodeName===`HTML`?al.ownerDocument.body:al).removeChild(n.stateNode)}catch(e){Q(n,t,e)}else try{al.removeChild(n.stateNode)}catch(e){Q(n,t,e)}break;case 18:al!==null&&(ol?(e=al,Qd(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Np(e)):Qd(al,n.stateNode));break;case 4:r=al,i=ol,al=n.stateNode.containerInfo,ol=!0,sl(e,t,n),al=r,ol=i;break;case 0:case 11:case 14:case 15:zc(2,n,t),Qc||zc(4,n,t),sl(e,t,n);break;case 1:Qc||(Uc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Vc(n,t,r)),sl(e,t,n);break;case 21:sl(e,t,n);break;case 22:Qc=(r=Qc)||n.memoizedState!==null,sl(e,t,n),Qc=r;break;default:sl(e,t,n)}}function ll(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Np(e)}catch(e){Q(t,t.return,e)}}}function ul(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Np(e)}catch(e){Q(t,t.return,e)}}function dl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new el),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new el),t;default:throw Error(s(435,e.tag))}}function fl(e,t){var n=dl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=Ju.bind(null,e,t);t.then(r,r)}})}function pl(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r],a=e,o=t,c=o;a:for(;c!==null;){switch(c.tag){case 27:if(Zd(c.type)){al=c.stateNode,ol=!1;break a}break;case 5:al=c.stateNode,ol=!1;break a;case 3:case 4:al=c.stateNode.containerInfo,ol=!0;break a}c=c.return}if(al===null)throw Error(s(160));cl(a,o,i),al=null,ol=!1,a=i.alternate,a!==null&&(a.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)hl(t,e),t=t.sibling}var ml=null;function hl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:pl(t,e),gl(e),r&4&&(zc(3,e,e.return),Rc(3,e),zc(5,e,e.return));break;case 1:pl(t,e),gl(e),r&512&&(Qc||n===null||Uc(n,n.return)),r&64&&Zc&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var i=ml;if(pl(t,e),gl(e),r&512&&(Qc||n===null||Uc(n,n.return)),r&4){var a=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,i=i.ownerDocument||i;b:switch(r){case`title`:a=i.getElementsByTagName(`title`)[0],(!a||a[ot]||a[$e]||a.namespaceURI===`http://www.w3.org/2000/svg`||a.hasAttribute(`itemprop`))&&(a=i.createElement(r),i.head.insertBefore(a,i.querySelector(`head >
8 title`))),Pd(a,r,n),a[$e]=e,ft(a),r=a;break a;case`link`:var o=Vf(`link`,`href`,i).get(r+(n.href||``));if(o){for(var c=0;c<o.length;c++)if(a=o[c],a.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&a.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&a.getAttribute(`title`)===(n.title==null?null:n.title)&&a.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){o.splice(c,1);break b}}a=i.createElement(r),Pd(a,r,n),i.head.appendChild(a);break;case`meta`:if(o=Vf(`meta`,`content`,i).get(r+(n.content||``))){for(c=0;c<o.length;c++)if(a=o[c],a.getAttribute(`content`)===(n.content==null?null:``+n.content)&&a.getAttribute(`name`)===(n.name==null?null:n.name)&&a.getAttribute(`property`)===(n.property==null?null:n.property)&&a.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&a.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){o.splice(c,1);break b}}a=i.createElement(r),Pd(a,r,n),i.head.appendChild(a);break;default:throw Error(s(468,r))}a[$e]=e,ft(a),r=a}e.stateNode=r}else Hf(i,e.type,e.stateNode);else e.stateNode=If(i,r,e.memoizedProps);else a===r?r===null&&e.stateNode!==null&&Gc(e,e.memoizedProps,n.memoizedProps):(a===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):a.count--,r===null?Hf(i,e.type,e.stateNode):If(i,r,e.memoizedProps))}break;case 27:pl(t,e),gl(e),r&512&&(Qc||n===null||Uc(n,n.return)),n!==null&&r&4&&Gc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(pl(t,e),gl(e),r&512&&(Qc||n===null||Uc(n,n.return)),e.flags&32){i=e.stateNode;try{Rt(i,``)}catch(t){Q(e,e.return,t)}}r&4&&e.stateNode!=null&&(i=e.memoizedProps,Gc(e,i,n===null?i:n.memoizedProps)),r&1024&&($c=!0);break;case 6:if(pl(t,e),gl(e),r&4){if(e.stateNode===null)throw Error(s(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Q(e,e.return,t)}}break;case 3:if(Bf=null,i=ml,ml=gf(t.containerInfo),pl(t,e),ml=i,gl(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Np(t.containerInfo)}catch(t){Q(e,e.return,t)}$c&&($c=!1,_l(e));break;case 4:r=ml,ml=gf(e.stateNode.containerInfo),pl(t,e),gl(e),ml=r;break;case 12:pl(t,e),gl(e);break;case 31:pl(t,e),gl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,fl(e,r)));break;case 13:pl(t,e),gl(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Ql=W()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,fl(e,r)));break;case 22:i=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=Zc,d=Qc;if(Zc=u||i,Qc=d||l,pl(t,e),Qc=d,Zc=u,gl(e),r&8192)a:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(n===null||l||Zc||Qc||yl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(a=l.stateNode,i)o=a.style,typeof o.setProperty==`function`?o.setProperty(`display`,`none`,`important`):o.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){Q(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=i?``:l.memoizedProps}catch(e){Q(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;i?$d(m,!0):$d(l.stateNode,!1)}catch(e){Q(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,fl(e,n))));break;case 19:pl(t,e),gl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,fl(e,r)));break;case 30:break;case 21:break;default:pl(t,e),gl(e)}}function gl(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Kc(r)){n=r;break}r=r.return}if(n==null)throw Error(s(160));switch(n.tag){case 27:var i=n.stateNode;Yc(e,qc(e),i);break;case 5:var a=n.stateNode;n.flags&32&&(Rt(a,``),n.flags&=-33),Yc(e,qc(e),a);break;case 3:case 4:var o=n.stateNode.containerInfo;Jc(e,qc(e),o);break;default:throw Error(s(161))}}catch(t){Q(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function _l(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;_l(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function vl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)rl(e,t.alternate,t),t=t.sibling}function yl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:zc(4,t,t.return),yl(t);break;case 1:Uc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Vc(t,t.return,n),yl(t);break;case 27:pf(t.stateNode);case 26:case 5:Uc(t,t.return),yl(t);break;case 22:t.memoizedState===null&&yl(t);break;case 30:yl(t);break;default:yl(t)}e=e.sibling}}function bl(e,t,n){for(n&&=(t.subtreeFlags&8772)!=0,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:bl(i,a,n),Rc(4,a);break;case 1:if(bl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Q(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;
vendor: 36,443 bytes, lines 8-9
8if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)Ua(c[i],s)}catch(e){Q(r,r.return,e)}}n&&o&64&&Bc(a),Hc(a,a.return);break;case 27:Xc(a);case 26:case 5:bl(i,a,n),n&&r===null&&o&4&&Wc(a),Hc(a,a.return);break;case 12:bl(i,a,n);break;case 31:bl(i,a,n),n&&o&4&&ll(i,a);break;case 13:bl(i,a,n),n&&o&4&&ul(i,a);break;case 22:a.memoizedState===null&&bl(i,a,n),Hc(a,a.return);break;case 30:break;default:bl(i,a,n)}t=t.sibling}}function xl(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&na(n))}function Sl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&na(e))}function Cl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)wl(e,t,n,r),t=t.sibling}function wl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Cl(e,t,n,r),i&2048&&Rc(9,t);break;case 1:Cl(e,t,n,r);break;case 3:Cl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&na(e)));break;case 12:if(i&2048){Cl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){Q(t,t.return,e)}}else Cl(e,t,n,r);break;case 31:Cl(e,t,n,r);break;case 13:Cl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?Cl(e,t,n,r):(a._visibility|=2,Tl(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?Cl(e,t,n,r):El(e,t),i&2048&&xl(o,t);break;case 24:Cl(e,t,n,r),i&2048&&Sl(t.alternate,t);break;default:Cl(e,t,n,r)}}function Tl(e,t,n,r,i){for(i&&=(t.subtreeFlags&10256)!=0||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Tl(a,o,s,c,i),Rc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Tl(a,o,s,c,i)):u._visibility&2?Tl(a,o,s,c,i):El(a,o),i&&l&2048&&xl(o.alternate,o);break;case 24:Tl(a,o,s,c,i),i&&l&2048&&Sl(o.alternate,o);break;default:Tl(a,o,s,c,i)}t=t.sibling}}function El(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:El(n,r),i&2048&&xl(r.alternate,r);break;case 24:El(n,r),i&2048&&Sl(r.alternate,r);break;default:El(n,r)}t=t.sibling}}var Dl=8192;function Ol(e,t,n){if(e.subtreeFlags&Dl)for(e=e.child;e!==null;)kl(e,t,n),e=e.sibling}function kl(e,t,n){switch(e.tag){case 26:Ol(e,t,n),e.flags&Dl&&e.memoizedState!==null&&Gf(n,ml,e.memoizedState,e.memoizedProps);break;case 5:Ol(e,t,n);break;case 3:case 4:var r=ml;ml=gf(e.stateNode.containerInfo),Ol(e,t,n),ml=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Dl,Dl=16777216,Ol(e,t,n),Dl=r):Ol(e,t,n));break;default:Ol(e,t,n)}}function Al(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function jl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];tl=r,Pl(r,e)}Al(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Ml(e),e=e.sibling}function Ml(e){switch(e.tag){case 0:case 11:case 15:jl(e),e.flags&2048&&zc(9,e,e.return);break;case 3:jl(e);break;case 12:jl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Nl(e)):jl(e);break;default:jl(e)}}function Nl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];tl=r,Pl(r,e)}Al(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:zc(8,t,t.return),Nl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Nl(t));break;default:Nl(t)}e=e.sibling}}function Pl(e,t){for(;tl!==null;){var n=tl;switch(n.tag){case 0:case 11:case 15:zc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:na(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,tl=r;else a:for(n=e;tl!==null;){r=tl;var i=r.sibling,a=r.return;if(il(r),r===n){tl=null;break a}if(i!==null){i.return=a,tl=i;break a}tl=a}}}var Fl={getCacheForType:function(e){var t=Ji(ea),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Ji(ea).controller.signal}},Il=typeof WeakMap==`function`?WeakMap:Map,J=0,Ll=null,Y=null,X=0,Z=0,Rl=null,zl=!1,Bl=!1,Vl=!1,Hl=0,Ul=0,Wl=0,Gl=0,Kl=0,ql=0,Jl=0,Yl=null,Xl=null,Zl=!1,Ql=0,$l=0,eu=1/0,tu=null,nu=null,ru=0,iu=null,au=null,ou=0,su=0,cu=null,lu=null,uu=0,du=null;function fu(){return J&2&&X!==0?X&-X:F.T===null?Xe():ud()}function pu(){if(ql===0)if(!(X&536870912)||K){var e=Fe;Fe<<=1,!(Fe&3932160)&&(Fe=262144),ql=e}else ql=536870912;return e=Xa.current,e!==null&&(e.flags|=32),ql}function mu(e,t,n){(e===Ll&&(Z===2||Z===9)||e.cancelPendingCommit!==null)&&(xu(e,0),vu(e,X,ql,!1)),Ue(e,n),(!(J&2)||e!==Ll)&&(e===Ll&&(!(J&2)&&(Gl|=n),Ul===4&&vu(e,X,ql,!1)),nd(e))}function hu(e,t,n){if(J&6)throw Error(s(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||ze(e,t),i=r?ku(e,t):Du(e,t,!0),a=r;do{if(i===0){Bl&&!r&&vu(e,t,0,!1);break}else{if(n=e.current.alternate,a&&!_u(n)){i=Du(e,t,!1),a=!1;continue}if(i===2){if(a=t,e.errorRecoveryDisabledLanes&a)var o=0;else o=e.pendingLanes&-536870913,o=o===0?o&536870912?536870912:0:o;if(o!==0){t=o;a:{var c=e;i=Yl;var l=c.current.memoizedState.isDehydrated;if(l&&(xu(c,o).flags|=256),o=Du(c,o,!1),o!==2){if(Vl&&!l){c.errorRecoveryDisabledLanes|=a,Gl|=a,i=4;break a}a=Xl,Xl=i,a!==null&&(Xl===null?Xl=a:Xl.push.apply(Xl,a))}i=o}if(a=!1,i!==2)continue}}if(i===1){xu(e,0),vu(e,t,0,!0);break}a:{switch(r=e,a=i,a){case 0:case 1:throw Error(s(345));case 4:if((t&4194048)!==t)break;case 6:vu(r,t,ql,!zl);break a;case 2:Xl=null;break;case 3:case 5:break;default:throw Error(s(329))}if((t&62914560)===t&&(i=Ql+300-W(),10<i)){if(vu(r,t,ql,!zl),Re(r,0,!0)!==0)break a;ou=t,r.timeoutHandle=Kd(gu.bind(null,r,n,Xl,tu,Zl,t,ql,Gl,Jl,zl,a,`Throttled`,-0,0),i);break a}gu(r,n,Xl,tu,Zl,t,ql,Gl,Jl,zl,a,null,-0,0)}}break}while(1);nd(e)}function gu(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Kt},kl(t,a,d);var m=(a&62914560)===a?Ql-W():(a&4194048)===a?$l-W():0;if(m=qf(d,m),m!==null){ou=a,e.cancelPendingCommit=m(Iu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),vu(e,a,o,!l);return}}Iu(e,t,a,n,r,i,o,s,c)}function _u(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!hr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function vu(e,t,n,r){t&=~Kl,t&=~Gl,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Ae(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&Ge(e,n,t)}function yu(){return J&6?!0:(rd(0,!1),!1)}function bu(){if(Y!==null){if(Z===0)var e=Y.return;else e=Y,Bi=zi=null,wo(e),Ta=null,Ea=0,e=Y;for(;e!==null;)Lc(e.alternate,e),e=e.return;Y=null}}function xu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,qd(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),ou=0,bu(),Ll=e,Y=n=ri(e.current,null),X=t,Z=0,Rl=null,zl=!1,Bl=ze(e,t),Vl=!1,Jl=ql=Kl=Gl=Wl=Ul=0,Xl=Yl=null,Zl=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Ae(r),a=1<<i;t|=e[i],r&=~a}return Hl=t,qr(),n}function Su(e,t){q=null,F.H=Ps,t===ha||t===_a?(t=Ca(),Z=3):t===ga?(t=Ca(),Z=4):Z=t===Qs?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Rl=t,Y===null&&(Ul=1,Ks(e,di(t,e.current)))}function Cu(){var e=Xa.current;return e===null?!0:(X&4194048)===X?Za===null:(X&62914560)===X||X&536870912?e===Za:!1}function wu(){var e=F.H;return F.H=Ps,e===null?Ps:e}function Tu(){var e=F.A;return F.A=Fl,e}function Eu(){Ul=4,zl||(X&4194048)!==X&&Xa.current!==null||(Bl=!0),!(Wl&134217727)&&!(Gl&134217727)||Ll===null||vu(Ll,X,ql,!1)}function Du(e,t,n){var r=J;J|=2;var i=wu(),a=Tu();(Ll!==e||X!==t)&&(tu=null,xu(e,t)),t=!1;var o=Ul;a:do try{if(Z!==0&&Y!==null){var s=Y,c=Rl;switch(Z){case 8:bu(),o=6;break a;case 3:case 2:case 9:case 6:Xa.current===null&&(t=!0);var l=Z;if(Z=0,Rl=null,Nu(e,s,c,l),n&&Bl){o=0;break a}break;default:l=Z,Z=0,Rl=null,Nu(e,s,c,l)}}Ou(),o=Ul;break}catch(t){Su(e,t)}while(1);return t&&e.shellSuspendCounter++,Bi=zi=null,J=r,F.H=i,F.A=a,Y===null&&(Ll=null,X=0,qr()),o}function Ou(){for(;Y!==null;)ju(Y)}function ku(e,t){var n=J;J|=2;var r=wu(),i=Tu();Ll!==e||X!==t?(tu=null,eu=W()+500,xu(e,t)):Bl=ze(e,t);a:do try{if(Z!==0&&Y!==null){t=Y;var a=Rl;b:switch(Z){case 1:Z=0,Rl=null,Nu(e,t,a,1);break;case 2:case 9:if(ya(a)){Z=0,Rl=null,Mu(t);break}t=function(){Z!==2&&Z!==9||Ll!==e||(Z=7),nd(e)},a.then(t,t);break a;case 3:Z=7;break a;case 4:Z=5;break a;case 7:ya(a)?(Z=0,Rl=null,Mu(t)):(Z=0,Rl=null,Nu(e,t,a,7));break;case 5:var o=null;switch(Y.tag){case 26:o=Y.memoizedState;case 5:case 27:var c=Y;if(o?Wf(o):c.stateNode.complete){Z=0,Rl=null;var l=c.sibling;if(l!==null)Y=l;else{var u=c.return;u===null?Y=null:(Y=u,Pu(u))}break b}}Z=0,Rl=null,Nu(e,t,a,5);break;case 6:Z=0,Rl=null,Nu(e,t,a,6);break;case 8:bu(),Ul=6;break a;default:throw Error(s(462))}}Au();break}catch(t){Su(e,t)}while(1);return Bi=zi=null,F.H=r,F.A=i,J=n,Y===null?(Ll=null,X=0,qr(),Ul):0}function Au(){for(;Y!==null&&!ve();)ju(Y)}function ju(e){var t=Oc(e.alternate,e,Hl);e.memoizedProps=e.pendingProps,t===null?Pu(e):Y=t}function Mu(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=fc(n,t,t.pendingProps,t.type,void 0,X);break;case 11:t=fc(n,t,t.pendingProps,t.type.render,t.ref,X);break;case 5:wo(t);default:Lc(n,t),t=Y=ii(t,Hl),t=Oc(n,t,Hl)}e.memoizedProps=e.pendingProps,t===null?Pu(e):Y=t}function Nu(e,t,n,r){Bi=zi=null,wo(t),Ta=null,Ea=0;var i=t.return;try{if(Zs(e,i,t,n,X)){Ul=1,Ks(e,di(n,e.current)),Y=null;return}}catch(t){if(i!==null)throw Y=i,t;Ul=1,Ks(e,di(n,e.current)),Y=null;return}t.flags&32768?(K||r===1?e=!0:Bl||X&536870912?e=!1:(zl=e=!0,(r===2||r===9||r===3||r===6)&&(r=Xa.current,r!==null&&r.tag===13&&(r.flags|=16384))),Fu(t,e)):Pu(t)}function Pu(e){var t=e;do{if(t.flags&32768){Fu(t,zl);return}e=t.return;var n=Fc(t.alternate,t,Hl);if(n!==null){Y=n;return}if(t=t.sibling,t!==null){Y=t;return}Y=t=e}while(t!==null);Ul===0&&(Ul=5)}function Fu(e,t){do{var n=Ic(e.alternate,e);if(n!==null){n.flags&=32767,Y=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Y=e;return}Y=e=n}while(e!==null);Ul=6,Y=null}function Iu(e,t,n,r,i,a,o,c,l){e.cancelPendingCommit=null;do Vu();while(ru!==0);if(J&6)throw Error(s(327));if(t!==null){if(t===e.current)throw Error(s(177));if(a=t.lanes|t.childLanes,a|=Kr,We(e,n,a,o,c,l),e===Ll&&(Y=Ll=null,X=0),au=t,iu=e,ou=n,su=a,cu=i,lu=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Yu(Ce,function(){return Hu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=F.T,F.T=null,i=I.p,I.p=2,o=J,J|=4;try{nl(e,t,n)}finally{J=o,I.p=i,F.T=r}}ru=1,Lu(),Ru(),zu()}}function Lu(){if(ru===1){ru=0;var e=iu,t=au,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=F.T,F.T=null;var r=I.p;I.p=2;var i=J;J|=4;try{hl(t,e);var a=zd,o=br(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&yr(s.ownerDocument.documentElement,s)){if(c!==null&&xr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=vr(s,h),v=vr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}sp=!!Rd,zd=Rd=null}finally{J=i,I.p=r,F.T=n}}e.current=t,ru=2}}function Ru(){if(ru===2){ru=0;var e=iu,t=au,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=F.T,F.T=null;var r=I.p;I.p=2;var i=J;J|=4;try{rl(e,t.alternate,t)}finally{J=i,I.p=r,F.T=n}}ru=3}}function zu(){if(ru===4||ru===3){ru=0,ye();var e=iu,t=au,n=ou,r=lu;t.subtreeFlags&10256||t.flags&10256?ru=5:(ru=0,au=iu=null,Bu(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(nu=null),Ye(n),t=t.stateNode,Oe&&typeof Oe.onCommitFiberRoot==`function`)try{Oe.onCommitFiberRoot(G,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=F.T,i=I.p,I.p=2,F.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{F.T=t,I.p=i}}ou&3&&Vu(),nd(e),i=e.pendingLanes,n&261930&&i&42?e===du?uu++:(uu=0,du=e):uu=0,rd(0,!1)}}function Bu(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,na(t)))}function Vu(){return Lu(),Ru(),zu(),Hu()}function Hu(){if(ru!==5)return!1;var e=iu,t=su;su=0;var n=Ye(ou),r=F.T,i=I.p;try{I.p=32>n?32:n,F.T=null,n=cu,cu=null;var a=iu,o=ou;if(ru=0,au=iu=null,ou=0,J&6)throw Error(s(331));var c=J;if(J|=4,Ml(a.current),wl(a,a.current,o,n),J=c,rd(0,!1),Oe&&typeof Oe.onPostCommitFiberRoot==`function`)try{Oe.onPostCommitFiberRoot(G,a)}catch{}return!0}finally{I.p=i,F.T=r,Bu(e,t)}}function Uu(e,t,n){t=di(n,t),t=Js(e.stateNode,t,2),e=La(e,t,2),e!==null&&(Ue(e,2),nd(e))}function Q(e,t,n){if(e.tag===3)Uu(e,e,n);else for(;t!==null;){if(t.tag===3){Uu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(nu===null||!nu.has(r))){e=di(n,e),n=Ys(2),r=La(t,n,2),r!==null&&(Xs(n,r,t,e),Ue(r,2),nd(r));break}}t=t.return}}function Wu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Il;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Vl=!0,i.add(n),e=Gu.bind(null,e,t,n),t.then(e,e))}function Gu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Ll===e&&(X&n)===n&&(Ul===4||Ul===3&&(X&62914560)===X&&300>W()-Ql?!(J&2)&&xu(e,0):Kl|=n,Jl===X&&(Jl=0)),nd(e)}function Ku(e,t){t===0&&(t=Ve()),e=Xr(e,t),e!==null&&(Ue(e,t),nd(e))}function qu(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Ku(e,n)}function Ju(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(s(314))}r!==null&&r.delete(t),Ku(e,n)}function Yu(e,t){return ge(e,t)}var Xu=null,Zu=null,Qu=!1,$u=!1,ed=!1,td=0;function nd(e){e!==Zu&&e.next===null&&(Zu===null?Xu=Zu=e:Zu=Zu.next=e),$u=!0,Qu||(Qu=!0,ld())}function rd(e,t){if(!ed&&$u){ed=!0;do for(var n=!1,r=Xu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Ae(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,cd(r,a))}else a=X,a=Re(r,r===Ll?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||ze(r,a)||(n=!0,cd(r,a));r=r.next}while(n);ed=!1}}function id(){ad()}function ad(){$u=Qu=!1;var e=0;td!==0&&Gd()&&(e=td);for(var t=W(),n=null,r=Xu;r!==null;){var i=r.next,a=od(r,t);a===0?(r.next=null,n===null?Xu=i:n.next=i,i===null&&(Zu=n)):(n=r,(e!==0||a&3)&&($u=!0)),r=i}ru!==0&&ru!==5||rd(e,!1),td!==0&&(td=0)}function od(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Ae(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=Be(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Ll,n=X,n=Re(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Z===2||Z===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&_e(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||ze(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&_e(r),Ye(n)){case 2:case 8:n=Se;break;case 32:n=Ce;break;case 268435456:n=Te;break;default:n=Ce}return r=sd.bind(null,e),n=ge(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&_e(r),e.callbackPriority=2,e.callbackNode=null,2}function sd(e,t){if(ru!==0&&ru!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Vu()&&e.callbackNode!==n)return null;var r=X;return r=Re(e,e===Ll?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(hu(e,r,t),od(e,W()),e.callbackNode!=null&&e.callbackNode===n?sd.bind(null,e):null)}function cd(e,t){if(Vu())return null;hu(e,t,!0)}function ld(){Yd(function(){J&6?ge(xe,id):ad()})}function ud(){if(td===0){var e=aa;e===0&&(e=Pe,Pe<<=1,!(Pe&261888)&&(Pe=256)),td=e}return td}function dd(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:Gt(``+e)}function fd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function pd(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=dd((i[et]||null).action),o=r.submitter;o&&(t=(t=o[et]||null)?dd(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new mn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(td!==0){var e=o?fd(i,o):new FormData(i);bs(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?fd(i,o):new FormData(i),bs(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var md=0;md<Vr.length;md++){var hd=Vr[md];Hr(hd.toLowerCase(),`on`+(hd[0].toUpperCase()+hd.slice(1)))}Hr(Nr,`onAnimationEnd`),Hr(Pr,`onAnimationIteration`),Hr(Fr,`onAnimationStart`),Hr(`dblclick`,`onDoubleClick`),Hr(`focusin`,`onFocus`),Hr(`focusout`,`onBlur`),Hr(Ir,`onTransitionRun`),Hr(Lr,`onTransitionStart`),Hr(Rr,`onTransitionCancel`),Hr(zr,`onTransitionEnd`),gt(`onMouseEnter`,[`mouseout`,`mouseover`]),gt(`onMouseLeave`,[`mouseout`,`mouseover`]),gt(`onPointerEnter`,[`pointerout`,`pointerover`]),gt(`onPointerLeave`,[`pointerout`,`pointerover`]),ht(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),ht(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),ht(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),ht(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),ht(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),ht(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var gd=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),_d=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(gd));function vd(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Ur(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Ur(e)}i.currentTarget=null,a=c}}}}function $(e,t){var n=t[nt];n===void 0&&(n=t[nt]=new Set);var r=e+`__bubble`;n.has(r)||(Sd(t,e,2,!1),n.add(r))}function yd(e,t,n){var r=0;t&&(r|=4),Sd(n,e,r,t)}var bd=`_reactListening`+Math.random().toString(36).slice(2);function xd(e){if(!e[bd]){e[bd]=!0,pt.forEach(function(t){t!==`selectionchange`&&(_d.has(t)||yd(t,!1,e),yd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[bd]||(t[bd]=!0,yd(`selectionchange`,!1,t))}}function Sd(e,t,n,r){switch(mp(t)){case 2:var i=cp;break;case 8:i=lp;break;default:i=up}n=i.bind(null,t,n,e),i=void 0,!nn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Cd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i)break;if(o===4)for(o=r.return;o!==null;){var c=o.tag;if((c===3||c===4)&&o.stateNode.containerInfo===i)return;o=o.return}for(;s!==null;){if(o=ct(s),o===null)return;if(c=o.tag,c===5||c===6||c===26||c===27){r=a=o;continue a}s=s.parentNode}}r=r.return}$t(function(){var r=a,i=Jt(n),o=[];a:{var s=Br.get(e);if(s!==void 0){var c=mn,u=e;switch(e){case`keypress`:if(ln(n)===0)break a;case`keydown`:case`keyup`:c=Mn;break;case`focusin`:u=`focus`,c=Cn;break;case`focusout`:u=`blur`,c=Cn;break;case`beforeblur`:case`afterblur`:c=Cn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:c=xn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:c=Sn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:c=Pn;break;case Nr:case Pr:case Fr:c=wn;break;case zr:c=Fn;break;case`scroll`:case`scrollend`:c=gn;break;case`wheel`:c=In;break;case`copy`:case`cut`:case`paste`:c=Tn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:c=Nn;break;case`toggle`:case`beforetoggle`:c=Ln}var d=(t&4)!=0,f=!d&&(e===`scroll`||e===`scrollend`),p=d?s===null?null:s+`Capture`:s;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=en(m,p),g!=null&&d.push(wd(m,g,h))),f)break;m=m.return}0<d.length&&(s=new c(s,u,null,n,i),o.push({event:s,listeners:d}))}}if(!(t&7)){a:{if(s=e===`mouseover`||e===`pointerover`,c=e===`mouseout`||e===`pointerout`,s&&n!==qt&&(u=n.relatedTarget||n.fromElement)&&(ct(u)||u[tt]))break a;if((c||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,c?(u=n.relatedTarget||n.toElement,c=r,u=u?ct(u):null,u!==null&&(f=l(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(c=null,u=r),c!==u)){if(d=xn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Nn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=c==null?s:ut(c),h=u==null?s:ut(u),s=new d(g,m+`leave`,c,n,i),s.target=f,s.relatedTarget=h,g=null,ct(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,c&&u)b:{for(d=Ed,p=c,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;c!==null&&Dd(o,s,c,d,!1),u!==null&&f!==null&&Dd(o,f,u,d,!0)}}a:{if(s=r?ut(r):window,c=s.nodeName&&s.nodeName.toLowerCase(),c===`select`||c===`input`&&s.type===`file`)var v=rr;else if(Zn(s))if(ir)v=pr;else{v=dr;var y=ur}else c=s.nodeName,!c||c.toLowerCase()!==`input`||s.type!==`checkbox`&&s.type!==`radio`?r&&Ht(r.elementType)&&(v=rr):v=fr;if(v&&=v(e,r)){Qn(o,v,n,i);break a}y&&y(e,s,r),e===`focusout`&&r&&s.type===`number`&&r.memoizedProps.value!=null&&Pt(s,`number`,s.value)}switch(y=r?ut(r):window,e){case`focusin`:(Zn(y)||y.contentEditable===`true`)&&(Cr=y,wr=r,Tr=null);break;case`focusout`:Tr=wr=Cr=null;break;case`mousedown`:Er=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Er=!1,Dr(o,n,i);break;case`selectionchange`:if(Sr)break;case`keydown`:case`keyup`:Dr(o,n,i)}var b;if(zn)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else qn?Gn(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(Hn&&n.locale!==`ko`&&(qn||x!==`onCompositionStart`?x===`onCompositionEnd`&&qn&&(b=cn()):(an=i,on=`value`in an?an.value:an.textContent,qn=!0)),y=Td(r,x),0<y.length&&(x=new En(x,e,null,n,i),o.push({event:x,listeners:y}),b?x.data=b:(b=Kn(n),b!==null&&(x.data=b)))),(b=Vn?Jn(e,n):Yn(e,n))&&(x=Td(r,`onBeforeInput`),0<x.length&&(y=new En(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:y,listeners:x}),y.data=b)),pd(o,e,r,n,i)}vd(o,t)})}function wd(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Td(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=en(e,n),i!=null&&r.unshift(wd(e,i,a)),i=en(e,t),i!=null&&r.push(wd(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Ed(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Dd(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=en(n,a),l!=null&&o.unshift(wd(n,l,c))):i||(l=en(n,a),l!=null&&o.push(wd(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Od=/\r\n?/g,kd=/\u0000|\uFFFD/g;function Ad(e){return(typeof e==`string`?e:``+e).replace(Od,` 9`).replace(kd,``)}function jd(e,t){return t=Ad(t),Ad(e)===t}function Md(e,t,n,r,i,a){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Rt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Rt(e,``+r);break;case`className`:St(e,`class`,r);break;case`tabIndex`:St(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:St(e,n,r);break;case`style`:Vt(e,r,a);break;case`data`:if(t!==`object`){St(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Gt(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}else typeof a==`function`&&(n===`formAction`?(t!==`input`&&Md(e,t,`name`,i.name,i,null),Md(e,t,`formEncType`,i.formEncType,i,null),Md(e,t,`formMethod`,i.formMethod,i,null),Md(e,t,`formTarget`,i.formTarget,i,null)):(Md(e,t,`encType`,i.encType,i,null),Md(e,t,`method`,i.method,i,null),Md(e,t,`target`,i.target,i,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Gt(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=Kt);break;case`onScroll`:r!=null&&$(`scroll`,e);break;case`onScrollEnd`:r!=null&&$(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(s(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(s(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=Gt(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:$(`beforetoggle`,e),$(`toggle`,e),xt(e,`popover`,r);break;case`xlinkActuate`:Ct(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Ct(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Ct(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Ct(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Ct(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Ct(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Ct(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Ct(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Ct(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:xt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=Ut.get(n)||n,xt(e,n,r))}}function Nd(e,t,n,r,i,a){switch(n){case`style`:Vt(e,r,a);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(s(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(s(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Rt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Rt(e,``+r);break;case`onScroll`:r!=null&&$(`scroll`,e);break;case`onScrollEnd`:r!=null&&$(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=Kt);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!mt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(i=n.endsWith(`Capture`),t=n.slice(2,i?n.length-7:void 0),a=e[et]||null,a=a==null?null:a[n],typeof a==`function`&&e.removeEventListener(t,a,i),typeof r==`function`)){typeof a!=`function`&&a!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,i);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):xt(e,n,r)}}}function Pd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:$(`error`,e),$(`load`,e);var r=!1,i=!1,a;for(a in n)if(n.hasOwnProperty(a)){var o=n[a];if(o!=null)switch(a){case`src`:r=!0;break;case`srcSet`:i=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(s(137,t));default:Md(e,t,a,o,n,null)}}i&&Md(e,t,`srcSet`,n.srcSet,n,null),r&&Md(e,t,`src`,n.src,n,null);return;case`input`:$(`invalid`,e);var c=a=o=i=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:i=d;break;case`type`:o=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:a=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(s(137,t));break;default:Md(e,t,r,d,n,null)}}Nt(e,a,c,l,u,o,i,!1);return;case`select`:for(i in $(`invalid`,e),r=o=a=null,n)if(n.hasOwnProperty(i)&&(c=n[i],c!=null))switch(i){case`value`:a=c;break;case`defaultValue`:o=c;break;case`multiple`:r=c;default:Md(e,t,i,c,n,null)}t=a,n=o,e.multiple=!!r,t==null?n!=null&&Ft(e,!!r,n,!0):Ft(e,!!r,t,!1);return;case`textarea`:for(o in $(`invalid`,e),a=i=r=null,n)if(n.hasOwnProperty(o)&&(c=n[o],c!=null))switch(o){case`value`:r=c;break;case`defaultValue`:i=c;break;case`children`:a=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(s(91));break;default:Md(e,t,o,c,n,null)}Lt(e,r,i,a);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Md(e,t,l,r,n,null)}return;case`dialog`:$(`beforetoggle`,e),$(`toggle`,e),$(`cancel`,e),$(`close`,e);break;case`iframe`:case`object`:$(`load`,e);break;case`video`:case`audio`:for(r=0;r<gd.length;r++)$(gd[r],e);break;case`image`:$(`error`,e),$(`load`,e);break;case`details`:$(`toggle`,e);break;case`embed`:case`source`:case`link`:$(`error`,e),$(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(s(137,t));default:Md(e,t,u,r,n,null)}return;default:if(Ht(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Nd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Md(e,t,c,r,n,null))}function Fd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var i=null,a=null,o=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Md(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:a=m;break;case`name`:i=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:o=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(s(137,t));break;default:m!==f&&Md(e,t,p,m,r,f)}}Mt(e,o,c,l,u,d,a,i);return;case`select`:for(a in m=o=c=p=null,n)if(l=n[a],n.hasOwnProperty(a)&&l!=null)switch(a){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(a)||Md(e,t,a,null,r,l)}for(i in r)if(a=r[i],l=n[i],r.hasOwnProperty(i)&&(a!=null||l!=null))switch(i){case`value`:p=a;break;case`defaultValue`:c=a;break;case`multiple`:o=a;default:a!==l&&Md(e,t,i,a,r,l)}t=c,n=o,r=m,p==null?!!r!=!!n&&(t==null?Ft(e,!!n,n?[]:``,!1):Ft(e,!!n,t,!0)):Ft(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(i=n[c],n.hasOwnProperty(c)&&i!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Md(e,t,c,null,r,i)}for(o in r)if(i=r[o],a=n[o],r.hasOwnProperty(o)&&(i!=null||a!=null))switch(o){case`value`:p=i;break;case`defaultValue`:m=i;break;case`children`:break;case`dangerouslySetInnerHTML`:if(i!=null)throw Error(s(91));break;default:i!==a&&Md(e,t,o,i,r,a)}It(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Md(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Md(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Md(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(s(137,t));break;default:Md(e,t,u,p,r,m)}return;default:if(Ht(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Nd(e,t,_,void 0,r,p);
vendor: 4,463 bytes, line 9
9for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Nd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Md(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Md(e,t,f,p,r,m)}function Id(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Ld(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Id(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Rd=null,zd=null;function Bd(e){return e.nodeType===9?e:e.ownerDocument}function Vd(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function Hd(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Ud(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Wd=null;function Gd(){var e=window.event;return e&&e.type===`popstate`?e===Wd?!1:(Wd=e,!0):(Wd=null,!1)}var Kd=typeof setTimeout==`function`?setTimeout:void 0,qd=typeof clearTimeout==`function`?clearTimeout:void 0,Jd=typeof Promise==`function`?Promise:void 0,Yd=typeof queueMicrotask==`function`?queueMicrotask:Jd===void 0?Kd:function(e){return Jd.resolve(null).then(e).catch(Xd)};function Xd(e){setTimeout(function(){throw e})}function Zd(e){return e===`head`}function Qd(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Np(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)pf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,pf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[ot]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&pf(e.ownerDocument.body);n=i}while(n);Np(t)}function $d(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function ef(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:ef(n),st(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function tf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[ot])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=cf(e.nextSibling),e===null)break}return null}function nf(e,t,n){if(t===``)return null;for(;
vendor: 20,904 bytes, line 9
9e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=cf(e.nextSibling),e===null))return null;return e}function rf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=cf(e.nextSibling),e===null))return null;return e}function af(e){return e.data===`$?`||e.data===`$~`}function of(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function sf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function cf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var lf=null;function uf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return cf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function df(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function ff(e,t,n){switch(t=Bd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(s(452));return e;case`head`:if(e=t.head,!e)throw Error(s(453));return e;case`body`:if(e=t.body,!e)throw Error(s(454));return e;default:throw Error(s(451))}}function pf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);st(e)}var mf=new Map,hf=new Set;function gf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var _f=I.d;I.d={f:vf,r:yf,D:Sf,C:Cf,L:wf,m:Tf,X:Df,S:Ef,M:Of};function vf(){var e=_f.f(),t=yu();return e||t}function yf(e){var t=lt(e);t!==null&&t.tag===5&&t.type===`form`?Ss(t):_f.r(e)}var bf=typeof document>`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=jt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),ft(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+jt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+jt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+jt(n.imageSizes)+`"]`)):i+=`[href="`+jt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=h({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),ft(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+jt(r)+`"][href="`+jt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=h({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),ft(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=dt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=h({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);ft(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=dt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),ft(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=dt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=h({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),ft(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var i=(i=ae.current)?gf(i):null;if(!i)throw Error(s(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=dt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var a=dt(i).hoistableStyles,o=a.get(e);if(o||(i=i.ownerDocument||i,o={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},a.set(e,o),(a=i.querySelector(jf(e)))&&!a._p&&(o.instance=a,o.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),a||Nf(i,e,n,o.state))),t&&r===null)throw Error(s(528,``));return o}if(t&&r!==null)throw Error(s(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=dt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(s(444,e))}}function Af(e){return`href="`+jt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return h({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),ft(t),e.head.appendChild(t))}function Pf(e){return`[src="`+jt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+jt(n.href)+`"]`);if(r)return t.instance=r,ft(r),r;var i=h({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),ft(r),Pd(r,`style`,i),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Af(n.href);var a=e.querySelector(jf(i));if(a)return t.state.loading|=4,t.instance=a,ft(a),a;r=Mf(n),(i=mf.get(i))&&Rf(r,i),a=(e.ownerDocument||e).createElement(`link`),ft(a);var o=a;return o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),t.state.loading|=4,Lf(a,n.precedence,e),t.instance=a;case`script`:return a=Pf(n.src),(i=e.querySelector(Ff(a)))?(t.instance=i,ft(i),i):(r=n,(i=mf.get(a))&&(r=h({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),ft(i),Pd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(s(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Rf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Bf=null;function Vf(e,t,n){if(Bf===null){var r=new Map,i=Bf=new Map;i.set(n,r)}else i=Bf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[ot]||a[$e]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Hf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,ft(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),ft(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&Kf===0&&(Kf=62500*Ld());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Jf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Qf={$$typeof:C,Provider:null,Consumer:null,_currentValue:te,_currentValue2:te,_threadCount:0};function $f(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=He(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=He(0),this.hiddenUpdates=He(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function ep(e,t,n,r,i,a,o,s,c,l,u,d){return e=new $f(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=ti(3,null,null,t),e.current=a,a.stateNode=e,t=ta(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Pa(a),e}function tp(e){return e?(e=$r,e):$r}function np(e,t,n,r,i,a){i=tp(i),r.context===null?r.context=i:r.pendingContext=i,r=Ia(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=La(e,r,t),n!==null&&(mu(n,e,t),Ra(n,e,t))}function rp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ip(e,t){rp(e,t),(e=e.alternate)&&rp(e,t)}function ap(e){if(e.tag===13||e.tag===31){var t=Xr(e,67108864);t!==null&&mu(t,e,67108864),ip(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=fu();t=Je(t);var n=Xr(e,t);n!==null&&mu(n,e,t),ip(e,t)}}var sp=!0;function cp(e,t,n,r){var i=F.T;F.T=null;var a=I.p;try{I.p=2,up(e,t,n,r)}finally{I.p=a,F.T=i}}function lp(e,t,n,r){var i=F.T;F.T=null;var a=I.p;try{I.p=8,up(e,t,n,r)}finally{I.p=a,F.T=i}}function up(e,t,n,r){if(sp){var i=dp(r);if(i===null)Cd(e,t,r,fp,n),Cp(e,r);else if(Tp(i,e,t,n,r))r.stopPropagation();else if(Cp(e,r),t&4&&-1<Sp.indexOf(e)){for(;i!==null;){var a=lt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Le(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Ae(o);s.entanglements[1]|=c,o&=~c}nd(a),!(J&6)&&(eu=W()+500,rd(0,!1))}}break;case 31:case 13:s=Xr(a,2),s!==null&&mu(s,a,2),yu(),ip(a,2)}if(a=dp(r),a===null&&Cd(e,t,r,fp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Cd(e,t,r,null,n)}}function dp(e){return e=Jt(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=ct(e),e!==null){var t=l(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=u(t),e!==null)return e;e=null}else if(n===31){if(e=d(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return fp=e,null}function mp(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(be()){case xe:return 2;case Se:return 8;case Ce:case we:return 32;case Te:return 268435456;default:return 32}default:return 32}}var hp=!1,gp=null,_p=null,vp=null,yp=new Map,bp=new Map,xp=[],Sp=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function Cp(e,t){switch(e){case`focusin`:case`focusout`:gp=null;break;case`dragenter`:case`dragleave`:_p=null;break;case`mouseover`:case`mouseout`:vp=null;break;case`pointerover`:case`pointerout`:yp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:bp.delete(t.pointerId)}}function wp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=lt(t),t!==null&&ap(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Tp(e,t,n,r,i){switch(t){case`focusin`:return gp=wp(gp,e,t,n,r,i),!0;case`dragenter`:return _p=wp(_p,e,t,n,r,i),!0;case`mouseover`:return vp=wp(vp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return yp.set(a,wp(yp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,bp.set(a,wp(bp.get(a)||null,e,t,n,r,i)),!0}return!1}function Ep(e){var t=ct(e.target);if(t!==null){var n=l(t);if(n!==null){if(t=n.tag,t===13){if(t=u(n),t!==null){e.blockedOn=t,Ze(e.priority,function(){op(n)});return}}else if(t===31){if(t=d(n),t!==null){e.blockedOn=t,Ze(e.priority,function(){op(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Dp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);qt=r,n.target.dispatchEvent(r),qt=null}else return t=lt(n),t!==null&&ap(t),e.blockedOn=n,!1;t.shift()}return!0}function Op(e,t,n){Dp(e)&&n.delete(t)}function kp(){hp=!1,gp!==null&&Dp(gp)&&(gp=null),_p!==null&&Dp(_p)&&(_p=null),vp!==null&&Dp(vp)&&(vp=null),yp.forEach(Op),bp.forEach(Op)}function Ap(e,n){e.blockedOn===n&&(e.blockedOn=null,hp||(hp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,kp)))}var jp=null;function Mp(e){jp!==e&&(jp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){jp===e&&(jp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(pp(r||n)===null)continue;break}var a=lt(n);a!==null&&(e.splice(t,3),t-=3,bs(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Np(e){function t(t){return Ap(t,e)}gp!==null&&Ap(gp,e),_p!==null&&Ap(_p,e),vp!==null&&Ap(vp,e),yp.forEach(t),bp.forEach(t);for(var n=0;n<xp.length;n++){var r=xp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<xp.length&&(n=xp[0],n.blockedOn===null);)Ep(n),n.blockedOn===null&&xp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[et]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[et]||null)s=o.formAction;else if(pp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Mp(n)}}}function Pp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Fp(e){this._internalRoot=e}Ip.prototype.render=Fp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(s(409));var n=t.current;np(n,fu(),e,t,null,null)},Ip.prototype.unmount=Fp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;np(e.current,2,null,e,null,null),yu(),t[tt]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=Xe();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xp.length&&t!==0&&t<xp[n].priority;n++);xp.splice(n,0,e),n===0&&Ep(e)}};var Lp=r.version;if(Lp!==`19.2.4`)throw Error(s(527,Lp,`19.2.4`));I.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(s(188)):(e=Object.keys(e).join(`,`),Error(s(268,e)));return e=p(t),e=e===null?null:m(e),e=e===null?null:e.stateNode,e};var Rp={bundleType:0,version:`19.2.4`,rendererPackageName:`react-dom`,currentDispatcherRef:F,reconcilerVersion:`19.2.4`};
9if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{G=zp.inject(Rp),Oe=zp}catch{}}e.createRoot=function(e,t){if(!c(e))throw Error(s(299));var n=!1,r=``,i=Us,a=Ws,o=Gs;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(a=t.onCaughtError),t.onRecoverableError!==void 0&&(o=t.onRecoverableError)),t=ep(e,1,!1,null,null,n,r,null,i,a,o,Pp),e[tt]=t.current,xd(e),new Fp(t)}})),c=e(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=s()}))(),l=n(),u=`otravez_anon_id`,d=`otravez_auth_session`;function f(e){try{let t=window.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}}function p(){try{let e=window.localStorage.getItem(u);if(e)return e;let t=crypto.randomUUID();return window.localStorage.setItem(u,t),t}catch{return crypto.randomUUID()}}function m(){return f(d)}function h(){return m()?.authToken??null}function g(e){try{window.localStorage.setItem(d,JSON.stringify(e))}catch{}}function _(){try{window.localStorage.removeItem(d)}catch{}}function v(e){return new URL(e,`https://otravez-backend-prod-l7fxqdijia-uc.a.run.app`).toString()}var y=`otravez_cookie_consent_v1`;function b(e){return e===`accepted`||e===`rejected`}function x(){if(typeof window>`u`)return null;try{let e=window.localStorage.getItem(y);return b(e)?e:null}catch{return null}}function S(){return x()===`accepted`}function C(e){if(!(typeof window>`u`))try{window.localStorage.setItem(y,e)}catch{}}var w=`otravez_referral_id`,T=[`ref`,`via`,`referral`,`affiliate`,`partner`],E=[`promotekit_referral`,`referral_id`,`affiliate_referral`];function D(e){let t=(e||``).trim();if(!t)return null;let n=t.length>256?t.slice(0,256):t;return/^[A-Za-z0-9._:-]+$/.test(n)?n:null}function O(e){try{window.localStorage.setItem(w,e)}catch{}}function k(){try{return D(window.localStorage.getItem(w))}catch{return null}}function A(){let e=new URLSearchParams(window.location.search);for(let t of T){let n=D(e.get(t));if(n)return n}return null}function j(){let e=document.cookie.split(`;`);for(let t of E){let n=`${t}=`,r=e.find(e=>e.trim().startsWith(n));if(!r)continue;let i=r.trim().slice(n.length);try{let e=D(decodeURIComponent(i));if(e)return e}catch{continue}}return null}function M(){return D(window.promotekit_referral)}function ee(){if(!S())return null;let e=A();return e&&O(e),e}function N(){if(!S())return null;let e=M()||j()||k()||ee();return e&&O(e),e}function P(){if(!S()||(ee(),document.querySelector(`script[data-otravez-promotekit]`)))return;let e=document.createElement(`script`);e.async=!0,e.src=`https://cdn.promotekit.com/pk.js`,e.dataset.promotekit=`71d4ba29-1419-4b66-ad06-0adf441612da`,e.dataset.otravezPromotekit=`true`,document.head.appendChild(e)}var F=class extends Error{status;constructor(e,t){super(e),this.name=`ApiError`,this.status=t}};function I(){let e={},t=h();t&&(e.Authorization=`Bearer ${t}`);let n=p();return n&&(e[`X-Anonymous-User-Id`]=n),e}function te(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||null}catch{return null}}async function L(e,t){let n=await fetch(v(e),t),r=await n.json().catch(()=>({}));if(!n.ok)throw new F(r.detail||`Request failed`,n.status);return r}function ne(e){return g({authToken:e.auth_token,user:e.user}),e.user}async function re(e){return ne(await L(`/auth/google`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({credential:e,anonymous_user_id:p(),email_timezone:te()})}))}async function R(e){await L(`/auth/magic-link/request`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({email:e,anonymous_user_id:p(),email_timezone:te()})})}async function z(e){return ne(await L(`/auth/magic-link/consume`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e,anonymous_user_id:p(),email_timezone:te()})}))}async function B(){let e=h();if(!e)return null;try{let t=(await L(`/auth/me`,{headers:{Authorization:`Bearer ${e}`}})).user,n=te();return n&&!t.is_anonymous&&t.email_timezone!==n&&(t=(await L(`/account/preferences`,{method:`PATCH`,headers:{Authorization:`Bearer ${e}`,"Content-Type":`application/json`},body:JSON.stringify({email_timezone:n})})).user),g({authToken:e,user:t}),t}catch(e){if(e instanceof F&&e.status===401)return _(),null;throw e}}async function ie(e){let t=h();if(!t)throw new F(`Authentication required`,401);let n=await L(`/account/preferences`,{method:`PATCH`,headers:{Authorization:`Bearer ${t}`,"Content-Type":`application/json`},body:JSON.stringify(e)});return g({authToken:t,user:n.user}),n.user}async function ae(e){let t=await L(`/email/unsubscribe`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:e})});return{email:t.email,scope:t.scope,email_category:t.email_category}}async function oe(){return(await L(`/billing/status`,{headers:I()})).billing}async function se(){let e=h();if(!e)throw new F(`Authentication required`,401);let t=await L(`/billing/pro-trial/start`,{method:`POST`,headers:I()});return g({authToken:e,user:t.user}),{user:t.user,billing:t.billing}}async function V(){return(await L(`/usage/guided-retell-quota`,{headers:I()})).quota}async function ce(e){return(await L(`/feedback`,{method:`POST`,headers:{...I(),"Content-Type":`application/json`},body:JSON.stringify(e)})).feedback_id}async function le(){let e=N();return(await L(`/billing/checkout`,{method:`POST`,headers:{...I(),"Content-Type":`application/json`},body:JSON.stringify({referral_id:e||void 0})})).url}async function ue(){return(await L(`/billing/portal`,{method:`POST`,headers:I()})).url}async function de(e=12){let t=h();return t?(await L(`/me/sessions?limit=${e}`,{headers:{Authorization:`Bearer ${t}`}})).sessions:[]}async function H(e){return(await L(`/sessions/${encodeURIComponent(e)}`,{headers:I()})).session}async function fe(e=`es`){return(await L(`/review/deck?target_language=${encodeURIComponent(e)}`,{headers:I()})).deck}async function pe(e){return(await L(`/review/settings`,{method:`PATCH`,headers:{...I(),"Content-Type":`application/json`},body:JSON.stringify({target_language:e.target_language,enabled_flags:e.enabled_flags,new_cards_per_day:e.new_cards_per_day,reviews_per_day:e.reviews_per_day,tts_language_code:e.tts_language_code,tts_voice_name:e.tts_voice_name})})).settings}async function me(e,t){return(await L(`/review/cards/${encodeURIComponent(e)}/review`,{method:`POST`,headers:{...I(),"Content-Type":`application/json`},body:JSON.stringify({rating:t})})).card}var he=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),U=e(((e,t)=>{t.exports=he()}))();function ge(){return window.google?.accounts?.id?Promise.resolve():new Promise((e,t)=>
9{let n=document.querySelector(`script[data-google-identity="true"]`);if(n){n.addEventListener(`load`,()=>e(),{once:!0}),n.addEventListener(`error`,()=>t(Error(`Failed to load Google sign-in`)),{once:!0});return}let r=document.createElement(`script`);r.src=`https://accounts.google.com/gsi/client`,r.async=!0,r.defer=!0,r.dataset.googleIdentity=`true`,r.onload=()=>e(),r.onerror=()=>t(Error(`Failed to load Google sign-in`)),document.head.appendChild(r)})}function _e({authUser:e,onAuthSuccess:t,onSignOut:n,mode:r=`panel`}){let i=`559604509260-3fk0qj44drcb7dslfdugidauc845lva2.apps.googleusercontent.com`,a=(0,l.useRef)(null),[o,s]=(0,l.useState)(``),[c,u]=(0,l.useState)(null),[d,f]=(0,l.useState)(null),[p,m]=(0,l.useState)(`idle`),h=r===`compact`,g=(0,l.useCallback)(async e=>{m(`loading`),u(null),f(null);try{t(await re(e.credential)),m(`success`)}catch(e){m(`idle`),u(e instanceof Error?e.message:`Google sign-in failed`)}},[t]);(0,l.useEffect)(()=>{if(e||!a.current)return;let t=!1;return ge().then(()=>{t||!a.current||!window.google?.accounts?.id||(a.current.innerHTML=``,window.google.accounts.id.initialize({client_id:i,callback:g}),window.google.accounts.id.renderButton(a.current,{theme:`outline`,size:`large`,shape:`pill`,text:h?`signin_with`:`continue_with`,width:h?240:320}))}).catch(e=>{t||u(e instanceof Error?e.message:`Failed to load sign-in`)}),()=>{t=!0}},[e,i,g,h]);async function _(e){e.preventDefault();let t=o.trim();if(!t||!t.includes(`@`)){u(`Enter a valid email address.`);return}m(`loading`),u(null),f(null);try{await R(t),f(`Check your email for a sign-in link. It expires soon.`),m(`idle`)}catch(e){m(`idle`),u(e instanceof Error?e.message:`Unable to send sign-in link`)}}return e?h&&n?(0,U.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-5 py-2 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Sign out`}):null:(0,U.jsxs)(`section`,{className:h?`rounded-[1.5rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-4 text-left`:`mt-8 rounded-2xl border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-5 text-left`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] text-[var(--color-accent-soft)]`,children:h?`Returning User`:`
9Save Your Progress`}),(0,U.jsx)(`h3`,{className:h?`mt-2 text-base font-semibold text-[var(--color-text)]`:`mt-3 text-lg font-semibold text-[var(--color-text)]`,children:h?`Sign in to open your saved sessions`:`Keep this account across web and iPhone later`}),h?null:(0,U.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-[var(--color-text-soft)]`,children:`Sign in to link this browser to a permanent account. That keeps future web history and cross-platform billing tied to the same profile.`}),(0,U.jsxs)(`div`,{className:h?`mt-4 space-y-3`:`mt-5 space-y-3`,children:[(0,U.jsx)(`div`,{className:`min-h-[44px]`,ref:a}),null,null,(0,U.jsxs)(`form`,{className:`space-y-2`,onSubmit:e=>void _(e),children:[(0,U.jsx)(`label`,{className:`sr-only`,htmlFor:h?`compact-email`:`panel-email`,children:`Email address`}),(0,U.jsxs)(`div`,{className:`flex max-w-[320px] flex-col gap-2 sm:flex-row`,children:[(0,U.jsx)(`input`,{id:h?`compact-email`:`panel-email`,type:`email`,autoComplete:`email`,value:o,onChange:e=>s(e.target.value),placeholder:`[email protected]`,className:`min-h-[44px] flex-1 rounded-full border border-[rgba(255,255,255,0.12)] bg-[rgba(14,10,8,0.82)] px-4 text-sm text-[var(--color-text)] outline-none transition placeholder:text-[var(--color-muted)] focus:border-[rgba(210,137,69,0.45)]`}),(0,U.jsx)(`button`,{type:`submit`,disabled:p===`loading`,className:`min-h-[44px] rounded-full bg-[var(--color-accent)] px-4 text-sm font-semibold text-[#1f1407] transition hover:bg-[var(--color-accent-strong)] disabled:cursor-not-allowed disabled:opacity-60`,children:`Email link`})]})]})]}),p===`loading`&&(0,U.jsx)(`p`,{className:`mt-3 text-sm text-[var(--color-muted)]`,children:`Signing you in...`}),p===`success`&&(0,U.jsx)(`p`,{className:`mt-3 text-sm text-[var(--color-accent-soft)]`,children:`Account linked successfully.`}),d&&(0,U.jsx)(`p`,{className:`mt-3 text-sm text-[var(--color-accent-soft)]`,children:d}),c&&(0,U.jsx)(`p`,{className:`mt-3 text-sm text-red-400`,children:c})]})}async function ve({text:e,languageCode:t,voiceName:n=null,sessionId:r=null}){let i={"Content-Type":`application/json`},a=h();a&&(i.Authorization=`Bearer ${a}`),r&&(i[`X-Anonymous-User-Id`]=p());let o=await fetch(v(`/tts/synthesize`),{method:`POST`,headers:i,body:JSON.stringify({text:e,language_code:t,voice_name:n||void 0,session_id:r||void 0})});if(!o.ok){let e=`Unable to play pronunciation.`;try{let t=await o.json();typeof t.detail==`string`&&(e=t.detail)}catch{}throw Error(e)}return o.blob()}async function ye(e){let t={},n=h();n&&(t.Authorization=`Bearer ${n}`);let r=await fetch(v(`/tts/voices?language_code=${encodeURIComponent(e)}`),{headers:t}),i=await r.json().catch(()=>({}));if(!r.ok)throw Error(i.detail||`Unable to load voices.`);return{language_code:i.language_code,access_tier:i.access_tier??`free`,variants:i.variants??[],voices:i.voices??[]}}async function W({sessionId:e,audioToken:t,start:n,end:r}){let i=new URLSearchParams({audio_token:t,clip_start:n.toString(),clip_end:r.toString()}),a=`/sessions/${encodeURIComponent(e)}/audio/phase2?${i}`,o=await fetch(v(a));if(!o.ok)throw Error(`Unable to play your recording.`);return o.blob()}function be(e,t=null,n=null){let r=(0,l.useRef)(null),i=(0,l.useRef)(new Map),[a,o]=(0,l.useState)(null),[s,c]=(0,l.useState)(null);return(0,l.useEffect)(()=>{let e=i.current;return()=>{r.current?.pause(),e.forEach(e=>URL.revokeObjectURL(e)),e.clear()}},[]),{speak:(0,l.useCallback)(async(a,s)=>{let l=a.replace(/\s+/g,` `).trim();if(!l||!e)return;let u=`${n||`global`}:${e}:${t||`default`}:${l}`;c(null),r.current?.pause();try{let a=i.current.get(u);if(!a){let r=await ve({text:l,languageCode:e,voiceName:t,sessionId:n});a=URL.createObjectURL(r),i.current.set(u,a)}let s=new Audio(a);r.current=s,o(l),s.addEventListener(`ended`,()=>o(null),{once:!0}),s.addEventListener(`pause`,()=>o(null),{once:!0}),await s.play()}catch(e){if(o(null),s?.suppressAutoplayError&&e instanceof DOMException&&e.name===`NotAllowedError`){c(null);return}c(e instanceof Error?e.message:`Unable to play pronunciation.`)}},[e,n,t]),speakingText:a,error:s}}function xe({items:e}){let[t,n]=(0,l.useState)(!1),r=(0,l.useRef)(null);return(0,l.useEffect)(()=>
9{if(!t)return;function e(e){r.current?.contains(e.target)||n(!1)}return document.addEventListener(`mousedown`,e),()=>{document.removeEventListener(`mousedown`,e)}},[t]),(0,U.jsxs)(`div`,{ref:r,className:`relative`,children:[(0,U.jsx)(`button`,{type:`button`,"aria-label":t?`Close menu`:`Open menu`,"aria-expanded":t,onClick:()=>n(e=>!e),className:`flex h-11 w-11 shrink-0 items-center justify-center rounded-full border border-[rgba(255,255,255,0.12)] bg-[rgba(255,248,240,0.04)] text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.08)]`,children:(0,U.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 24 24`,className:`h-5 w-5`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,children:(0,U.jsx)(`path`,{d:`M4 7h16M4 12h16M4 17h16`})})}),t?(0,U.jsx)(`div`,{className:`absolute right-0 z-20 mt-3 min-w-[180px] rounded-[1.5rem] border border-[rgba(255,255,255,0.08)] bg-[linear-gradient(180deg,rgba(49,36,29,0.96),rgba(24,19,16,0.98))] p-2 shadow-[0_24px_60px_rgba(0,0,0,0.28)]`,children:e.map(e=>(0,U.jsx)(`button`,{type:`button`,onClick:()=>{n(!1),e.onSelect()},className:`block w-full rounded-[1rem] px-4 py-3 text-left text-sm font-semibold text-[var(--color-text-soft)] transition hover:bg-[rgba(255,248,240,0.05)] hover:text-[var(--color-text)]`,children:e.label},e.id))}):null]})}function Se(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Ce(e,t=Date.now()){let n=Se(e);return n?n.getTime()-t:null}function we(e,t=Date.now()){let n=Ce(e,t);if(n===null)return`Not started`;if(n<=0)return`Trial ended`;let r=3600*1e3;if(n<r)return`Less than 1 hour left`;let i=Math.ceil(n/r);if(i<48)return`${i} ${i===1?`hour`:`hours`} left`;let a=Math.ceil(i/24);return`${a} ${a===1?`day`:`days`} left`}function Te(){return typeof window>`u`||typeof navigator>`u`?!0:navigator.maxTouchPoints===0&&!window.matchMedia(`(pointer: coarse)`).matches}var Ee=[{code:`en`,name:`English`},{code:`es`,name:`Spanish`},{code:`fr`,name:`French`},{code:`de`,name:`German`},{code:`it`,name:`Italian`},{code:`pt`,name:`Portuguese`},{code:`ja`,name:`Japanese`},{code:`ko`,name:`Korean`},{code:`zh`,name:`Chinese (Mandarin)`},{code:`ar`,name:`Arabic`},{code:`hi`,name:`Hindi`},{code:`ru`,name:`Russian`}],De=Ee.filter(e=>e.code!==`en`);function G(e){let t=e.trim().toLowerCase();return Ee.find(e=>e.code.toLowerCase()===t||e.name.toLowerCase()===t)?.name??e}function Oe(e){if(!e)return`Not set`;let t=new Date(e);return Number.isNaN(t.getTime())?`Not set`:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function ke(e){return e?e.replaceAll(`_`,` `):`No subscription`}function Ae(e){return`${e.label}${e.gender?` (${e.gender})`:``}`}function je(e){let t=e.split(`-`,1)[0].toLowerCase(),n={ar:`Ù
Ø±ØØ¨Ø§Ø ÙØ°Ù عÙÙØ© Ù
Ù ÙØ°Ø§ Ø§ÙØµÙت.`,de:`Hallo, das
9ist ein Beispiel dieser Stimme.`,en:`Hello, this is a sample of this voice.`,es:`Hola, esta es una muestra de esta voz.`,fr:`Bonjour, voici un exemple de cette voix.`,hi:`नमसà¥à¤¤à¥, यह à¤à¤¸ à¤à¤µà¤¾à¤à¤¼ à¤à¤¾ à¤à¤ नमà¥à¤¨à¤¾ हà¥à¥¤`,it:`Ciao, questo e un esempio di questa voce.`,ja:`ããã«ã¡ã¯ããã®å£°ã®ãµã³ãã«ã§ãã`,ko:`ìë
íì¸ì. ì´ ëª©ì리ì ìíì
ëë¤.`,pt:`Ola, esta e uma amostra desta voz.`,ru:`ÐдÑавÑÑвÑйÑе, ÑÑо пÑÐ¸Ð¼ÐµÑ ÑÑого голоÑа.`,zh:`ä½ å¥½ï¼è¿æ¯è¿ä¸ªå£°é³ç示ä¾ã`};return n[t]??n.en}function Me({authUser:e,onAuthSuccess:t,onSignOut:n,onOpenPricing:r,onManageBilling:i,onKeepPracticing:a,onOpenHistory:o,onOpenReview:s,billingBusy:c=!1,billingMessage:u=null}){let[d,f]=(0,l.useState)(null),[p,m]=(0,l.useState)(null),[h,g]=(0,l.useState)(!1),[_,v]=(0,l.useState)(null),[y]=(0,l.useState)(Te),[b,x]=(0,l.useState)(De[0]?.code??`es`),[S,C]=(0,l.useState)(null),[w,T]=(0,l.useState)(null),[E,D]=(0,l.useState)(null),[O,k]=(0,l.useState)(null),[A,j]=(0,l.useState)(!1),[M,ee]=(0,l.useState)(!1),[N,P]=(0,l.useState)(!1),F=d?.userId===e?.id?d:null,I=F?.billing??null,te=F?.message??null,L=De.find(e=>e.code===b)?.name??b,ne=S?.tts_language_code??b,re=S?.tts_voice_name??null,R=je(ne),{speak:z,speakingText:ae,error:se}=be(ne,re),V=(0,l.useCallback)(async()=>{if(!e)return null;try{let t=await oe();return f({userId:e.id,billing:t,message:null}),t}catch(t){return f({userId:e.id,billing:null,message:t instanceof Error?t.message:`Unable to load billing status.`}),null}},[e]);(0,l.useEffect)(()=>{let e=window.setTimeout(()=>{V()},0);return()=>window.clearTimeout(e)},[V]),(0,l.useEffect)(()=>{let t=!1;async function n(){if(!e){C(null);return}j(!0),k(null),D(null);try{let e=await fe(b);t||C(e.settings)}catch(e){t||(C(null),k(e instanceof Error?e.message:`Unable to load voice settings.`))}finally{t||j(!1)}}let r=window.setTimeout(()=>{n()},0);return()=>{t=!0,window.clearTimeout(r)}},[e,b]),(0,l.useEffect)(()=>{let e=!1;async function t(){if(!S?.tts_language_code){T(null);return}P(!0),k(null);try{let t=await ye(S.tts_language_code);e||(T(t),C(e=>e?.tts_voice_name?t.voices.some(t=>t.voice_name===e.tts_voice_name)?e:{...e,tts_voice_name:null}:e))}catch(t){e||(T(null),k(t instanceof Error?t.message:`Unable to load voices.`))}finally{e||P(!1)}}let n=window.setTimeout(()=>{t()},0);return()=>{e=!0,window.clearTimeout(n)}},[S?.tts_language_code]);let ce=I?.tier??e?.tier??`free`,le=I?.access_source??e?.access_source??`free`,ue=ce===`paid`,de=ue&&le===`stripe_subscription`,H=I?.active_subscriptions?.find(e=>e.provider===`app_store`)?.management_url,me=ue&&le===`app_trial`,he=I?.can_manage_billing??e?.can_manage_billing??!1,ge=I?.pro_trial_ends_at??e?.pro_trial_ends_at??null,ve=I?.pro_trial_active??e?.pro_trial_active??!1,W=I?.pro_trial_expired??!1,Se=I?.pro_trial_available??e?.pro_trial_available??!1;(0,l.useEffect)(()=>{if(!ve||!ge)return;let e=!1,n=()=>{let n=Date.now();v(n);let r=Ce(ge,n);!e&&r!==null&&r<=0&&(e=!0,(async()=>{let e=await B();e&&t(e),await V()})())},r=window.setTimeout(n,0),i=window.setInterval(n,6e4);return()=>{window.clearTimeout(r),window.clearInterval(i)}},[V,t,ve,ge]);function Ee(){return me?_===null?`Active`:we(ge,_):W?`Expired`:Se?`Not started`:de?`Subscription active`:H?`App Store subscription active`:`Not available`}function G(){return H?`Manage in App Store`:de&&he?`Manage billing`:me?`Subscribe to keep Pro`:Se?`Try Pro free`:`Subscribe to Pro`}function Me(){if(H){window.open(H,`_blank`,`noopener,noreferrer`);return}if(de&&he){i();return}r()}async function Ne(e){g(!0),m(null);try{t(await ie({show_transcripts_by_default:e})),m(`Practice preference saved.`)}catch(e){m(e instanceof Error?e.message:`Unable to save practice preference.`)}finally{g(!1)}}async function Pe(e){g(!0),m(null);try{t(await ie({show_translation_hints_by_default:e})),m(`Practice preference saved.`)}catch(e){m(e instanceof Error?e.message:`Unable to save practice preference.`)}finally{g(!1)}}async function Fe(e){if(y){g(!0),m(null);try{t(await ie({tts_auto_play_enabled:e})),m(`Practice preference saved.`)}catch(e){m(e instanceof Error?e.message:`Unable to save practice preference.`)}finally{g(!1)}}}async function Ie(e){g(!0),m(null);try{t(await ie({lifecycle_emails_enabled:e})),m(`Email preference saved.`)}catch(e){m(e instanceof Error?e.message:`Unable to save email preference.`)}finally{g(!1)}}async function Le(e){g(!0),m(null);try{t(await ie({practice_emails_enabled:e})),m(`Email preference saved.`)}catch(e){m(e instanceof Error?e.message:`Unable to save email preference.`)}finally{g(!1)}}async function Re(){if(S){ee(!0),D(null),k(null);try{C(await pe(S)),D(`Voice settings saved.`)}catch(e){k(e instanceof Error?e.message:`Unable to save voice settings.`)}finally{ee(!1)}}}return(0,U.jsx)(`div`,{className:`min-h-screen bg-[var(--color-bg)] px-6 py-8 text-[var(--color-text)] sm:px-10 lg:px-12`,children:(0,U.jsxs)(`main`,{className:`mx-auto w-full max-w-5xl`,children:[(0,U.jsxs)(`header`,{className:`flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:a,className:`font-display text-left text-3xl text-[var(--color-text)] transition hover:text-[var(--color-accent-soft)]`,children:`OtraVez`}),e?(0,U.jsx)(xe,{items:[{id:`practice`,label:`New session`,onSelect:a},{id:`history`,label:`History`,onSelect:o},{id:`review`,label:`Review deck`,onSelect:s},{id:`billing`,label:G(),onSelect:Me},{id:`sign-out`,label:`Sign out`,onSelect:n}]}):(0,U.jsx)(`button`,{type:`button`,onClick:a,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-5 py-2 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Practice`})]}),(0,U.jsxs)(`section`,{className:`py-12`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:`Account`}),(0,U.jsx)(`h1`,{className:`font-display mt-4 text-5xl leading-none sm:text-6xl`,children:`Your OtraVez account`})]}),u?(0,U.jsx)(`div`,{className:`mb-5 rounded-[1.25rem] border border-[rgba(210,137,69,0.22)] bg-[rgba(201,117,53,0.11)] px-4 py-3 text-sm text-[var(--color-text-soft)]`,children:u}):null,te?(0,U.jsx)(`div`,{className:`mb-5 rounded-[1.25rem] border border-[rgba(248,113,113,0.24)] bg-[rgba(248,113,113,0.1)] px-4 py-3 text-sm text-red-100`,children:te}):null,e?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`section`,{className:`grid gap-4 md:grid-cols-3`,children:[(0,U.jsxs)(`div`,{className:`rounded-[1.5rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-5`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] text-[var(--color-muted)]`,children:`Signed in as`}),(0,U.jsx)(`p`,{className:`mt-3 break-words text-lg font-semibold text-[var(--color-text)]`,children:e.email||`Signed-in account`})]}),(0,U.jsxs)(`div`,{className:`rounded-[1.5rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-5`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] text-[var(--color-muted)]`,children:`Plan`}),(0,U.jsx)(`p`,{className:`mt-3 text-lg font-semibold text-[var(--color-text)]`,children:ue?`Pro`:`Free`})]}),(0,U.jsxs)(`div`,{className:`rounded-[1.5rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-5`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] text-[var(--color-muted)]`,children:`Billing`}),(0,U.jsx)(`p`,{className:`mt-3 text-lg font-semibold capitalize text-[var(--color-text)]`,children:ke(I?.subscription_status??null)})]})]}),(0,U.jsxs)(`section`,{className:`mt-5 rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-6`,children:[(0,U.jsxs)(`div`,{className:`grid gap-4 text-sm text-[var(--color-text-soft)] sm:grid-cols-3`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.2em] text-[var(--color-muted)]`,children:`Pro trial`}),(0,U.jsx)(`p`,{className:`mt-2 text-[var(--color-text)]`,children:Ee()}),ge?(0,U.jsxs)(`p`,{className:`mt-1 text-xs text-[var(--color-muted)]`,children:[`Ends `,Oe(ge)]}):null]}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.2em] text-[var(--color-muted)]`,children:`Current period`}),(0,U.jsx)(`p`,{className:`mt-2 text-[var(--color-text)]`,children:Oe(I?.current_period_end??null)})]}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.2em] text-[var(--color-muted)]`,children:`Renewal`}),(0,U.jsx)(`p`,{className:`mt-2 text-[var(--color-text)]`,children:I?.cancel_at_period_end?`Cancels at period end`:de?`Active`:`Not active`})]})]}),(0,U.jsxs)(`div`,{className:`mt-6 flex flex-wrap gap-3`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:Me,disabled:c,
9className:`rounded-full bg-[var(--color-accent)] px-6 py-3 text-sm font-bold text-[#1f1407] transition hover:bg-[var(--color-accent-strong)] disabled:cursor-not-allowed disabled:opacity-60`,children:G()}),(0,U.jsx)(`button`,{type:`button`,onClick:o,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-6 py-3 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Session history`}),(0,U.jsx)(`button`,{type:`button`,onClick:n,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-6 py-3 text-sm font-semibold text-[var(--color-text-soft)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Sign out`})]})]}),(0,U.jsxs)(`section`,{className:`mt-5 rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-6`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] text-[var(--color-accent-soft)]`,children:`Practice`}),(0,U.jsx)(`h2`,{className:`mt-3 text-2xl font-semibold text-[var(--color-text)]`,children:`Practice scaffolding`}),(0,U.jsxs)(`label`,{className:`mt-5 flex items-start justify-between gap-4 rounded-[1.25rem] bg-[rgba(36,27,22,0.42)] p-4 text-sm text-[var(--color-text-soft)]`,children:[(0,U.jsxs)(`span`,{children:[(0,U.jsx)(`span`,{className:`block font-semibold text-[var(--color-text)]`,children:`Show my original story by default`}),(0,U.jsx)(`span`,{className:`mt-1 block leading-6`,children:`Turn this off when you want to retell from memory or from the outline instead of rereading what you said.`})]}),(0,U.jsx)(`input`,{type:`checkbox`,checked:!!e.show_transcripts_by_default,disabled:h,onChange:e=>void Ne(e.target.checked),className:`mt-1 h-5 w-5 shrink-0 accent-[var(--color-accent)] disabled:cursor-not-allowed disabled:opacity-60`})]}),(0,U.jsxs)(`label`,{className:`mt-3 flex items-start justify-between gap-4 rounded-[1.25rem] bg-[rgba(36,27,22,0.42)] p-4 text-sm text-[var(--color-text-soft)]`,children:[(0,U.jsxs)(`span`,{children:[(0,U.jsx)(`span`,{className:`block font-semibold text-[var(--color-text)]`,children:`Show translation hints by default`}),(0,U.jsx)(`span`,{className:`mt-1 block leading-6`,children:`Leave this off when you want to work out the target-language phrasing before revealing help.`})]}),(0,U.jsx)(`input`,{type:`checkbox`,checked:!!e.show_translation_hints_by_default,disabled:h,onChange:e=>void Pe(e.target.checked),className:`mt-1 h-5 w-5 shrink-0 accent-[var(--color-accent)] disabled:cursor-not-allowed disabled:opacity-60`})]}),(0,U.jsxs)(`label`,{className:`mt-3 flex items-start justify-between gap-4 rounded-[1.25rem] bg-[rgba(36,27,22,0.42)] p-4 text-sm text-[var(--color-text-soft)]`,children:[(0,U.jsxs)(`span`,{children:[(0,U.jsx)(`span`,{className:`block font-semibold text-[var(--color-text)]`,children:`Auto-play spoken help`}),(0,U.jsx)(`span`,{className:`mt-1 block leading-6`,children:y?`Hear live help automatically when it appears during a retell.`:`Unavailable on mobile browsers.`})]}),(0,U.jsx)(`input`,{type:`checkbox`,checked:!!e.tts_auto_play_enabled,disabled:h||!y,onChange:e=>void Fe(e.target.checked),className:`mt-1 h-5 w-5 shrink-0 accent-[var(--color-accent)] disabled:cursor-not-allowed disabled:opacity-60`})]}),p?(0,U.jsx)(`p`,{className:`mt-3 text-sm text-[var(--color-text-soft)]`,children:p}):null]}),(0,U.jsxs)(`section`,{className:`mt-5 rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-6`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] text-[var(--color-accent-soft)]`,children:`Email`}),(0,U.jsx)(`h2`,{className:`mt-3 text-2xl font-semibold text-[var(--color-text)]`,children:`Trial and product emails`}),(0,U.jsxs)(`label`,{className:`mt-5 flex items-start justify-between gap-4 rounded-[1.25rem] bg-[rgba(36,27,22,0.42)] p-4 text-sm text-[var(--color-text-soft)]`,children:[(0,U.jsxs)(`span`,{children:[(0,U.jsx)(`span`,{className:`block font-semibold text-[var(--color-text)]`,children:`Send trial reminders and product emails`}),(0,U.jsx)(`span`,{className:`mt-1 block leading-6`,children:`Get useful notes about your Pro trial, offers, and ways to keep practicing.`})]}),(0,U.jsx)(`input`,{type:`checkbox`,checked:e.lifecycle_emails_enabled!==!1,disabled:h,onChange:e=>void Ie(e.target.checked),className:`mt-1 h-5 w-5 shrink-0 accent-[var(--color-accent)] disabled:cursor-not-allowed disabled:opacity-60`})]}),(0,U.jsxs)(`label`,{className:`mt-3 flex items-start justify-between gap-4 roun
9ded-[1.25rem] bg-[rgba(36,27,22,0.42)] p-4 text-sm text-[var(--color-text-soft)]`,children:[(0,U.jsxs)(`span`,{children:[(0,U.jsx)(`span`,{className:`block font-semibold text-[var(--color-text)]`,children:`Send practice reminders and progress emails`}),(0,U.jsx)(`span`,{className:`mt-1 block leading-6`,children:`Get occasional reminders to come back and weekly progress notes based on completed sessions.`})]}),(0,U.jsx)(`input`,{type:`checkbox`,checked:e.practice_emails_enabled!==!1,disabled:h,onChange:e=>void Le(e.target.checked),className:`mt-1 h-5 w-5 shrink-0 accent-[var(--color-accent)] disabled:cursor-not-allowed disabled:opacity-60`})]}),e.email_timezone?(0,U.jsxs)(`p`,{className:`mt-3 text-xs text-[var(--color-muted)]`,children:[`Reminders use your local timezone: `,e.email_timezone]}):null]}),(0,U.jsxs)(`section`,{className:`mt-5 rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-6`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] text-[var(--color-accent-soft)]`,children:`Voice`}),(0,U.jsx)(`h2`,{className:`mt-3 text-2xl font-semibold text-[var(--color-text)]`,children:`Spoken help voices`}),(0,U.jsxs)(`p`,{className:`mt-3 max-w-2xl text-sm leading-6 text-[var(--color-text-soft)]`,children:[`Voice settings are saved separately for each language.`,` `,`Free uses Standard and WaveNet voices. Pro uses Neural2 and Polyglot voices.`]}),(0,U.jsxs)(`div`,{className:`mt-5 grid gap-4 sm:grid-cols-3`,children:[(0,U.jsxs)(`label`,{className:`block`,children:[(0,U.jsx)(`span`,{className:`text-xs font-semibold text-[var(--color-muted)]`,children:`Edit voice for`}),(0,U.jsx)(`select`,{value:b,disabled:A||M,onChange:e=>x(e.target.value),className:`mt-2 block w-full rounded-xl border border-white/10 bg-[rgba(17,12,10,0.88)] px-3 py-2 text-sm text-[var(--color-text)] outline-none transition focus:border-[var(--color-accent)] focus:ring-2 focus:ring-[rgba(201,117,53,0.22)] disabled:cursor-not-allowed disabled:opacity-60`,children:De.map(e=>(0,U.jsx)(`option`,{value:e.code,children:e.name},e.code))})]}),S?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`label`,{className:`block`,children:[(0,U.jsx)(`span`,{className:`text-xs font-semibold text-[var(--color-muted)]`,children:`Region`}),(0,U.jsx)(`select`,{value:S.tts_language_code,disabled:A||M,onChange:e=>C({...S,tts_language_code:e.target.value,tts_voice_name:null}),className:`mt-2 block w-full rounded-xl border border-white/10 bg-[rgba(17,12,10,0.88)] px-3 py-2 text-sm text-[var(--color-text)] outline-none transition focus:border-[var(--color-accent)] focus:ring-2 focus:ring-[rgba(201,117,53,0.22)] disabled:cursor-not-allowed disabled:opacity-60`,children:(w?.variants??[{language_code:S.tts_language_code,label:S.tts_language_code}]).map(e=>(0,U.jsx)(`option`,{value:e.language_code,children:e.label},e.language_code))})]}),(0,U.jsxs)(`label`,{className:`block`,children:[(0,U.jsx)(`span`,{className:`text-xs font-semibold text-[var(--color-muted)]`,children:`Voice`}),(0,U.jsxs)(`select`,{value:S.tts_voice_name??``,disabled:N||A||M,onChange:e=>C({...S,tts_voice_name:e.target.value||null}),className:`mt-2 block w-full rounded-xl border border-white/10 bg-[rgba(17,12,10,0.88)] px-3 py-2 text-sm text-[var(--color-text)] outline-none transition focus:border-[var(--color-accent)] focus:ring-2 focus:ring-[rgba(201,117,53,0.22)] disabled:cursor-not-allowed disabled:opacity-60`,children:[(0,U.jsx)(`option`,{value:``,children:N?`Loading voices...`:`Default voice`}),(w?.voices??[]).map(e=>(0,U.jsx)(`option`,{value:e.voice_name,children:Ae(e)},e.voice_name))]})]})]}):null]}),O||se?(0,U.jsx)(`p`,{className:`mt-3 text-sm text-red-300`,children:O||se}):E?(0,U.jsx)(`p`,{className:`mt-3 text-sm text-[var(--color-text-soft)]`,children:E}):null,S?(0,U.jsxs)(`div`,{className:`mt-5 flex flex-wrap gap-3`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:()=>void z(R),disabled:A||N,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-6 py-3 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)] disabled:cursor-not-allowed disabled:opacity-60`,children:ae===R?`Playing sample...`:`Play sample`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void Re(),disabled:M||A,className:`rounded-full border border-[rgba(210,137,69,0.28)] px-6 py-3 text-sm font-semibold text-[var(--color-accent-soft)] transition hover:border-[rgba(210,137,69,0.44)] hover:bg-[rgba(201,117,53,0.1)] disabled:cursor-not-allowed disabled:opacity-60`,children:M?`Saving...`:`Save ${L} voice settings`})]}):A?(0,U.jsx)(`p`,{className:`mt-5 text-sm text-[var(--color-muted)]`,children:`Loading voice settings...`}):null]}),(0,U.jsxs)(`section`,{className:`mt-5 rounded-[2rem] border border-[rgba(210,137,69,0.18)] bg-[rgba(201,117,53,0.08)] p-6`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] text-[var(--color-accent-soft)]`,children:`Review`}),(0,U.jsx)(`h2`,{className:`mt-3 text-2xl font-semibold text-[var(--color-text)]`,children:`Universal review deck`}),(0,U.jsx)(`p`,{className:`mt-3 max-w-2xl text-sm leading-6 text-[var(--color-text-soft)]`,children:`Review cards are built from code switches, corrections, and repairs from your speaking sessions.`}),(0,U.jsx)(`button`,{type:`button`,onClick:s,className:`mt-5 rounded-full border border-[rgba(210,137,69,0.28)] px-6 py-3 text-sm font-semibold text-[var(--color-accent-soft)] transition hover:border-[rgba(210,137,69,0.44)] hover:bg-[rgba(201,117,53,0.1)]`,children:`Open review deck`})]})]}):(0,U.jsxs)(`section`,{className:`rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-6`,children:[(0,U.jsx)(`h2`,{className:`text-2xl font-semibold text-[var(--color-text)]`,children:`Sign in to manage your account`}),(0,U.jsx)(`p`,{className:`mt-3 max-w-2xl text-sm leading-6 text-[var(--color-text-soft)]`,children:`Sign in to connect saved sessions, Pro billing, and future account tools to the same profile.`}),(0,U.jsx)(`div`,{className:`mt-6 max-w-xl`,children:(0,U.jsx)(_e,{authUser:e,onAuthSuccess:t,mode:`compact`})})]})]})})}function Ne({onChoice:e}){let[t,n]=(0,l.useState)(x);function r(t){C(t),n(t),e(t)}return t?null:(0,U.jsx)(`div`,{"aria-label":`Cookie choices`,"aria-labelledby":`cookie-consent-title`,className:`fixed inset-x-0 bottom-0 z-50 bg-[#f3f4f6] p-2 sm:p-3`,role:`dialog`,children:(0,U.jsx)(`div`,{className:`mx-auto w-full rounded-2xl bg-white px-4 py-4 shadow-[0_18px_60px_rgba(31,20,7,0.14)] sm:px-5 lg:px-6`,children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-4 lg:flex-row lg:items-end lg:justify-between`,children:[(0,U.jsxs)(`div`,{className:`max-w-4xl`,children:[(0,U.jsx)(`p`,{className:`text-sm font-bold text-[#2f2c35]`,id:`cookie-consent-title`,children:`Privacy Settings`}),(0,U.jsxs)(`p`,{className:`mt-2 text-sm leading-6 text-[#3f3a44]`,children:[`OtraVez uses essential storage to run speaking practice. With your permission, we also use analytics and referral tracking to understand usage and improve performance. Read our`,` `,(0,U.jsx)(`a`,{className:`font-semibold text-[#7a4b20] underline underline-offset-2`,href:`/cookie-policy`,children:`Cookie Policy`}),`.`]})]}),(0,U.jsxs)(`div`,{className:`grid gap-2 sm:grid-cols-2 lg:min-w-[520px]`,children:[(0,U.jsx)(`button`,{className:`min-h-11 rounded-md bg-[#1fbf49] px-5 py-2.5 text-sm font-bold text-white transition hover:bg-[#169c39] focus:outline-none focus:ring-2 focus:ring-[#1fbf49] focus:ring-offset-2`,onClick:()=>
9r(`rejected`),type:`button`,children:`Reject non-essential`}),(0,U.jsx)(`button`,{className:`min-h-11 rounded-md bg-[#1fbf49] px-5 py-2.5 text-sm font-bold text-white transition hover:bg-[#169c39] focus:outline-none focus:ring-2 focus:ring-[#1fbf49] focus:ring-offset-2`,onClick:()=>r(`accepted`),type:`button`,children:`Accept analytics`})]})]})})})}var Pe=(0,l.createContext)({baseContext:{},getPracticeSnapshot:()=>({}),setPracticeSnapshot:()=>{},clearPracticeSnapshot:()=>{}});function Fe(){return(0,l.useContext)(Pe)}var Ie=[{value:`assist_missing`,label:`Assist missing`},{value:`assist_late`,label:`Assist late`},{value:`assist_wrong`,label:`Assist wrong`},{value:`pronunciation_wrong`,label:`Pronunciation note wrong`},{value:`pronunciation_missed`,label:`Pronunciation missed something`},{value:`story_chunks_wrong`,label:`Story chunks wrong`},{value:`translation_help_wrong`,label:`Translation/help wrong`},{value:`recording_transcription`,label:`Recording/transcription problem`},{value:`ui_problem`,label:`UI problem`},{value:`other`,label:`Other`}];function Le(e){return typeof e==`string`&&e.trim()?e:null}function Re(){let{baseContext:e,getPracticeSnapshot:t}=Fe(),[n,r]=(0,l.useState)(!1),[i,a]=(0,l.useState)(Ie[0].value),[o,s]=(0,l.useState)(``),[c,u]=(0,l.useState)(``),[d,f]=(0,l.useState)(!1),[p,m]=(0,l.useState)(null),[h,g]=(0,l.useState)(null),_=(0,l.useRef)(null),v=Le(e.screen)||`unknown`,y=Le(e.clientVersion)||`f0a923b1af70cb8d93271d1f8a49d74404fb0e93`;(0,l.useEffect)(()=>()=>{_.current!==null&&window.clearTimeout(_.current)},[]);async function b(){f(!0),m(null);try{let n=t(),a=Le(n.sessionId)||Le(e.selectedSessionId),l={...e,...n,clientTimestamp:new Date().toISOString()},d=await ce({category:i,comment:o.trim()||null,expected:c.trim()||null,screen:v,client_version:y,session_id:a,context:l});r(!1),s(``),u(``),g(`Feedback sent: ${d.slice(0,8)}`),_.current!==null&&window.clearTimeout(_.current),_.current=window.setTimeout(()=>{g(null),_.current=null},4200)}catch(e){m(e instanceof Error?e.message:`Unable to send feedback.`)}finally{f(!1)}}return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`div`,{className:`fixed bottom-4 right-4 z-50 flex flex-col items-end gap-3`,children:[h?(0,U.jsx)(`div`,{className:`rounded-full border border-[rgba(210,137,69,0.28)] bg-[rgba(34,25,20,0.96)] px-4 py-2 text-sm font-semibold text-[var(--color-accent-soft)] shadow-[0_18px_44px_rgba(0,0,0,0.28)]`,children:h}):null,(0,U.jsx)(`button`,{type:`button`,onClick:()=>{r(!0),m(null)},className:`rounded-full border border-[rgba(255,255,255,0.16)] bg-[rgba(34,25,20,0.94)] px-5 py-3 text-sm font-bold text-[var(--color-text)] shadow-[0_18px_44px_rgba(0,0,0,0.28)] transition hover:border-[rgba(210,137,69,0.5)] hover:bg-[rgba(49,36,29,0.98)]`,children:`Feedback`})]}),n?(0,U.jsx)(`div`,{className:`fixed inset-0 z-50 flex items-end justify-center bg-[rgba(0,0,0,0.52)] px-4 py-5 sm:items-center`,children:(0,U.jsxs)(`div`,{className:`w-full max-w-lg rounded-[1.5rem] border border-[rgba(255,255,255,0.1)] bg-[linear-gradient(180deg,rgba(49,36,29,0.98),rgba(24,19,16,0.99))] p-5 shadow-[0_30px_90px_rgba(0,0,0,0.42)]`,children:[(0,U.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`h2`,{className:`text-lg font-semibold text-[var(--color-text)]`,children:`Send feedback`}),(0,U.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-[var(--color-text-soft)]`,children:`This attaches session context so we can debug the issue.`})]}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>r(!1),className:`rounded-full border border-[rgba(255,255,255,0.12)] px-3 py-1 text-sm font-semibold text-[var(--color-text-soft)] transition hover:border-[rgba(255,255,255,0.22)] hover:text-[var(--color-text)]`,children:`Close`})]}),(0,U.jsxs)(`div`,{className:`mt-5 space-y-4`,children:[(0,U.jsxs)(`label`,{className:`block`,children:[(0,U.jsx)(`span`,{className:`text-sm font-semibold text-[var(--color-text)]`,children:`Category`}),(0,U.jsx)(`select`,{value:i,onChange:e=>a(e.target.value),className:`mt-2 w-full rounded-[0.9rem] border border-[rgba(255,255,255,0.12)] bg-[#140f0d] px-4 py-3 text-sm text-[var(--color-text)] outline-none transition focus:border-[rgba(210,137,69,0.65)]`,children:Ie.map(e=>(0,U.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),(0,U.jsxs)(`label`,{className:`block`,children:[(0,U.jsx)(`span`,{className:`text-sm font-semibold text-[var(--color-text)]`,children:`What happened?`}),(0,U.jsx)(`textarea`,{value:o,onChange:e=>s(e.target.value),rows:3,className:`mt-2 w-full resize-y rounded-[0.9rem] border border-[rgba(255,255,255,0.12)] bg-[#140f0d] px-4 py-3 text-sm leading-6 text-[var(--color-text)] outline-none transition placeholder:text-[var(--color-muted)] focus:border-[rgba(210,137,69,0.65)]`,placeholder:`Optional`})]}),(0,U.jsxs)(`label`,{className:`block`,children:[(0,U.jsx)(`span`,{className:`text-sm font-semibold text-[var(--color-text)]`,children:`What did you expect?`}),(0,U.jsx)(`textarea`,{value:c,onChange:e=>u(e.target.value),rows:2,className:`mt-2 w-full resize-y rounded-[0.9rem] border border-[rgba(255,255,255,0.12)] bg-[#140f0d] px-4 py-3 text-sm leading-6 text-[var(--color-text)] outline-none transition placeholder:text-[var(--color-muted)] focus:border-[rgba(210,137,69,0.65)]`,placeholder:`Optional`})]})]}),p?(0,U.jsx)(`p`,{className:`mt-4 rounded-[0.9rem] border border-red-400/20 bg-red-500/10 px-4 py-3 text-sm text-red-100`,children:p}):null,(0,U.jsxs)(`div`,{className:`mt-5 flex flex-col gap-3 sm:flex-row sm:justify-end`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:()=>r(!1),className:`rounded-full border border-[rgba(255,255,255,0.12)] px-5 py-3 text-sm font-semibold text-[var(--color-text-soft)] transition hover:border-[rgba(255,255,255,0.22)] hover:text-[var(--color-text)]`,children:`Cancel`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void b(),disabled:d,className:`rounded-full bg-[var(--color-accent)] px-5 py-3 text-sm font-bold text-[#1f1407] transition hover:bg-[var(--color-accent-strong)] disabled:cursor-not-allowed disabled:opacity-60`,children:d?`Sending...`:`Send feedback`})]})]})}):null]})}function ze({baseContext:e,children:t}){let n=(0,l.useRef)({}),r=(0,l.useCallback)(e=>{n.current=e},[]),i=(0,l.useCallback)(()=>{n.current={}},[]),a=(0,l.useCallback)(()=>n.current,[]),o=(0,l.useMemo)(()=>({baseContext:e,getPracticeSnapshot:a,setPracticeSnapshot:r,clearPracticeSnapshot:i}),[e,i,a,r]);return(0,U.jsx)(Pe.Provider,{value:o,children:t})}var Be=`/lab/evaluate_and_improve/api`;function Ve(e){return v(e.startsWith(Be)?e:`${Be}${e}`)}function He(e){if(!e)return null;let t=e.match(/filename\*\s*=\s*UTF-8''([^;]+)/i)?.[1],n=e.match(/filename\s*=\s*(?:"([^"]+)"|([^;]+))/i),r=(n?.[1]||n?.[2]||``).trim();if(t)try{r=decodeURIComponent(t.trim())}catch{r=t.trim()}return r=r.replace(/[\\/]/g,`_`).split(``).map(e=>{let t=e.charCodeAt(0);return t<32||t===127?`_`:e}).join(``),r||null}async function Ue(e){let t=new Headers,n=h();n&&t.set(`Authorization`,`Bearer ${n}`);let r=await fetch(Ve(e),{headers:t,credentials:`include`});return r.ok||await Ye(r),r.blob()}async function We(e){let t=new Headers,n=h();n&&t.set(`Authorization`,`Bearer ${n}`);let r=await fetch(Ve(e),{headers:t,credentials:`include`});return r.ok||await Ye(r),{blob:await r.blob(),filename:He(r.headers.get(`Content-Disposition`))}}
9var Ge=class extends Error{status;detail;constructor(e,t,n=null){super(e),this.name=`QualificationApiError`,this.status=t,this.detail=n}};function Ke(e){return e===`Ready to approve`?`approve`:e===`Refinement ready`?`review_refinement`:e===`New recording needed`?`new_recording`:e===`Suppressed after regression`?`review_suppression`:e===`Pending deployment`?`wait`:e===`Available`?`none`:`open_issue`}function qe(e,t,n,r){let i=t&&typeof t==`object`?t:null,a=(typeof t==`string`?t:null)||i?.state||i?.dashboard_state||(n===`Suppressed after regression`?`Engineering needed`:n);return{tier:e,state:a===`Suppressed after regression`?`Engineering needed`:a,verdict:i?.verdict||null,evidence_status:i?.evidence_status||null,qualification_id:i?.qualification_id||null,qualification_run_id:i?.qualification_run_id||r,config_fingerprint:i?.config_fingerprint||null,patch_hash:i?.patch_hash||null,affected_features:i?.affected_features||[],summary:i?.summary||`See the latest qualification evidence.`}}function Je(e){let t=Object.entries(e.tiers).map(([t,n])=>qe(t,n,e.dashboard_state,e.latest_run_id)),n=e.pair_key||`${e.native_language}->${e.target_language}`;return{pair_key:n,native_language:e.native_language,target_language:e.target_language,display_name:e.display_name||`${e.native_language.toUpperCase()} â ${e.target_language.toUpperCase()}`,offered_tiers:t.map(e=>e.tier),tiers:t,suppression:e.suppressed?{id:`suppression:${n}`,reason:e.suppression_reason||`This pair was automatically hidden after regression evidence.`,evidence_url:e.suppression_evidence_url||null,created_at:e.updated_at||``}:null,recommended_action:typeof e.recommended_action==`string`?{kind:Ke(e.dashboard_state),label:e.recommended_action}:e.recommended_action,resolution:e.resolution||null,active_workflow_id:null,latest_recording_id:e.latest_recording_id||null,latest_run_id:e.latest_run_id,suite_version:e.suite_version||null,updated_at:e.updated_at||null}}async function Ye(e){let t=null;try{t=await e.json()}catch{t=await e.text().catch(()=>null)}throw new Ge(t&&typeof t==`object`&&`detail`in t?String(t.detail):`Request failed (${e.status})`,e.status,t)}async function Xe(e,t={},n){let r=new Headers(t.headers),i=h();i&&!r.has(`Authorization`)&&r.set(`Authorization`,`Bearer ${i}`),t.body&&!r.has(`Content-Type`)&&r.set(`Content-Type`,`application/json`),n&&r.set(`If-None-Match`,n);let a=await fetch(Ve(e),{...t,headers:r,credentials:`include`}),o=a.headers.get(`ETag`)||n||null;return a.status===304?{data:null,etag:o,notModified:!0}:(a.ok||await Ye(a),{data:await a.json(),etag:o,notModified:!1})}function Ze(e,t,n){return n.trim()?Xe(e,{method:`POST`,headers:{"If-Match":n},body:JSON.stringify(t)}):Promise.reject(Error(`Exact mutation is blocked until the current resource ETag is loaded; reload its current state before confirming`))}var Qe={async listPairs(e,t){let n=await Xe(`/pairs`,{signal:t},e);return{...n,data:n.data?.pairs.map(Je)||null}},getSuiteSelection(e,t){return Xe(`/suite-selection`,{signal:t},e)},async createPackage(e){let t=await Xe(`/packages`,{method:`POST`,body:JSON.stringify(e)});if(!t.data)throw Error(`Package generation returned no data`);return t.data},async commissionPackage(e){let t=await Xe(`/packages/${encodeURIComponent(e)}/commission`,{method:`POST`,body:JSON.stringify({})});if(!t.data)throw Error(`Commissioning returned no data`);return t.data}
9,async createUploadSession(e){let t=await Xe(`/recordings/upload-session`,{method:`POST`,body:JSON.stringify(e)});if(!t.data)throw Error(`Upload session returned no data`);return{...t.data,upload_method:t.data.upload_method||`PUT`,upload_headers:t.data.upload_headers||{}}},uploadRecordingContent(e,t,n,r,i){return n<0||n>t.size?Promise.reject(Error(`Server upload offset is outside this file`)):n===t.size?(r({uploadedBytes:t.size,totalBytes:t.size,percent:100}),Promise.resolve()):new Promise((a,o)=>{let s=new XMLHttpRequest,c=v(e.upload_url),l=new URL(c,window.location.origin).origin===new URL(v(`/`),window.location.origin).origin;s.open(e.upload_method,c),s.withCredentials=l;for(let[t,n]of Object.entries(e.upload_headers))s.setRequestHeader(t,n);let u=Object.keys(e.upload_headers).some(e=>e.toLowerCase()===`authorization`),d=h();l&&d&&!u&&s.setRequestHeader(`Authorization`,`Bearer ${d}`),(n>0||t.size>0)&&s.setRequestHeader(`Content-Range`,`bytes ${n}-${t.size-1}/${t.size}`),s.upload.addEventListener(`progress`,e=>{let i=Math.min(t.size,n+e.loaded);r({uploadedBytes:i,totalBytes:t.size,percent:t.size===0?100:i/t.size*100})}),s.addEventListener(`load`,()=>{s.status>=200&&s.status<300?a():o(new Ge(`Audio upload failed`,s.status))}),s.addEventListener(`error`,()=>o(Error(`Audio upload failed`))),s.addEventListener(`abort`,()=>o(new DOMException(`Upload aborted`,`AbortError`))),i?.addEventListener(`abort`,()=>s.abort(),{once:!0}),s.send(t.slice(n))})}
9,async finalizeRecording(e,t){let n=await Xe(`/recordings/${encodeURIComponent(e)}/finalize`,{method:`POST`,body:JSON.stringify(t)});if(!n.data)throw Error(`Recording finalization returned no data`);return n.data},getRecording(e,t,n){return Xe(`/recordings/${encodeURIComponent(e)}`,{signal:n},t)},reviseAlignment(e,t,n){return Ze(`/recordings/${encodeURIComponent(e)}/alignment-revisions`,t,n)},getRun(e,t,n){return Xe(`/runs/${encodeURIComponent(e)}`,{signal:n},t)},async listProposals(e,t){let n=await Xe(`/proposals`,{signal:t},e);return{...n,data:n.data?.proposals||null}},getProposal(e,t,n){return Xe(`/proposals/${encodeURIComponent(e)}`,{signal:n},t)},async validateProposal(e,t){let n=await Xe(`/proposals/${encodeURIComponent(e)}/validate`,{method:`POST`,body:JSON.stringify({binding:t})});if(!n.data)throw Error(`Proposal validation returned no data`);return n.data},async approveProposal(e,t){let n=await Xe(`/proposals/${encodeURIComponent(e)}/approve`,{method:`POST`,body:JSON.stringify(t)});if(!n.data)throw Error(`Proposal approval returned no data`);return n.data},async approvePronunciationImprovement(e,t){let n=await Xe(`/proposals/${encodeURIComponent(e)}/approve-improvement`,{method:`POST`,body:JSON.stringify(t)});if(!n.data)throw Error(`Improvement draft creation returned no data`);return n.data},rejectProposal(e,t,n){return Ze(`/proposals/${encodeURIComponent(e)}/reject`,t,n)},getRunResolution(e,t,n){return Xe(`/runs/${encodeURIComponent(e)}/resolution`,{signal:n},t)},rerunAction(e,t,n){return Ze(`/action-items/${encodeURIComponent(e)}/rerun`,t,n)},publishActionIssue(e,t,n){return Ze(`/action-items/${encodeURIComponent(e)}/publish-issue`,t,n)},resolveAction(e,t,n){return Ze(`/action-items/${encodeURIComponent(e)}/resolve`,t,n)},dismissAction(e,t,n){return Ze(`/action-items/${encodeURIComponent(e)}/dismiss`,t,n)},async listSuppressions(e,t){let n=await Xe(`/suppressions?open_only=true`,{signal:t},e);return{...n,data:n.data?.suppressions.map(e=>({...e,operational_source:n.data?.operational_source||`control_plane`}))||null}},async restoreSuppression(e,t,n){let r=await Xe(`/suppressions/${encodeURIComponent(e)}/restore`,{method:`POST`,body:JSON.stringify({passing_run_id:t,confirmation:n})});if(!r.data)throw Error(`Suppression restore returned no data`);return r.data},async approveRun(e,t,n){let r=await Ze(`/runs/${encodeURIComponent(e)}/approve`,t,n);if(!r.data)throw Error(`Approval returned no data`);return r.data}},$e=`otravez:lab:evaluate-and-improve:upload:v1`;function et(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.recording_id==`string`&&typeof t.package_id==`string`&&typeof t.filename==`string`&&typeof t.total_bytes==`number`&&typeof t.received_bytes==`number`&&typeof t.native_language==`string`&&typeof t.target_language==`string`}function tt(e=window.localStorage){try{let t=e.getItem($e);if(!t)return null;let n=JSON.parse(t);return et(n)?n:null}catch{return null}}function nt(e,t=window.localStorage){t.setItem($e,JSON.stringify(e))}function rt(e=window.localStorage){e.removeItem($e)}function it(e,t){return{...e,run_id:t.latest_run_id,received_bytes:Math.min(t.received_bytes,t.total_bytes),total_bytes:t.total_bytes,updated_at:new Date().toISOString()}}function at(e,t){return e.name===t.filename&&e.size===t.total_bytes&&(t.last_modified===0||e.lastModified===t.last_modified)}function ot(e,t,n,r){return!e||!t||!n||e.native_language!==t||e.target_language!==n?!1:r===null||e.package_id===r}var st=()=>!0;function ct({enabled:e,resourceKey:t,intervalMs:n,request:r,shouldPoll:i=st}){let[a,o]=(0,l.useState)(null),[s,c]=(0,l.useState)(null),[u,d]=(0,l.useState)(null),[f,p]=(0,l.useState)(e),[m,h]=(0,l.useState)(!1),[g,_]=(0,l.useState)(0),v=(0,l.useRef)(null),y=(0,l.useCallback)(()=>{_(e=>e+1)},[]);return(0,l.useEffect)(()=>{if(!e){v.current=null,o(null),c(null),d(null),p(!1),h(!1);return}let t=!1,a=null,s=null,l=new AbortController;v.current=null,o(null),c(null),d(null),p(!0);let u=async()=>{h(v.current!==null);try{let e=await r(s,l.signal);if(t)return;s=e.etag,c(e.etag),!e.notModified&&e.data!==null&&(v.current=e.data,o(e.data)),d(null)}catch(e){if(t||l.signal.aborted)return;d(e instanceof Error?e.message:`Unable to refresh`)}finally{t||(p(!1),h(!1),i(v.current)&&(a=window.setTimeout(()=>void u(),n)))}};return u(),()=>{t=!0,l.abort(),a!==null&&window.clearTimeout(a)}},[e,n,r,t,g,i]),{data:a,etag:s,error:u,loading:f,refreshing:m,refetch:y}}
9function lt(e){let t=e.display_name.split(` â `);return[t[0]||e.native_language.toUpperCase(),t[1]||e.target_language.toUpperCase()]}function ut({pairs:e,selectedPair:t,refreshing:n,onSelect:r}){let i=(0,l.useMemo)(()=>{let t=new Map;for(let n of e){let[e,r]=lt(n);t.set(n.native_language,e),t.set(n.target_language,r)}return t},[e]),a=(0,l.useMemo)(()=>[...new Set(e.map(e=>e.native_language))],[e]),o=t?e.filter(e=>e.native_language===t.native_language):[],s=n=>{let i=e.find(e=>e.native_language===n&&e.target_language===t?.target_language)||e.find(e=>e.native_language===n);i&&r(i.pair_key)},c=e=>{let t=o.find(t=>t.target_language===e);t&&r(t.pair_key)};return(0,U.jsxs)(`section`,{className:`rounded-2xl border border-white/10 bg-white/[0.025] p-5`,children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.18em] text-stone-500`,children:`Language direction`}),(0,U.jsx)(`h2`,{className:`mt-1 text-lg font-bold text-stone-100`,children:`Choose a pair`})]}),n?(0,U.jsx)(`span`,{className:`text-xs text-stone-500`,children:`Refreshingâ¦`}):null]}),e.length===0||!t?(0,U.jsx)(`p`,{className:`mt-4 text-sm text-stone-500`,children:`No directional pairs are configured yet.`}):(0,U.jsxs)(`div`,{className:`mt-4 grid items-end gap-3 sm:grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)]`,children:[(0,U.jsxs)(`label`,{className:`grid gap-2 text-sm font-bold text-stone-300`,children:[`Native language`,(0,U.jsx)(`select`,{"aria-label":`Native language`,value:t.native_language,onChange:e=>s(e.target.value),className:`w-full rounded-xl border border-white/10 bg-[#17120f] px-3 py-3 text-stone-100 outline-none focus:border-amber-400/50`,children:a.map(e=>(0,U.jsx)(`option`,{value:e,children:i.get(e)||e.toUpperCase()},e))})]}),(0,U.jsx)(`span`,{"aria-hidden":`true`,className:`hidden pb-3 text-stone-600 sm:block`,children:`â`}),(0,U.jsxs)(`label`,{className:`grid gap-2 text-sm font-bold text-stone-300`,children:[`Target language`,(0,U.jsx)(`select`,{"aria-label":`Target language`,value:t.target_language,onChange:e=>c(e.target.value),className:`w-full rounded-xl border border-white/10 bg-[#17120f] px-3 py-3 text-stone-100 outline-none focus:border-amber-400/50`,children:o.map(e=>(0,U.jsx)(`option`,{value:e.target_language,children:i.get(e.target_language)||e.target_language.toUpperCase()},e.target_language))})]})]})]})}function dt(e,t){if(!t)return null;let n=e===`synthetic`?t.original_package_id:t.package_id;return typeof n==`string`&&n.trim()?n.trim():null}function ft(e){let t=e?.directional_pair;if(!t||typeof t!=`object`)return null;let n=t.native_language,r=t.target_language;if(!n||typeof n!=`object`||!r||typeof r!=`object`)return null;let i=n.code,a=r.code;return typeof i==`string`&&typeof a==`string`?`${i}->${a}`:null}function pt(e){return e.kind===`replacement_recording`?`New recording needed`:e.kind===`suite_calibration`?`Suite calibration required`:e.kind===`repair_and_rerun`?`Engineering Required · rerun`:e.kind===`engineering_investigation`?`Engineering Required`:e.kind===`bounded_refinement`?e.reason_code===`validated_configuration_proposal_ready`?`Refine · decision ready`:`Refine · validating`:`Pass · ready to approve`}var mt=[{value:`rerun`,label:`Rerun exact evidence`},{value:`publish_issue`,label:`Publish engineering issue`},{value:`resolve`,label:`Mark action resolved`},{value:`dismiss`,label:`Dismiss action`}],ht={replacement_recording:`border-amber-400/40 bg-amber-500/10 text-amber-100`,suite_calibration:`border-violet-400/40 bg-violet-500/10 text-violet-100`,repair_and_rerun:`border-orange-400/40 bg-orange-500/10 text-orange-100`,engineering_investigation:`border-orange-400/40 bg-orange-500/10 text-orange-100`,bounded_refinement:`border-sky-400/40 bg-sky-500/10 text-sky-100`,approval:`border-emerald-400/40 bg-emerald-500/10 text-emerald-100`};function gt(e){return e.length>24?`${e.slice(0,12)}â¦${e.slice(-8)}`:e}function _t(e){return new Set(e.source_run_ids).size}function vt(e){let t=e.recommended_rerun_binding;return{suite:t?{...t.suite}:{suite_id:``,suite_version:``,content_sha256:``},bundle:t?{...t.bundle}:{config_fingerprint:``,manifest_sha256:``}}}function yt(e){return e===`repair_and_rerun`||e===`suite_calibration`?`rerun`:e===`engineering_investigation`?`publish_issue`:`resolve`}function bt(e,t,n){return`RERUN ACTION ${e.id} ${e.content_sha256} SUITE ${t.suite_id}@${t.suite_version} ${t.content_sha256} BUNDLE ${n.config_fingerprint} ${n.manifest_sha256}`}function xt({resolution:e,onChanged:t,onRerunQueued:n}){let r=e.action_item,i=(0,l.useMemo)(()=>vt(e),[e]),[a,o]=(0,l.useState)(()=>yt(e.kind)),[s,c]=(0,l.useState)(!1),[u,d]=(0,l.useState)(``),[f,p]=(0,l.useState)(!1),[m,h]=(0,l.useState)(null),[g,_]=(0,l.useState)(null);if((0,l.useEffect)(()=>{o(yt(e.kind)),c(!1),d(``),h(null),_(null)},[r?.id,i,e.kind]),!r)return(0,U.jsx)(`p`,{className:`mt-4 text-sm text-stone-400`,children:e.kind===`approval`?`Use the exact Paid qualification approval control above.`:`The durable action item is still being reconciled. No mutation is available yet.`});if(r.status!==`open`)return(0,U.jsxs)(`p`,{className:`mt-4 text-sm text-stone-400`,children:[`Action item `,r.id,` is `,r.status,`. Its event history remains in the diagnostics below.`]});let v=a===`rerun`?bt(r,i.suite,i.bundle):r.confirmations[a],y=a!==`rerun`||!!e.recommended_rerun_binding&&Object.values(i.suite).every(Boolean)&&Object.values(i.bundle).every(Boolean),b=!f&&!!r.etag&&y&&s,x=async()=>
9{if(!b||!r.etag)return;p(!0),h(null),_(null);let e={content_sha256:r.content_sha256,confirmation:v,...u.trim()?{note:u.trim()}:{}};try{if(a===`rerun`){let t=(await Qe.rerunAction(r.id,{...e,suite:i.suite,bundle:i.bundle},r.etag)).data?.run_ids||[];if(t.length!==1||new Set(t).size!==1)throw Error(`The exact evidence rerun did not return one unique Paid run`);n?.(t),h(`Exact Paid evidence rerun queued.`)}else if(a===`publish_issue`){let t=await Qe.publishActionIssue(r.id,e,r.etag);h(t.data?.issue_url?`Engineering issue published: ${t.data.issue_url}`:`Engineering issue published.`)}else a===`resolve`?(await Qe.resolveAction(r.id,e,r.etag),h(`Action item marked resolved.`)):(await Qe.dismissAction(r.id,e,r.etag),h(`Action item dismissed.`));c(!1),t()}catch(e){_(e instanceof Error?e.message:`The exact action mutation could not be completed`)}finally{p(!1)}};return(0,U.jsxs)(`details`,{className:`mt-4 rounded-xl border border-white/10 bg-black/15 p-4`,children:[(0,U.jsx)(`summary`,{className:`cursor-pointer text-sm font-semibold text-stone-200`,children:`Manage durable action item`}),(0,U.jsxs)(`div`,{className:`mt-4 space-y-3`,children:[(0,U.jsxs)(`label`,{className:`block text-xs font-semibold text-stone-400`,children:[`Action`,(0,U.jsx)(`select`,{"aria-label":`Action item decision`,value:a,onChange:e=>{o(e.target.value),c(!1),_(null),h(null)},className:`mt-1 w-full rounded-lg border border-white/10 bg-[#100c0a] px-3 py-2 text-sm text-stone-100`,children:mt.map(e=>(0,U.jsx)(`option`,{value:e.value,children:e.label},e.value))})]}),a===`rerun`?e.recommended_rerun_binding?(0,U.jsxs)(`div`,{className:`rounded-lg border border-white/5 p-3`,children:[(0,U.jsxs)(`dl`,{className:`grid gap-2 text-xs sm:grid-cols-[8rem_1fr]`,children:[(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Source suite`}),(0,U.jsxs)(`dd`,{className:`font-mono text-stone-300`,children:[e.recommended_rerun_binding.source_suite.suite_id,`@`,e.recommended_rerun_binding.source_suite.suite_version,` · `,gt(e.recommended_rerun_binding.source_suite.content_sha256)]}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Target suite`}),(0,U.jsxs)(`dd`,{className:`font-mono text-emerald-200`,children:[i.suite.suite_id,`@`,i.suite.suite_version,` · `,gt(i.suite.content_sha256)]}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Compatibility`}),(0,U.jsx)(`dd`,{className:`font-mono text-stone-300`,children:gt(e.recommended_rerun_binding.successor_compatibility_sha256)}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Bundle`}),(0,U.jsxs)(`dd`,{className:`font-mono text-stone-300`,children:[`config `,gt(i.bundle.config_fingerprint),` · manifest `,gt(i.bundle.manifest_sha256)]})]}),(0,U.jsxs)(`details`,{className:`mt-3 rounded border border-white/5 p-2`,children:[(0,U.jsx)(`summary`,{className:`cursor-pointer text-xs font-semibold text-stone-400`,children:`Exact suite and bundle identifiers`}),(0,U.jsx)(`pre`,{className:`mt-2 overflow-auto whitespace-pre-wrap break-all rounded bg-black/25 p-2 font-mono text-xs leading-5 text-stone-400`,children:JSON.stringify({source_suite:e.recommended_rerun_binding.source_suite,target_suite:i.suite,successor_compatibility_sha256:e.recommended_rerun_binding.successor_compatibility_sha256,bundle:i.bundle},null,2)})]})]}):(0,U.jsx)(`p`,{className:`rounded-lg border border-rose-300/15 bg-rose-500/5 p-3 text-xs text-rose-200`,children:`Rerun is blocked because the backend did not provide an exact reviewed successor-suite and immutable bundle binding.`}):null,(0,U.jsxs)(`div`,{className:`rounded-lg border border-amber-300/15 bg-amber-500/5 p-3`,children:[(0,U.jsxs)(`label`,{className:`flex cursor-pointer items-start gap-3 text-sm text-stone-200`,children:[(0,U.jsx)(`input`,{"aria-label":`Acknowledge exact ${a.replace(`_`,` `)} action`,type:`checkbox`,checked:s,onChange:e=>c(e.target.checked),className:`mt-0.5 h-4 w-4 accent-amber-300`}),(0,U.jsxs)(`span`,{children:[`I confirm this exact action and its immutable evidence binding.`,(0,U.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-stone-400`,children:`This acknowledgement is required because the operation changes durable quality-workflow state. The exact backend confirmation is submitted internally, so it cannot be mistyped.`})]})]}),(0,U.jsxs)(`details`,{className:`mt-2`,children:[(0,U.jsx)(`summary`,{className:`curs
9or-pointer text-xs text-stone-500`,children:`Exact backend confirmation`}),(0,U.jsx)(`p`,{className:`mt-2 break-all rounded bg-black/25 p-2 font-mono text-xs text-stone-400`,children:v})]})]}),(0,U.jsxs)(`label`,{className:`block text-xs font-semibold text-stone-400`,children:[`Optional note`,(0,U.jsx)(`textarea`,{"aria-label":`Action item note`,value:u,onChange:e=>d(e.target.value),className:`mt-1 min-h-20 w-full rounded-lg border border-white/10 bg-[#100c0a] px-3 py-2 text-sm text-stone-100`})]}),r.etag?null:(0,U.jsx)(`p`,{className:`text-xs text-rose-200`,children:`Mutation blocked: the current action ETag is unavailable.`}),g?(0,U.jsx)(`p`,{role:`alert`,className:`text-sm text-rose-300`,children:g}):null,m?(0,U.jsx)(`p`,{role:`status`,className:`text-sm text-emerald-300`,children:m}):null,(0,U.jsx)(`button`,{type:`button`,disabled:!b,onClick:()=>void x(),className:`rounded-lg bg-amber-300 px-3 py-2 text-sm font-bold text-stone-950 disabled:cursor-not-allowed disabled:opacity-40`,children:f?`Applying exact actionâ¦`:mt.find(e=>e.value===a)?.label})]})]})}function St(e){let t=e.endpoint.match(/\/runs\/([^/]+)\/approve$/);if(!t?.[1])return null;try{return decodeURIComponent(t[1])}catch{return null}}function Ct({resolution:e}){let t=e.qualification_approval,[n,r]=(0,l.useState)(``),[i,a]=(0,l.useState)(!1),[o,s]=(0,l.useState)(null),[c,u]=(0,l.useState)(null);if(!t)return e.kind===`approval`?(0,U.jsx)(`p`,{className:`mt-4 rounded-lg border border-rose-300/15 bg-rose-500/5 p-3 text-sm text-rose-200`,children:`Approval is blocked because the exact Paid approval binding is missing.`}):null;let d=St(t),f=new Set(t.binding.run_ids),p=new Set(e.source_run_ids),m=t.binding.tiers.length===1&&t.binding.tiers[0]===`paid`&&f.size===1&&p.size===1&&t.binding.run_ids.every(e=>p.has(e))&&!!(d&&f.has(d))&&!!t.binding.suite_version&&!!t.binding.config_fingerprint&&!!t.resource_etag,h=m&&!i&&n===t.confirmation,g=async()=>{if(!(!h||!d)){a(!0),s(null),u(null);try{u((await Qe.approveRun(d,{confirmation:n,binding:t.binding},t.resource_etag)).pull_request_url),r(``)}catch(e){s(e instanceof Error?e.message:`Exact qualification approval could not be completed`)}finally{a(!1)}}};return(0,U.jsxs)(`section`,{className:`mt-4 rounded-xl border border-emerald-400/25 bg-emerald-500/5 p-4`,children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.14em] text-emerald-200/70`,children:`Exact qualification approval`}),(0,U.jsx)(`p`,{className:`mt-1 text-sm text-stone-300`,children:`Paid evidence is the qualification proxy for both offered learner tiers. This creates reviewable approval intent; it does not merge, deploy, or activate the pair.`}),(0,U.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs sm:grid-cols-[8rem_1fr]`,children:[(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Direction`}),(0,U.jsxs)(`dd`,{className:`font-mono text-stone-200`,children:[t.binding.native_language,` â `,t.binding.target_language]}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Tiers`}),(0,U.jsx)(`dd`,{className:`font-mono text-stone-200`,children:t.binding.tiers.join(` + `)}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Suite`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-200`,children:t.binding.suite_version}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Run IDs`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-200`,children:t.binding.run_ids.join(`, `)}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Configuration`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-200`,children:t.binding.config_fingerprint}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Endpoint`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-400`,children:t.endpoint})]}),(0,U.jsx)(`p`,{className:`mt-3 break-all rounded bg-black/25 p-2 font-mono text-xs text-stone-400`,children:t.confirmation}),(0,U.jsx)(`input`,{"aria-label":`Exact qualification approval confirmation`,autoComplete:`off`,value:n,onChange:e=>r(e.target.value),className:`mt-2 w-full rounded-lg border border-white/10 bg-[#100c0a] px-3 py-2 font-mono text-xs text-stone-100`}),m?null:(0,U.jsx)(`p`,{className:`mt-2 text-xs text-rose-200`,children:`Approval is blocked because the endpoint does not bind exactly one current Paid run.`}),o?(0,U.jsx)(`p`,{role:`alert`,className:`mt-2 text-sm text-rose-300`,children:o}):null,c?(0,U.jsx)(`a`,{role:`status`,className:`mt-2 block text-sm font-semibold text-emerald-200 underline`,href:c,target:`_blank`,rel:`noreferrer`,children:`Open exact approval draft PR`}):null,(0,U.jsx)(`button`,{type:`button`,disabled:!h,onClick:()=>void g(),className:`mt-3 rounded-lg bg-emerald-400 px-3 py-2 text-sm font-bold text-emerald-950 disabled:cursor-not-allowed disabled:opacity-40`,children:i?`Creating approval intentâ¦`:`Approve exact Paid evidence`})]})}function wt({runId:e,tiers:t,onRerunQueued:n}){let r=(0,l.useCallback)((t,n)=>e?Qe.getRunResolution(e,t,n):Promise.resolve({data:null,etag:null,notModified:!1}),[e]),{data:i,error:a,loading:o,refreshing:s,refetch:c}=ct({enabled:!!e,resourceKey:e||`unbound-resolution`,intervalMs:5e3,request:r});return(0,U.jsxs)(`section`,{"aria-labelledby":`next-action-title`,className:`rounded-2xl border border-amber-400/25 bg-amber-500/5 p-5`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.2em] text-amber-300/70`,children:`Always-visible founder decision`}),(0,U.jsx)(`h2`,{id:`next-action-title`,className:`mt-1 text-xl font-bold text-stone-50`,children:`Next action`})]}),i?(0,U.jsx)(`span`,{className:`rounded-full border px-2.5 py-1 text-xs font-semibold ${ht[i.
9kind]}`,children:pt(i)}):null]}),e?o&&!i?(0,U.jsx)(`p`,{className:`mt-3 text-sm text-stone-400`,children:`Resolving the exact evidenceâ¦`}):a&&!i?(0,U.jsxs)(`div`,{className:`mt-3`,children:[(0,U.jsx)(`p`,{role:`alert`,className:`text-sm text-rose-300`,children:a}),(0,U.jsx)(`button`,{type:`button`,onClick:c,className:`mt-2 text-sm font-semibold text-amber-200 underline`,children:`Retry resolution`})]}):i?(0,U.jsxs)(`div`,{className:`mt-3`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-2`,children:[(0,U.jsx)(`h3`,{className:`font-semibold text-stone-100`,children:i.title}),(0,U.jsx)(`span`,{className:`font-mono text-xs text-stone-500`,children:i.reason_code}),s?(0,U.jsx)(`span`,{className:`text-xs text-stone-500`,children:`Refreshingâ¦`}):null]}),(0,U.jsx)(`p`,{className:`mt-2 max-w-4xl text-sm leading-6 text-stone-300`,children:i.explanation}),(0,U.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs sm:grid-cols-[9rem_1fr]`,children:[(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Evidence`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-300`,children:i.evidence_sha256}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Affected surfaces`}),(0,U.jsx)(`dd`,{className:`text-stone-300`,children:i.affected_surfaces.join(`, `)||`None`}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Failing sections`}),(0,U.jsx)(`dd`,{className:`text-stone-300`,children:i.failing_section_ids.join(`, `)||`None`}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Evidence scope`}),(0,U.jsxs)(`dd`,{className:`text-stone-300`,children:[t.length,` offered tier`,t.length===1?``:`s`,` · `,_t(i),` immutable run artifact`,_t(i)===1?``:`s`]})]}),(0,U.jsxs)(`div`,{className:`mt-4`,children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.14em] text-stone-500`,children:`Acceptance criteria`}),(0,U.jsx)(`ul`,{className:`mt-2 list-disc space-y-1 pl-5 text-sm text-stone-300`,children:i.acceptance_criteria.map(e=>(0,U.jsx)(`li`,{children:e},e))})]}),i.kind===`suite_calibration`&&i.calibration_targets.length>0?(0,U.jsx)(`div`,{className:`mt-4 overflow-x-auto rounded-lg border border-violet-300/10 p-3`,children:(0,U.jsxs)(`table`,{className:`w-full text-left text-xs`,children:[(0,U.jsx)(`thead`,{className:`uppercase tracking-wider text-stone-500`,children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{className:`pb-2 pr-3`,children:`Tier`}),(0,U.jsx)(`th`,{className:`pb-2 pr-3`,children:`Metric`}),(0,U.jsx)(`th`,{className:`pb-2 pr-3`,children:`Reviewed transition`}),(0,U.jsx)(`th`,{className:`pb-2 pr-3`,children:`Observed`}),(0,U.jsx)(`th`,{className:`pb-2`,children:`Reviewed target threshold`})]})}),(0,U.jsx)(`tbody`,{className:`divide-y divide-white/5 font-mono text-stone-300`,children:i.calibration_targets.map(e=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{className:`py-2 pr-3 capitalize`,children:e.tier}),(0,U.jsx)(`td`,{className:`py-2 pr-3`,children:e.metric_id}),(0,U.jsxs)(`td`,{className:`py-2 pr-3`,children:[(0,U.jsxs)(`span`,{className:`block`,children:[e.source_suite.suite_version,` â `,e.target_suite.suite_version]}),(0,U.jsx)(`span`,{className:`block break-all text-stone-500`,children:e.successor_compatibility_sha256})]}),(0,U.jsx)(`td`,{className:`py-2 pr-3`,children:JSON.stringify(e.observed_value)}),(0,U.jsxs)(`td`,{className:`py-2`,children:[e.proposed_threshold.operator,` `,JSON.stringify(e.proposed_threshold.value),` `,e.proposed_threshold.unit]})]},`${e.tier}:${e.gate_id}`))})]})}):null,(0,U.jsx)(Ct,{resolution:i}),i.action_item?(0,U.jsxs)(`details`,{className:`mt-4 rounded-lg border border-white/5 p-3`,children:[(0,U.jsxs)(`summary`,{className:`cursor-pointer text-xs font-semibold text-stone-300`,children:[`Action item evidence and history (`,i.action_item.events.length,`)`]}),(0,U.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs sm:grid-cols-[8rem_1fr]`,children:[(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Action ID`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-300`,children:i.action_item.id}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Content hash`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-300`,children:i.action_item.content_sha256}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Status`}),(0,U.jsx)(`dd`,{className:`text-stone-300`,children:i.action_item.status}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Issue`}),(0,U.jsx)(`dd`,{className:`break-all text-stone-300`,children:i.action_item.github_issue_url||`Not published`})]}),(0,U.jsx)(`pre`,{className:`mt-3 max-h-64 overflow-auto whitespace-pre-wrap break-all rounded bg-black/25 p-3 font-mono text-xs leading-5 text-stone-400`,children:JSON.stringify(i.action_item.events,null,2)})]}):null,(0,U.jsx)(xt,{resolution:i,onChanged:c,onRerunQueued:n})]}):null:(0,U.jsx)(`p`,{className:`mt-3 text-sm text-stone-400`,children:`Waiting for immutable qualification-run evidence before resolving an action.`})]})}var Tt={correct_silence:`Correct silence`,correct_word_help:`Correct word-level help`,verified_specific_help:`Verified specific help`,incorrect_help:`Incorrect help`,missed_help:`Missed help`,unmeasured:`Unmeasured`},Et={correct_silence:`text-emerald-200`,correct_word_help:`text-emerald-200`,verified_specific_help:`text-emerald-200`,incorrect_help:`text-rose-200`,missed_help:`text-amber-200`,unmeasured:`text-stone-400`},Dt={pronunciation_runtime_clean_acceptance:`Acceptable pronunciation without accusations`,pronunciation_runtime_error_help_re
9call:`Errors receiving correct help`,pronunciation_runtime_specific_help_recall:`Errors receiving verified specific help`,pronunciation_runtime_incorrect_help_rate:`Incorrect help rate`,pronunciation_runtime_attempt_coverage:`Attempts evaluated`,pronunciation_asr_transcript_accuracy:`Transcript agreement with confirmed speech`,pronunciation_asr_timing_integrity:`Word timestamp integrity`,pronunciation_acoustic_clean_acceptance:`Acoustic clean acceptance`,pronunciation_acoustic_error_detection:`Acoustic error detection`,pronunciation_acoustic_contrast_discrimination:`Acoustic contrast discrimination`};function Ot(e){return e.replaceAll(`_`,` `)}function kt(e){return Tt[e]||Ot(e)}function At(e){return typeof e==`number`&&Number.isFinite(e)?String(e):`Unknown`}function jt({title:e,value:t}){return(0,U.jsxs)(`details`,{className:`rounded-lg border border-white/10 p-3`,children:[(0,U.jsx)(`summary`,{className:`cursor-pointer text-xs font-semibold text-stone-300`,children:e}),(0,U.jsx)(`pre`,{className:`mt-3 max-h-72 overflow-auto whitespace-pre-wrap break-all rounded bg-black/20 p-3 font-mono text-xs text-stone-400`,children:JSON.stringify(t,null,2)})]})}function Mt({metrics:e,label:t,acoustic:n=!1}){return Object.keys(e).length===0?(0,U.jsxs)(`p`,{className:`text-sm text-stone-400`,children:[t,`: unmeasured.`]}):(0,U.jsx)(`div`,{className:`overflow-x-auto`,children:(0,U.jsxs)(`table`,{"aria-label":t,className:`w-full text-left text-sm`,children:[(0,U.jsx)(`thead`,{className:`text-xs text-stone-500`,children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Measurement`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Observed`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Rate`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Unmeasured`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2`,children:`Evidence`})]})}),(0,U.jsx)(`tbody`,{className:`divide-y divide-white/5 text-stone-300`,children:Object.entries(e).map(([e,t])=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{scope:`row`,className:`py-2 pr-4 font-medium`,children:Dt[e]||Ot(e)}),(0,U.jsxs)(`td`,{className:`py-2 pr-4 tabular-nums`,children:[At(t.numerator),` / `,At(t.denominator)]}),(0,U.jsx)(`td`,{className:`py-2 pr-4 tabular-nums`,children:((t.denominator??0)>0||n)&&typeof t.value==`number`&&Number.isFinite(t.value)?`${Math.round(t.value*1e3)/10}%`:n&&typeof t.value==`boolean`?t.value?`Yes`:`No`:`Unmeasured`}),(0,U.jsx)(`td`,{className:`py-2 pr-4 tabular-nums`,children:At(t.unmeasured)}),(0,U.jsx)(`td`,{className:`py-2 ${t.complete?`text-stone-300`:`text-amber-200`}`,children:t.complete?`Complete`:`Incomplete`})]},e))})]})})}function Nt({notes:e,emptyLabel:t=`No note delivered`}){return e.length?(0,U.jsx)(`ul`,{className:`space-y-2`,children:e.map((e,t)=>(0,U.jsxs)(`li`,{className:`rounded border border-white/5 bg-black/10 p-2`,children:[typeof e.feedback==`string`&&e.feedback.trim()?(0,U.jsx)(`p`,{className:`whitespace-pre-wrap`,children:e.feedback}):typeof e.actual_expression==`string`||typeof e.improved_expression==`string`?null:(0,U.jsx)(`p`,{className:`text-amber-200`,children:`Note has no readable feedback.`}),typeof e.actual_expression==`string`&&e.actual_expression?(0,U.jsxs)(`p`,{className:`mt-1 text-xs text-stone-400`,children:[`Actual expression: `,e.actual_expression]}):null,typeof e.improved_expression==`string`&&e.improved_expression?(0,U.jsxs)(`p`,{className:`mt-1 text-xs text-stone-400`,children:[`Suggested expression: `,e.improved_expression]}):null,typeof e.error_type==`string`&&e.error_type?(0,U.jsxs)(`p`,{className:`mt-1 text-xs text-stone-500`,children:[`Reported error type: `,Ot(e.error_type)]}):null,typeof e.heard_as==`string`&&e.heard_as?(0,U.jsxs)(`p`,{className:`mt-1 text-xs text-stone-400`,children:[`Reported as heard: `,e.heard_as]}):null,typeof e.feedback_source==`string`&&e.feedback_source?(0,U.jsxs)(`p`,{className:`mt-1 text-xs text-stone-500`,children:[`Source: `,Ot(e.feedback_source)]}):null]},t))}):(0,U.jsx)(`span`,{className:`text-stone-500`,children:t})}function Pt({url:e,target:t}){let[n,r]=(0,l.useState)(!1),[i,a]=(0,l.useState)(null),[o,s]=(0,l.useState)(null);return(0,l.useEffect)(()=>
9{if(!n)return;let t=!0,r=null;return Ue(e).then(n=>{t&&(r=URL.createObjectURL(n),a({path:e,url:r}))}).catch(()=>{t&&s(`Audio is unavailable. The recorded outcome is unchanged.`)}),()=>{t=!1,r&&URL.revokeObjectURL(r)}},[n,e]),o?(0,U.jsx)(`p`,{role:`status`,className:`mt-2 text-xs text-amber-200`,children:o}):i?.path===e?(0,U.jsx)(`audio`,{"aria-label":`Recording section for ${t}`,controls:!0,preload:`none`,src:i.url,className:`mt-2 max-w-full`,children:(0,U.jsx)(`track`,{kind:`captions`})}):(0,U.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>r(!0),className:`mt-2 text-xs font-semibold text-sky-200 underline disabled:text-stone-500`,children:n?`Loading audioâ¦`:`Listen to ${t} section`})}function Ft(e,t){if(e.audio_url)return e.audio_url;let n=t.flatMap(e=>e.recordings).filter(t=>!e.recording_id||t.recording_id===e.recording_id).flatMap(e=>e.sections).filter(t=>t.id===e.section_id&&t.audio_url),r=[...new Set(n.map(e=>e.audio_url))];return r.length===1?r[0]:null}function It({improvement:e}){let t=e.assessment||e,n=e.eligibility,r=[...new Set([...e.reasons||[],...e.reason?[e.reason]:[],...n?.missing||[]])],i={improved:`Improved on this cohort`,no_improvement:`No improvement`,regressed:`Regression`,incomplete:`Incomplete comparison`,insufficient_evidence:`Diagnostic only: insufficient evidence`,disabled:`Automatic refinement disabled`,engineering_required:`Engineering investigation required`,development:`Comparing development candidates`,validation:`Checking untouched validation recordings`,regression:`Checking affected recordings`}[e.status]||`Comparison status unavailable`;return(0,U.jsxs)(`section`,{"aria-label":`Pronunciation improvement assessment`,className:`space-y-3 rounded-xl border border-sky-400/20 bg-sky-500/5 p-4`,children:[(0,U.jsx)(`h3`,{className:`font-semibold text-stone-100`,children:i}),(0,U.jsx)(`p`,{className:`text-sm leading-6 text-stone-400`,children:`This assessment supports review of a draft change. It is separate from qualification and cannot make a language pair available.`}),r.length?(0,U.jsx)(`ul`,{className:`list-inside list-disc space-y-1 text-sm text-amber-100`,children:r.map((e,t)=>(0,U.jsx)(`li`,{children:Ot(e)},`${e}:${t}`))}):null,n?.counts&&Object.keys(n.counts).length?(0,U.jsxs)(`div`,{className:`overflow-x-auto`,children:[(0,U.jsxs)(`table`,{"aria-label":`Pronunciation cohort coverage`,className:`w-full text-left text-sm text-stone-300`,children:[(0,U.jsx)(`thead`,{className:`text-xs text-stone-500`,children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Language / cohort`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Confirmed errors`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Confirmed clean`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Recording families`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2`,children:`Contrast targets`})]})}),(0,U.jsx)(`tbody`,{className:`divide-y divide-white/5`,children:Object.entries(n.counts).map(([e,t])=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{scope:`row`,className:`py-2 pr-4 font-medium`,children:e}),(0,U.jsx)(`td`,{className:`py-2 pr-4`,children:At(t.errors)}),(0,U.jsx)(`td`,{className:`py-2 pr-4`,children:At(t.clean)}),(0,U.jsx)(`td`,{className:`py-2 pr-4`,children:At(t.families)}),(0,U.jsx)(`td`,{className:`py-2`,children:At(t.targets)})]},e))})]}),n.evidence_envelope?(0,U.jsxs)(`p`,{className:`mt-2 text-xs text-stone-400`,children:[`Evidence: `,Ot(n.evidence_envelope),`. Repeated takes and derived clips do not add independent recording families.`]}):null]}):null,e.stop_reason&&!r.includes(e.stop_reason)&&![`development`,`validation`,`regression`].includes(e.status)?(0,U.jsxs)(`p`,{className:`text-sm text-amber-100`,children:[`Stopped: `,Ot(e.stop_reason)]}):null,e.before_after?.length?(0,U.jsx)(`div`,{className:`overflow-x-auto`,children:(0,U.jsxs)(`table`,{"aria-label":`Pronunciation before and after`,className:`w-full text-left text-sm text-stone-300`,children:[(0,U.jsx)(`thead`,{className:`text-xs text-stone-500`,children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Attempt`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Baseline`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2`,children:`Candidate`})]})}
9),(0,U.jsx)(`tbody`,{className:`divide-y divide-white/5`,children:e.before_after.map(e=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{scope:`row`,className:`py-3 pr-4 align-top font-medium`,children:e.target||e.attempt_id}),(0,U.jsxs)(`td`,{className:`space-y-2 py-3 pr-4 align-top`,children:[(0,U.jsx)(`p`,{children:kt(e.baseline_outcome)}),e.baseline_notes?(0,U.jsx)(Nt,{notes:e.baseline_notes}):(0,U.jsx)(`span`,{className:`text-stone-500`,children:`Note evidence not provided`})]}),(0,U.jsxs)(`td`,{className:`space-y-2 py-3 align-top`,children:[(0,U.jsx)(`p`,{children:kt(e.candidate_outcome)}),e.candidate_notes?(0,U.jsx)(Nt,{notes:e.candidate_notes}):(0,U.jsx)(`span`,{className:`text-stone-500`,children:`Note evidence not provided`})]})]},e.attempt_id))})]})}):null,[`development`,`validation`,`regression`].map(e=>{let n=t[e]?.flatMap(e=>e.changes);return n?.length?(0,U.jsx)(`div`,{className:`overflow-x-auto`,children:(0,U.jsxs)(`table`,{"aria-label":`${e} attempt comparison`,className:`w-full text-left text-sm text-stone-300`,children:[(0,U.jsxs)(`caption`,{className:`py-2 text-left font-semibold capitalize`,children:[e,` comparison`]}),(0,U.jsx)(`thead`,{className:`text-xs text-stone-500`,children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Attempt`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Baseline`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Candidate`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2`,children:`Change`})]})}),(0,U.jsx)(`tbody`,{className:`divide-y divide-white/5`,children:n.map(e=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{scope:`row`,className:`py-2 pr-4 font-medium`,children:e.attempt_id}),(0,U.jsx)(`td`,{className:`py-2 pr-4`,children:kt(e.before)}),(0,U.jsx)(`td`,{className:`py-2 pr-4`,children:kt(e.after)}),(0,U.jsx)(`td`,{className:`py-2`,children:Ot(e.change)})]},`${e.family_id}:${e.attempt_id}`))})]})},e):null}),t.remaining_failures?.length?(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-amber-100`,children:`Remaining failures`}),(0,U.jsx)(`ul`,{className:`mt-1 list-inside list-disc text-sm text-stone-400`,children:t.remaining_failures.map((e,t)=>(0,U.jsx)(`li`,{children:Ot(e)},`${e}:${t}`))})]}):null,e.counts||e.eligibility?(0,U.jsx)(jt,{title:`Cohort counts and refinement eligibility`,value:{counts:e.counts,eligibility:e.eligibility}}):null]})}function Lt({report:e,improvement:t,evidence:n=[],pending:r=!1}){let i=(0,l.useId)(),[a,o]=(0,l.useState)(`all`),s=e?.attempts||[],c=s.filter(e=>a===`all`||e.outcome===a);return(0,U.jsxs)(`section`,{"aria-labelledby":i,className:`space-y-4 rounded-2xl border border-white/10 bg-[#1a1410]/90 p-5`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`h2`,{id:i,className:`text-xl font-bold text-stone-50`,children:`Pronunciation help users received`}),(0,U.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-stone-400`,children:`Learner-runtime feedback is measured separately from the acoustic contrast diagnostic.`})]}),e?(0,U.jsxs)(`span`,{className:`rounded-full border border-white/10 px-3 py-1 text-xs ${e.complete?`text-stone-300`:`text-amber-200`}`,children:[e.tier,` · `,e.complete?`Evidence complete`:`Evidence incomplete`]}):null]}),e?(0,U.jsxs)(U.Fragment,{children:[e.incomplete_reasons.length?(0,U.jsx)(`ul`,{className:`list-inside list-disc text-sm text-amber-100`,children:e.incomplete_reasons.map((e,t)=>(0,U.jsx)(`li`,{children:Ot(e)},`${e}:${t}`))}):null,(0,U.jsx)(Mt,{metrics:e.metrics,label:`Learner-runtime pronunciation measurements`}),(0,U.jsx)(`p`,{className:`text-xs leading-5 text-stone-500`,children:`Rates describe this recorded cohort. Correct silence is an appropriate output, not proof that the phoneme model recognized the word. No note precision is inferred from silence.`}),e.tier===`free`?(0,U.jsx)(`p`,{className:`rounded-lg bg-black/15 p-3 text-sm text-stone-400`,children:`Free is diagnostic only. Display-budget exclusions are not missed help and do not gate Paid qualification; pre-budget failures remain visible.`}):null,(0,U.jsxs)(`div`,{className:`flex flex-wrap items-end justify-between gap-3`,children:[(0,U.jsxs)(`p`,{className:`text-sm text-stone-400`,children:[c.length,` of `,s.length,` expected attempts`]}),(0,U.jsxs)(`label`,{className:`text-xs font-semibold text-stone-400`,children:[`Filter outcomes`,(0,U.jsxs)(`select`,{value:a,onChange:e=>
9o(e.target.value),className:`ml-2 rounded-lg border border-white/10 bg-[#120e0b] px-3 py-2 text-sm text-stone-100`,children:[(0,U.jsx)(`option`,{value:`all`,children:`All outcomes`}),Object.entries(Tt).map(([e,t])=>(0,U.jsx)(`option`,{value:e,children:t},e))]})]})]}),c.length?(0,U.jsx)(`div`,{className:`overflow-x-auto`,children:(0,U.jsxs)(`table`,{"aria-label":`Pronunciation attempt outcomes`,className:`w-full text-left text-sm`,children:[(0,U.jsx)(`thead`,{className:`text-xs text-stone-500`,children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Attempt and expectation`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2 pr-4`,children:`Delivered feedback`}),(0,U.jsx)(`th`,{scope:`col`,className:`py-2`,children:`Outcome and evidence`})]})}),(0,U.jsx)(`tbody`,{className:`divide-y divide-white/10 text-stone-300`,children:c.map(e=>{let t=Ft(e,n);return(0,U.jsxs)(`tr`,{children:[(0,U.jsxs)(`th`,{scope:`row`,className:`min-w-36 py-4 pr-4 align-top font-normal`,children:[(0,U.jsx)(`p`,{className:`font-semibold text-stone-100`,children:e.target}),(0,U.jsxs)(`p`,{className:`mt-1 text-xs`,children:[`Expected: `,Ot(e.expected_outcome)]}),(0,U.jsx)(`p`,{className:`mt-1 text-xs text-stone-500`,children:e.label_confirmed?`Label confirmed`:`Label unconfirmed`}),t?(0,U.jsx)(Pt,{url:t,target:e.target},t):(0,U.jsx)(`p`,{className:`mt-2 text-xs text-stone-500`,children:`Section audio unavailable`})]}),(0,U.jsxs)(`td`,{className:`min-w-52 space-y-3 py-4 pr-4 align-top`,children:[e.notes.length||!e.contextual_notes?.length?(0,U.jsx)(Nt,{notes:e.notes,emptyLabel:e.evidence_complete?`No note delivered`:`No note recorded; delivery evidence incomplete`}):null,e.contextual_notes?.length?(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`mb-2 text-xs font-semibold text-stone-400`,children:`Contextual feedback delivered`}),(0,U.jsx)(Nt,{notes:e.contextual_notes})]}):null]}),(0,U.jsxs)(`td`,{className:`min-w-60 space-y-2 py-4 align-top`,children:[(0,U.jsx)(`p`,{className:`font-semibold ${Et[e.outcome]||`text-stone-400`}`,children:kt(e.outcome)}),(0,U.jsxs)(`p`,{className:`text-xs`,children:[`Pipeline: `,Ot(e.pipeline_state)]}),(0,U.jsx)(`p`,{className:`text-xs text-stone-400`,children:Ot(e.reason)}),(0,U.jsxs)(`p`,{className:`text-xs text-stone-500`,children:[e.evaluated?`Audio evaluated`:`Audio not evaluated`,` · `,e.evidence_complete?`Evidence complete`:`Evidence incomplete`]}),(0,U.jsx)(jt,{title:`Decision evidence for ${e.target}`,value:e})]})]},e.attempt_id)})})]})}):(0,U.jsx)(`p`,{className:`text-sm text-stone-400`,children:s.length?`No attempts have this outcome.`:`No attributable attempts were recorded; feedback remains unmeasured.`}),(0,U.jsxs)(`details`,{className:`rounded-lg border border-white/10 p-3`,children:[(0,U.jsx)(`summary`,{className:`cursor-pointer text-sm font-semibold text-stone-300`,children:`Acoustic instrument diagnostics`}),(0,U.jsx)(`p`,{className:`my-3 text-xs leading-5 text-stone-400`,children:`These diagnostics compare reviewed phone alternatives on section clips. They do not measure runtime targeting, word crops, suppression, or delivered help and cannot establish runtime success.`}),(0,U.jsx)(Mt,{metrics:e.acoustic_metrics||{},label:`Acoustic diagnostic measurements`,acoustic:!0})]}),(0,U.jsx)(jt,{title:`Report identity and effective runtime configuration`,value:{schema_version:e.schema_version,content_sha256:e.content_sha256,recording_family_id:e.recording_family_id,audio_sha256:e.audio_sha256,model_identity:e.model_identity,service_revision:e.service_revision,runtime_config:e.runtime_config}})]}):(0,U.jsx)(`p`,{className:`rounded-lg border border-amber-400/20 bg-amber-500/5 p-3 text-sm leading-6 text-amber-100`,children:r?`Runtime feedback evidence is being collected. Results will appear when the run has produced its pronunciation report.`:`Runtime feedback is unmeasured for this run. Historical acoustic results do not establish whether a learner received useful help. Rerun with the runtime evaluator to measure it.`}),t?(0,U.jsx)(It,{improvement:t}):null]})}var Rt={Available:0,"Pending deployment":1,"Ready to approve":2,"Refinement ready":3,"Engineering needed":4,"New recording needed":5,"Pair failed":6,"Suppressed after regression":7},zt={"Ready to approve":{kind:`approve`,label:`Approve, then merge the availability PR`},"Refinement ready":{kind:`review_refinement`,label:`Review the diff, then merge the refinement PR`},"Pair failed":{kind:`open_issue`,label:`Open the linked engineering issue; keep the pair hidden`},"New recording needed":{kind:`new_recording`,label:`Re-commission the recording with the stated correction`},"Engineering needed":{kind:`open_issue`,label:`Open the linked engineering issue`},"Pending deployment":{kind:`wait`,label:`No action â availability will activate after deployment`},Available:{kind:`none`,label:`No action â this pair is available`},"Suppressed after regression":{kind:`review_suppression`,label:`Review the regression evidence, then restore or fix`}};function Bt(e){return e.kind===`replacement_recording`?`New recording needed`:e.kind===`boun
9ded_refinement`?`Refinement ready`:e.kind===`approval`?`Ready to approve`:`Engineering needed`}function Vt(e){return{kind:e.kind===`approval`?`approve`:e.kind===`bounded_refinement`?`review_refinement`:e.kind===`replacement_recording`?`new_recording`:`open_issue`,label:e.title,href:e.action_item?.github_issue_url||null}}function Ht(e,t){return t?`Suppressed after regression`:e.length===0?`Engineering needed`:e.reduce((e,t)=>Rt[t.state]>Rt[e]?t.state:e,`Available`)}function Ut(e){let t=Ht(e.tiers,e.suppression!==null),n=!!(e.resolution&&!e.suppression),r=n&&t!==`Available`&&t!==`Pending deployment`?Bt(e.resolution):t,i=Array.from(new Set(e.tiers.flatMap(e=>e.affected_features))),a=e.suppression?e.suppression.reason:n?e.resolution.explanation:e.tiers.find(e=>e.state===r)?.summary||`Qualification evidence is not available yet.`;return{state:r,action:n?Vt(e.resolution):e.recommended_action&&r!==`Suppressed after regression`?e.recommended_action:zt[r],affected_features:i,summary:a}}var Wt={"Ready to approve":`border-emerald-400/40 bg-emerald-500/10 text-emerald-200`,"Refinement ready":`border-sky-400/40 bg-sky-500/10 text-sky-200`,"Pair failed":`border-rose-400/40 bg-rose-500/10 text-rose-200`,"New recording needed":`border-amber-400/40 bg-amber-500/10 text-amber-100`,"Engineering needed":`border-orange-400/40 bg-orange-500/10 text-orange-100`,"Pending deployment":`border-violet-400/40 bg-violet-500/10 text-violet-100`,Available:`border-teal-400/40 bg-teal-500/10 text-teal-100`,"Suppressed after regression":`border-red-400/60 bg-red-500/15 text-red-100`};function Gt({state:e}){return(0,U.jsx)(`span`,{className:`inline-flex rounded-full border px-2.5 py-1 text-xs font-semibold ${Wt[e]}`,children:e})}function Kt({action:e}){return e.href?(0,U.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,className:`text-sm font-semibold text-amber-200 underline decoration-amber-400/50 underline-offset-4 hover:text-amber-100`,children:e.label}):(0,U.jsx)(`p`,{className:`text-sm font-semibold text-amber-100`,children:e.label})}function qt({pair:e,onApprove:t}){let n=Ut(e);return(0,U.jsxs)(`section`,{"aria-labelledby":`pair-decision-title`,className:`rounded-2xl border border-white/10 bg-[#1a1410]/90 p-5 shadow-xl shadow-black/20`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.2em] text-stone-500`,children:`Pair decision`}),(0,U.jsx)(`h2`,{id:`pair-decision-title`,className:`mt-1 text-2xl font-bold text-stone-50`,children:e.display_name})]}),(0,U.jsx)(Gt,{state:n.state})]}),(0,U.jsx)(`p`,{className:`mt-4 max-w-3xl text-sm leading-6 text-stone-300`,children:n.summary}),n.affected_features.length>0?(0,U.jsxs)(`p`,{className:`mt-3 text-sm text-stone-400`,children:[`Learner-facing impact: `,n.affected_features.join(`, `)]}):null,(0,U.jsxs)(`div`,{className:`mt-5 rounded-xl border border-amber-400/20 bg-amber-500/5 p-4`,children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.16em] text-amber-300/70`,children:`Recommended action`}),(0,U.jsx)(`div`,{className:`mt-1`,children:n.state===`Ready to approve`?(0,U.jsx)(`button`,{type:`button`,onClick:t,className:`rounded-lg bg-emerald-500 px-4 py-2 text-sm font-bold text-emerald-950 hover:bg-emerald-400`,children:n.action.label}):(0,U.jsx)(Kt,{action:n.action})})]})]})}function Jt({section:e}){let[t,n]=(0,l.useState)(null),[r,i]=(0,l.useState)(null);return(0,l.useEffect)(()=>{let t=!0,r=[],a=async(e,n)=>{if(e)try{let i=await Ue(e);if(!t)return;let a=URL.createObjectURL(i);r.push(a),n(a)}catch{}};return a(e.waveform_url,n),a(e.audio_url,i),()=>{t=!1,r.forEach(e=>URL.revokeObjectURL(e))}},[e.audio_url,e.waveform_url]),!t&&!r?null:(0,U.jsxs)(`div`,{className:`mt-3 space-y-2`,children:[t?(0,U.jsx)(`img`,{src:t,alt:`Waveform around ${e.title}`,className:`h-20 w-full rounded-lg object-cover`}):null,r?(0,U.jsx)(`audio`,{className:`w-full`,controls:!0,preload:`none`,src:r,children:(0,U.jsx)(`track`,{kind:`captions`})}):null]})}function Yt({sections:e,busy:t,onSubmit:n}){let r=(0,l.useMemo)(()=>e.filter(e=>e.state!==`resolved`),[e]),[i,a]=(0,l.useState)(()=>Object.fromEntries(r.map(e=>
9[e.id,{start_ms:String(e.start_ms??0),end_ms:String(e.end_ms??0)}])));if(r.length===0)return null;let o=r.map(e=>({section_id:e.id,start_ms:Number(i[e.id]?.start_ms??0),end_ms:Number(i[e.id]?.end_ms??0)})),s=o.every(e=>Number.isFinite(e.start_ms)&&Number.isFinite(e.end_ms)&&e.start_ms>=0&&e.end_ms>e.start_ms),c=(e,t,n)=>{a(r=>({...r,[e]:{start_ms:r[e]?.start_ms??`0`,end_ms:r[e]?.end_ms??`0`,[t]:n}}))};return(0,U.jsxs)(`section`,{"aria-labelledby":`alignment-review-title`,className:`rounded-2xl border border-amber-400/30 bg-amber-500/5 p-5`,children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.2em] text-amber-300/70`,children:`Founder review required`}),(0,U.jsx)(`h2`,{id:`alignment-review-title`,className:`mt-1 text-xl font-bold text-stone-50`,children:`Alignment review`}),(0,U.jsxs)(`p`,{className:`mt-2 text-sm leading-6 text-stone-300`,children:[r.length,` required section`,r.length===1?``:`s`,` could not be cut safely. Evaluation remains blocked until every cut is explicit.`]}),(0,U.jsx)(`div`,{className:`mt-4 space-y-4`,children:r.map(e=>(0,U.jsxs)(`article`,{className:`rounded-xl border border-white/10 bg-black/15 p-4`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,U.jsx)(`h3`,{className:`font-semibold text-stone-100`,children:e.title}),(0,U.jsxs)(`span`,{className:`rounded-full border border-amber-400/30 px-2 py-0.5 text-xs text-amber-200`,children:[e.state,` · `,e.confidence===null?`no confidence`:`${Math.round(e.confidence*100)}%`]})]}),(0,U.jsx)(`p`,{className:`mt-2 rounded-lg bg-black/20 p-3 font-mono text-xs leading-5 text-stone-300`,children:e.transcript_context||`No ASR context was recovered.`}),(0,U.jsx)(Jt,{section:e}),(0,U.jsxs)(`div`,{className:`mt-3 grid gap-3 sm:grid-cols-2`,children:[(0,U.jsxs)(`label`,{className:`text-xs font-semibold text-stone-400`,children:[`Start (ms)`,(0,U.jsx)(`input`,{"aria-label":`${e.title} start (ms)`,type:`number`,min:0,value:i[e.id]?.start_ms??`0`,onChange:t=>c(e.id,`start_ms`,t.target.value),className:`mt-1 w-full rounded-lg border border-white/10 bg-[#120e0b] px-3 py-2 text-sm text-stone-100`})]}),(0,U.jsxs)(`label`,{className:`text-xs font-semibold text-stone-400`,children:[`End (ms)`,(0,U.jsx)(`input`,{"aria-label":`${e.title} end (ms)`,type:`number`,min:0,value:i[e.id]?.end_ms??`0`,onChange:t=>c(e.id,`end_ms`,t.target.value),className:`mt-1 w-full rounded-lg border border-white/10 bg-[#120e0b] px-3 py-2 text-sm text-stone-100`})]})]})]},e.id))}),(0,U.jsx)(`button`,{type:`button`,disabled:!s||t,onClick:()=>void n(o),className:`mt-4 rounded-lg bg-amber-400 px-4 py-2 text-sm font-bold text-stone-950 hover:bg-amber-300 disabled:cursor-not-allowed disabled:opacity-40`,children:t?`Saving cutsâ¦`:`Confirm cuts and continue`})]})}function Xt(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function Zt({section:e,sectionResults:t}){let[n,r]=(0,l.useState)(!1),i=Xt(t?.transport_replay),a=Array.isArray(i?.observed_events)?i.observed_events.filter(t=>{let n=Xt(t),r=Xt(n?.payload);return n?.correlated_section_id===e.id||r?.quality_section_id===e.id||r?.section_id===e.id}):[],o=Array.isArray(i?.send_windows)?i.send_windows.filter(t=>Xt(t)?.section_id===e.id):[];return(0,U.jsxs)(`details`,{className:`rounded-lg border border-white/5 p-3`,children:[(0,U.jsxs)(`summary`,{className:`cursor-pointer font-semibold text-stone-100`,onClick:()=>r(e=>!e),children:[e.ordinal?`${e.ordinal}. `:``,e.title,e.kind?` · ${e.kind}`:``]}),n?(0,U.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[(0,U.jsxs)(`dl`,{className:`grid gap-2 sm:grid-cols-[9rem_1fr]`,children:[(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Source cut`}),(0,U.jsxs)(`dd`,{className:`font-mono`,children:[e.start_ms??`?`,`â`,e.end_ms??`?`,` ms · revision evidence`]}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Alignment`}),(0,U.jsxs)(`dd`,{children:[e.state,` · `,e.confidence===null?`no confidence`:`${Math.round(e.confidence*100)}%`]}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Expected speech`}),(0,U.jsx)(`dd`,{className:`whitespace-pre-wrap text-stone-200`,children:e.expected_spoken_text||`Not available from the frozen manifest.`}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`ASR near cut`}),(0,U.jsx)(`dd`,{className:`whitespace-pre-wrap font-mono text-stone-300`,children:e.transcript_context||`No alignment transcript context.`})]}),(0,U.jsx)(Jt,{section:e}),(0,U.jsxs)(`details`,{className:`rounded border border-white/5 p-2`,children:[(0,U.jsx)(`summary`,{className:`curs
9or-pointer text-stone-300`,children:`Expected labels and provenance`}),(0,U.jsx)(`pre`,{className:`mt-2 max-h-72 overflow-auto whitespace-pre-wrap break-all rounded bg-black/25 p-3 font-mono leading-5 text-stone-400`,children:JSON.stringify({permitted_variations:e.permitted_variations||[],expectations:e.expectations||null,expectation_provenance:e.expectation_provenance||[],contrast_partner_section_id:e.contrast_partner_section_id||null},null,2)})]}),(0,U.jsxs)(`details`,{className:`rounded border border-white/5 p-2`,children:[(0,U.jsxs)(`summary`,{className:`cursor-pointer text-stone-300`,children:[`Client-observed transport (`,a.length,` events)`]}),(0,U.jsx)(`pre`,{className:`mt-2 max-h-72 overflow-auto whitespace-pre-wrap break-all rounded bg-black/25 p-3 font-mono leading-5 text-stone-400`,children:JSON.stringify({send_windows:o,observed_events:a},null,2)})]})]}):null]})}function Qt({item:e}){let[t,n]=(0,l.useState)(!1);return(0,U.jsxs)(`details`,{className:`rounded-xl border border-white/10 bg-black/15 p-4`,children:[(0,U.jsxs)(`summary`,{className:`cursor-pointer text-sm font-semibold text-stone-200`,onClick:()=>n(e=>!e),children:[e.tier,` evidence · `,e.run_id]}),t?(0,U.jsxs)(`div`,{className:`mt-4 space-y-4 text-xs text-stone-300`,children:[(0,U.jsxs)(`dl`,{className:`grid gap-2 sm:grid-cols-[10rem_1fr]`,children:[(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Runtime owner`}),(0,U.jsx)(`dd`,{className:`break-all font-mono`,children:e.execution_owner}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Evaluator release`}),(0,U.jsx)(`dd`,{className:`break-all font-mono`,children:e.evaluator_release_sha256||`missing`}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Deployment`}),(0,U.jsx)(`dd`,{className:`break-all font-mono`,children:e.deployment_revision||`missing`}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Behavior`}),(0,U.jsx)(`dd`,{className:`break-all font-mono`,children:e.behavior_fingerprint||`missing`}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Bundle manifest`}),(0,U.jsx)(`dd`,{className:`break-all font-mono`,children:e.config_bundle_manifest_sha256||`missing`})]}),(0,U.jsx)(`div`,{className:`overflow-x-auto`,children:(0,U.jsxs)(`table`,{className:`w-full text-left`,children:[(0,U.jsx)(`thead`,{className:`uppercase tracking-wider text-stone-500`,children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{className:`pb-2 pr-3`,children:`Metric`}),(0,U.jsx)(`th`,{className:`pb-2 pr-3`,children:`Severity`}),(0,U.jsx)(`th`,{className:`pb-2 pr-3`,children:`Outcome`}),(0,U.jsx)(`th`,{className:`pb-2 pr-3`,children:`Observed`}),(0,U.jsx)(`th`,{className:`pb-2 pr-3`,children:`Threshold`}),(0,U.jsx)(`th`,{className:`pb-2`,children:`Surface`})]})}),(0,U.jsx)(`tbody`,{className:`divide-y divide-white/5 font-mono`,children:e.gate_results.map((e,t)=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{className:`py-2 pr-3`,children:String(e.metric_id||e.gate_id||`gate`)}),(0,U.jsx)(`td`,{className:`py-2 pr-3`,children:String(e.severity||`unknown`)}),(0,U.jsx)(`td`,{className:`py-2 pr-3`,children:String(e.outcome||`unknown`)}),(0,U.jsx)(`td`,{className:`py-2 pr-3`,children:JSON.stringify(e.value??null)}),(0,U.jsx)(`td`,{className:`py-2 pr-3`,children:JSON.stringify(e.threshold??null)}),(0,U.jsx)(`td`,{className:`py-2`,children:Array.isArray(e.attributed_surfaces)?e.attributed_surfaces.join(`, `):``})]},`${String(e.gate_id||e.metric_id)}:${t}`))})]})}),e.recordings.map(t=>(0,U.jsxs)(`section`,{className:`space-y-2`,children:[(0,U.jsxs)(`p`,{className:`font-semibold text-stone-200`,children:[`Recording `,t.recording_id,` · alignment revision `,t.alignment_revision??`missing`]}),t.manifest_error?(0,U.jsxs)(`p`,{className:`text-rose-300`,children:[`Manifest evidence unavailable: `,t.manifest_error]}):null,t.alignment_error?(0,U.jsxs)(`p`,{className:`text-rose-300`,children:[`Alignment evidence unavailable: `,t.alignment_error]}):null,t.sections.map(n=>(0,U.jsx)(Zt,{section:n,sectionResults:e.section_results},`${e.run_id}:${t.recording_id}:${n.id}`))]},`${e.run_id}:${t.recording_id}
9`)),[[`Complete section/replay evidence`,e.section_results],[`Phase 3`,e.phase3_result],[`Stored review`,e.review_result],[`Client-visible latency and ordering`,e.latency_result],[`Dependency snapshot`,e.dependency_snapshot],[`Consumption ledger`,e.consumption_ledger]].map(([e,t])=>(0,U.jsxs)(`details`,{className:`rounded-lg border border-white/5 p-3`,children:[(0,U.jsx)(`summary`,{className:`cursor-pointer font-semibold text-stone-200`,children:String(e)}),(0,U.jsx)(`pre`,{className:`mt-3 max-h-80 overflow-auto whitespace-pre-wrap break-all rounded bg-black/25 p-3 font-mono leading-5 text-stone-400`,children:JSON.stringify(t,null,2)})]},String(e)))]}):null]})}function $t({diagnostics:e,tiers:t,evidence:n=[],showNextAction:r=!0,onRerunQueued:i}){let a=n[0]?.run_id||t.find(e=>e.qualification_run_id)?.qualification_run_id||null;return(0,U.jsxs)(`div`,{className:`space-y-4`,children:[r?(0,U.jsx)(wt,{runId:a,tiers:t,onRerunQueued:i}):null,(0,U.jsxs)(`details`,{className:`rounded-2xl border border-white/10 bg-white/[0.025] p-5`,children:[(0,U.jsxs)(`summary`,{className:`cursor-pointer text-sm font-bold text-stone-200`,children:[`Technical diagnostics (`,e.length,` issues, `,n.length,` runs)`]}),(0,U.jsxs)(`div`,{className:`mt-4 space-y-5`,children:[(0,U.jsx)(`div`,{className:`overflow-x-auto`,children:(0,U.jsxs)(`table`,{className:`w-full text-left text-sm`,children:[(0,U.jsx)(`thead`,{className:`text-xs uppercase tracking-wider text-stone-500`,children:(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`th`,{className:`pb-2 pr-4`,children:`Tier`}),(0,U.jsx)(`th`,{className:`pb-2 pr-4`,children:`Verdict`}),(0,U.jsx)(`th`,{className:`pb-2 pr-4`,children:`Evidence`}),(0,U.jsx)(`th`,{className:`pb-2`,children:`State`})]})}),(0,U.jsx)(`tbody`,{className:`divide-y divide-white/5 text-stone-300`,children:t.map((e,t)=>(0,U.jsxs)(`tr`,{children:[(0,U.jsx)(`td`,{className:`py-2 pr-4 font-semibold capitalize`,children:e.tier}),(0,U.jsx)(`td`,{className:`py-2 pr-4`,children:e.verdict||`Not run`}),(0,U.jsx)(`td`,{className:`py-2 pr-4`,children:e.evidence_status||`Unknown`}),(0,U.jsx)(`td`,{className:`py-2`,children:e.state})]},`${e.qualification_run_id??`unbound`}:${e.tier}:${t}`))})]})}),e.length===0?(0,U.jsx)(`p`,{className:`text-sm text-stone-500`,children:`No diagnostic events were reported.`}):(0,U.jsx)(`ul`,{className:`space-y-3`,children:e.map(e=>(0,U.jsxs)(`li`,{className:`rounded-lg border border-white/5 p-3`,children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-stone-100`,children:e.title}),(0,U.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-stone-400`,children:e.detail}),e.evidence_url?(0,U.jsx)(`a`,{href:e.evidence_url,target:`_blank`,rel:`noreferrer`,className:`mt-2 inline-block text-xs font-semibold text-sky-300 underline`,children:`Open evidence`}):null]},e.id))}),n.map(e=>(0,U.jsx)(Qt,{item:e},e.run_id))]})]})]})}function en({proposals:e,busyId:t,onValidate:n,onApprove:r,onReject:i,onApproveImprovement:a}){let[o,s]=(0,l.useState)({}),[c,u]=(0,l.useState)({}),[d,f]=(0,l.useState)({}),[p,m]=(0,l.useState)({}),[h,g]=(0,l.useState)(null),[_,v]=(0,l.useState)({}),[y,b]=(0,l.useState)({});if(e.length===0)return null;let x=new Map;e.filter(e=>[`proposed`,`validated`,`validation_failed`].includes(e.status)).sort((e,t)=>t.created_at.localeCompare(e.created_at)).forEach(e=>{x.has(e.source_run_id)||x.set(e.source_run_id,e)});let S=Array.from(x.values()).sort((e,t)=>e.id.localeCompare(t.id)),C=S.map(e=>e.id),w=new Set(C),T=C.join(`\0`),E=S.length>1,D=E?{proposal_ids:C,patch_hashes:Object.fromEntries(S.map(e=>[e.id,e.patch_hash]))}:null,O=S.filter(e=>{let t=e.approval_binding;return e.approval_mode===`combined`&&t?.proposal_ids.slice().sort().join(`\0`)===T&&S.every(e=>t.patch_hashes[e.id]===e.patch_hash)}),k=O.length===S.length?O[0]:void 0,A=S.some(e=>e.cohorts.some(e=>e.mode===`combined`&&e.state===`planned`&&e.proposal_ids.slice().sort().join(`\0`)===T)),j=E&&S.every(e=>e.status===`validated`),M=(e,n=!0)=>{if(n&&(!e.approval_binding||!e.approval_confirmation))return null;let a=e.rejection_binding||e.approval_binding;if(!n&&(!a||!e.rejection_confirmations))return null;let l=a?.cohort_id||e.approval_binding?.cohort_id||e.id,x=o[l]||``,S=c[l]||`try_next_bounded_candidate`,C=e.rejection_confirmations?.[S]||``,w=p[l]||!1,T=d[l]||``,E=async()=>
9{if(!(!a||!C||!w)){g(e.id),v(e=>({...e,[l]:``})),b(e=>({...e,[l]:``}));try{if(i)await i(e,a,S,C,T);else{let t=await Qe.getProposal(e.id),n=t.data,r=n?.rejection_binding||n?.approval_binding,i=n?.rejection_confirmations?.[S],a=n?.etag||t.etag;if(!n||!r||!i||!a)throw Error(`Proposal rejection is blocked until its latest exact binding and ETag are available`);if(i!==C)throw Error(`The proposal changed. Review and type its refreshed exact denial confirmation.`);await Qe.rejectProposal(n.id,{confirmation:i,binding:r,disposition:S,...T.trim()?{reason:T.trim()}:{}},a)}m(e=>({...e,[l]:!1})),b(e=>({...e,[l]:S===`try_next_bounded_candidate`?`Proposal denied; the next bounded candidate may now be prepared.`:S===`stop_automatic_refinement`?`Proposal denied; automatic refinement stopped.`:`Proposal denied and escalated to engineering.`}))}catch(e){v(t=>({...t,[l]:e instanceof Error?e.message:`Proposal denial failed`}))}finally{g(null)}}};return(0,U.jsxs)(`div`,{className:`mt-4`,children:[n&&e.approval_binding&&e.approval_confirmation?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold text-sky-100`,children:e.approval_mode===`combined`?`${e.approval_binding.proposal_ids.length} patches proved together`:`One patch proved in its individual cohort`}),(0,U.jsxs)(`dl`,{className:`mt-2 grid gap-1 rounded bg-black/25 p-2 text-xs sm:grid-cols-[7rem_1fr]`,children:[(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Cohort`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-300`,children:e.approval_binding.cohort_id}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Overlay`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-300`,children:e.approval_binding.overlay_sha256}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Proposals`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-300`,children:e.approval_binding.proposal_ids.join(`, `)})]}),(0,U.jsx)(`p`,{className:`mt-2 break-all rounded bg-black/25 p-2 font-mono text-xs text-stone-400`,children:e.approval_confirmation}),(0,U.jsx)(`input`,{"aria-label":`Exact refinement confirmation for ${e.id}`,value:x,onChange:e=>s(t=>({...t,[l]:e.target.value})),className:`mt-2 w-full rounded-lg border border-white/10 bg-[#100c0a] px-3 py-2 font-mono text-xs text-stone-100`}),(0,U.jsx)(`button`,{type:`button`,disabled:t!==null||x!==e.approval_confirmation,onClick:()=>void r(e,e.approval_binding,x),className:`mt-2 rounded-lg bg-sky-400 px-3 py-2 text-sm font-bold text-sky-950 disabled:opacity-40`,children:t===null?`Create exact draft PR`:`Publishingâ¦`})]}):null,(0,U.jsxs)(`div`,{className:`mt-4 rounded-lg border border-rose-300/15 bg-rose-500/5 p-3`,children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.14em] text-rose-200/70`,children:`Deny exact proposal`}),(0,U.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-stone-400`,children:`Choose where the bounded workflow goes next. Denial never deploys or activates a configuration.`}),(0,U.jsxs)(`label`,{className:`mt-3 block text-xs font-semibold text-stone-400`,children:[`Denial disposition`,(0,U.jsxs)(`select`,{"aria-label":`Proposal denial disposition for ${e.id}`,value:S,onChange:e=>{u(t=>({...t,[l]:e.target.value})),m(e=>({...e,[l]:!1}))},className:`mt-1 w-full rounded-lg border border-white/10 bg-[#100c0a] px-3 py-2 text-sm text-stone-100`,children:[(0,U.jsx)(`option`,{value:`try_next_bounded_candidate`,children:`Try next bounded candidate`}),(0,U.jsx)(`option`,{value:`stop_automatic_refinement`,children:`Stop automatic refinement`}),(0,U.jsx)(`option`,{value:`escalate_to_engineering`,children:`Escalate to engineering`})]})]}),C?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`label`,{className:`mt-3 flex cursor-pointer items-start gap-3 rounded border border-rose-300/10 p-3 text-sm text-stone-200`,children:[(0,U.jsx)(`input`,{"aria-label":`Acknowledge exact proposal denial for ${e.id}`,type:`checkbox`,checked:w,onChange:e=>m(t=>({...t,[l]:e.target.checked})),className:`mt-0.5 h-4 w-4 accent-rose-300`}),(0,U.jsxs)(`span`,{children:[`I confirm this exact proposal denial and disposition.`,(0,U.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-stone-400`,children:`The server-provided confirmation binds the validated cohort, patches, and selected next step and is submitted internally.`})]})]}),(0,U.jsxs)(`details`,{className:`mt-2 rounded border border-white/5 p-2`,children:[(0,U.jsx)(`summary`,{className:`curs
9or-pointer text-xs text-stone-500`,children:`Exact backend denial confirmation`}),(0,U.jsx)(`p`,{className:`mt-2 break-all rounded bg-black/25 p-2 font-mono text-xs text-stone-400`,children:C})]}),(0,U.jsx)(`textarea`,{"aria-label":`Proposal denial reason for ${e.id}`,placeholder:`Optional founder reason`,value:T,onChange:e=>f(t=>({...t,[l]:e.target.value})),className:`mt-2 min-h-16 w-full rounded-lg border border-white/10 bg-[#100c0a] px-3 py-2 text-xs text-stone-100`}),(0,U.jsx)(`button`,{type:`button`,disabled:t!==null||h!==null||!w,onClick:()=>void E(),className:`mt-2 rounded-lg border border-rose-300/30 px-3 py-2 text-sm font-bold text-rose-100 disabled:opacity-40`,children:h===e.id?`Applying exact denialâ¦`:`Deny with exact disposition`})]}):(0,U.jsx)(`p`,{className:`mt-3 text-xs text-rose-200`,children:`Denial is blocked because the server has not bound an exact confirmation for this disposition.`}),_[l]?(0,U.jsx)(`p`,{role:`alert`,className:`mt-2 text-sm text-rose-300`,children:_[l]}):null,y[l]?(0,U.jsx)(`p`,{role:`status`,className:`mt-2 text-sm text-emerald-300`,children:y[l]}):null]})]})};return(0,U.jsxs)(`section`,{className:`rounded-2xl border border-sky-400/20 bg-sky-500/5 p-5`,children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.2em] text-sky-300/70`,children:`Bounded refinement`}),(0,U.jsx)(`h2`,{className:`mt-1 text-xl font-bold text-stone-50`,children:`Review candidate changes`}),E?(0,U.jsxs)(`div`,{className:`mt-4 rounded-xl border border-sky-300/20 bg-black/15 p-4`,children:[(0,U.jsx)(`p`,{className:`font-semibold text-sky-100`,children:`Combined overlay safety check`}),(0,U.jsxs)(`p`,{className:`mt-1 text-xs leading-5 text-stone-400`,children:[`These `,S.length,` candidate patches affect one pair decision. Their exact union must pass before one draft PR can be created.`]}),k?M(k):j&&D?(0,U.jsx)(`button`,{type:`button`,disabled:t!==null||A,onClick:()=>void n(S[0],D),className:`mt-3 rounded-lg border border-sky-400/30 px-3 py-2 text-sm font-bold text-sky-100 disabled:opacity-40`,children:A?`Combined validation running`:t===null?`Validate exact combined overlay`:`Queuingâ¦`}):(0,U.jsx)(`p`,{className:`mt-3 text-xs text-stone-400`,children:`Each candidate must first pass its own affected-recording replay.`})]}):null,(0,U.jsx)(`div`,{className:`mt-4 space-y-4`,children:e.map(e=>{let r=w.has(e.id),i=e.cohorts.some(t=>t.mode===`individual`&&t.state===`planned`&&t.proposal_ids.length===1&&t.proposal_ids[0]===e.id);return(0,U.jsxs)(`article`,{className:`rounded-xl border border-white/10 bg-black/15 p-4`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-2`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`font-semibold text-stone-100`,children:e.attributed_surface}),(0,U.jsx)(`p`,{className:`mt-1 text-xs text-stone-400`,children:e.hypothesized_cause||e.mechanism})]}),(0,U.jsx)(`span`,{className:`rounded-full border border-sky-400/25 px-2 py-0.5 text-xs text-sky-200`,children:e.status})]}),(0,U.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs sm:grid-cols-[8rem_1fr]`,children:[(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Patch`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-300`,children:e.patch_hash}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Regression set`}),(0,U.jsxs)(`dd`,{className:`text-stone-300`,children:[e.affected_regression_set?.length||0,` recordings`]})]}),e.pronunciation_improvement?(0,U.jsx)(`div`,{className:`mt-3`,children:(0,U.jsx)(It,{improvement:e.pronunciation_improvement})}):null,(0,U.jsxs)(`details`,{className:`mt-3 rounded-lg border border-white/5 p-3`,children:[(0,U.jsx)(`summary`,{className:`cursor-pointer text-xs font-semibold text-stone-200`,children:`Exact proposed patch and affected-set reasoning`}),(0,U.jsx)(`pre`,{className:`mt-3 max-h-80 overflow-auto whitespace-pre-wrap break-all rounded bg-black/25 p-3 font-mono text-xs leading-5 text-stone-400`,children:JSON.stringify({patch:e.patch,rationale:e.rationale,affected_regression_set:e.affected_regression_set,rejection_decision:e.rejection_decision},null,2)})]}),e.cohorts.length>0?(0,U.jsxs)(`details`,{className:`mt-3 rounded-lg border border-white/5 p-3`,children:[(0,U.jsxs)(`summary`,{className:`curs
9or-pointer text-xs font-semibold text-stone-200`,children:[`Validation history (`,e.cohorts.length,`)`]}),(0,U.jsx)(`pre`,{className:`mt-3 max-h-80 overflow-auto whitespace-pre-wrap break-all rounded bg-black/25 p-3 font-mono text-xs leading-5 text-stone-400`,children:JSON.stringify(e.cohorts,null,2)})]}):null,[`pull_request_open`,`improved_pull_request_open`].includes(e.status)&&e.pull_request_url?(0,U.jsx)(`a`,{className:`mt-3 inline-block font-semibold text-sky-200 underline`,href:e.pull_request_url,target:`_blank`,rel:`noreferrer`,children:`Open draft PR`}):e.status===`improved`?(0,U.jsx)(tn,{proposal:e,busy:t!==null,onApprove:a},`${e.id}:${e.improvement_approval?.assessment_sha256||`unbound`}`):r?!E&&e.status===`validated`?M(e)||(0,U.jsx)(`p`,{className:`mt-3 text-xs text-rose-200`,children:`Draft PR creation is blocked because no exact terminal cohort is bound.`}):E&&!k&&e.status===`validated`?M(e,!1):e.status===`proposed`?(0,U.jsx)(`button`,{type:`button`,disabled:t!==null||i,onClick:()=>void n(e,{proposal_ids:[e.id],patch_hashes:{[e.id]:e.patch_hash}}),className:`mt-3 rounded-lg border border-sky-400/30 px-3 py-2 text-sm font-bold text-sky-100 disabled:opacity-40`,children:i?`Validation running`:t===e.id?`Queuingâ¦`:`Validate exact overlay`}):e.status===`validation_failed`?(0,U.jsx)(`p`,{className:`mt-3 text-xs text-rose-200`,children:`This failed candidate is retained as evidence and cannot be approved.`}):null:(0,U.jsx)(`p`,{className:`mt-3 text-xs text-stone-500`,children:`Historical candidate retained for audit; no action is available.`})]},e.id)})})]})}function tn({proposal:e,busy:t,onApprove:n}){let[r,i]=(0,l.useState)(``),a=e.improvement_approval;return!a||!n?(0,U.jsx)(`p`,{className:`mt-3 text-xs text-amber-100`,children:`Improvement draft creation is blocked until the server binds the exact assessment for review.`}):(0,U.jsxs)(`div`,{className:`mt-4 space-y-3 rounded-lg border border-sky-300/20 bg-sky-500/5 p-3`,children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-sky-100`,children:`Review this partial improvement`}),(0,U.jsx)(`p`,{className:`text-xs leading-5 text-stone-400`,children:`Create a draft PR for this exact measured change. Remaining failures stay in the review; this action does not qualify or enable a language pair.`}),(0,U.jsxs)(`p`,{className:`break-all font-mono text-xs text-stone-500`,children:[`Assessment: `,a.assessment_sha256]}),(0,U.jsx)(`p`,{className:`break-all rounded bg-black/20 p-2 font-mono text-xs text-stone-300`,children:a.confirmation}),(0,U.jsxs)(`label`,{className:`block text-xs text-stone-400`,children:[`Type the exact improvement confirmation`,(0,U.jsx)(`input`,{"aria-label":`Exact improvement confirmation for ${e.id}`,value:r,onChange:e=>i(e.target.value),className:`mt-2 w-full rounded-lg border border-white/10 bg-[#100c0a] px-3 py-2 font-mono text-xs text-stone-100`})]}),(0,U.jsx)(`button`,{type:`button`,disabled:t||r!==a.confirmation,onClick:()=>void n(e,{assessment_sha256:a.assessment_sha256,confirmation:r}),className:`rounded-lg bg-sky-400 px-3 py-2 text-sm font-bold text-sky-950 disabled:opacity-40`,children:t?`Creating draftâ¦`:`Create improvement draft PR`})]})}function nn({suppressions:e,busyId:t,onRestore:n}){let[r,i]=(0,l.useState)({});return e.length===0?null:(0,U.jsxs)(`section`,{className:`rounded-2xl border border-red-400/30 bg-red-500/10 p-5`,children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.2em] text-red-200/70`,children:`Operational safety`}),(0,U.jsx)(`h2`,{className:`mt-1 text-xl font-bold text-stone-50`,children:`Production suppression`}),(0,U.jsx)(`div`,{className:`mt-4 space-y-4`,children:e.map(e=>{let a=r[e.id]||``,o=!!(e.restore_binding&&e.restore_confirmation);return(0,U.jsxs)(`article`,{className:`rounded-xl border border-red-300/15 bg-black/15 p-4`,children:[(0,U.jsxs)(`p`,{className:`font-semibold text-red-100`,children:[e.native_language,` â `,e.target_language,` · `,e.tier]}),(0,U.jsx)(`p`,{className:`mt-1 text-sm text-red-100`,children:e.reason}),(0,U.jsxs)(`dl`,{className:`mt-3 grid gap-2 text-xs sm:grid-cols-[9rem_1fr]`,children:[(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Authority`}),(0,U.jsx)(`dd`,{className:`font-semibold text-stone-300`,children:e.operational_source===`production`?`Production operational state`:`Local qual
9ity control plane`}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Episode`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-300`,children:e.id}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Set by`}),(0,U.jsx)(`dd`,{className:`text-stone-300`,children:e.set_automatically?`Automatic hard-regression response`:`Human action`}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Suppressed`}),(0,U.jsx)(`dd`,{className:`font-mono text-stone-300`,children:e.suppressed_at}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Triggering run`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-300`,children:e.triggering_run_id||`not recorded`})]}),o&&e.restore_confirmation?(0,U.jsxs)(`div`,{className:`mt-4`,children:[(0,U.jsxs)(`details`,{className:`mb-3 rounded border border-red-200/10 p-3`,children:[(0,U.jsx)(`summary`,{className:`cursor-pointer text-xs font-semibold text-red-100`,children:`Exact production restore binding`}),(0,U.jsx)(`pre`,{className:`mt-2 overflow-auto whitespace-pre-wrap break-all rounded bg-black/25 p-3 font-mono text-xs leading-5 text-stone-400`,children:JSON.stringify(e.restore_binding,null,2)})]}),(0,U.jsx)(`p`,{className:`break-all rounded bg-black/25 p-2 font-mono text-xs text-stone-400`,children:e.restore_confirmation}),(0,U.jsx)(`input`,{"aria-label":`Exact restore confirmation for ${e.id}`,value:a,onChange:t=>i(n=>({...n,[e.id]:t.target.value})),className:`mt-2 w-full rounded-lg border border-white/10 bg-[#100c0a] px-3 py-2 font-mono text-xs text-stone-100`}),(0,U.jsx)(`button`,{type:`button`,disabled:t!==null||a!==e.restore_confirmation,onClick:()=>void n(e,a),className:`mt-2 rounded-lg bg-red-300 px-3 py-2 text-sm font-bold text-red-950 disabled:opacity-40`,children:t===e.id?`Restoringâ¦`:`Human-authorize restoration`})]}):(0,U.jsxs)(`p`,{className:`mt-3 text-sm text-red-200`,children:[`Restoration blocked: `,e.restore_blocked_reason||`no current passing production evidence`]})]},e.id)})})]})}function rn({open:e,pair:t,run:n,busy:r,onClose:i,onApprove:a}){let[o,s]=(0,l.useState)(``);if(!e)return null;let c=n.approval_confirmation||``,u=n.approval_binding,d=u?.tiers||t.offered_tiers,f=u!==null&&c.length>0&&n.status===`complete`&&n.tier_results.length===u.tiers.length&&n.tier_results.every(e=>e.verdict===`Pass`&&e.evidence_status===`usable`&&e.state===`Ready to approve`)&&u.tiers[0]===`paid`&&new Set(u.run_ids).size===1&&u.suite_content_sha256.length===64&&u.config_bundle_manifest_sha256.length===64&&u.evaluation_cohort_sha256.length===64;return(0,U.jsx)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":`approval-title`,className:`fixed inset-0 z-50 grid place-items-center overflow-y-auto bg-black/75 p-4`,children:(0,U.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),u&&a({confirmation:o,binding:u})},className:`w-full max-w-xl rounded-2xl border border-emerald-400/25 bg-[#18120f] p-6 shadow-2xl`,children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.2em] text-emerald-300/70`,children:`Human approval boundary`}),(0,U.jsx)(`h2`,{id:`approval-title`,className:`mt-1 text-2xl font-bold text-stone-50`,children:`Approve exact qualification evidence`}),(0,U.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-stone-300`,children:`This creates immutable approval-intent artifacts in a reviewable draft pull request. It does not merge, deploy, reconcile an operational qualification, or expose the pair by itself.`}),(0,U.jsxs)(`dl`,{className:`mt-4 grid gap-2 rounded-xl border border-white/10 bg-black/15 p-4 text-xs sm:grid-cols-[9rem_1fr]`,children:[(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Direction`}),(0,U.jsxs)(`dd`,{className:`font-mono text-stone-200`,children:[t.native_language,` â `,t.target_language]}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Tiers`}),(0,U.jsx)(`dd`,{className:`font-mono text-stone-200`,children:d.join(`, `)}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Suite`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-200`,children:n.suite_version}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Run`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-200`,children:n.id}),(0,U.jsx)(`dt`,{className:`text-stone-500`,children:`Configuration`}),(0,U.jsx)(`dd`,{className:`break-all font-mono text-stone-200`,children:n.config_fingerprint})]}),(0,U.jsxs)(`label`,{className:`mt-5 block text-sm font-semibold text-stone-200`,children:[`Type `,(0,U.jsx)(`code`,{className:`rounded bg-black/30 px-1.5 py-0.5 text-emerald-200`,children:c}),(0,U.jsx)(`input`,{"aria-label":`Exact approval confirmation`,autoComplete:`off`,value:o,onChange:e=>s(e.target.value),className:`mt-2 w-full rounded-lg border border-white/10 bg-[#100c0a] px-3 py-2 font-mono text-sm text-stone-100 outline-none focus:border-emerald-400/50`})]}),f?null:(0,U.jsx)(`p`,{className:`mt-3 text-sm text-rose-300`,children:`Approval is blocked because the evidence binding is incomplete.`}),(0,U.jsxs)(`div`,{className:`mt-6 flex justify-end gap-3`,children:[(0,U.jsx)(`button`,{type:`button`,disabled:r,onClick:i,className:`rounded-lg border border-white/10 px-4 py-2 text-sm font-semibold text-stone-300 hover:bg-white/5`,children:`Cancel`}),(0,U.jsx)(`button`,{type:`submit`,disabled:r||!f||o!==c,className:`rounded-lg bg-emerald-500 px-4 py-2 text-sm font-bold text-emerald-950 hover:bg-emerald-400 disabled:cursor-not-allowed disabled:opacity-40`,children:r?`Approvingâ¦`:`Approve exact evidence`})]})]})})}var an=()=>!0,on=()=>!0,sn=e=>e?e.status===`complete`?e.latest_run_id===null:![`alignment_review`,`failed`,`pending_upload`].includes(e.status):!0,cn=e=>!e||e.status===`queued`||e.status===`running`||e.status===`complete`&&!!e.pronunciation_runtime_report&&(!e.pronunciation_improvement||[`development`,`validation`,`regression`].includes(e.pronunciation_improvement.status));function ln(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function un(e,t){return`${e}:${t}`}async function dn(e){let t=JSON.parse(await e.text());if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`${e.name} must contain one JSON object.`);return{filename:e.name,payload:t}}async function fn(e){let t=await crypto.subtle.digest(`SHA-256`,await e.arrayBuffer());return Array.from(new Uint8Array(t),e=>e.toString(16).padStart(2,`0`)).join(``)}function pn({recording:e,run:t,uploadPercent:n,recovered:r}){let i=n??t?.progress_percent??e?.progress_percent??0,a=t?.status||e?.status||(r?`uploading`:`idle`),o=t?.status_message||e?.status_message||(r?`Recovered upload state from this browser.`:`No workflow running.`);return(0,U.jsxs)(`section`,{className:`rounded-2xl border border-white/10 bg-white/[0.025] p-5`,children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.18em] text-stone-500`,children:`Workflow status`}),(0,U.jsx)(`h2`,{className:`mt-1 text-lg font-bold capitalize text-stone-100`,children:a.replaceAll(`_`,` `)})]}),(0,U.jsxs)(`span`,{className:`font-mono text-sm text-stone-400`,children:[Math.round(i),`%`]})]}),(0,U.jsx)(`progress`,{"aria-label":`Qualification workflow progress`,value:Math.max(0,Math.min(100,i)),max:100,className:`mt-4 h-2 w-full accent-amber-400`}),(0,U.jsx)(`p`,{className:`mt-3 text-sm text-stone-400`,children:o}
9),r?(0,U.jsxs)(`p`,{className:`mt-2 text-xs text-sky-200`,children:[`Progress recovery is active for `,r.filename,`. Reloading this page will continue polling the same recording.`]}):null]})}function mn({run:e}){return e.tier_results.length===0?null:(0,U.jsxs)(`section`,{"aria-labelledby":`verdicts-title`,children:[(0,U.jsx)(`h2`,{id:`verdicts-title`,className:`text-lg font-bold text-stone-100`,children:`Qualification verdicts`}),(0,U.jsx)(`div`,{className:`mt-3 grid gap-3 sm:grid-cols-2`,children:e.tier_results.map((t,n)=>(0,U.jsxs)(`article`,{className:`rounded-xl border border-white/10 bg-white/[0.025] p-4`,children:[(0,U.jsxs)(`p`,{className:`text-xs font-bold uppercase tracking-[0.16em] text-stone-500`,children:[t.tier,` tier`]}),(0,U.jsx)(`p`,{className:`mt-2 text-xl font-bold text-stone-100`,children:t.verdict||`Not resolved`}),(0,U.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-stone-400`,children:t.summary})]},`${e.id}:${t.qualification_run_id??`unbound`}:${t.tier}:${n}`))})]})}function hn({api:e=Qe,storage:t=window.localStorage}){let[n,r]=(0,l.useState)(null),[i,a]=(0,l.useState)(null),[o,s]=(0,l.useState)({}),[c,u]=(0,l.useState)(!1),[d,f]=(0,l.useState)(!1),[p,m]=(0,l.useState)(!1),[h,g]=(0,l.useState)(!1),[_,v]=(0,l.useState)(null),[y,b]=(0,l.useState)(null),[x,S]=(0,l.useState)(!1),[C,w]=(0,l.useState)(null),[T,E]=(0,l.useState)(null),[D,O]=(0,l.useState)(null),[k,A]=(0,l.useState)(null),[j,M]=(0,l.useState)(null),[ee,N]=(0,l.useState)([]),[P,F]=(0,l.useState)([]),I=(0,l.useRef)(null),te=(0,l.useRef)(null),L=(0,l.useRef)(!1),[ne,re]=(0,l.useState)(null),[R,z]=(0,l.useState)(null),[B,ie]=(0,l.useState)(`commissioned`),[ae,oe]=(0,l.useState)(null),[se,V]=(0,l.useState)(()=>tt(t)),ce=ct({enabled:!0,resourceKey:`pairs`,intervalMs:15e3,request:(0,l.useCallback)((t,n)=>e.listPairs(t,n),[e]),shouldPoll:an}),le=ct({enabled:!0,resourceKey:`suite-selection`,intervalMs:15e3,request:(0,l.useCallback)((t,n)=>e.getSuiteSelection(t,n),[e]),shouldPoll:on}),ue=(0,l.useMemo)(()=>{let e=le.data;return e?[{role:`current`,reference:e.current_suite},...e.next_suite?[{role:`next`,reference:e.next_suite}]:[]]:[]},[le.data]);(0,l.useEffect)(()=>{if(ue.length!==0){if(!L.current){L.current=!0,a((ue.find(e=>e.role===`next`)||ue[0]).reference.content_sha256);return}a(e=>e===null?null:ue.some(t=>t.reference.content_sha256===e)?e:null)}},[ue]);let de=ce.data||[],H=de.find(e=>e.pair_key===n)||de[0]||null,fe=H?.pair_key||null,pe=ue.find(e=>e.reference.content_sha256===i)||null,me=pe?.reference||null,he=fe&&me?un(fe,me.content_sha256):null,ge=he&&o[he]||null,_e=dt(B,B===`synthetic`?ae?.payload:ne?.payload),ve=ot(se,H?.native_language||null,H?.target_language||null,_e),ye=ve?se.recording_id:null,W=(0,l.useCallback)((t,n)=>{if(!ye)throw Error(`Recording id is unavailable`);return e.getRecording(ye,t,n)},[e,ye]),be=ct({enabled:!!ye,resourceKey:ye||`no-recording`,intervalMs:1500,request:W,shouldPoll:sn}),xe=be.data,Se=xe?.latest_run_id||(ve?se.run_id:null)||(_e===null?H?.latest_run_id:null)||null,Ce=[fe||`no-pair`,_e||`no-evidence-package`,ye||`no-recording`].join(`:`),we=j?.selectionKey===Ce?j:null,Te=we&&Se===we.discoveredRunIdAtQueue?we.anchorRunId:Se,Ee=(0,l.useCallback)((t,n)=>{if(!Te)throw Error(`Run id is unavailable`);return e.getRun(Te,t,n)},[e,Te]),De=ct({enabled:!!Te,resourceKey:Te||`no-run`,intervalMs:2500,request:Ee,shouldPoll:cn}),G=De.data,Oe=(0,l.useCallback)(async t=>{let[n,r]=await Promise.all([e.listProposals(I.current,t),e.listSuppressions(te.current,t)]);I.current=n.etag,te.current=r.etag,n.data&&N(n.data),r.data&&F(r.data)},[e]);(0,l.useEffect)(()=>{if(!H)return;let e=!1,t=null,n=async()=>{if(!e){e=!0,t=new AbortController;try{await Oe(t.signal)}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return}finally{e=!1}}};n();let r=window.setInterval(()=>void n(),5e3);return()=>{t?.abort(),window.clearInterval(r)}},[Oe,H]),(0,l.useEffect)(()=>{if(!xe||!se||xe.id!==se.recording_id||xe.received_bytes===se.received_bytes&&xe.latest_run_id===se.run_id)return;let e=it(se,xe);nt(e,t),V(e)},[xe,se,t]);let ke=(0,l.useMemo)(()=>H?G?.pair_summary||(!G||G.tier_results.length===0?H:{...H,tiers:G.tier_results,offered_tiers:G.tier_results.map(e=>e.tier),latest_run_id:G.id,suite_version:G.suite_version}):null,[G,H]),Ae=(0,l.useMemo)(()=>{let e=new Set;return G?.id&&e.add(G.id),G?.technical_evidence?.forEach(t=>e.add(t.run_id)),ee.filter(t=>e.has(t.source_run_id))},[ee,G]),je=(0,l.useMemo)(()=>H?P.filter(e=>e.native_language===H.native_language&&e.target_language===H.target_language&&e.open):[],[H,P]),Me=async()=>
9{if(!H)return;if(le.error){E(`Qualification suite selection could not be verified. Wait for it to refresh before generating a package.`);return}if(!me||!he){E(`Choose an exact qualification suite before generating a package.`);return}let t=me.version,n=he;u(!0),E(null),O(null);try{let r=await e.createPackage({native_language:H.native_language,target_language:H.target_language,tiers:H.offered_tiers,suite_version:t});if(r.suite_version!==t)throw Error(`Package generation returned suite ${r.suite_version}; expected ${t}. Commissioning was stopped.`);let i=await e.commissionPackage(r.id);if(i.suite_version!==t)throw Error(`Commissioning returned suite ${i.suite_version}; expected ${t}.`);s(e=>({...e,[n]:i})),O(`The suite ${t} speaker package is ready to download.`)}catch(e){E(e instanceof Error?e.message:`Package generation failed`)}finally{u(!1)}},Ne=async(e,t)=>{E(null);try{let n=await We(e),r=URL.createObjectURL(n.blob),i=document.createElement(`a`);i.href=r,i.download=n.filename||t,i.style.display=`none`,document.body.appendChild(i),i.click(),i.remove(),window.setTimeout(()=>URL.revokeObjectURL(r),0)}catch(e){E(e instanceof Error?e.message:`Artifact download failed`)}},Pe=async n=>{if(!H)return;if(B===`commissioned`&&(!ne||!R)||B===`synthetic`&&!ae){E(B===`synthetic`?`Select the synthesis manifest before uploading its audio.`:`Select the completed speaker declaration and commissioned-rights JSON files before uploading audio.`);return}let r=ve?se:null;if(r&&!at(n,r)){E(`Select the original file (${r.filename}, ${ln(r.total_bytes)}) to resume safely.`);return}let i=dt(B,B===`synthetic`?ae?.payload:ne?.payload),a=r?.package_id||i||ge?.id;if(!a){E(`The selected provenance JSON has no package ID. Select the original JSON or generate a new recording package.`);return}f(!0),E(null),O(null);try{let i=B===`synthetic`?await fn(n):null,o=await e.createUploadSession({package_id:a,...r?{recording_id:r.re
9cording_id}:{},native_language:H.native_language,target_language:H.target_language,filename:n.name,content_type:n.type||`audio/wav`,total_bytes:n.size,...B===`synthetic`?{synthesis_manifest:ae.payload,audio_sha256:i}:{}}),s={recording_id:o.recording.id,package_id:a,run_id:o.recording.latest_run_id,native_language:H.native_language,target_language:H.target_language,filename:n.name,content_type:n.type||`audio/wav`,total_bytes:n.size,last_modified:n.lastModified,received_bytes:o.recording.received_bytes,updated_at:new Date().toISOString()};nt(s,t),V(s),w(n.size===0?100:o.recording.received_bytes/n.size*100),await e.uploadRecordingContent(o,n,o.recording.received_bytes,e=>{w(e.percent);let n={...s,received_bytes:e.uploadedBytes};nt(n,t),V(n)});let c=B===`synthetic`?{source_type:`synthetic`,synthesis_manifest:ae.payload}:{source_type:`commissioned`,speaker_declaration:{...ne.payload,recording_id:o.recording.id},rights_record:{...R.payload,recording_id:o.recording.id,audio_sha256:i||await fn(n)}},l=await e.finalizeRecording(o.recording.id,c),u=it(s,l);u.received_bytes=l.total_bytes,nt(u,t),V(u),w(null),be.refetch(),O(`Upload complete. Alignment and evaluation started automatically.`)}catch(e){E(e instanceof Error?`${e.message}. Your upload identifier was saved so you can resume.`:`Upload paused. Your upload identifier was saved so you can resume.`)}finally{f(!1)}},Fe=async t=>{if(xe){m(!0),E(null);try{if(xe.alignment_revision===null||!be.etag)throw Error(`Alignment changed or is still loading. Reload its current revision before saving.`);await e.reviseAlignment(xe.id,{base_alignment_revision:xe.alignment_revision,corrections:t},be.etag),be.refetch(),O(`Cuts saved. Evaluation has resumed.`)}catch(e){E(e instanceof Error?e.message:`Unable to save cuts`)}finally{m(!1)}}},Ie=async t=>{if(!(!G||!ke)){g(!0),E(null);try{if(!De.etag)throw Error(`Approval is blocked until the current run ETag is loaded`);A((await e.approveRun(G.id,t,De.etag)).pull_request_url),S(!1),O(`Approval intent drafted. The pull request is ready for review.`),ce.refetch()}catch(e){E(e instanceof Error?e.message:`Approval failed`)}finally{g(!1)}}},Le=async(t,n)=>{v(t.id),E(null);try{await e.validateProposal(t.id,n),O(`Exact candidate overlay queued for affected-recording replay.`),await Oe()}catch(e){E(e instanceof Error?e.message:`Proposal validation failed`)}finally{v(null)}},Re=async(t,n,r)=>{v(t.id),E(null);try{A((await e.approveProposal(t.id,{binding:n,confirmation:r})).pull_request_url),O(`Validated refinement drafted for human code review.`),await Oe()}catch(e){E(e instanceof Error?e.message:`Refinement approval failed`)}finally{v(null)}},ze=async(t,n)=>{let r=t.restore_binding?.passing_run_id;if(r){b(t.id),E(null);try{await e.restoreSuppression(t.id,r,n),O(`Production suppression restored with exact human authorization.`),await Oe(),ce.refetch()}catch(e){E(e instanceof Error?e.message:`Suppression restore failed`)}finally{b(null)}}},Be=async(t,n)=>{v(t.id),E(null);try{A((await e.approvePronunciationImprovement(t.id,n)).pull_request_url),O(`Measured improvement drafted for human review. Qualification and availability are unchanged.`),await Oe()}catch(e){E(e instanceof Error?e.message:`Improvement draft creation failed`)}finally{v(null)}},Ve=()=>{rt(t),V(null),M(null),w(null)},He=T||ce.error||le.error||be.error||De.error;return(0,U.jsxs)(`main`,{className:`min-h-screen bg-[#100c09] text-stone-100`,children:[(0,U.jsx)(`header`,{className:`border-b border-white/10 bg-black/10 px-5 py-5`,children:(0,U.jsxs)(`div`,{className:`mx-auto flex max-w-7xl flex-wrap items-center justify-between gap-4`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.22em] text-amber-300/70`,children:`Internal founder workspace`}),(0,U.jsx)(`h1`,{className:`mt-1 font-display text-3xl font-bold`,children:`Evaluate & improve`})]}),(0,U.jsx)(`div`,{className:`rounded-full border border-white/10 px-3 py-1.5 text-xs text-stone-400`,children:`Founder access · server enforced`})]})}),(0,U.jsxs)(`div`,{className:`mx-auto max-w-5xl space-y-5 px-5 py-6`,children:[ce.loading?(0,U.jsx)(`section`,{className:`rounded-2xl border border-white/10 bg-white/[0.025] p-5 text-sm text-stone-500`,children:`Loading language directionsâ¦`}):(0,U.jsx)(ut,{pairs:de,selectedPair:H,refreshing:ce.refreshing,onSelect:r}),(0,U.jsxs)(`div`,{className:`min-w-0 space-y-5`,children:[He?(0,U.jsx)(`div`,{role:`alert`,className:`rounded-xl border border-rose-400/30 bg-rose-500/10 p-4 text-sm text-rose-100`,children:He}):null,D?(0,U.jsxs)(`div`,{role:`status`,className:`rounded-xl border border-sky-400/25 bg-sky-500/10 p-4 text-sm text-sky-100`,children:[D,k?(0,U.jsx)(`a`,{href:k,target:`_blank`,rel:`noreferrer`,className:`ml-2 font-bold underline underline-offset-4`,children:`Open draft PR`}):null]}):null,H?(0,U.jsxs)(U.Fragment,{children:[ke?(0,U.jsx)(qt,{pair:ke,onApprove:()=>{G?S(!0):E(`The exact qualification run is not available yet.`)}}):null,(0,U.jsxs)(`section`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,U.jsxs)(`div`,{className:`rounded-2xl border border-white/10 bg-white/[0.025] p-5`,children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.18em] text-stone-500`,children:`Step 1`}),(0,U.jsx)(`h2`,{className:`mt-1 text-lg font-bold text-stone-100`,children:`Recording package`}),(0,U.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-stone-400`,children:`Generate the standardized script and manifest for one continuous human or synthetic recording. If you already have its declaration or synthesis manifest, you can skip this
9step.`}),(0,U.jsxs)(`label`,{className:`mt-4 block text-xs font-bold uppercase tracking-[0.14em] text-stone-400`,children:[`Qualification suite`,(0,U.jsxs)(`select`,{"aria-label":`Qualification suite`,value:i||``,disabled:c||le.loading||le.error!==null,onChange:e=>{a(e.target.value||null),E(null),O(null)},className:`mt-2 w-full rounded-lg border border-white/15 bg-stone-950 px-3 py-2 text-sm normal-case tracking-normal text-stone-100`,children:[(0,U.jsx)(`option`,{value:``,disabled:!0,children:le.loading?`Loading qualification suitesâ¦`:`Choose a qualification suiteâ¦`}),ue.map(e=>(0,U.jsxs)(`option`,{value:e.reference.content_sha256,children:[e.reference.version,` â `,e.role===`next`?`Staged successor (recommended)`:`Current`]},`${e.role}:${e.reference.content_sha256}`))]})]}),pe?(0,U.jsxs)(`p`,{className:`mt-2 text-xs leading-5 text-stone-500`,children:[pe.role===`next`?`Suite ${pe.reference.version} collects shadow qualification evidence and does not change public availability.`:`Suite ${pe.reference.version} is the current public qualification suite.`,` Suite hash `,(0,U.jsx)(`span`,{className:`font-mono`,children:pe.reference.content_sha256.slice(0,12)}),`â¦`]}):null,(0,U.jsx)(`button`,{type:`button`,disabled:c||le.loading||le.error!==null||me===null,onClick:()=>void Me(),className:`mt-4 rounded-lg bg-amber-400 px-4 py-2 text-sm font-bold text-stone-950 hover:bg-amber-300 disabled:opacity-40`,children:c?`Generatingâ¦`:`Generate package`}),ge?(0,U.jsxs)(`div`,{className:`mt-4`,children:[(0,U.jsxs)(`p`,{className:`mb-2 text-xs text-stone-400`,children:[`Generated with suite `,ge.suite_version]}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-3 text-sm`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:()=>void Ne(ge.download_url,`${ge.id}.zip`),className:`font-bold text-amber-200 underline underline-offset-4`,children:`Download speaker package`}),ge.manifest_download_url?(0,U.jsx)(`button`,{type:`button`,onClick:()=>void Ne(ge.manifest_download_url,`${ge.id}-manifest.json`),className:`text-stone-300 underline underline-offset-4`,children:`Download manifest`}):null]})]}):null]}),(0,U.jsxs)(`div`,{className:`rounded-2xl border border-white/10 bg-white/[0.025] p-5`,children:[(0,U.jsx)(`p`,{className:`text-xs font-bold uppercase tracking-[0.18em] text-stone-500`,children:`Step 2`}),(0,U.jsx)(`h2`,{className:`mt-1 text-lg font-bold text-stone-100`,children:`Upload continuous audio`}),(0,U.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-stone-400`,children:`Upload either a commissioned human recording or a generated voice. Both run through the same qualification pipeline.`}),(0,U.jsxs)(`label`,{className:`mt-4 block text-xs font-bold uppercase tracking-[0.14em] text-stone-400`,children:[`Recording source`,(0,U.jsxs)(`select`,{"aria-label":`Recording source`,value:B,disabled:d,onChange:e=>ie(e.target.value),className:`mt-2 w-full rounded-lg border border-white/15 bg-stone-950 px-3 py-2 text-sm normal-case tracking-normal text-stone-100`,children:[(0,U.jsx)(`option`,{value:`commissioned`,children:`Human speaker`}),(0,U.jsx)(`option`,{value:`synthetic`,children:`Synthetic voice`})]})]}),B===`commissioned`?(0,U.jsxs)(`div`,{className:`mt-4 grid gap-2 sm:grid-cols-2`,children:[(0,U.jsxs)(`label`,{className:`cursor-pointer rounded-lg border border-white/15 px-3 py-2 text-xs font-bold text-stone-200 hover:bg-white/5`,children:[ne?.filename||`Speaker declaration JSON`,(0,U.jsx)(`input`,{"aria-label":`Speaker declaration JSON`,type:`file`,accept:`application/json,.json`,disabled:d,className:`sr-only`,onChange:e=>{let t=e.target.files?.[0];t&&dn(t).then(re).catch(e=>E(e instanceof Error?e.message:`Speaker declaration is not valid JSON.`)),e.target.value=``}})]}),(0,U.jsxs)(`label`,{className:`cursor-pointer rounded-lg border border-white/15 px-3 py-2 text-xs font-bold text-stone-200 hover:bg-white/5`,children:[R?.filename||`Commissioned rights JSON`,(0,U.jsx)(`input`,{"aria-label":`Commissioned rights JSON`,type:`file`,accept:`application/json,.json`,disabled:d,className:`sr-only`,onChange:e=>{let t=e.target.files?.[0];t&&dn(t).then(z).catch(e=>E(e instanceof Error?e.message:`Commissioned rights are not valid JSON.`)),e.target.value=``}})]})]}):(0,U.jsxs)(`div`,{className:`mt-4`,children:[(0,U.jsxs)(`label`,{className:`block cursor-pointer rounded-lg border border-white/15 px-3 py-2 text-xs font-bold text-stone-200 hover:bg-white/5`,children:[ae?.filename||`Synthesis manifest JSON`,(0,U.jsx)(`input`,{"aria-label":`Synthesis manifest JSON`,type:`file`,accept:`application/json,.json`,disabled:d,className:`sr-only`,onChange:e=>{let t=e.target.files?.[0];t&&dn(t).then(e=>{oe(e);let t=ft(e.payload);t&&de.some(e=>e.pair_key===t)&&r(t)}).catch(e=>
9E(e instanceof Error?e.message:`Synthesis manifest is not valid JSON.`)),e.target.value=``}})]}),(0,U.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-stone-500`,children:`The manifest proves which provider, voice, settings, script, and exact WAV produced this recording. It replaces human rights and declaration files.`})]}),(0,U.jsxs)(`label`,{className:`mt-4 inline-flex cursor-pointer rounded-lg border border-white/15 px-4 py-2 text-sm font-bold text-stone-200 hover:bg-white/5`,children:[d?`Uploadingâ¦`:ve?`Reselect audio to resume`:`Choose audio file`,(0,U.jsx)(`input`,{"aria-label":`Continuous recording audio`,type:`file`,accept:`audio/wav,.wav`,disabled:d,className:`sr-only`,onChange:e=>{let t=e.target.files?.[0];t&&Pe(t),e.target.value=``}})]}),ve?(0,U.jsxs)(`div`,{className:`mt-3 text-xs leading-5 text-sky-200`,children:[(0,U.jsxs)(`p`,{children:[`Recovered `,ln(se.received_bytes),` of `,ln(se.total_bytes),` for `,se.filename,`.`]}),(0,U.jsx)(`button`,{type:`button`,onClick:Ve,className:`mt-1 text-stone-500 underline underline-offset-4 hover:text-stone-300`,children:`Dismiss local recovery state`})]}):null]})]}),xe||G||ve?(0,U.jsx)(pn,{recording:xe,run:G,uploadPercent:C,recovered:ve?se:null}):null,xe?.status===`alignment_review`?(0,U.jsx)(Yt,{sections:xe.alignment_sections,busy:p,onSubmit:Fe},xe.updated_at):null,G?(0,U.jsx)(mn,{run:G}):null,G?(0,U.jsx)(Lt,{report:G.pronunciation_runtime_report,improvement:G.pronunciation_improvement,evidence:G.technical_evidence,pending:G.status===`queued`||G.status===`running`},G.id):null,ke?(0,U.jsx)($t,{diagnostics:G?.diagnostics||[],tiers:G?.tier_results||ke.tiers,evidence:G?.technical_evidence||[],onRerunQueued:e=>{let[t]=e;M({selectionKey:Ce,anchorRunId:t,discoveredRunIdAtQueue:Se}),ye&&be.refetch()}}):null,(0,U.jsx)(en,{proposals:Ae,busyId:_,onValidate:Le,onApprove:Re,onApproveImprovement:Be}),(0,U.jsx)(nn,{suppressions:je,busyId:y,onRestore:ze})]}):(0,U.jsx)(`section`,{className:`rounded-2xl border border-dashed border-white/10 p-10 text-center text-stone-500`,children:`Select or configure a directional pair to begin.`})]})]}),x&&ke&&G?(0,U.jsx)(rn,{open:!0,pair:ke,run:G,busy:h,onClose:()=>S(!1),onApprove:Ie}):null]})}var gn=class extends Error{status;constructor(e,t){super(e),this.name=`LabApiError`,this.status=t}};async function _n(e,t){let n=new Headers(t?.headers),r=h();return r&&!n.has(`Authorization`)&&n.set(`Authorization`,`Bearer ${r}`),fetch(v(e),{...t,headers:n,credentials:`include`})}async function vn(e){let t=await e.json().catch(()=>null);return new gn(typeof t?.detail==`string`?t.detail:`Lab request failed`,e.status)}async function yn(e,t){let n=await _n(e,t);if(!n.ok)throw await vn(n);return await n.json()}async function bn(){return yn(`/lab/phase2/stories`)}async function xn(e){return yn(`/lab/phase2/stories`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)})}async function Sn(e){return yn(`/lab/phase2/stories/${encodeURIComponent(e)}`)}async function Cn(e,t){return yn(`/lab/phase2/stories/${encodeURIComponent(e)}/artifacts/${encodeURIComponent(t)}`,{method:`POST`})}async function wn(e,t){return yn(`/lab/phase2/stories/${encodeURIComponent(e)}/artifacts/${encodeURIComponent(t)}`)}async function Tn(e){return yn(`/lab/phase2/stories/${encodeURIComponent(e)}/snippets`)}async function En(e,t){return yn(`/lab/phase2/snippets/${encodeURIComponent(e)}/expectations`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})}async function Dn(e,t,n){let r=new FormData;return r.append(`audio`,t),r.append(`label`,n),yn(`/lab/phase2/stories/${encodeURIComponent(e)}/snippets`,{method:`POST`,body:r})}async function On(e,t){return yn(`/lab/phase2/stories/${encodeURIComponent(e)}/snippets/fixture`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})}async function kn(e,t){let n=await _n(`/lab/phase2/snippets/${encodeURIComponent(e)}/audio`,{signal:t});if(!n.ok)throw await vn(n);return n.blob()}async function An(e,t){return yn(`/lab/phase2/snippets/${encodeURIComponent(e)}/runs`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)})}async function jn(e){return yn(`/lab/phase2/snippets/${encodeURIComponent(e)}/runs`)}async function Mn(e,t){return yn(`/lab/phase2/snippets/${encodeURIComponent(e)}/golden`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({run_id:t})})}async function Nn(e){return yn(`/lab/phase2/snippets/${encodeURIComponent(e)}/golden`,{method:`DELETE`})}async function Pn(e,t){return yn(`/lab/phase2/stories/${encodeURIComponent(e)}/score?tier=${encodeURIComponent(t)}`)}function Fn(e){if(e instanceof DOMException){if(e.name===`NotAllowedError`||e.name===`SecurityError`)return`Microphone permission was denied. Allow microphone access for this page and try again.`;if(e.name===`NotFoundError`)return`No microphone was found on this device.`;if(e.name===`NotReadableError`)return`The microphone is already in use by another app.`}return e instanceof Error?e.message.toLowerCase()===`permission denied`?`Microphone permission was denied. Allow microphone access for this page and try again.`:e.message:`Audio capture failed`}function In({onAudioData:e,sampleRate:t=16e3}){let[n,r]=(0,l.useState)(!1),[i,a]=(0,l.useState)(!1),[o,s]=(0,l.useState)(null),c=(0,l.useRef)(null),u=(0,l.useRef)(null),d=(0,l.useRef)(0),f=(0,l.useCallback)(async()=>
9{d.current+=1,c.current&&=(c.current.getTracks().forEach(e=>e.stop()),null),u.current&&=(await u.current.close(),null),r(!1),a(!1)},[]);return{isCapturing:n,isStarting:i,error:o,startCapture:(0,l.useCallback)(async(n=`microphone`)=>{await f();let i=d.current+1;d.current=i,a(!0),s(null);let o=null,l=null;try{if(n===`microphone`){if(!navigator.mediaDevices?.getUserMedia)throw Error(`Microphone capture is not available on this browser/device.`);o=await navigator.mediaDevices.getUserMedia({audio:{channelCount:1,sampleRate:t,echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}})}else{if(!navigator.mediaDevices?.getDisplayMedia)throw Error(`Tab capture is not available on this browser/device.`);if(o=await navigator.mediaDevices.getDisplayMedia({video:!0,audio:{channelCount:1,sampleRate:t,echoCancellation:!1,noiseSuppression:!1,autoGainControl:!1}}),o.getAudioTracks().length===0)throw o.getTracks().forEach(e=>e.stop()),Error(`No audio track found. Share a tab with audio enabled.`);o.getVideoTracks().forEach(e=>e.stop())}if(d.current!==i)return o.getTracks().forEach(e=>e.stop()),!1;if(l=new AudioContext({sampleRate:t,latencyHint:`interactive`}),await l.resume(),d.current!==i||(await l.audioWorklet.addModule(`/audio-processor.js`),d.current!==i))return o.getTracks().forEach(e=>e.stop()),await l.close(),!1;let p=l.createMediaStreamSource(o),m=new AudioWorkletNode(l,`pcm-processor`),h=l.createGain();return h.gain.value=0,m.port.onmessage=t=>{e({pcmBytes:new Uint8Array(t.data).slice()})},p.connect(m),m.connect(h),h.connect(l.destination),o.getAudioTracks()[0]?.addEventListener(`ended`,()=>{f()}),c.current=o,u.current=l,r(!0),a(!1),s(null),!0}catch(e){return o&&c.current!==o&&o.getTracks().forEach(e=>e.stop()),l&&u.current!==l&&await l.close().catch(()=>void 0),d.current===i&&(r(!1),a(!1),s(Fn(e))),!1}},[f,e,t]),stopCapture:(0,l.useCallback)(async()=>{await f()},[f])}}function Ln(e,t,n){for(let r=0;r<n.length;r+=1)e.setUint8(t+r,n.charCodeAt(r))}function Rn(e,t=16e3){let n=e.reduce((e,t)=>e+t.length,0),r=new ArrayBuffer(44+n),i=new DataView(r),a=new Uint8Array(r);Ln(i,0,`RIFF`),i.setUint32(4,36+n,!0),Ln(i,8,`WAVE`),Ln(i,12,`fmt `),i.setUint32(16,16,!0),i.setUint16(20,1,!0),i.setUint16(22,1,!0),i.setUint32(24,t,!0),i.setUint32(28,t*2,!0),i.setUint16(32,2,!0),i.setUint16(34,16,!0),Ln(i,36,`data`),i.setUint32(40,n,!0);let o=44;for(let t of e)a.set(t,o),o+=t.length;return new Blob([r],{type:`audio/wav`})}function zn(e){if(e.numberOfChannels<1||e.length<1)throw Error(`The recording did not contain an audio track.`);let t=new Float32Array(e.length);for(let n=0;n<e.numberOfChannels;n+=1){let r=e.getChannelData(n);for(let n=0;n<e.length;n+=1)t[n]+=(r[n]??0)/e.numberOfChannels}return t}function Bn(e,t,n){if(t<=0||n<=0)throw Error(`The recording had an invalid sample rate.`);if(t===n)return e;let r=Math.max(1,Math.round(e.length*n/t)),i=new Float32Array(r);for(let a=0;a<r;a+=1){let r=a*t/n,o=Math.min(Math.floor(r),e.length-1),s=Math.min(o+1,e.length-1),c=r-o,l=e[o]??0;i[a]=l+((e[s]??l)-l)*c}return i}function Vn(e){let t=new Uint8Array(e.length*2),n=new DataView(t.buffer);for(let t=0;t<e.length;t+=1){let r=Math.max(-1,Math.min(1,e[t]??0)),i=Math.round(r<0?r*32768:r*32767);n.setInt16(t*2,i,!0)}return t}function Hn(e,t=16e3){return Rn([Vn(Bn(zn(e),e.sampleRate,t))],t)}async function Un(e,t=16e3){let n=new AudioContext({sampleRate:t});try{return Hn(await n.decodeAudioData(await e.arrayBuffer()),t)}finally{await n.close().catch(()=>void 0)}}function Wn(e,t){return{item:t,relativeMs:typeof e.relative_ms==`number`?e.relative_ms:null}}function Gn(e){return e==null?`â`:`@${(e/1e3).toFixed(1)}s`}function Kn(e){return e?e.events.filter(e=>e.assist!=null).map(e=>Wn(e,e.assist)):[]}function qn(e){return e?e.events.filter(e=>e.suppression!=null).map(e=>Wn(e,e.suppression)):[]}function Jn(e){return e?e.events.filter(e=>e.segment!=null).map(e=>Wn(e,e.segment)):[]}function Yn(e){return e&&typeof e.target_language_pct==`number`?e.target_language_pct:null}function Xn(e){return!e||!Array.isArray(e.notes)?[]:e.notes}function Zn(e){return e===null?`â`:`${(e<=1?e*100:e).toFixed(0)}%`}var Qn={legacy:`Baseline legacy`,fusion_shadow:`V2 shadow`,candidate_live:`V2 candidate live (Lab only)`};function $n(e){return Qn[e]}function er(e){if(e.replay_mode)return e.replay_mode;if(e.phase2_result?.replay_mode)return e.phase2_result.replay_mode;let t=e.phase2_result?.events.find(e=>e.language_analysis?.final_detection_mode)?.language_analysis?.final_detection_mode;return t===`fusion_shadow`?`fusion_shadow`:t===`fusion_live`?`candidate_live`:`legacy`}function tr(e){return String(e.native_text??e.text??``).trim()}function nr(e,t){if(!e)return{transcript:``,spans:[],assists:[],suppressionReasons:[]};let n=e.language_analysis,r=t===`proposed`?n?.proposed_native_spans:n?.native_spans,i=Array.isArray(r)?r.map(tr).filter(
9Boolean):n?.native_fragment&&t===`selected`?[n.native_fragment]:[],a=e.assist,o=Array.isArray(a?.items)?a.items.map(e=>({nativeText:e.native_text??null,text:String(e.text??``).trim()||`(no text)`})):a?[{nativeText:null,text:String(a.text??``).trim()||`(no text)`}]:[],s=e.suppression?.reason?[e.suppression.reason]:[];return{transcript:String(e.transcript??``).trim(),spans:i,assists:o,suppressionReasons:s}}function rr({summary:e,shadowOnly:t=!1}){return(0,U.jsxs)(`div`,{className:`space-y-2 text-xs`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`span`,{className:`text-slate-500`,children:`Detected native spans: `}),e.spans.length===0?(0,U.jsx)(`span`,{className:`text-emerald-300`,children:`none`}):(0,U.jsx)(`span`,{className:`inline-flex flex-wrap gap-1`,children:e.spans.map((e,t)=>(0,U.jsxs)(`span`,{className:`rounded bg-violet-500/20 px-1.5 py-0.5 text-violet-200`,children:[`â`,e,`â`]},`${e}-${t}`))})]}),t?(0,U.jsx)(`p`,{className:`text-slate-400`,children:`Assist not executed in shadow; the legacy assist remained live.`}):e.assists.length>0?(0,U.jsx)(`ul`,{className:`space-y-1`,children:e.assists.map((e,t)=>(0,U.jsxs)(`li`,{children:[(0,U.jsx)(`span`,{className:`text-slate-500`,children:`Assist: `}),e.nativeText?(0,U.jsxs)(`span`,{className:`text-slate-300`,children:[`â`,e.nativeText,`â â `]}):null,(0,U.jsx)(`span`,{className:`text-sky-200`,children:e.text})]},`${e.text}-${t}`))}):(0,U.jsxs)(`p`,{children:[(0,U.jsx)(`span`,{className:`text-slate-500`,children:`Assist: `}),(0,U.jsx)(`span`,{className:`text-emerald-300`,children:`stayed quiet`}),e.suppressionReasons.length>0?(0,U.jsxs)(`span`,{className:`text-slate-500`,children:[` `,`(`,e.suppressionReasons.join(`, `),`)`]}):null]})]})}function ir({result:e,replayMode:t,runStatus:n,incompleteReason:r}){if(t===`legacy`)return null;let i=e.events.filter(e=>e.is_final!==!1&&e.language_analysis!=null),a=t===`candidate_live`?(e.comparison?.baseline_events??[]).filter(e=>e.is_final!==!1&&e.language_analysis!=null):i,o=Math.max(a.length,i.length);return(0,U.jsxs)(`div`,{className:`mt-4 rounded-lg border border-violet-500/30 bg-violet-500/5 p-3`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-wide text-violet-200`,children:`Legacy vs V2 detector and assist outcomes`}),t===`candidate_live`&&!e.comparison?(0,U.jsx)(`span`,{className:`rounded bg-amber-500/20 px-2 py-0.5 text-[10px] text-amber-200`,children:`baseline comparison unavailable`}):null,n===`incomplete`?(0,U.jsx)(`span`,{className:`rounded bg-amber-500/20 px-2 py-0.5 text-[10px] font-medium text-amber-200`,children:`candidate replay incomplete`}):null]}),(0,U.jsx)(`p`,{className:`mt-1 text-xs text-slate-400`,children:`Both columns use the same cached transcript and story artifacts.`}),n===`incomplete`?(0,U.jsxs)(`p`,{className:`mt-2 rounded bg-amber-500/10 p-2 text-xs text-amber-200`,children:[`The V2 result is diagnostic only and must not be treated as a completed comparison`,r?`: ${r}`:`.`]}):null,o===0?(0,U.jsx)(`p`,{className:`mt-3 text-xs text-slate-500`,children:`No final detector events.`}):(0,U.jsx)(`div`,{className:`mt-3 space-y-3`,children:Array.from({length:o},(e,n)=>{let r=nr(a[n],`selected`),o=nr(i[n],t===`fusion_shadow`?`proposed`:`selected`),s=o.transcript||r.transcript;return(0,U.jsxs)(`div`,{className:`rounded border border-slate-800 bg-slate-950/50 p-3`,children:[(0,U.jsxs)(`p`,{className:`mb-2 text-xs text-slate-300`,children:[(0,U.jsx)(`span`,{className:`text-slate-500`,children:`Transcript: `}),`â`,s||`(empty)`,`â`]}),(0,U.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2`,children:[(0,U.jsxs)(`div`,{className:`rounded border border-slate-800 p-2`,children:[(0,U.jsx)(`p`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wide text-slate-400`,children:`Baseline legacy`}),(0,U.jsx)(rr,{summary:r})]}),(0,U.jsxs)(`div`,{className:`rounded border border-violet-500/30 p-2`,children:[(0,U.jsxs)(`p`,{className:`mb-2 text-[10px] font-semibold uppercase tracking-wide text-violet-200`,children:[`V2 `,t===`fusion_shadow`?`shadow`:`candidate live`]}),(0,U.jsx)(rr,{summary:o,shadowOnly:t===`fusion_shadow`})]})]})]},`${s}-${n}`)})})]})}function ar({label:e,value:t}){let[n,r]=(0,l.useState)(!1);return(0,U.jsxs)(`div`,{className:`mt-2`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:()=>r(e=>!e),className:`text-xs text-slate-400 underline hover:text-slate-200`,children:[n?`Hide`:`Show`,` raw `,e]}),n?(0,U.jsx)(`pre`,{className:`mt-1 max-h-72 overflow-auto rounded bg-slate-900 p-3 text-xs text-slate-300`,children:JSON.stringify(t,null,2)}):null]})}function or({result:e}){let t=Xn(e);return(0,U.jsxs)(`details`,{className:`mt-3 rounded border border-slate-800 bg-slate-950/40 p-3`,children:[(0,U.jsx)(`summary`,{className:`curs
9or-pointer text-xs font-semibold text-slate-500`,children:`Historical pronunciation audit (legacy; not part of the Phase 2 score)`}),(0,U.jsxs)(`p`,{className:`mt-2 text-xs text-slate-500`,children:[`Pronunciation is now tested in`,` `,(0,U.jsx)(`a`,{href:`/lab/evaluate_and_improve`,className:`text-sky-400 underline hover:text-sky-300`,children:`Evaluate & Improve`}),`.`]}),e.result_state?(0,U.jsxs)(`p`,{className:`mt-2 text-xs text-slate-500`,children:[`state: `,e.result_state]}):null,t.length===0?(0,U.jsx)(`p`,{className:`text-xs text-slate-500`,children:e.skipped_reason?`skipped: ${e.skipped_reason}`:`no notes`}):(0,U.jsx)(`ul`,{className:`mt-1 list-disc space-y-0.5 pl-4 text-sm`,children:t.map((e,t)=>(0,U.jsxs)(`li`,{children:[(0,U.jsx)(`span`,{className:`font-medium text-slate-200`,children:e.target??`â`}),e.heard_as?(0,U.jsxs)(`span`,{className:`text-slate-500`,children:[` `,`(heard as â`,e.heard_as,`â)`]}):null,e.feedback?(0,U.jsxs)(`span`,{className:`text-slate-300`,children:[` â `,e.feedback]}):null]},t))}),(0,U.jsx)(ar,{label:`legacy pronunciation_result`,value:e})]})}function sr({title:e,summary:t}){return(0,U.jsxs)(`div`,{className:`flex-1 rounded border border-slate-800 p-3`,children:[(0,U.jsx)(`p`,{className:`mb-2 text-xs font-semibold uppercase tracking-wide text-slate-400`,children:e}),(0,U.jsxs)(`dl`,{className:`space-y-1 text-sm`,children:[(0,U.jsxs)(`div`,{className:`flex justify-between`,children:[(0,U.jsx)(`dt`,{className:`text-slate-400`,children:`status`}),(0,U.jsx)(`dd`,{children:t.status})]}),(0,U.jsxs)(`div`,{className:`flex justify-between`,children:[(0,U.jsx)(`dt`,{className:`text-slate-400`,children:`assists`}),(0,U.jsx)(`dd`,{children:t.assist_count})]}),(0,U.jsxs)(`div`,{className:`flex justify-between`,children:[(0,U.jsx)(`dt`,{className:`text-slate-400`,children:`suppressions`}),(0,U.jsx)(`dd`,{children:t.suppression_count})]}),(0,U.jsxs)(`div`,{className:`flex justify-between`,children:[(0,U.jsx)(`dt`,{className:`text-slate-400`,children:`segments`}),(0,U.jsx)(`dd`,{children:t.segment_count})]}),(0,U.jsxs)(`div`,{className:`flex justify-between`,children:[(0,U.jsx)(`dt`,{className:`text-slate-400`,children:`target lang`}),(0,U.jsx)(`dd`,{children:Zn(t.target_language_pct)})]})]}),t.assist_texts.length>0?(0,U.jsx)(`ul`,{className:`mt-2 list-disc space-y-0.5 pl-4 text-xs text-slate-300`,children:t.assist_texts.map((e,t)=>(0,U.jsx)(`li`,{children:e??`(empty)`},t))}):null]})}function cr({diff:e}){let t=e.comparable?e.changed?`CHANGED`:`no change`:`not comparable`;return(0,U.jsxs)(`div`,{className:`mt-4 rounded-lg border border-slate-700 bg-slate-900/40 p-4`,children:[(0,U.jsxs)(`div`,{className:`mb-3 flex items-center justify-between`,children:[(0,U.jsxs)(`h4`,{className:`text-sm font-semibold`,children:[`Diff (latest vs `,e.baseline_kind,`)`]}),(0,U.jsx)(`span`,{className:`rounded px-2 py-0.5 text-xs font-medium ${e.comparable?e.changed?`bg-amber-500/20 text-amber-300`:`bg-emerald-500/20 text-emerald-300`:`bg-slate-500/20 text-slate-300`}`,children:t})]}),e.comparable?null:(0,U.jsxs)(`p`,{className:`mb-3 text-xs text-slate-400`,children:[`Comparison is incomplete because the cached ASR or story-artifact evidence differs between these runs (`,e.incomplete_reason??`unknown reason`,`).`]}),(0,U.jsxs)(`div`,{className:`flex gap-3`,children:[(0,U.jsx)(sr,{title:`Latest`,summary:e.latest}),(0,U.jsx)(sr,{title:`Baseline (${e.baseline_kind})`,summary:e.baseline})]})]})}function lr({run:e,isGolden:t,onMarkGolden:n,onClearGolden:r,goldenBusy:i}){let a=e.phase2_result,o=er(e),s=e.phase2_status_reason??a?.incomplete_reason??null,c=Kn(a),l=qn(a),u=Jn(a),d=Yn(a),f=e.pronunciation_result,p=e.phase2_status===`complete`&&e.status===`error`&&e.timings?.failure_stage===`pronunciation_audit`;return(0,U.jsxs)(`div`,{className:`rounded-lg border p-4 ${t?`border-yellow-500/60 bg-yellow-500/5`:`border-slate-800`}`,children:[(0,U.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-2`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,U.jsx)(`span`,{className:`rounded bg-slate-800 px-2 py-0.5 text-xs uppercase`,children:e.tier}),(0,U.jsxs)(`span`,{className:`rounded px-2 py-0.5 text-xs ${e.phase2_status===`complete`?`bg-emerald-500/20 text-emerald-300`
9:e.phase2_status===`error`?`bg-red-500/20 text-red-300`:`bg-slate-700 text-slate-300`}`,children:[`Phase 2 `,e.phase2_status]}),(0,U.jsx)(`span`,{className:`rounded px-2 py-0.5 text-xs ${o===`candidate_live`?`bg-violet-500/20 text-violet-200`:`bg-slate-800 text-slate-300`}`,children:$n(o)}),t?(0,U.jsx)(`span`,{className:`rounded bg-yellow-500/20 px-2 py-0.5 text-xs text-yellow-300`,children:`â
golden`}):null,(0,U.jsx)(`span`,{className:`text-xs text-slate-500`,children:e.created_at})]}),t?(0,U.jsx)(`button`,{type:`button`,onClick:r,disabled:i,className:`rounded border border-slate-700 px-2 py-1 text-xs hover:bg-slate-800 disabled:opacity-50`,children:`Clear golden`}):(0,U.jsx)(`button`,{type:`button`,onClick:n,disabled:i||e.phase2_status!==`complete`,title:e.phase2_status===`complete`?void 0:`Only complete Phase 2 runs can be marked golden`,className:`rounded border border-yellow-600/50 px-2 py-1 text-xs text-yellow-300 hover:bg-yellow-500/10 disabled:opacity-50`,children:`Mark golden`})]}),p?(0,U.jsxs)(`p`,{className:`mb-2 rounded bg-amber-500/10 p-2 text-xs text-amber-300`,children:[`Phase 2 completed successfully. The stored composite run was marked error only because its historical pronunciation audit failed: `,e.error]}):e.error?(0,U.jsx)(`p`,{className:`mb-2 rounded bg-red-500/10 p-2 text-xs text-red-300`,children:e.error}):null,e.phase2_status===`incomplete`?(0,U.jsxs)(`p`,{className:`mb-3 rounded border border-amber-500/30 bg-amber-500/10 p-2 text-xs text-amber-200`,children:[`Phase 2 replay is incomplete`,s?`: ${s}`:`.`,` Results below are diagnostic evidence only.`]}):null,(0,U.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`p`,{className:`text-xs font-semibold uppercase tracking-wide text-slate-400`,children:[`Assists fired (`,c.length,`)`]}),c.length===0?(0,U.jsx)(`p`,{className:`text-xs text-slate-500`,children:`none`}):(0,U.jsx)(`ul`,{className:`mt-1 space-y-1 text-sm`,children:c.map(({item:e,relativeMs:t},n)=>(0,U.jsxs)(`li`,{className:`flex items-start gap-2`,children:[(0,U.jsx)(`span`,{className:`mt-0.5 font-mono text-[10px] text-amber-300`,children:Gn(t)}),(0,U.jsx)(`span`,{className:`mt-0.5 rounded bg-sky-500/20 px-1.5 py-0.5 text-[10px] uppercase text-sky-300`,children:e.mode??`â`}),(0,U.jsx)(`span`,{children:e.text??`(no text)`})]},n))})]}),(0,U.jsxs)(`div`,{children:[(0,U.jsxs)(`p`,{className:`text-xs font-semibold uppercase tracking-wide text-slate-400`,children:[`Suppressions (`,l.length,`)`]}),l.length===0?(0,U.jsx)(`p`,{className:`text-xs text-slate-500`,children:`none`}):(0,U.jsx)(`ul`,{className:`mt-1 space-y-1 text-sm`,children:l.map(({item:e,relativeMs:t},n)=>(0,U.jsxs)(`li`,{children:[(0,U.jsx)(`span`,{className:`mr-1 font-mono text-[10px] text-amber-300`,children:Gn(t)}),(0,U.jsx)(`span`,{className:`text-slate-200`,children:e.reason??`(suppressed)`}),e.native_fragment?(0,U.jsxs)(`span`,{className:`text-xs text-slate-500`,children:[` `,`â â`,e.native_fragment,`â`]}):null]},n))})]})]}),(0,U.jsxs)(`div`,{className:`mt-3`,children:[(0,U.jsxs)(`p`,{className:`text-xs font-semibold uppercase tracking-wide text-slate-400`,children:[`Segments (`,u.length,`) · target lang `,Zn(d)]}),u.length===0?(0,U.jsx)(`p`,{className:`text-xs text-slate-500`,children:`none`}):(0,U.jsx)(`ul`,{className:`mt-1 space-y-0.5 text-sm`,children:u.map(({item:e,relativeMs:t},n)=>(0,U.jsxs)(`li`,{children:[(0,U.jsx)(`span`,{className:`mr-1 font-mono text-[10px] text-amber-300`,children:Gn(t)}),e.language?(0,U.jsx)(`span`,{className:`mr-1 rounded bg-slate-800 px-1.5 py-0.5 text-[10px] uppercase text-slate-400`,children:e.language}):null,(0,U.jsxs)(`span`,{className:`text-slate-300`,children:[`quality: `,e.quality==null?`â`:String(e.quality)]})]},n))})]}),a?(0,U.jsx)(ir,{result:a,replayMode:o,runStatus:e.phase2_status,incompleteReason:s}):null,a?(0,U.jsx)(ar,{label:`phase2_result`,value:a}):null,f?(0,U.jsx)(or,{result:f}):null]})}function ur({snippetId:e}){let[t,n]=(0,l.useState)([]),[r,i]=(0,l.useState)(null),[a,o]=(0,l.useState)(null),[s,c]=(0,l.useState)(!1),[u,d]=(0,l.useState)(null),[f,p]=(0,l.useState)(`free`),[m,h]=(0,l.useState)(`candidate_live`),[g,_]=(0,l.useState)(!1),[v,y]=(0,l.useState)(!1),b=(0,l.useCallback)(async()=>{c(!0),d(null);try{let t=await jn(e);n(t.runs),i(t.golden_run_id),o(t.diff)}catch(e){d(e instanceof Error?e.message:`Failed to load runs`)}finally{c(!1)}},[e]);(0,l.useEffect)(()=>{b()},[b]);let x=(0,l.useCallback)(async()=>{_(!0),d(null);try{await An(e,{tier:f,replay_mode:m}),await b()}catch(e){d(e instanceof Error?e.message:`Run failed`)}finally{_(!1)}},[e,f,m,b]),S=(0,l.useCallback)(async t=>{y(!0),d(null);try{await Mn(e,t),await b()}catch(e){d(e instanceof Error?e.message:`Failed to set golden run`)}finally{y(!1)}},[e,b]),C=(0,l.useCallback)(async()=>{y(!0),d(null);try{await Nn(e),await b()}catch(e){d(e instanceof Error?e.message:`Failed to clear golden run`)}finally{y(!1)}},[e,b]);return(0,U.jsxs)(`div`,{className:`mt-3 rounded-lg border border-slate-800 bg-slate-900/30 p-3`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wide text-slate-400`,children:`Runs`}),(0,U.jsxs)(`select`,{value:f,onChange:e=>p(e.target.value),className:`rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`,children:[(0,U.jsx)(`option`,{value:`free`,children:`free`}),(0,U.jsx)(`option`,{value:`paid`,children:`paid`})]}),(0,U.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-slate-400`,children:[`Detection mode`,(0,U.jsxs)(`select`,{"aria-label":`Detection mode`,value:m,onChange:e=>h(e.target.value),className:`rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm text-slate-100`,children:[(0,U.jsx)(`option`,{value:`legacy`,children:`Baseline legacy`}),(0,U.jsx)(`option`,{value:`fusion_shadow`,children:`V2 shadow`}),(0,U.jsx)(`option`,{value:`candidate_live`,children:`V2 candidate live (Lab only)`})]})]}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void x(),disabled:g,className:`rounded bg-sky-600 px-3 py-1 text-sm font-medium hover:bg-sky-500 disabled:opacity-50`,children:g?`Runningâ¦`:`Run`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void b(),disabled:s,className:`rounded border border-slate-700 px-2 py-1 text-xs hover:bg-slate-800 disabled:opacity-50`,children:`Refresh`})]}),(0,U.jsx)(`p`,{className:`mt-2 text-xs text-slate-500`,children:m===`candidate_live`?`Lab-only override: V2 drives this replay and is compared with a separate legacy replay. Main app behavior is unchanged.`:m===`fusion_shadow`?`Legacy drives assists while V2 detector proposals are recorded for c
9omparison.`:`Replays the baseline legacy detector and assist behavior only.`}),u?(0,U.jsx)(`p`,{className:`mt-2 text-sm text-red-400`,children:u}):null,g?(0,U.jsx)(`p`,{className:`mt-2 text-xs text-slate-400`,children:`Replaying code-switch detection and assist responseâ¦`}):null,a?(0,U.jsx)(cr,{diff:a}):null,(0,U.jsx)(`div`,{className:`mt-3 space-y-3`,children:s&&t.length===0?(0,U.jsx)(`p`,{className:`text-sm text-slate-400`,children:`Loading runsâ¦`}):t.length===0?(0,U.jsx)(`p`,{className:`text-sm text-slate-500`,children:`No runs yet.`}):t.map(e=>(0,U.jsx)(lr,{run:e,isGolden:e.id===r,goldenBusy:v,onMarkGolden:()=>void S(e.id),onClearGolden:()=>void C()},e.id))})]})}function dr(e){return e===!0?`true`:e===!1?`false`:`unset`}function fr(e){return e===`true`?!0:e===`false`?!1:null}function pr(e){return Array.isArray(e)?e.join(`, `):``}function mr(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function hr(e){return e.should_assist!=null||e.provenance?.trim()||e.expected_stuck_signal?.trim()||e.expected_event_id?.trim()||e.expected_native_fragment?.trim()||e.acceptable_assist_texts?.length||e.acceptable_assist_fragments?.length||e.latency_budget_ms!=null||e.expected_fallback!=null?e:null}function gr(e){let t=e.trim();if(!t)return null;let n=Number.parseInt(t,10);return Number.isFinite(n)&&n>=0?n:null}function _r({snippet:e,onSaved:t}){let n=e.expected_phase2,[r,i]=(0,l.useState)(dr(n?.should_assist)),[a,o]=(0,l.useState)(n?.provenance??``),[s,c]=(0,l.useState)(n?.expected_stuck_signal??n?.expected_native_fragment??``),[u,d]=(0,l.useState)(n?.expected_event_id??``),[f,p]=(0,l.useState)(pr(n?.acceptable_assist_texts)),[m,h]=(0,l.useState)(pr(n?.acceptable_assist_fragments)),[g,_]=(0,l.useState)(n?.expected_native_fragment??``),[v,y]=(0,l.useState)(n?.latency_budget_ms==null?``:String(n.latency_budget_ms)),[b,x]=(0,l.useState)(n?.expected_fallback??`unset`),[S,C]=(0,l.useState)(!1),[w,T]=(0,l.useState)(null),E=(0,l.useCallback)(async()=>{C(!0),T(null);try{t(await En(e.id,{expected_phase2:hr({should_assist:fr(r),provenance:a.trim()||null,expected_stuck_signal:s.trim()||null,expected_event_id:u.trim()||null,acceptable_assist_texts:mr(f),acceptable_assist_fragments:mr(m),expected_native_fragment:g.trim()||null,latency_budget_ms:gr(v),expected_fallback:b===`unset`?null:b})}))}catch(e){T(e instanceof Error?e.message:`Failed to save expectations`)}finally{C(!1)}},[e.id,r,a,s,u,f,m,g,v,b,t]);return(0,U.jsxs)(`details`,{className:`mt-3 rounded border border-slate-800 bg-slate-950/40 p-3`,children:[(0,U.jsx)(`summary`,{className:`cursor-pointer text-xs font-semibold uppercase tracking-wide text-slate-400`,children:`Code-switch detection and response labels`}),(0,U.jsx)(`div`,{className:`mt-3`,children:(0,U.jsxs)(`div`,{className:`space-y-2`,children:[(0,U.jsxs)(`select`,{value:r,onChange:e=>i(e.target.value),className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`,children:[(0,U.jsx)(`option`,{value:`unset`,children:`assist expectation unset`}),(0,U.jsx)(`option`,{value:`true`,children:`should assist`}),(0,U.jsx)(`option`,{value:`false`,children:`should not assist`})]}),(0,U.jsx)(`input`,{type:`text`,value:a,onChange:e=>o(e.target.value),placeholder:`provenance, e.g. synthetic, team-recorded`,className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`}),(0,U.jsx)(`input`,{type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:`expected stuck signal`,className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`}),(0,U.jsx)(`input`,{type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:`expected event id`,className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`}),(0,U.jsx)(`input`,{type:`text`,value:f,onChange:e=>p(e.target.value),placeholder:`acceptable assist texts, comma separated`,className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`}),(0,U.jsx)(`input`,{type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:`acceptable assist fragments, comma separated`,className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`}),(0,U.jsx)(`input`,{type:`text`,value:g,onChange:e=>_(e.target.value),placeholder:`expected native fragment`,className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`}
9),(0,U.jsx)(`input`,{type:`number`,min:0,value:v,onChange:e=>y(e.target.value),placeholder:`latency budget ms`,className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`}),(0,U.jsxs)(`select`,{value:b,onChange:e=>x(e.target.value),className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`,children:[(0,U.jsx)(`option`,{value:`unset`,children:`fallback expectation unset`}),(0,U.jsx)(`option`,{value:`forbidden`,children:`fallback forbidden`}),(0,U.jsx)(`option`,{value:`required`,children:`fallback required`}),(0,U.jsx)(`option`,{value:`allowed`,children:`fallback allowed`})]})]})}),(0,U.jsxs)(`div`,{className:`mt-3 flex items-center gap-2`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:()=>void E(),disabled:S,className:`rounded bg-sky-600 px-3 py-1 text-sm font-medium hover:bg-sky-500 disabled:opacity-50`,children:S?`Savingâ¦`:`Save Phase 2 labels`}),w?(0,U.jsx)(`span`,{className:`text-xs text-red-400`,children:w}):null]}),e.expected_pronunciation?(0,U.jsxs)(`details`,{className:`mt-3 rounded border border-slate-800 bg-slate-950/50 p-2`,children:[(0,U.jsx)(`summary`,{className:`cursor-pointer text-xs text-slate-500`,children:`Historical pronunciation expectation (read-only)`}),(0,U.jsxs)(`p`,{className:`mt-2 text-xs text-slate-400`,children:[`This legacy label is preserved but is not edited or scored in the Phase 2 Lab. Pronunciation work now lives in`,` `,(0,U.jsx)(`a`,{href:`/lab/evaluate_and_improve`,className:`text-sky-400 underline hover:text-sky-300`,children:`Evaluate & Improve`}),`.`]}),(0,U.jsx)(`pre`,{className:`mt-2 max-h-48 overflow-auto rounded bg-slate-900 p-2 text-xs text-slate-400`,children:JSON.stringify(e.expected_pronunciation,null,2)})]}):null]})}function vr({snippetId:e,label:t}){let[n,r]=(0,l.useState)(null),[i,a]=(0,l.useState)(null);return(0,l.useEffect)(()=>{let t=!0,n=null,i=new AbortController;return kn(e,i.signal).then(e=>{t&&(n=URL.createObjectURL(e),r(n))}).catch(e=>{t&&a(e instanceof Error?e.message:`Unable to load stored audio`)}),()=>{t=!1,i.abort(),n&&URL.revokeObjectURL(n)}},[e]),i?(0,U.jsxs)(`p`,{className:`mt-2 text-xs text-red-400`,children:[`Audio unavailable: `,i]}):n?(0,U.jsx)(`audio`,{"aria-label":`Audio for ${t}`,controls:!0,preload:`none`,src:n,className:`mt-2 w-full`}):(0,U.jsx)(`p`,{className:`mt-2 text-xs text-slate-500`,children:`Loading stored audioâ¦`})}function yr({snippet:e,onSaved:t}){let[n,r]=(0,l.useState)(!1);return(0,U.jsxs)(`li`,{className:`rounded-lg border border-slate-800 p-3`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`font-medium`,children:e.label}),(0,U.jsxs)(`p`,{className:`text-xs text-slate-500`,children:[e.created_at,e.duration_seconds==null?``:` · ${e.duration_seconds.toFixed(1)}s`,e.has_audio?``:` · text fixture`,e.has_results?` · cached transcript`:``]})]}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>r(e=>!e),className:`rounded border border-slate-700 px-2 py-1 text-xs hover:bg-slate-800`,children:n?`Hide runs`:`Show runs`})]}),(0,U.jsx)(`p`,{className:`mt-2 text-sm text-slate-300`,children:e.transcript?e.transcript:(0,U.jsx)(`span`,{className:`text-slate-500`,children:`(no transcript â transcription pending or failed)`})}),e.transcription_error?(0,U.jsxs)(`p`,{className:`mt-1 text-xs text-red-400`,children:[`transcription failed: `,e.transcription_error,` â re-run with âreprocessâ to retry.`]}):null,e.has_audio?(0,U.jsx)(vr,{snippetId:e.id,label:e.label}):(0,U.jsx)(`p`,{className:`mt-2 text-xs text-slate-500`,children:`No stored audio for this fixture.`}),(0,U.jsx)(_r,{snippet:e,onSaved:t}),n?(0,U.jsx)(ur,{snippetId:e.id}):null]})}function br({storyId:e}){let[t,n]=(0,l.useState)([]),[r,i]=(0,l.useState)(!1),[a,o]=(0,l.useState)(null),[s,c]=(0,l.useState)(``),[u,d]=(0,l.useState)(null),[f,p]=(0,l.useState)(null),[m,h]=(0,l.useState)(null),[g,_]=(0,l.useState)(!1),[v,y]=(0,l.useState)(!1),[b,x]=(0,l.useState)(``),[S,C]=(0,l.useState)(``),[w,T]=(0,l.useState)(``),[E,D]=(0,l.useState)(!1),O
9=(0,l.useRef)([]),k=(0,l.useRef)(0),A=(0,l.useCallback)(async()=>{i(!0),o(null);try{n(await Tn(e))}catch(e){o(e instanceof Error?e.message:`Failed to load snippets`)}finally{i(!1)}},[e]);(0,l.useEffect)(()=>{A()},[A]),(0,l.useEffect)(()=>()=>{f&&URL.revokeObjectURL(f)},[f]),(0,l.useEffect)(()=>()=>{k.current+=1},[]);let{isCapturing:j,isStarting:M,error:ee,startCapture:N,stopCapture:P}=In({onAudioData:(0,l.useCallback)(e=>{O.current.push(e.pcmBytes)},[])}),F=(0,l.useCallback)(async()=>{k.current+=1,O.current=[],o(null),_(!1),p(null),d(null),h(null),c(``),await N(`microphone`)},[N]),I=(0,l.useCallback)(async()=>{let e=j;if(await P(),!e)return;let t=O.current;if(t.length===0){o(`No audio captured.`);return}let n=Rn(t);d(n),h(null),p(URL.createObjectURL(n))},[P,j]),te=(0,l.useCallback)(async e=>{let t=e.currentTarget,n=t.files?.[0];if(t.value=``,!n)return;k.current+=1;let r=k.current;if(_(!1),o(null),d(null),p(null),h(null),c(``),n.size===0){o(`The selected recording was empty.`);return}_(!0);try{let e=await Un(n);if(k.current!==r)return;d(e),h(n.name),p(URL.createObjectURL(e)),c(n.name.replace(/\.[^.]+$/,``)||`uploaded recording`)}catch{if(k.current!==r)return;o(`This recording could not be read. Choose an audio file supported by your browser, such as WAV, MP3, M4A, AAC, OGG, or WebM.`)}finally{k.current===r&&_(!1)}},[]),L=(0,l.useCallback)(async()=>{if(!u)return;let t=s.trim();if(!t){o(`Enter a label before uploading.`);return}y(!0),o(null);try{await Dn(e,u instanceof File?u:new File([u],`${t||`snippet`}.wav`,{type:`audio/wav`}),t),c(``),d(null),p(null),h(null),await A()}catch(e){o(e instanceof Error?e.message:`Upload failed`)}finally{y(!1)}},[u,s,e,A]),ne=(0,l.useCallback)(async()=>{let t=b.trim(),n=S.trim(),r=w.trim();if(!t){o(`Enter a fixture label.`);return}if(!n&&!r){o(`Enter a transcript or Deepgram JSON for the fixture.`);return}let i=null;if(r)try{let e=JSON.parse(r);if(!Array.isArray(e)){o(`Deepgram JSON must be an array of result objects.`);return}i=e}catch{o(`Deepgram JSON could not be parsed.`);return}D(!0),o(null);try{await On(e,{label:t,transcript:n||null,deepgram_results:i}),x(``),C(``),T(``),await A()}catch(e){o(e instanceof Error?e.message:`Fixture creation failed`)}finally{D(!1)}},[b,S,w,e,A]),re=(0,l.useCallback)(e=>{n(t=>t.map(t=>t.id===e.id?e:t))},[]);return(0,U.jsxs)(`section`,{className:`mt-6`,children:[(0,U.jsx)(`h3`,{className:`mb-2 text-base font-medium`,children:`Snippets`}),(0,U.jsxs)(`div`,{className:`rounded-lg border border-slate-800 bg-slate-900/30 p-4`,children:[(0,U.jsx)(`p`,{className:`text-sm font-medium text-slate-200`,children:`Record or upload a reusable test recording`}),(0,U.jsx)(`p`,{className:`mt-1 text-xs text-slate-500`,children:`Upload once, then replay the same recording through Phase 2 as many times as needed. Browser-readable audio is converted to 16 kHz mono WAV before upload.`}),(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[j||M?(0,U.jsx)(`button`,{type:`button`,onClick:()=>void I(),className:`rounded bg-red-600 px-3 py-1.5 text-sm font-medium hover:bg-red-500`,children:`â Stop`}):(0,U.jsx)(`button`,{type:`button`,onClick:()=>void F(),disabled:g||v,className:`rounded bg-emerald-600 px-3 py-1.5 text-sm font-medium hover:bg-emerald-500`,children:`â Record`}),(0,U.jsx)(`span`,{className:`text-xs text-slate-500`,children:`or`}),(0,U.jsxs)(`label`,{className:`rounded border border-sky-600/60 px-3 py-1.5 text-sm font-medium text-sky-300 hover:bg-sky-500/10 ${j||M||g||v?`cursor-not-allowed opacity-50`:`cursor-pointer`}`,children:[`â Upload recording`,(0,U.jsx)(`input`,{type:`file`,accept:`audio/*,.wav,.mp3,.m4a,.aac,.ogg,.webm`,"aria-label":`Upload recording`,onChange:e=>void te(e),disabled:j||M||g||v,className:`sr-only`})]})]}),ee?(0,U.jsx)(`p`,{className:`mt-2 text-sm text-red-400`,children:ee}):null,M?(0,U.jsx)(`p`,{className:`mt-2 text-sm text-slate-400`,children:`Waiting for microphone permissionâ¦`}):null,g?(0,U.jsx)(`p`,{className:`mt-2 text-sm text-slate-400`,children:`Preparing recordingâ¦`}):null,f?(0,U.jsxs)(`div`,{className:`mt-3 space-y-2`,children:[m?(0,U.jsxs)(`p`,{className:`text-xs text-slate-400`,children:[`Selected recording: `,m]}):null,(0,U.jsx)(`audio`,{"aria-label":`Selected recording preview`,controls:!0,src:f,className:`w-full`}),(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsxs)(`label`,{className:`grid gap-1 text-xs text-slate-400`,children:[`Recording label`,(0,U.jsx)(`input`,{type:`text`,value:s,onChange:e=>c(e.target.value),placeholder:`Recording label`,className:`rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm text-slate-100`})]}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void L(),disabled:v,className:`rounded bg-sky-600 px-3 py-1.5 text-sm font-medium hover:bg-sky-500 disabled:opacity-50`,children:v?`Uploading + transcribingâ¦`:`Upload & transcribe`})]})]}):null,(0,U.jsxs)(`details`,{className:`mt-4 rounded border border-slate-800 bg-slate-950/40 p-3`,children:[(0,U.jsx)(`summary`,{className:`curs
9or-pointer text-xs font-semibold uppercase tracking-wide text-slate-400`,children:`Add fixture`}),(0,U.jsxs)(`div`,{className:`mt-3 grid gap-2`,children:[(0,U.jsx)(`input`,{type:`text`,value:b,onChange:e=>x(e.target.value),placeholder:`fixture label`,className:`rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`}),(0,U.jsx)(`textarea`,{value:S,onChange:e=>C(e.target.value),placeholder:`transcript fallback`,rows:2,className:`rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`}),(0,U.jsx)(`textarea`,{value:w,onChange:e=>T(e.target.value),placeholder:`Deepgram results JSON, e.g. [{"transcript":"fui a la store","is_final":true,"words":[...]}]`,rows:5,className:`font-mono rounded border border-slate-700 bg-slate-900 px-2 py-1 text-xs`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void ne(),disabled:E,className:`w-fit rounded bg-slate-700 px-3 py-1.5 text-sm font-medium hover:bg-slate-600 disabled:opacity-50`,children:E?`Creatingâ¦`:`Create fixture`})]})]})]}),a?(0,U.jsx)(`p`,{className:`mt-2 text-sm text-red-400`,children:a}):null,(0,U.jsx)(`div`,{className:`mt-4`,children:r&&t.length===0?(0,U.jsx)(`p`,{className:`text-sm text-slate-400`,children:`Loading snippetsâ¦`}):t.length===0?(0,U.jsx)(`p`,{className:`text-sm text-slate-500`,children:`No snippets yet.`}):(0,U.jsx)(`ul`,{className:`space-y-3`,children:t.map(e=>(0,U.jsx)(yr,{snippet:e,onSaved:re},e.id))})})]})}function xr({onCreated:e}){let[t,n]=(0,l.useState)(``),[r,i]=(0,l.useState)(`en`),[a,o]=(0,l.useState)(`es`),[s,c]=(0,l.useState)(``),[u,d]=(0,l.useState)(!1),[f,p]=(0,l.useState)(null),m=(0,l.useCallback)(e=>{i(e),e===a&&o(Ee.find(t=>t.code!==e)?.code??`es`)},[a]),h=(0,l.useCallback)(async i=>{if(i.preventDefault(),!t.trim()||!s.trim()){p(`Name and story text are required.`);return}d(!0),p(null);try{let i=await xn({name:t.trim(),native_language:r,target_language:a,native_story_text:s.trim()});n(``),c(``),e(i)}catch(e){p(e instanceof Error?e.message:`Failed to create story`)}finally{d(!1)}},[t,r,a,s,e]);return(0,U.jsxs)(`form`,{onSubmit:e=>void h(e),className:`space-y-2 rounded-lg border border-slate-800 bg-slate-900/30 p-3`,children:[(0,U.jsx)(`p`,{className:`text-sm font-medium`,children:`New story`}),(0,U.jsx)(`input`,{type:`text`,value:t,onChange:e=>n(e.target.value),placeholder:`Story name`,className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`}),(0,U.jsxs)(`div`,{className:`flex gap-2`,children:[(0,U.jsx)(`select`,{value:r,onChange:e=>m(e.target.value),"aria-label":`Native language`,className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`,children:Ee.map(e=>(0,U.jsx)(`option`,{value:e.code,children:e.name},e.code))}),(0,U.jsx)(`select`,{value:a,onChange:e=>o(e.target.value),"aria-label":`Target language`,className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`,children:Ee.filter(e=>e.code!==r).map(e=>(0,U.jsx)(`option`,{value:e.code,children:e.name},e.code))})]}),(0,U.jsx)(`textarea`,{value:s,onChange:e=>c(e.target.value),placeholder:`Native story text`,rows:4,className:`w-full rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`}),f?(0,U.jsx)(`p`,{className:`text-sm text-red-400`,children:f}):null,(0,U.jsx)(`button`,{type:`submit`,disabled:u,className:`w-full rounded bg-sky-600 px-3 py-1.5 text-sm font-medium hover:bg-sky-500 disabled:opacity-50`,children:u?`Creatingâ¦`:`Create story`})]})}var Sr=[`free`,`paid`];function Cr({storyId:e}){let[t,n]=(0,l.useState)({free:null,paid:null}),[r,i]=(0,l.useState)(`free`),[a,o]=(0,l.useState)(null),[s,c]=(0,l.useState)(null);(0,l.useEffect)(()=>{let t=!1;return n({free:null,paid:null}),c(null),(async()=>{let r={free:null,paid:null};for(let n of Sr)try{r[n]=await wn(e,n)}catch(e){!(e instanceof gn&&e.status===404)&&!t&&c(e instanceof Error?e.message:`Failed to load artifacts`)}if(t)return;n(r);let a=Sr.find(e=>r[e]!=null);a&&i(a)})(),()=>{t=!0}},[e]);let u=(0,l.useCallback)(async t=>{o(t),c(null);try{let r=await Cn(e,t);n(e=>({...e,[t]:r})),i(t)}catch(e){c(e instanceof Error?e.message:`Failed to generate artifacts`)}finally{o(null)}},[e]),d=t[r],f=t.free!=null||t.paid!=null;return(0,U.jsxs)(`div`,{className:`mt-4 rounded-lg border border-slate-800 bg-slate-900/30 p-4`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`text-sm font-medium`,children:`Artifacts`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void u(`free`),disabled:a!==null,className:`rounded bg-slate-700 px-3 py-1 text-sm hover:bg-slate-600 disabled:opacity-50`,children:a===`free`?`Generatingâ¦`:`Generate free`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void u(`paid`),disabled:a!==null,className:`rounded bg-slate-700 px-3 py-1 text-sm hover:bg-slate-600 disabled:opacity-50`,children:a===`paid`?`Generatingâ¦`:`Generate paid`})]}),f?(0,U.jsx)(`div`,{className:`mt-3 flex gap-2`,children:Sr.map(e=>t[e]==null?null:(0,U.jsxs)(`button`,{type:`button`,onClick:()=>i(e),className:`rounded px-2 py-0.5 text-xs ${r===e?`bg-sky-600 text-white`:`bg-slate-800 text-slate-300 hover:bg-slate-700`}`,children:[`View `,e]},e))}):null,a?(0,U.jsxs)(`p`,{className:`mt-2 text-xs text-slate-400`,children:[`Generating `,a,` artifacts via Gemini â this is slow.`]}
9):null,s?(0,U.jsx)(`p`,{className:`mt-2 text-sm text-red-400`,children:s}):null,d?(0,U.jsxs)(`div`,{className:`mt-3 space-y-3`,children:[(0,U.jsxs)(`p`,{className:`text-xs text-slate-400`,children:[`Showing `,(0,U.jsx)(`strong`,{children:d.tier}),` artifact.`]}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`mb-1 text-xs font-semibold uppercase tracking-wide text-slate-400`,children:`story_graph`}),(0,U.jsx)(`pre`,{className:`max-h-80 overflow-auto rounded bg-slate-900 p-3 text-xs text-slate-300`,children:JSON.stringify(d.story_graph,null,2)})]}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`mb-1 text-xs font-semibold uppercase tracking-wide text-slate-400`,children:`phrase_set`}),(0,U.jsx)(`pre`,{className:`max-h-80 overflow-auto rounded bg-slate-900 p-3 text-xs text-slate-300`,children:JSON.stringify(d.phrase_set,null,2)})]}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`mb-1 text-xs font-semibold uppercase tracking-wide text-slate-400`,children:`assist_index`}),(0,U.jsx)(`pre`,{className:`max-h-80 overflow-auto rounded bg-slate-900 p-3 text-xs text-slate-300`,children:JSON.stringify(d.assist_index,null,2)})]})]}):null]})}function wr({rows:e}){let t=Object.entries(e??{}).sort((e,t)=>t[1]-e[1]);return t.length===0?(0,U.jsx)(`span`,{className:`text-slate-500`,children:`none`}):(0,U.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:t.map(([e,t])=>(0,U.jsxs)(`span`,{className:`rounded border border-slate-700 bg-slate-950 px-2 py-0.5 text-xs text-slate-300`,children:[e,`: `,t]},e))})}function Tr({failure:e}){return(0,U.jsxs)(`li`,{className:`rounded border border-slate-800 bg-slate-950/40 p-3`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`rounded bg-red-500/15 px-2 py-0.5 text-xs text-red-300`,children:e.capability??`unknown`}),(0,U.jsx)(`span`,{className:`text-sm font-medium text-slate-100`,children:e.failure_category??`uncategorized`}),e.suspected_tuning_surface?(0,U.jsx)(`span`,{className:`rounded border border-slate-700 px-2 py-0.5 text-xs text-slate-400`,children:e.suspected_tuning_surface}):null]}),(0,U.jsxs)(`p`,{className:`mt-1 text-xs text-slate-500`,children:[e.label||e.snippet_id||`unknown snippet`,e.run_id?` - run ${e.run_id}`:``]})]})}function Er({draft:e}){return(0,U.jsxs)(`li`,{className:`rounded border border-slate-800 bg-slate-950/40 p-3`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`rounded bg-sky-500/15 px-2 py-0.5 text-xs text-sky-300`,children:e.type??`draft`}),e.human_approval_required?(0,U.jsx)(`span`,{className:`rounded border border-amber-500/30 px-2 py-0.5 text-xs text-amber-300`,children:`review required`}):null]}),(0,U.jsx)(`p`,{className:`mt-2 text-sm font-medium text-slate-100`,children:e.title??`Untitled recommendation`}),e.body?(0,U.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-slate-400`,children:e.body}):null,(0,U.jsxs)(`p`,{className:`mt-2 text-xs text-slate-500`,children:[e.snippet_id??`unknown snippet`,e.suspected_tuning_surface?` - ${e.suspected_tuning_surface}`:``]})]})}function Dr({alert:e}){return(0,U.jsxs)(`li`,{className:`rounded border border-amber-500/30 bg-amber-500/10 p-3`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`rounded bg-amber-500/20 px-2 py-0.5 text-xs text-amber-200`,children:e.capability??`capability`}),(0,U.jsx)(`span`,{className:`text-xs text-amber-200`,children:e.direction??`safe-direction alert`})]}),e.message?(0,U.jsx)(`p`,{className:`mt-2 text-sm text-amber-100`,children:e.message}):null,e.failed_gates&&e.failed_gates.length>0?(0,U.jsxs)(`p`,{className:`mt-1 text-xs text-amber-200/80`,children:[`Failed gates: `,e.failed_gates.join(`, `)]}):null]})}function Or({report:e}){if(!e)return null;let t=e.failures??[],n=e.candidate_drafts??[],r=e.safe_direction_alerts??[],i=e.summary??{};return(0,U.jsxs)(`section`,{className:`rounded border border-slate-800 bg-slate-950/40 p-3`,children:[(0,U.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center justify-between gap-2`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`h3`,{className:`text-sm font-medium text-slate-100`,children:`Replay report`}),(0,U.jsxs)(`p`,{className:`text-xs text-slate-500`,children:[e.ver
9sion??`unversioned`,` -`,` `,e.tier??`unknown tier`]})]}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-2 text-xs`,children:[(0,U.jsxs)(`span`,{className:`rounded bg-red-500/15 px-2 py-1 text-red-300`,children:[i.failure_count??t.length,` failures`]}),(0,U.jsxs)(`span`,{className:`rounded bg-sky-500/15 px-2 py-1 text-sky-300`,children:[i.candidate_draft_count??n.length,` drafts`]}),(0,U.jsxs)(`span`,{className:`rounded bg-amber-500/15 px-2 py-1 text-amber-300`,children:[r.length,` alerts`]})]})]}),(0,U.jsxs)(`div`,{className:`grid gap-3 text-xs md:grid-cols-2`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`mb-1 font-medium uppercase tracking-wide text-slate-500`,children:`Failure categories`}),(0,U.jsx)(wr,{rows:i.failure_categories})]}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`mb-1 font-medium uppercase tracking-wide text-slate-500`,children:`Tuning surfaces`}),(0,U.jsx)(wr,{rows:i.suspected_tuning_surfaces})]})]}),r.length>0?(0,U.jsxs)(`div`,{className:`mt-4`,children:[(0,U.jsx)(`p`,{className:`mb-2 text-xs font-medium uppercase tracking-wide text-slate-500`,children:`Safe-direction alerts`}),(0,U.jsx)(`ul`,{className:`space-y-2`,children:r.map((e,t)=>(0,U.jsx)(Dr,{alert:e},t))})]}):null,t.length>0?(0,U.jsxs)(`div`,{className:`mt-4`,children:[(0,U.jsx)(`p`,{className:`mb-2 text-xs font-medium uppercase tracking-wide text-slate-500`,children:`Failures`}),(0,U.jsx)(`ul`,{className:`max-h-72 space-y-2 overflow-auto`,children:t.map((e,t)=>(0,U.jsx)(Tr,{failure:e},`${e.snippet_id??`failure`}-${t}`))})]}):null,n.length>0?(0,U.jsxs)(`div`,{className:`mt-4`,children:[(0,U.jsx)(`p`,{className:`mb-2 text-xs font-medium uppercase tracking-wide text-slate-500`,children:`Recommendations`}),(0,U.jsx)(`ul`,{className:`max-h-80 space-y-2 overflow-auto`,children:n.map((e,t)=>(0,U.jsx)(Er,{draft:e},`${e.snippet_id??`draft`}-${t}`))})]}):null,e.notes&&e.notes.length>0?(0,U.jsx)(`ul`,{className:`mt-3 space-y-1 text-xs text-slate-500`,children:e.notes.map(e=>(0,U.jsx)(`li`,{children:e},e))}):null,(0,U.jsxs)(`details`,{className:`mt-3`,children:[(0,U.jsx)(`summary`,{className:`cursor-pointer text-xs text-slate-500`,children:`Raw report JSON`}),(0,U.jsx)(`pre`,{className:`mt-2 max-h-72 overflow-auto rounded bg-slate-900 p-3 text-xs text-slate-300`,children:JSON.stringify(e,null,2)})]})]})}function kr({storyId:e}){let[t,n]=(0,l.useState)(`free`),[r,i]=(0,l.useState)(null),[a,o]=(0,l.useState)(!1),[s,c]=(0,l.useState)(null),u=(0,l.useCallback)(async()=>{o(!0),c(null);try{i(await Pn(e,t))}catch(e){c(e instanceof Error?e.message:`Failed to load score`)}finally{o(!1)}},[e,t]);(0,l.useEffect)(()=>{u()},[u]);let d=r?{statistical_sample_gate:r.coverage.statistical_sample_gate??!1,sample_size_requirement:r.coverage.sample_size_requirement??null,labeled_snippet_count:r.coverage.labeled_snippet_count,total_snippet_count:r.coverage.total_snippet_count,source_snippet_count:r.coverage.source_snippet_count,out_of_scope_snippet_count:r.coverage.out_of_scope_snippet_count,out_of_scope_snippet_ids:r.coverage.out_of_scope_snippet_ids,latest_run_count:r.coverage.latest_run_count,unlabeled_snippet_ids:r.coverage.unlabeled_snippet_ids,missing_run_snippet_ids:r.coverage.missing_run_snippet_ids,incomplete_run_snippet_ids:r.coverage.incomplete_run_snippet_ids,expected_assist_count:r.coverage.phase2_expected_assist_count,no_assist_count:r.coverage.phase2_no_assist_count,event_expectation_count:r.coverage.phase2_event_expectation_count,latency_budget_count:r.coverage.phase2_latency_budget_count,fallback_expectation_count:r.coverage.phase2_fallback_expectation_count,complete_labeled_run_count:r.coverage.phase2_complete_labeled_run_count}:null,f=r?Object.fromEntries(Object.entries(r.gates).filter(([e])=>e.startsWith(`phase2_`))):null,p=r?.rows.map(e=>({snippet_id:e.snippet_id,label:e.label,run_id:e.run_id,versions:e.versions,phase2:e.phase2}));return(0,U.jsxs)(`div`,{className:`mt-4 rounded-lg border border-slate-800 bg-slate-900/30 p-4`,children:[(0,U.jsxs)(`div`,{className:`mb-3 flex flex-wrap items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`text-sm font-medium`,children:`Phase 2 score`}),(0,U.jsxs)(`select`,{value:t,onChange:e=>n(e.target.value),className:`rounded border border-slate-700 bg-slate-900 px-2 py-1 text-sm`,children:[(0,U.jsx)(`option`,{value:`free`,children:`free`}),(0,U.jsx)(`option`,{value:`paid`,children:`paid`})]}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void u(),disabled:a,className:`rounded border border-slate-700 px-2 py-1 text-xs hover:bg-slate-800 disabled:opacity-50`,children:`Refresh`}),r?(0,U.jsx)(`span`,{className:`rounded px-2 py-0.5 text-xs ${r.passed?`bg-emerald-500/20 text-emerald-300`
9:`bg-amber-500/20 text-amber-300`}`,children:r.passed?`gates passing`:`gates pending`}):null]}),s?(0,U.jsx)(`p`,{className:`text-sm text-red-400`,children:s}):null,r?(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsxs)(`div`,{className:`grid gap-2 text-sm md:grid-cols-4`,children:[(0,U.jsxs)(`div`,{className:`rounded border border-slate-800 bg-slate-950/40 p-3`,children:[(0,U.jsx)(`p`,{className:`text-xs uppercase tracking-wide text-slate-500`,children:`labeled`}),(0,U.jsx)(`p`,{className:`font-medium`,children:r.coverage.labeled_snippet_count})]}),(0,U.jsxs)(`div`,{className:`rounded border border-slate-800 bg-slate-950/40 p-3`,children:[(0,U.jsx)(`p`,{className:`text-xs uppercase tracking-wide text-slate-500`,children:`promotion review`}),(0,U.jsx)(`p`,{className:`font-medium`,children:`manual · no sample-size gate`})]}),(0,U.jsxs)(`div`,{className:`rounded border border-slate-800 bg-slate-950/40 p-3`,children:[(0,U.jsx)(`p`,{className:`text-xs uppercase tracking-wide text-slate-500`,children:`latest runs`}),(0,U.jsxs)(`p`,{className:`font-medium`,children:[r.coverage.latest_run_count,`/`,r.coverage.total_snippet_count]})]}),(0,U.jsxs)(`div`,{className:`rounded border border-slate-800 bg-slate-950/40 p-3`,children:[(0,U.jsx)(`p`,{className:`text-xs uppercase tracking-wide text-slate-500`,children:`expected assists`}),(0,U.jsx)(`p`,{className:`font-medium`,children:r.coverage.phase2_expected_assist_count})]})]}),(0,U.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:[(0,U.jsx)(`pre`,{className:`max-h-72 overflow-auto rounded bg-slate-900 p-3 text-xs text-slate-300`,children:JSON.stringify(d,null,2)}),(0,U.jsx)(`pre`,{className:`max-h-72 overflow-auto rounded bg-slate-900 p-3 text-xs text-slate-300`,children:JSON.stringify(r.metrics.phase2,null,2)}),(0,U.jsx)(`pre`,{className:`max-h-72 overflow-auto rounded bg-slate-900 p-3 text-xs text-slate-300`,children:JSON.stringify(f,null,2)})]}),(0,U.jsx)(Or,{report:r.report}),(0,U.jsx)(`pre`,{className:`max-h-72 overflow-auto rounded bg-slate-900 p-3 text-xs text-slate-300`,children:JSON.stringify(p,null,2)})]}):a?(0,U.jsx)(`p`,{className:`text-sm text-slate-400`,children:`Loading scoreâ¦`}):null]})}function Ar({storyId:e}){let[t,n]=(0,l.useState)(null),[r,i]=(0,l.useState)(!1),[a,o]=(0,l.useState)(null);if((0,l.useEffect)(()=>{let t=!1;async function r(){i(!0),o(null);try{let r=await Sn(e);t||n(r)}catch(e){t||o(e instanceof Error?e.message:`Failed to load story`)}finally{t||i(!1)}}return r(),()=>{t=!0}},[e]),r&&!t)return(0,U.jsx)(`p`,{className:`text-sm text-slate-400`,children:`Loading storyâ¦`});if(a)return(0,U.jsx)(`p`,{className:`text-sm text-red-400`,children:a});if(!t)return null;let s=t.artifacts.map(e=>e.tier);return(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`h2`,{className:`text-xl font-semibold`,children:t.name}),(0,U.jsxs)(`p`,{className:`text-xs text-slate-500`,children:[G(t.native_language),` â`,` `,G(t.target_language)]}),(0,U.jsxs)(`p`,{className:`mt-1 text-xs text-slate-400`,children:[`Artifacts:`,` `,s.length>0?s.join(`, `):`none generated yet`]}),(0,U.jsxs)(`details`,{className:`mt-2`,children:[(0,U.jsx)(`summary`,{className:`cursor-pointer text-xs text-slate-400`,children:`Native story text`}),(0,U.jsx)(`p`,{className:`mt-1 whitespace-pre-wrap rounded bg-slate-900 p-3 text-sm text-slate-300`,children:t.native_story_text})]}
9),(0,U.jsx)(Cr,{storyId:t.id}),(0,U.jsx)(kr,{storyId:t.id}),(0,U.jsx)(br,{storyId:t.id})]})}function jr(){let[e,t]=(0,l.useState)([]),[n,r]=(0,l.useState)(!0),[i,a]=(0,l.useState)(null),[o,s]=(0,l.useState)(null),c=(0,l.useCallback)(async()=>{r(!0),a(null);try{t(await bn())}catch(e){a(e instanceof Error?e.message:`Failed to load stories`)}finally{r(!1)}},[]);(0,l.useEffect)(()=>{c()},[c]);let u=(0,l.useCallback)(e=>{s(e.id),c()},[c]);return(0,U.jsx)(`div`,{className:`min-h-screen bg-slate-950 px-6 py-10 text-slate-100`,children:(0,U.jsxs)(`div`,{className:`mx-auto w-full max-w-6xl`,children:[(0,U.jsxs)(`header`,{className:`mb-8`,children:[(0,U.jsx)(`h1`,{className:`text-3xl font-semibold`,children:`Phase 2 Lab`}),(0,U.jsxs)(`p`,{className:`mt-2 text-sm text-slate-400`,children:[`Measure code-switch detection and assist responses. Pronunciation testing lives in`,` `,(0,U.jsx)(`a`,{href:`/lab/evaluate_and_improve`,className:`text-sky-400 underline hover:text-sky-300`,children:`Evaluate & Improve`}),`.`]})]}),(0,U.jsxs)(`div`,{className:`grid gap-6 md:grid-cols-[320px_1fr]`,children:[(0,U.jsxs)(`aside`,{className:`space-y-4`,children:[(0,U.jsx)(xr,{onCreated:u}),(0,U.jsxs)(`section`,{children:[(0,U.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,U.jsx)(`h2`,{className:`text-lg font-medium`,children:`Stories`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void c(),className:`rounded border border-slate-700 px-2 py-1 text-xs hover:bg-slate-800`,children:`Refresh`})]}),n?(0,U.jsx)(`p`,{className:`text-sm text-slate-400`,children:`Loading storiesâ¦`}):i?(0,U.jsx)(`p`,{className:`text-sm text-red-400`,children:i}):e.length===0?(0,U.jsx)(`p`,{className:`text-sm text-slate-400`,children:`No stories yet`}):(0,U.jsx)(`ul`,{className:`divide-y divide-slate-800 rounded-lg border border-slate-800`,children:e.map(e=>(0,U.jsx)(`li`,{children:(0,U.jsxs)(`button`,{type:`button`,onClick:()=>s(e.id),className:`w-full px-4 py-3 text-left hover:bg-slate-900 ${o===e.id?`bg-slate-900`:``}`,children:[(0,U.jsx)(`p`,{className:`font-medium`,children:e.name}),(0,U.jsxs)(`p`,{className:`text-xs text-slate-500`,children:[G(e.native_language),` â`,` `,G(e.target_language)]})]})},e.id))})]})]}),(0,U.jsx)(`main`,{children:o?(0,U.jsx)(Ar,{storyId:o},o):(0,U.jsx)(`p`,{className:`text-sm text-slate-500`,children:`Select or create a story to begin.`})})]})]})})}function Mr(e){return typeof e==`string`&&/^[a-z]{2}$/.test(e)}async function Nr(){let e=await fetch(v(`/languages/pairs`));if(!e.ok)throw Error(`Unable to load available language pairs.`);let t=await e.json(),n=Array.isArray(t.pairs)?t.pairs.flatMap(e=>{if(typeof e!=`object`||!e)return[];let t=e;return!Mr(t.native_language)||!Mr(t.target_language)||t.native_language===t.target_language||!Array.isArray(t.offered_tiers)||!t.offered_tiers.every(e=>e===`free`||e===`paid`)?[]:[{native_language:t.native_language,target_language:t.target_language,offered_tiers:t.offered_tiers}]}):[];return{selector_sha256:typeof t.selector_sha256==`string`?t.selector_sha256:null,pairs:n}}var Pr=new Set(Ee.map(e=>e.code));function Fr(e){return Pr.has(e.native_language)&&Pr.has(e.target_language)}function Ir({onSubmit:e,title:t=`Try it free`,subtitle:n=`Choose the language you know and the language you want to speak.`,submitLabel:r=`Start speaking`,helperText:i=`No signup required to start your first session.`}){let[a,o]=(0,l.useState)(`en`),[s,c]=(0,l.useState)(`es`),[u,d]=(0,l.useState)([]),[f,p]=(0,l.useState)(`loading`),[m,h]=(0,l.useState)(0);(0,l.useEffect)(()=>{let e=!1;return Nr().then(t=>{if(e)return;d(t.pairs);let n=t.pairs.filter(Fr),r=n.find(e=>e.native_language===`en`&&e.target_language===`es`)??n[0];r&&(o(r.native_language),c(r.target_language)),p(`ready`)}).catch(()=>{e||(d([]),p(`error`))}),()=>{e=!0}},[m]);let g=(0,l.useMemo)(()=>u.filter(Fr),[u]),_=(0,l.useMemo)(()=>{let e=new Set(g.map(e=>e.native_language));return Ee.filter(t=>e.has(t.code))},[g]),v=(0,l.useMemo)(()=>{let e=new Set(g.filter(e=>e.native_language===a).map(e=>e.target_language));return Ee.filter(t=>e.has(t.code))},[g,a]),y=g.some(e=>
9e.native_language===a&&e.target_language===s),b=f===`loading`?`Checking available language pairs...`:f===`error`?`Language choices are temporarily unavailable. Please try again.`:g.length===0&&u.length>0?`Available language choices require a newer app version. Please refresh or update.`:g.length===0?`No language pairs are currently available.`:null;function x(e){if(o(e),g.some(t=>t.native_language===e&&t.target_language===s))return;let t=Ee.find(t=>g.some(n=>n.native_language===e&&n.target_language===t.code))?.code;t&&c(t)}function S(t){t.preventDefault(),y&&e(a,s,null)}function C(){d([]),p(`loading`),h(e=>e+1)}return(0,U.jsxs)(`form`,{onSubmit:S,className:`w-full max-w-md rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[linear-gradient(180deg,rgba(52,38,30,0.82),rgba(24,19,16,0.9))] p-6 shadow-[0_32px_80px_rgba(0,0,0,0.28)] sm:p-7`,children:[(0,U.jsxs)(`div`,{className:`text-left`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:`Start Here`}),(0,U.jsx)(`h2`,{className:`font-display mt-3 text-3xl text-[var(--color-text)]`,children:t}),(0,U.jsx)(`p`,{className:`mt-3 max-w-sm text-sm leading-6 text-[var(--color-muted)]`,children:n})]}),(0,U.jsxs)(`div`,{className:`mt-6 space-y-4`,children:[(0,U.jsxs)(`label`,{className:`block`,children:[(0,U.jsx)(`span`,{className:`text-sm font-semibold text-[var(--color-text-soft)]`,children:`I speak`}),(0,U.jsx)(`select`,{value:a,onChange:e=>x(e.target.value),disabled:f!==`ready`||_.length===0,className:`mt-2 block w-full rounded-2xl border border-white/10 bg-[rgba(17,12,10,0.88)] px-4 py-3 text-[var(--color-text)] shadow-[inset_0_1px_0_rgba(255,255,255,0.05)] outline-none transition focus:border-[var(--color-accent)] focus:ring-2 focus:ring-[rgba(201,117,53,0.22)]`,children:_.map(e=>(0,U.jsx)(`option`,{value:e.code,children:e.name},e.code))})]}),(0,U.jsxs)(`label`,{className:`block`,children:[(0,U.jsx)(`span`,{className:`text-sm font-semibold text-[var(--color-text-soft)]`,children:`I'm learning`}),(0,U.jsx)(`select`,{value:s,onChange:e=>c(e.target.value),disabled:f!==`ready`||v.length===0,className:`mt-2 block w-full rounded-2xl border border-white/10 bg-[rgba(17,12,10,0.88)] px-4 py-3 text-[var(--color-text)] shadow-[inset_0_1px_0_rgba(255,255,255,0.05)] outline-none transition focus:border-[var(--color-accent)] focus:ring-2 focus:ring-[rgba(201,117,53,0.22)]`,children:v.map(e=>(0,U.jsx)(`option`,{value:e.code,children:e.name},e.code))})]})]}),b?(0,U.jsxs)(`div`,{className:`mt-4 text-xs leading-5 text-[var(--color-muted)]`,children:[(0,U.jsx)(`p`,{children:b}),f===`error`?(0,U.jsx)(`button`,{type:`button`,onClick:C,className:`mt-2 font-semibold text-[var(--color-accent-soft)] underline decoration-transparent underline-offset-4 transition hover:decoration-current focus-visible:decoration-current`,children:`Try again`}):null]}):null,(0,U.jsx)(`button`,{type:`submit`,disabled:f!==`ready`||!y,className:`mt-6 w-full rounded-full bg-[linear-gradient(135deg,var(--color-accent),var(--color-accent-strong))] px-5 py-3.5 text-sm font-semibold text-[#1f1407] shadow-[0_18px_40px_rgba(245,158,11,0.28)] transition hover:-translate-y-0.5 hover:shadow-[0_24px_50px_rgba(245,158,11,0.35)] disabled:cursor-not-allowed disabled:opacity-50`,children:r}),i?(0,U.jsx)(`p`,{className:`mt-4 text-sm leading-6 text-[var(--color-muted)]`,children:i}):null]})}var Lr=[{step:`01`,phase:`Pass 01 · Your language`,title:`Tell a story from your day`,body:`Start with something from your own life. The kind of story you would tell a friend.`,highlight:`first`},{step:`02`,phase:`Pass 02 · Mixed`,title:`Tell it again with help`,body:`When you code-switch back to your own language, OtraVez shows the word or phrase you need so you can keep going.`,highlight:`middle`},{step:`03`,phase:`Pass 03 · Target language`,title:`Once more on your own`,body:`Try the story again in the language you're learning, and hear how much more of it stays with you. Mixing languages is not failure - it is how the bridge gets built.`,highlight:`last`}],Rr=[28,55,40,72,34,62,82,46,58,32,68,50,76,44,64,38],zr=[18,26,34,42,58,72,64,46,30,24,36,52,70,74,60,44,28,22,34,48,62,54];function Br({bars:e,className:t=``,tone:n=`mixed`,highlight:r,align:i=`end`}){return(0,U.jsx)(`div`,{className:`flex h-full ${i===`center`?`items-center`:`items-end`} gap-1.5 ${t}`,"aria-hidden":`true`,children:e.map((t,i)=>{let a=Math.ceil(e.length/3),o=r===`first`?0:r===`middle`?a:a*2,s=o+a,c=r?i>=o&&i<s:n===`accent`||n===`mixed`&&i>e.length*.55;return(0,U.jsx)(`span`,{className:`${c?`animate-landing-pulse`:``} min-w-0 flex-1 rounded-full ${c?`bg-[linear-gradient(180deg,var(--color-accent-soft),var(--color-accent-strong))]`:`bg-[rgba(248,242,232,0.18)]`}`,style:{height:`${t}%`,animationDelay:`${i*110}ms`}},`${t}-${i}`)})})}function Vr(){return(0,U.jsxs)(`section`,{className:`mx-auto grid w-full max-w-6xl items-center gap-10 px-6 py-14 sm:px-10 sm:py-18 lg:grid-cols-[minmax(0,0.9fr)_minmax(420px,1.1fr)] lg:px-12`,children:[(0,U.jsxs)(`div`,{className:`max-w-2xl`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-3`,children:[(0,U.jsx)(`h2`,{className:`font-display text-5xl leading-none text-[var(--color-text)] sm:text-6xl`,children:`Code-switching`}),(0,U.jsx)(`span`,{className:`text-base italic text-[var(--color-muted)] sm:text-lg`,children:`noun`})]}),(0,U.jsxs)(`ol`,{className:`mt-6 space-y-3`,children:[(0,U.jsxs)(`li`,{className:`grid grid-cols-[2ch_minmax(0,1fr)] gap-x-4 text-xl leading-8 text-[var(--color-text-soft)] sm:text-2xl sm:leading-9`,children:[(0,U.jsx)(`span`,{className:`pt-0.5 text-right font-mono text-base leading-8 text-[var(--color-muted)] sm:text-lg sm:leading-9`,children:`1.`}),(0,U.jsx)(`span`,{children:`changing languages mid-sentence.`})]}),(0,U.jsxs)(`li`,{className:`grid grid-cols-[2ch_minmax(0,1fr)] gap-x-4 text-xl leading-8 text-[var(--color-text-soft)] sm:text-2xl sm:leading-9`,children:[(0,U.jsx)(`span`,{className:`pt-0.5 text-right font-mono text-base leading-8 text-[var(--color-muted)] sm:text-lg sm:leading-9`,children:`2.`}),(0,U.jsx)(`span`,{children:`OtraVez's cue to step in.`})]})]}),(0,U.jsx)(`p`,{className:`mt-6 text-lg leading-8 text-[var(--color-text-soft)]`,children:`When you can't remember the next part of a sentence, OtraVez helps you keep the story moving.`}),(0,U.jsx)(`p`,{className:`mt-4 text-lg leading-8 text-[var(--color-text-soft)]`,children:`Over time, you'll reach for that help less and less.`})]}),(0,U.jsxs)(`div`,{className:`relative overflow-hidden rounded-[2rem] border border-[rgba(138,176,164,0.2)] bg-[linear-gradient(150deg,rgba(22,28,25,0.96),rgba(13,10,9,0.96)_58%,rgba(44,27,17,0.94))] p-5 shadow-[0_32px_90px_rgba(0,0,0,0.34)] sm:p-7`,children:[(0,U.jsx)(`div`,{className:`pointer-events-none absolute inset-x-8 top-0 h-px bg-[linear-gradient(90deg,transparent,rgba(164,197,184,0.5),transparent)]`}),(0,U.jsxs)(`div`,{className:`flex items-center gap-3 font-mono text-[0.68rem] uppercase tracking-[0.22em] text-[var(--color-muted)]`,children:[(0,U.jsx)(`span`,{className:`h-2 w-2 rounded-full bg-[var(--color-sage-soft)] shadow-[0_0_18px_rgba(138,176,164,0.55)]`}),`Live transcript`,(0,U.jsx)(`span`,{className:`ml-auto`,children:`00:42`})]}),(0,U.jsx)(`div`,{className:`mt-9 min-h-[11rem] sm:min-h-[13rem]`,children:(0,U.jsxs)(`p`,{className:`text-xl leading-10 text-[var(--color-text)] sm:text-2xl sm:leading-[3rem]`,children:[`Esta mañana subà al tejado con`,` `,(0,U.jsxs)(`span`,{className:`relative inline-flex translate-y-1 flex-col items-start gap-1 align-middle`,children:[(0,U.jsx)(`span`,{className:`animate-code-switch-chip rounded-full bg-[linear-gradient(135deg,var(--color-accent-soft),var(--color-accent))] px-3 py-1 text-[0.68rem] font-bold uppercase tracking-[0.16em] text-[#251508] shadow-[0_10px_28px_rgba(210,137,69,0.26)]`,children:`OtraVez · la escalera`}),(0,U.jsx)(`span`,{className:`animate-code-switch-stall border-b border-dashed border-[rgba(241,194,140,0.55)] text-base italic text-[var(--color-muted)] sm:text-lg`,children:`the ladder?`})]}),` `,(0,U.jsx)(`span`,{className:`animate-code-switch-resume mt-2 block text-[var(--color-text-soft)] sm:mt-0 sm:inline`,children:`con la escalera, y vi el amanecer.`})]})})]})]})}function Hr({onStart:e,authUser:t=null,onAuthSuccess:n,onSignOut:r,onOpenAccount:i,onOpenPricing:a,onManageBilling:o,billingBusy:s=!1,billingMessage:c=null}){let u=(0,l.useRef)(null),d=(0,l.useRef)(null),f=(0,l.useRef)(null),p=(0,l.useRef)(null),[m,h]=(0,l.useState)(!1),g=(0,l.useCallback)(()=>{u.current?.scrollIntoView({behavior:`smooth`,block:`start`})},[]),_=(0,l.useCallback)(()=>{d.current?.scrollIntoView({behavior:`smooth`,block:`start`})},[]);(0,l.useEffect)(()=>{!m||t||window.matchMedia(`(min-width: 1024px)`).matches||window.requestAnimationFrame(()=>{p.current?.scrollIntoView({behavior:`smooth`,block:`start`})})},[t,m]);let v=(0,l.useCallback)(()=>{f.current?.scrollIntoView({behavior:`smooth`,block:`start`})},[]),y=t?.tier===`paid`,b=y&&t?.access_source===`stripe_subscription`,x=y&&t?.access_source===`app_trial`;function S(){b&&t?.can_manage_billing?o():a()}function C(){return b&&t?.can_manage_billing?`Manage billing`:x?`Subscribe`:`Try Pro free`}return(0,U.jsxs)(`div`,{ref:u,className:`relative min-h-screen overflow-hidden bg-[var(--color-bg)] text-[var(--color-text)]`,children:[(0,U.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 overflow-hidden`,children:[(0,U.jsx)(`div`,{className:`absolute inset-0 bg-[linear-gradient(145deg,rgba(138,176,164,0.1)_0%,rgba(138,176,164,0)_34%),linear-gradient(180deg,rgba(14,10,8,0.86)_0%,rgba(10,8,7,0.96)_100%)]`}),(0,U.jsx)(`div`,{className:`absolute inset-x-0 top-0 h-px bg-[linear-gradient(90deg,transparent,rgba(241,194,140,0.32),transparent)]`})]}),(0,U.jsxs)(`main`,{className:`relative z-10`,children:[(0,U.jsxs)(`section`,{className:`mx-auto flex min-h-[92vh] w-full max-w-7xl flex-col px-6 py-6 sm:px-10 sm:py-10 lg:min-h-[88vh] lg:px-12`,children:[(0,U.jsxs)(`header`,{className:`flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between`,children:[(0,U.jsxs)(`button`,{type:`button`,onClick:g,className:`font-display w-fit text-left text-3xl text-[var(--color-text)] transition hover:text-[var(--color-accent-soft)]`,children:[`Otra`,(0,U.jsx)(`span`,{className:`italic text-[var(--color-accent-soft)]`,children:`Vez`})]}),(0,U.jsxs)(`nav`,{className:`flex w-full flex-wrap items-center gap-2 sm:w-auto
9sm:justify-end`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:a,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-4 py-2 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Pricing`}),(0,U.jsx)(`button`,{type:`button`,onClick:S,disabled:s,className:`rounded-full bg-[var(--color-accent)] px-4 py-2 text-sm font-semibold text-[#1f1407] transition hover:bg-[var(--color-accent-strong)] disabled:cursor-not-allowed disabled:opacity-60`,children:C()}),t?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`button`,{type:`button`,onClick:i,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-4 py-2 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Account`}),(0,U.jsx)(_e,{authUser:t,onAuthSuccess:n,onSignOut:r,mode:`compact`})]}):(0,U.jsx)(`button`,{onClick:()=>h(e=>!e),className:`rounded-full border border-[rgba(255,255,255,0.12)] px-4 py-2 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:m?`Close sign in`:`Sign in`})]})]}),c?(0,U.jsx)(`div`,{className:`mt-6 rounded-[1.25rem] border border-[rgba(210,137,69,0.22)] bg-[rgba(201,117,53,0.11)] px-4 py-3 text-sm text-[var(--color-text-soft)] sm:text-right`,children:c}):null,(0,U.jsxs)(`div`,{className:`grid flex-1 items-center gap-8 py-8 sm:gap-10 sm:py-12 lg:grid-cols-[minmax(0,1.05fr)_minmax(360px,480px)] lg:gap-16 lg:py-10`,children:[(0,U.jsxs)(`div`,{className:`max-w-3xl`,children:[(0,U.jsxs)(`h1`,{className:`font-display max-w-4xl text-5xl leading-[0.96] text-[var(--color-text)] sm:text-6xl lg:text-7xl`,children:[`Tell a story.`,(0,U.jsx)(`br`,{}),`Then tell it again.`,(0,U.jsx)(`br`,{}),`And again.`]}),(0,U.jsx)(`p`,{className:`mt-4 text-sm italic tracking-[0.08em] text-[var(--color-muted)] sm:text-base`,children:`otra vez - Spanish for "again"`}),(0,U.jsx)(`p`,{className:`mt-6 max-w-2xl text-lg leading-8 text-[var(--color-text-soft)] sm:text-xl`,children:`A speaking app for language learners who want to move from memorising words to having conversations.`}),(0,U.jsx)(`div`,{className:`mt-8 max-w-xl rounded-[2rem] border border-[rgba(255,255,255,0.06)] bg-[rgba(255,248,240,0.04)] px-5 py-4`,children:(0,U.jsx)(`p`,{className:`text-base leading-7 text-[var(--color-text-soft)]`,children:`You've done the lessons, tapped the flashcards, and matched the pictures. That's great - you know words. Now it's time you use them.`})})]}
9),(0,U.jsxs)(`div`,{ref:d,className:`w-full max-w-md space-y-5 lg:justify-self-end`,children:[!t&&m?(0,U.jsx)(`div`,{ref:p,children:(0,U.jsx)(_e,{authUser:t,onAuthSuccess:e=>{h(!1),n(e)},mode:`compact`})}):null,(0,U.jsx)(Ir,{onSubmit:e,title:`Try it free`,subtitle:`Pick your language pair and start speaking today`,submitLabel:`Try it now â free, no signup`,helperText:``})]})]})]}),(0,U.jsx)(Vr,{}),(0,U.jsxs)(`section`,{ref:f,className:`mx-auto w-full max-w-6xl px-6 py-14 sm:px-10 sm:py-18 lg:px-12`,children:[(0,U.jsx)(`div`,{children:(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:`How it works`})}),(0,U.jsxs)(`div`,{className:`relative mt-12 grid gap-12 lg:grid-cols-3 lg:gap-10`,children:[(0,U.jsx)(`div`,{className:`absolute left-0 right-0 top-[8.25rem] hidden h-px bg-[linear-gradient(90deg,transparent,rgba(241,194,140,0.28)_12%,rgba(164,197,184,0.26)_50%,rgba(241,194,140,0.28)_88%,transparent)] lg:block`}),Lr.map(e=>(0,U.jsxs)(`article`,{className:`relative`,children:[(0,U.jsx)(`p`,{className:`text-[0.68rem] font-semibold uppercase tracking-[0.24em] text-[var(--color-muted)]`,children:e.phase}),(0,U.jsx)(`div`,{className:`mt-5 h-24`,children:(0,U.jsx)(Br,{bars:Rr,highlight:e.highlight,align:`center`})}),(0,U.jsx)(`div`,{className:`relative mt-6 flex items-center gap-4`,children:(0,U.jsx)(`div`,{className:`relative z-10 flex h-10 w-10 items-center justify-center rounded-full border border-[rgba(241,194,140,0.22)] bg-[rgba(20,14,11,0.98)] font-mono text-xs text-[var(--color-accent-soft)] shadow-[0_0_0_8px_rgba(17,12,9,0.86)]`,children:e.step})}),(0,U.jsx)(`h3`,{className:`mt-5 text-2xl font-semibold leading-tight text-[var(--color-text)]`,children:e.title}),(0,U.jsx)(`p`,{className:`mt-4 text-base leading-7 text-[var(--color-muted)]`,children:e.body})]},e.step))]})]}),(0,U.jsx)(`section`,{className:`border-y border-[rgba(255,255,255,0.08)] bg-[linear-gradient(90deg,rgba(111,145,133,0.12),rgba(201,117,53,0.1)_52%,rgba(111,145,133,0.08))] px-6 py-16 text-center sm:px-10 lg:px-12`,children:(0,U.jsxs)(`div`,{className:`mx-auto max-w-5xl`,children:[(0,U.jsx)(`span`,{className:`font-display block text-7xl leading-none text-[rgba(241,194,140,0.25)]`,children:`â`}),(0,U.jsx)(`p`,{className:`font-display mx-auto -mt-4 max-w-4xl text-4xl leading-tight text-[var(--color-text)] sm:text-5xl`,children:`Telling stories is part of everyday life.`}),(0,U.jsx)(`p`,{className:`mx-auto mt-6 max-w-3xl text-lg leading-8 text-[var(--color-text-soft)]`,children:`We tell them over coffee, over dinner, on the phone with a friend. OtraVez lets you tell them again in a new language.`}),(0,U.jsx)(`div`,{className:`mx-auto mt-8 h-8 max-w-3xl opacity-60`,children:(0,U.jsx)(Br,{bars:zr,tone:`accent`,align:`center`})})]})}),(0,U.jsx)(`section`,{id:`about`,className:`mx-auto w-full max-w-6xl px-6 py-20 sm:px-10 lg:px-12`,children:(0,U.jsxs)(`div`,{className:`max-w-3xl`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:`Built for stories`}),(0,U.jsx)(`h2`,{className:`font-display mt-4 text-4xl text-[var(--color-text)] sm:text-5xl`,children:`A new language really starts to stick when it means something personal to you.`}),(0,U.jsx)(`p`,{className:`mt-5 text-xl leading-8 text-[var(--color-text-soft)]`,children:`OtraVez is built around one of the oldest things people do together: telling stories. Not perfect stories. Stories from your life. The more a new language helps you say something that is actually yours, the less it feels like studying and the more it feels like a language you can use.`}),(0,U.jsx)(`p`,{className:`mt-5 text-lg font-semibold leading-8 text-[var(--color-text)]`,children:`Other apps help you study a language. OtraVez helps you use one.`}),(0,U.jsx)(`button`,{onClick:_,className:`mt-8 rounded-full border border-[rgba(201,117,53,0.28)] bg-[rgba(201,117,53,0.11)] px-6 py-3 text-sm font-semibold text-[var(--color-accent-soft)] transition hover:bg-[rgba(201,117,53,0.16)]`,children:`Try it now â free, no signup`})]})}),(0,U.jsx)(`footer`,{className:`mx-auto w-full max-w-6xl px-6 pb-12 pt-10 sm:px-10 lg:px-12`,children:(0,U.jsxs)(`div`,{className:`border-t border-[rgba(255,255,255,0.08)] pt-10`,children:[(0,U.jsxs)(`div`,{className:`grid gap-12 lg:grid-cols-[minmax(0,1.4fr)_minmax(0,0.7fr)_minmax(0,0.9fr)]`,children:[(0,U.jsxs)(`div`,{className:`max-w-md`,children:[(0,U.jsx)(`button`,{onClick:g,className:`font-display text-left text-3xl text-[var(--color-text)] transition hover:text-[var(--color-accent-soft)]`,children:`OtraVez`}),(0,U.jsx)(`p`,{className:`mt-3 text-sm italic tracking-[0.08em] text-[var(--color-muted)]`,children:`otra vez - Spanish for "again"`}),(0,U.jsx)(`p`,{className:`mt-5 text-base leading-7 text-[var(--color-text-soft)]`,children:`Speaking practice for the gap between knowing words and using them.`}),(0,U.jsx)(`p`,{className:`mt-4 text-sm font-semibold text-[var(--color-accent-soft)]`,children:`No games. No pressure. Just talking.`})]}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-muted)]`,children:`Company`}),(0,U.jsxs)(`div`,{className:`mt-4 flex flex-col items-start gap-3`,children:[(0,U.jsx)(`a`,{href:`#about`,className:`text-sm font-medium text-[var(--color-text-soft)] transition hover:text-[var(--color-text)]`,children:`About Us`}),(0,U.jsx)(`a`,{href:`mailto:[email protected]`,className:`text-sm font-medium text-[var(--color-text-soft)] transition hover:text-[var(--color-text)]`,children:`Contact`})]})]}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-muted)]`,children:`Resources`}),(0,U.jsxs)(`div`,{className:`mt-4 flex flex-col gap-3`,children:[(0,U.jsx)(`a`,{href:`/pricing`,className:`text-sm font-medium text-[var(--color-text-soft)] transition hover:text-[var(--color-text)]`,children:`Pricing`}),(0,U.jsx)(`a`,{href:`/terms`,className:`text-sm font-medium text-[var(--color-text-soft)] transition hover:text-[var(--color-text)]`,children:`Terms of Service`}),(0,U.jsx)(`a`,{href:`/privacy-policy`,className:`text-sm font-medium text-[var(--color-text-soft)] transition hover:text-[var(--color-text)]`,children:`Privacy Policy`}),(0,U.jsx)(`a`,{href:`/cookie-policy`,className:`text-sm font-medium text-[var(--color-text-soft)] transition hover:text-[var(--color-text)]`,children:`Cookie Policy`}),(0,U.jsx)(`a`,{href:`/data-processing-agreement`,className:`text-sm font-medium text-[var(--color-text-soft)] transition hover:text-[var(--color-text)]`,children:`Data Processing Agreement`})]})]})]}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-3 pt-10 text-sm text-[var(--color-muted)] sm:flex-row sm:items-center sm:justify-between`,children:[(0,U.jsx)(`p`,{children:`© 2026 OtraVez`}),(0,U.jsxs)(`div`,{className:`flex flex-wrap gap-x-6 gap-y-2`,children:[(0,U.jsx)(`button`,{onClick:v,className:`transition hover:text-[var(--color-text)]`,children:`How it works`}),(0,U.jsx)(`button`,{onClick:a,className:`transition hover:text-[var(--color-text)]`,children:`Pricing`}),(0,U.jsx)(`button`,{onClick:_,className:`transition hover:text-[var(--color-text)]`,children:`Try it free`})]})]})]})})]})]})}function Ur(){return new URLSearchParams(window.location.search).get(`token`)||``}function Wr({onAuthSuccess:e,onKeepPracticing:t}){let[n,r]=(0,l.useState)(`loading`),[i,a]=(0,l.useState)(`Signing you in...`);return(0,l.useEffect)(()=>{let n=!1;async function i(){let i=Ur();if(!i){r(`error`),a(`This sign-in link is missing its token.`);return}try{let o=await z(i);if(n)return;e(o),r(`done`),a(`You are signed in.`),window.history.replaceState({},``,`/`),window.setTimeout(()=>{n||t()},600)}catch(e){if(n)return;r(`error`),a(e instanceof Error?e.message:`This sign-in link is invali
9d or expired.`)}}return i(),()=>{n=!0}},[e,t]),(0,U.jsx)(`div`,{className:`min-h-screen bg-[var(--color-bg)] px-6 py-16 text-[var(--color-text)]`,children:(0,U.jsx)(`div`,{className:`mx-auto flex min-h-[70vh] w-full max-w-3xl items-center justify-center`,children:(0,U.jsxs)(`section`,{className:`rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] px-8 py-6 text-center shadow-[0_24px_80px_rgba(0,0,0,0.24)]`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] text-[var(--color-accent-soft)]`,children:`OtraVez Account`}),(0,U.jsx)(`h1`,{className:`mt-3 text-2xl font-semibold text-[var(--color-text)]`,children:n===`error`?`Sign-in link problem`:`Magic link`}),(0,U.jsx)(`p`,{className:`mt-3 text-base leading-7 text-[var(--color-text-soft)]`,children:i}),n===`error`?(0,U.jsx)(`button`,{type:`button`,onClick:t,className:`mt-6 rounded-full bg-[var(--color-accent)] px-5 py-2 text-sm font-semibold text-[#1f1407] transition hover:bg-[var(--color-accent-strong)]`,children:`Return to OtraVez`}):null]})})})}function Gr({onEvent:e,onConnect:t,onDisconnect:n}){let[r,i]=(0,l.useState)(!1),a=(0,l.useRef)(null),o=(0,l.useCallback)(e=>{a.current?.readyState===WebSocket.OPEN&&a.current.send(JSON.stringify(e))},[]),s=(0,l.useCallback)(e=>{a.current?.readyState===WebSocket.OPEN&&a.current.send(e)},[]);return{isConnected:r,connect:(0,l.useCallback)((r=`/ws/session`)=>new Promise((o,s)=>{let c;c=`${`https://otravez-backend-prod-l7fxqdijia-uc.a.run.app`.replace(/^http/,`ws`)}${r}`;let l=new WebSocket(c);l.onopen=()=>{i(!0),t?.(),o()},l.onmessage=t=>{try{e(JSON.parse(t.data))}catch(e){console.error(`Failed to parse server event`,e)}},l.onclose=()=>{i(!1),n?.()},l.onerror=e=>s(e),a.current=l}),[e,t,n]),disconnect:(0,l.useCallback)(()=>{a.current?.close(),a.current=null},[]),sendAudio:(0,l.useCallback)(e=>{s(e)},[s]),sendClientLatencyMarker:(0,l.useCallback)((e,t,n,r)=>{o({type:`client_latency_marker`,phase:e,capture_to_send_ms:t,network_type:n,network_rtt_ms:r})},[o]),sendEndPhase:(0,l.useCallback)(()=>{o({type:`end_phase`})},[o]),sendAcceptTranscript:(0,l.useCallback)(e=>{o({type:`accept_transcript`,transcript:e})},[o]),sendStartPhase2:(0,l.useCallback)(e=>{o({type:`start_phase_2`,target_language:e})},[o]),sendStartPhase3:(0,l.useCallback)(()=>{o({type:`start_phase_3`})},[o]),sendSkipPhase3:(0,l.useCallback)(()=>{o({type:`skip_phase_3`})},[o]),sendContinuePronunciationReview:(0,l.useCallback)(()=>{o({type:`continue_pronunciation_review`})},[o]),sendRepeatPhase2:(0,l.useCallback)(()=>{o({type:`repeat_phase_2`})},[o]),sendConfigure:(0,l.useCallback)((e,t,n,r)=>{o({type:`configure`,native_language:e,target_language:t,retry_source_session_id:n||void 0,language_capability_summary_version:r||void 0,anonymous_user_id:p(),auth_token:h()||void 0,client_platform:`web`,client_version:`f0a923b1af70cb8d93271d1f8a49d74404fb0e93`})},[o])}}function Kr(){let e={"Content-Type":`audio/wav`},t=h();t&&(e.Authorization=`Bearer ${t}`);let n=p();return n&&(e[`X-Anonymous-User-Id`]=n),e}async function qr({sessionId:e,phase:t,audioBlob:n,signal:r}){let i=await fetch(v(`/sessions/${e}/audio/${t}`),{method:`PUT`,headers:Kr(),body:n,signal:r});if(i.ok)return;let a=`Audio upload failed for ${t}`;try{let e=await i.json();e.detail&&(a=e.detail)}catch{}throw Error(a)}function Jr(e,t,n,r){return!t||t.schema_version!==`phase2-catchall-v1`||t.session_id!==n||t.attempt_scope!==r||!Number.isInteger(t.revision)||t.revision<0||!Array.isArray(t.items)||e&&t.revision<=e.revision?e:t}function Yr(e,t,n,r){let i=t.attempt_scope??t.phase2_catchall?.attempt_scope;if(i!==void 0&&i!==r||t.phase2_catchall&&t.phase2_catchall.session_id!==n)return null;let a=Jr(e,t.phase2_catchall,n,r);return{...t,phase2_catchall:a??void 0,notes:a?.review_projection?.notes??t.notes,language_notes:a?.review_projection?.language_notes??t.language_notes}}function Xr(e,t){return{item_id:`${t}:legacy-item`,span_id:null,native_text:null,start_word:null,end_word:null,start_ms:null,end_ms:null,mode:e.mode,trigger_type:e.trigger_type,story_event_id:e.story_event_id,text:e.text,vocabulary:e.vocabulary,confidence:e.confidence,source:`legacy`}}function Zr(e,t){let n=e.group_id?.trim()||t,r=typeof e.revision==`number`&&Number.isFinite(e.revision)?Math.max(0,Math.trunc(e.revision)):0,i=e.items===void 0?[Xr(e,n)]:e.items.map((e,t)=>({...e,item_id:e.item_id||`${n}:item-${t+1}`}));return{...e,schema_version:`assist-group-v1`,group_id:n,revision:r,is_final:e.is_final??!0,items:i}}function Qr(e,t){return!e||e.group_id!==t.group_id?t:t.revision<=e.revision?e:{...e,...t,items:t.items}}function $r(e){return e.text.trim()?e.text:e.vocabulary.map(e=>
9e.word).filter(e=>e.trim()).join(`, `)}function ei(e){return e.items===void 0?[Xr(e,e.group_id||`legacy-assist`)]:e.items}function ti(e){return ei(e).map($r).filter(Boolean).join(`. `)}function ni(e,t){return e.items.filter(n=>{let r=`${e.group_id}:${n.item_id}`;return t.has(r)?!1:(t.add(r),!0)})}function ri(e){if(e.group_id)return`${e.group_id}:${e.revision??0}`;let t=e.vocabulary.map(e=>`${e.word}:${e.translation}`).join(`|`);return`legacy:${e.story_event_id??``}:${e.mode}:${e.text}:${t}`}function ii({item:e,itemNumber:t,itemCount:n,onSpeak:r,speakingText:i}){let a=$r(e),o=a===i;return(0,U.jsxs)(`div`,{"data-testid":`assist-item`,className:t>1?`border-t border-[rgba(255,255,255,0.08)] pt-3`:``,children:[e.native_text?.trim()?(0,U.jsxs)(`p`,{className:`mb-1 text-xs text-[var(--color-muted)]`,children:[`â`,e.native_text.trim(),`â`]}):null,e.mode===`repair`&&(0,U.jsx)(`p`,{className:`mb-1 text-xs font-medium text-[var(--color-accent-soft)]`,children:`Try:`}),e.trigger_type===`incomplete_event`&&e.mode!==`repair`&&(0,U.jsx)(`p`,{className:`mb-1 text-xs font-medium text-[var(--color-accent-soft)]`,children:`You're close! Try adding:`}),e.text&&(0,U.jsx)(`p`,{className:`mb-2 text-lg font-medium text-[var(--color-text)]`,children:e.text}),e.vocabulary.length>0&&(0,U.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:e.vocabulary.map((t,n)=>(0,U.jsxs)(`button`,{type:`button`,onClick:()=>r?.(t.word),disabled:!r,className:`rounded-full border px-3 py-1 text-sm font-semibold transition disabled:cursor-default ${i===t.word?`border-[rgba(210,137,69,0.48)] bg-[rgba(201,117,53,0.18)]`:`border-[rgba(210,137,69,0.24)] bg-[rgba(255,248,240,0.06)] hover:bg-[rgba(201,117,53,0.12)]`}`,children:[(0,U.jsx)(`span`,{className:`font-medium text-[var(--color-accent-soft)]`,children:t.word}),(0,U.jsxs)(`span`,{className:`text-[var(--color-text-soft)]`,children:[` `,`= `,t.translation]}),t.pronunciation_hint&&(0,U.jsxs)(`span`,{className:`text-[var(--color-muted)]`,children:[` `,`(`,t.pronunciation_hint,`)`]}),i===t.word?(0,U.jsx)(`span`,{className:`ml-1 text-xs text-[var(--color-accent-soft)]`,children:`Playing`}):null]},`${e.item_id}:${t.concept}:${n}`))}),a&&r?(0,U.jsx)(`button`,{type:`button`,onClick:()=>r(a),className:`mt-3 rounded-full border border-[rgba(210,137,69,0.28)] bg-[rgba(201,117,53,0.11)] px-3 py-1.5 text-xs font-semibold text-[var(--color-accent-soft)] transition hover:bg-[rgba(201,117,53,0.16)]`,children:o?`Playing`:n===1?`Hear it`:`Hear item ${t}`}):null,(0,U.jsxs)(`p`,{className:`mt-2 text-xs text-[var(--color-muted)]`,children:[e.mode.replace(`_`,` `),` · `,e.trigger_type.replace(`_`,` `)]})]})}function ai({assist:e,loading:t,onSpeak:n,speakingText:r=null}){let[i,a]=(0,l.useState)(null);if(t)return(0,U.jsx)(`div`,{className:`fixed bottom-0 left-0 right-0 flex justify-center p-4`,children:(0,U.jsx)(`div`,{className:`rounded-2xl border border-[rgba(255,255,255,0.08)] bg-[rgba(36,27,22,0.94)] px-6 py-3`,children:(0,U.jsx)(`div`,{className:`h-4 w-4 animate-spin rounded-full border-2 border-[rgba(255,255,255,0.2)] border-t-[var(--color-accent-soft)]`})})});if(!e)return null;let o=ei(e);if(o.length===0)return null;let s=ri(e);if(i===s)return null;let c=ti(e),u=c===r;return(0,U.jsx)(`div`,{className:`fixed bottom-0 left-0 right-0 flex justify-center p-4`,children:(0,U.jsxs)(`div`,{onAnimationEnd:e=>{e.target===e.currentTarget&&a(s)},className:`animate-assist-lifetime w-full max-w-lg rounded-2xl border bg-[rgba(36,27,22,0.95)] p-4 shadow-[0_18px_50px_rgba(0,0,0,0.28)] ${e.confidence===`high`?`border-[rgba(210,137,69,0.42)]`:e.confidence===`medium`?`border-[rgba(241,194,140,0.32)]`:`border-[rgba(255,255,255,0.1)]`}`,children:[(0,U.jsx)(`div`,{className:`space-y-3`,children:o.map((e,t)=>(0,U.jsx)(ii,{item:e,itemNumber:t+1,itemCount:o.length,onSpeak:n,speakingText:r},e.item_id))}),o.length>1&&c&&n?(0,U.jsx)(`button`,{type:`button`,onClick:()=>n(c),className:`mt-3 rounded-full border border-[rgba(210,137,69,0.38)] bg-[rgba(201,117,53,0.16)] px-3 py-1.5 text-xs font-semibold text-[var(--color-accent-soft)] transition hover:bg-[rgba(201,117,53,0.22)]`,children:u?`Playing all`:`Hear all`}):null]})})}function oi({phase1Transcript:e,storyEvents:t,isPaidTier:n,showByDefault:r,framed:i=!1,className:a=``}){let[o,s]=(0,l.useState)(r),c=e.trim(),u=i?`rounded-2xl border border-[rgba(255,255,255,0.08)] bg-[rgba(36,27,22,0.52)] p-4`:`border-t border-[rgba(255,255,255,0.08)] pt-4`;return n&&!c||!n&&t.length===0?null:(0,U.jsxs)(`section`,{className:`w-full text-left ${u} ${a}`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.18em] text-[var(--color-muted)]`,children:n?`Your story`:`Story events`}),o?n?(0,U.jsx)(`p`,{className:`mt-3 max-h-36 overflow-y-auto pr-2 text-sm leading-6 text-[var(--color-text-soft)]`,children:c}):(0,U.jsx)(`ol`,{className:`mt-3 max-h-36 space-y-2 overflow-y-auto pr-2 text-sm leading-6 text-[var(--color-text-soft)]`,children:t.map((e,t)=>(0,U.jsxs)(`li`,{className:`flex gap-2`,children:[(0,U.jsx)(`span`,{className:`mt-0.5 text-xs font-semibold text-[var(--color-accent-soft)]`,children:t+1}),(0,U.jsx)(`span`,{children:e.description})]},e.id))}):(0,U.jsx)(`button`,{type:`button`,onClick:()=>s(!0),className:`mt-3 rounded-full border border-[rgba(255,255,255,0.12)] px-4 py-2 text-sm font-semibold text-[var(--color-text-soft)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:n?`Show my story`:`Show story events`})]})}function si(e){return`${(e/60).toFixed(e%60==0?0:1)} min`}function ci({targetLanguage:e,phase1Transcript:t,isPaidTier:n,onStart:r,onSkip:i,onRepeatPhase2:a,storyEvents:o=[],phraseSet:s={},guidedRetellLimit:c=null,showTranscriptsByDefault:u,showTranslationHintsByDefault:d}){let[f,p]=(0,l.useState)(!!(c&&d));return(0,U.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center px-4 text-center`,children:(0,U.jsxs)(`div`,{className:`max-w-4xl rounded-3xl border border-[rgba(255,255,255,0.08)] bg-[linear-gradient(180deg,rgba(49,36,29,0.82),rgba(24,19,16,0.9))] p-8 shadow-2xl shadow-black/20`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.3em] text-[var(--color-accent-soft)]`,children:c?`Independent Retell`:`Final Pass`}),(0,U.jsx)(`h2`,{className:`mt-3 text-2xl font-semibold text-[var(--color-text)]`,children:c?`Your guided retells are used up for today`:`Try it once more without help`}),(0,U.jsx)(`p`,{className:`mt-4 text-sm leading-6 text-[var(--color-text-soft)]`,children:c?`You can still do an unassisted retell in ${e} using the story notes we generated from Phase 1. Weâll still analyze what you say afterward.`:`This last retell is just for you. We'll capture a clean attempt in ${e} and compare it to your assisted round afterward.`}),(0,U.jsx)(oi,{phase1Transcript:t,storyEvents:o,isPaidTier:n,showByDefault:u,className:`mt-6`}),c&&(0,U.jsxs)(`div`,{className:`mt-6 rounded-2xl border border-[rgba(210,137,69,0.22)] bg-[rgba(201,117,53,0.11)] p-4 text-left text-sm text-[var(--color-text-soft)]`,children:[(0,U.jsx)(`p`,{className:`font-medium text-[var(--color-text)]`,children:`Today's guided retell limit`}),(0,U.jsxs)(`p`,{className:`mt-2 leading-6`,children:[`You've used `,si(c.phase2DailySeconds),c.phase2ThresholdSeconds?` of ${si(c.phase2ThresholdSeconds)}`:``,` `,`of guided retell time today. The live help is paused, but the prep notes below are still available.`]})]}),(0,U.jsxs)(`div`,{className:`mt-6 rounded-2xl border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-4 text-left text-sm text-[var(--color-text-soft)]`,children:[(0,U.jsx)(`p`,{className:`font-medium text-[var(--color-text)]`,children:`What changes in Phase 3`}),(0,U.jsx)(`p`,{className:`mt-2`,children:c?`No live nudges, but you can review the story outline and phrase hints before you start.`:`No live nudges, vocabulary cards, or hint buttons. Just tell the story again and see what sticks.`})]}),c&&o.length?(0,U.jsxs)(`div`,{className:`mt-6 text-left`,children:[(0,U.jsx)(`button`,{onClick:()=>p(e=>!e),className:`text-sm text-[var(--color-text-soft)] underline underline-offset-2 hover:text-[var(--color-text)]`,children:f?`Hide phrase hints`:`Show phrase hints`}),(0,U.jsx)(`div`,{className:`mt-4 space-y-2`,children:o.map(e=>{let t=s[e.id];return(0,U.jsxs)(`div`,{className:`space-y-1`,children:[(0,U.jsx)(`div`,{className:`rounded-xl border border-[rgba(255,255,255,0.08)] bg-[rgba(36,27,22,0.72)] px-4 py-3 text-sm text-[var(--color-text-soft)]`,children:e.description}),f&&t?(0,U.jsxs)(`div`,{className:`ml-3 rounded-xl border border-[rgba(210,137,69,0.16)] bg-[rgba(201,117,53,0.09)] px-4 py-3 text-sm text-[var(--color-text)]`,children:[(0,U.jsx)(`p`,{children:t.full_sentences[0]}),t.vocabulary.length?(0,U.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5 text-xs`,children:t.vocabulary.slice(0,5).map(t=>(0,U.jsxs)(`span`,{className:`rounded bg-[rgba(36,27,22,0.38)] px-2 py-1 text-[var(--color-accent-soft)]`,children:[t.word,` = `,t.translation]},`${e.id}-${t.word}`))}):null]}):null]},e.id)})})]}):null,(0,U.jsxs)(`div`,{className:`mt-8 flex flex-col gap-3 sm:flex-row sm:justify-center`,children:[n&&a?(0,U.jsx)(`button`,{type:`button`,onClick:a,className:`rounded-full border border-[rgba(210,137,69,0.32)] px-8 py-3 text-sm font-semibold text-[var(--color-accent-soft)] transition hover:border-[var(--color-accent-soft)] hover:bg-[rgba(201,117,53,0.12)]`,children:`Redo guided retell`}):null,(0,U.jsx)(`button`,{onClick:r,className:`rounded-full bg-[linear-gradient(135deg,var(--color-accent),var(--color-accent-strong))] px-8 py-3 text-sm font-semibold text-[#1f1407] shadow-[0_18px_40px_rgba(201,117,53,0.28)] transition hover:-translate-y-0.5 hover:shadow-[0_24px_50px_rgba(201,117,53,0.35)]`,children:c?`Start independent retell`:`Start final pass`}),(0,U.jsx)(`button`,{onClick:i,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-8 py-3 text-sm font-semibold text-[var(--color-text-soft)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Skip for now`})]})]})})}function li(e){return e.source_excerpt?.trim()||e.description}function ui({storyEvents:e,phraseSetReady:t,phraseSet:n,phase1Transcript:r,isPaidTier:i,showTranscriptsByDefault:a,showTranslationHintsByDefault:o,onStartPhase2:s,onSpeakPhrase:c,speakingText:u=null}){let[d,f]=(0,l.useState)(o),[p,m]=(0,l.useState)(a),[h,g]=(0,l.useState)(new Set);function _(e){g(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}return e.length===0?(0,U.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,U.jsx)(`div`,{className:`h-8 w-8 animate-spin rounded-full border-2 border-[rgba(255,255,255,0.2)] border-t-[var(--color-accent-soft)]`}),(0,U.jsx)(`p`,{className:`mt-4 text-[var(--color-text-soft)]`,children:`Analyzing your story...`})]}):(0,U.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,U.jsxs)(`div`,{className:`mb-6 w-full max-w-md
9space-y-5`,children:[(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`p`,{className:`mb-2 text-sm font-medium text-[var(--color-text-soft)]`,children:`Your story`}),p?(0,U.jsx)(`p`,{className:`rounded-xl border border-[rgba(255,255,255,0.08)] bg-[rgba(36,27,22,0.5)] px-4 py-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:r}):(0,U.jsx)(`button`,{type:`button`,onClick:()=>m(!0),className:`rounded-full border border-[rgba(255,255,255,0.12)] px-4 py-2 text-sm font-semibold text-[var(--color-text-soft)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Show my story`})]}),(0,U.jsxs)(`section`,{className:`space-y-2`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-sm font-medium text-[var(--color-text-soft)]`,children:i?`Your story chunks`:`Practice outline`}),(0,U.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-[var(--color-muted)]`,children:i?`These are exact practice chunks from your story. Tap a chunk to reveal help.`:`We can help with these main beats. You can still retell the full story in your own words.`})]}),e.map((e,t)=>{let r=n[e.id],a=i?o||h.has(e.id):d;return(0,U.jsxs)(`div`,{className:`space-y-1`,children:[(0,U.jsx)(`div`,{role:i?`button`:void 0,tabIndex:i?0:void 0,onClick:()=>{i&&_(e.id)},onKeyDown:t=>{i&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),_(e.id))},className:`rounded-xl border border-[rgba(255,255,255,0.08)] bg-[rgba(36,27,22,0.72)] px-4 py-2 text-sm text-[var(--color-text-soft)] ${i?`cursor-pointer transition hover:border-[rgba(210,137,69,0.24)]`:``}`,children:(0,U.jsxs)(`p`,{children:[(0,U.jsx)(`span`,{className:`mr-2 text-xs font-semibold text-[var(--color-accent-soft)]`,children:t+1}),li(e)]})}),a&&r&&(0,U.jsxs)(`div`,{className:`ml-4 rounded-xl border border-[rgba(210,137,69,0.16)] bg-[rgba(201,117,53,0.09)] px-4 py-2 text-sm`,children:[r.full_sentences[0]?(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsx)(`p`,{className:`text-[var(--color-accent-soft)]`,children:r.full_sentences[0]}),c?(0,U.jsx)(`button`,{type:`button`,onClick:()=>c(r.full_sentences[0]),className:`rounded-full border border-[rgba(210,137,69,0.28)] px-2 py-1 text-xs font-semibold text-[var(--color-accent-soft)] transition hover:bg-[rgba(201,117,53,0.14)]`,children:u===r.full_sentences[0]?`Playing`:`Hear it`}):null]}):null,i&&r.recall_targets&&r.recall_targets.length>0?(0,U.jsx)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:r.recall_targets.slice(0,6).map((t,n)=>(0,U.jsx)(`button`,{type:`button`,onClick:()=>c?.(t.target),className:`rounded-full border px-3 py-1 text-xs font-semibold transition ${u===t.target?`border-[rgba(210,137,69,0.48)] bg-[rgba(201,117,53,0.18)] text-[var(--color-accent-soft)]`:`border-[rgba(210,137,69,0.28)] bg-[rgba(36,27,22,0.4)] hover:bg-[rgba(201,117,53,0.14)]`}`,children:(0,U.jsx)(`span`,{className:`text-[var(--color-accent-soft)]`,children:t.target})},`${e.id}-chunk-${n}`))}):null,r.vocabulary.length>0&&(0,U.jsx)(`div`,{className:`mt-3 flex flex-wrap gap-2`,children:r.vocabulary.slice(0,5).map((e,t)=>(0,U.jsxs)(`button`,{type:`button`,onClick:()=>c?.(e.word),className:`rounded-full border px-3 py-1 text-xs font-semibold transition ${u===e.word?`border-[rgba(210,137,69,0.48)] bg-[rgba(201,117,53,0.18)] text-[var(--color-accent-soft)]`:`border-[rgba(210,137,69,0.28)] bg-[rgba(36,27,22,0.4)] hover:bg-[rgba(201,117,53,0.14)]`}`,children:[(0,U.jsx)(`span`,{className:`text-[var(--color-accent-soft)]`,children:e.word}),(0,U.jsxs)(`span`,{className:`text-[var(--color-muted)]`,children:[` `,`= `,e.translation]}),u===e.word?(0,U.jsx)(`span`,{className:`ml-1 text-[var(--color-accent-soft)]`,children:`Playing`}):null]},t))})]})]},e.id)})]})]}),t?(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[i?null:(0,U.jsx)(`button`,{onClick:()=>f(!d),className:`text-sm text-[var(--color-text-soft)] underline underline-offset-2 hover:text-[var(--color-text)]`,children:d?`Hide translations`:`Show me how to say it`}),(0,U.jsx)(`button`,{onClick:s,className:`rounded-full bg-[linear-gradient(135deg,var(--color-accent),var(--color-accent-strong))] px-8 py-4 text-lg font-semibold text-[#1f1407] shadow-[0_18px_40px_rgba(201,117,53,0.28)] transition hover:-translate-y-0.5 hover:shadow-[0_24px_50px_rgba(201,117,53,0.35)]`,children:`Tell it again`})]}):(0,U.jsxs)(`div`,{className:`flex flex-col items-center`,children:[(0,U.jsx)(`div`,{className:`h-8 w-8 animate-spin rounded-full border-2 border-[rgba(255,255,255,0.2)] border-t-[var(--color-accent-soft)]`}),(0,U.jsx)(`p`,{className:`mt-4 text-[var(--color-text-soft)]`,children:`Preparing your practice session...`})]})]})}function di({envelope:e,targetLanguage:t,sessionId:n,audioToken:r,audioUrl:i}){let[a,o]=(0,l.useState)(!1),[s,c]=(0,l.useState)(null),[u,d]=(0,l.useState)(null),f=(0,l.useRef)(null),p=(0,l.useRef)(null),m=(0,l.useRef)(0);(0,l.useEffect)(()=>()=>{m.current+=1,f.current?.pause(),p.current&&URL.revokeObjectURL(p.current)},[]);async function h(e,t,n=0,r){let i=++m.current;f.current?.pause(),c(null),d(e);try{let e=await t();if(i!==m.current)return;p.current&&URL.revokeObjectURL(p.current),p.current=typeof e==`string`?null:URL.createObjectURL(e);let a=new Audio(typeof e==`string`?e:p.current);f.current=a,a.currentTime=n,r!==void 0&&a.addEventListener(`timeupdate`,()=>{a.currentTime>=r&&a.pause()}),await a.play()}catch{i===m.current&&c(`Unable to play this audio.`)}finally{i===m.current&&d(null)}}if(!e?.items.length)return null;
9let g=a?e.items:e.items.slice(0,3);return(0,U.jsxs)(`section`,{className:`mt-6 w-full text-left`,"aria-label":`Ways to say it`,children:[(0,U.jsx)(`h3`,{className:`text-lg font-semibold text-[var(--color-text)]`,children:`Ways to say it`}),(0,U.jsx)(`div`,{className:`mt-3 grid gap-3 md:grid-cols-2`,children:g.map(e=>{let a=e.occurrences.find(e=>typeof e.playback_start==`number`&&typeof e.playback_end==`number`&&e.playback_end>e.playback_start),o=a&&(n&&r||i);return(0,U.jsxs)(`article`,{className:`rounded-2xl border border-white/10 bg-white/5 p-4`,children:[(0,U.jsx)(`p`,{className:`text-sm text-[var(--color-text-soft)]`,children:e.native_text}),(0,U.jsx)(`p`,{className:`mt-2 font-semibold text-[var(--color-text)]`,children:e.target_text}),(0,U.jsxs)(`div`,{className:`mt-3 flex flex-wrap gap-3 text-sm`,children:[t&&(0,U.jsx)(`button`,{disabled:u!==null,onClick:()=>void h(e.id,()=>ve({text:e.target_text,languageCode:t,sessionId:n})),children:`Hear expression`}),o&&(0,U.jsx)(`button`,{disabled:u!==null,onClick:()=>{n&&r?h(e.id,()=>W({sessionId:n,audioToken:r,start:a.playback_start,end:a.playback_end})):i&&h(e.id,async()=>i,a.playback_start,a.playback_end)},children:`Hear your attempt`})]})]},e.id)})}),!a&&e.items.length>3&&(0,U.jsxs)(`button`,{className:`mt-3 text-sm underline`,onClick:()=>o(!0),children:[`Show the rest (`,e.items.length-3,`)`]}),s&&(0,U.jsx)(`p`,{role:`alert`,className:`mt-2 text-sm`,children:s})]})}function fi({catchall:e,notes:t,languageNotes:n,sessionId:r,audioToken:i,targetLanguage:a,isLoading:o,resultState:s=null,resultReason:c=null,skippedReason:u=null,reviewKind:d=null,moreNotesAvailable:f=!1,isPaidTier:p,onUpgrade:m,onContinue:h,onRepeatPhase2:g}){let _=t.length>0,v=n.length>0,y=_||v,b=s??(y?`notes_found`:`skipped`),x=d===`language`,S=y&&f&&!p,C=(0,l.useRef)(null),w=(0,l.useRef)(new Map),[T,E]=(0,l.useState)(null),[D,O]=(0,l.useState)(null),[k,A]=(0,l.useState)(null);(0,l.useEffect)(()=>{let e=w.current;return()=>{C.current?.pause(),e.forEach(e=>URL.revokeObjectURL(e)),e.clear()}},[]);async function j(e,t){C.current?.pause(),A(null),O(e);try{let n=w.current.get(e);n||(n=URL.createObjectURL(await t()),w.current.set(e,n));let r=new Audio(n);C.current=r,E(e),r.addEventListener(`ended`,()=>E(null),{once:!0}),r.addEventListener(`pause`,()=>E(null),{once:!0}),await r.play()}catch(e){E(null),A(e instanceof Error?e.message:`Unable to play this audio.`)}finally{O(null)}}function M(e){return!!(r&&i&&typeof e.clip_start==`number`&&typeof e.clip_end==`number`)}function ee(e){return!!(r&&i&&typeof e.playback_start==`number`&&typeof e.playback_end==`number`)}function N(){return o?`Checking your guided pass`:b===`notes_found`?`A few details to tune`:x?b===`clean_pass`?`Nothing to correct this round`:b===`incomplete`?`Language check incomplete`:`Language check skipped`:b===`clean_pass`?`No clear pronunciation flags`:b===`incomplete`?c===`semantic_evaluator_failed`?`Story-aware check incomplete`:`Pronunciation check incomplete`:`Pronunciation check skipped`}function P(){return o?`We're checking the words from your story before the final pass.`:b===`notes_found`?x?`We checked the words and forms in your retelling and found these details worth a closer look.`:`Review the expression and pronunciation details we could identify confidently.`:x?b===`clean_pass`?`We checked the words and forms in your retelling and did not find anything to correct this round.`:b===`incomplete`?y?`We could not check all of your retelling. These notes are still worth a look, but we are not calling this a clean pass.`:`We could not check all of your retelling, so we are not calling this a clean pass.`:`We could not find enough clear target-language speech to check this round.`:b===`clean_pass`?`We checked the target words we could hear and did not find a high-confidence pronunciation issue this round.`:b===`incomplete`?c===`semantic_evaluator_failed`?`We could not complete the story-aware language check, so we are not calling this a clean pass.`:`We heard part of your guided pass, but could not evaluate enough audio to call this a clean pass.`:`We could not find enough clear target-language audio to review this round.`}function F(){let e=c??u;return!e||b===`clean_pass`||b===`notes_found`?null:e===`missing_phase2_audio`?`The guided retell recording was not available.`:e===`missing_word_timestamps`?`The transcript did not include enough word timing data.`:e===`missing_targets`?`There were no target story words ready to check.`:e===`no_reliable_pronunciation_crops`?`The audio around the target words was too short or unclear.`:e===`finish_timed_out`?`The check needed more time than this turn allowed.`:e===`evaluation_limit`?`The check reached its review limit before every attempted word was evaluated.`:e===`semantic_evaluator_failed`?`The language evaluator failed before it could return a reliable result.`:e===`semantic_evaluator_partial`?`The language evaluator could not finish every sentence in time.`:null}let I=F();return(0,U.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center px-4 text-center`,children:(0,U.jsxs)(`div`,{className:`w-full max-w-4xl rounded-3xl border border-[rgba(255,255,255,0.08)] bg-[linear-gradient(180deg,rgba(49,36,29,0.82),rgba(24,19,16,0.9))] p-8 shadow-2xl shadow-black/20`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.3em] text-[var(--color-accent-soft)]`,children:x?`Language check`:`Pronunciation`}),(0,U.jsx)(`h2`,{className:`mt-3 text-2xl font-semibold text-[var(--color-text)]`,children:N()}),(0,U.jsx)(`p`,{className:`mx-auto mt-4 max-w-2xl text-sm leading-6 text-[var(--color-text-soft)]`,children:P()}),I?(0,U.jsx)(`p`,{className:`mx-auto mt-2 max-w-2xl text-xs leading-5 text-[var(--color-text-soft)] opacity-80`,children:I}):null,(0,U.jsx)(di,{envelope:e,sessionId:r,audioToken:i,targetLanguage:a},e?.attempt_scope),o?(0,U.jsx)(`div`,{className:`mx-auto mt-8 h-10 w-10 animate-spin rounded-full border-2 border-[rgba(255,255,255,0.2)] border-t-[var(--color-accent-soft)]`}):_?(0,U.jsx)(`div`,{className:`mt-8 grid gap-3 text-left md:grid-cols-2`,children:t.map((e,t)=>(0,U.jsxs)(`div`,{className:`rounded-2xl border border-[rgba(210,137,69,0.18)] bg-[rgba(201,117,53,0.09)] p-4`,children:[(0,U.jsx)(`p`,{className:`text-base font-semibold text-[var(--color-text)]`,children:e.target}),e.heard_as?(0,U.jsxs)(`p`,{className:`mt-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:[`Heard closer to `,(0,U.jsx)(`strong`,{children:e.heard_as})]}):null,e.feedback?(0,U.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-[var(--color-text-soft)]`,children:e.feedback}):null,(0,U.jsxs)(`div`,{className:`mt-4 grid grid-cols-1 gap-2 sm:grid-cols-2`,children:[(0,U.jsx)(`button`,{type:`button`,disabled:!M(e)||D!==null,onClick:()=>{!r||!i||typeof e.clip_start!=`number`||typeof e.clip_end!=`number`||j(`learner-${t}`,()=>W({sessionId:r,audioToken:i,start:e.clip_start,end:e.clip_end}))},className:`min-h-11 rounded-lg border border-[rgba(210,137,69,0.32)] bg-[rgba(255,248,240,0.04)] px-3 py-2 text-sm font-semibold text-[var(--color-text)] transition hover:bg-[rgba(201,117,53,0.12)] disabled:cursor-not-allowed disabled:opacity-45`,children:D===`learner-${t}`?`Loading...`:T===`learner-${t}`?`Playing your recording`:`Hear your recording`}),(0,U.jsx)(`button`,{type:`button`,disabled:!a||D!==null,onClick:()=>{a&&j(`correct-${t}`,()=>ve({text:e.target,languageCode:a,sessionId:r}))},className:`min-h-11 rounded-lg border border-[rgba(210,137,69,0.48)] bg-[rgba(201,117,53,0.14)] px-3 py-2 text-sm font-semibold text-[var(--color-accent-soft)] transition hover:bg-[rgba(201,117,53,0.22)] disabled:cursor-not-allowed disabled:opacity-45`,children:D===`correct-${t}`?`Loading...`:T===`correct-${t}`?`Playing correct version`:`Hear correct pronunciation`})]})]},`${e.target}-${t}`))}):null,!o&&v?(0,U.jsx)(`div`,{className:`mt-8 grid gap-3 text-left md:grid-cols-2`,children:n.map((e,t)=>(0,U.jsxs)(`div`,{className:`rounded-2xl border border-[rgba(112,166,193,0.24)] bg-[rgba(77,135,165,0.1)] p-4`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.2em] text-sky-200`,children:`Expression to refine`}),e.actual_expression?(0,U.jsxs)(`p`,{className:`mt-3 text-sm text-[var(--color-text-soft)]`,children:[`You said `,(0,U.jsx)(`strong`,{children:e.actual_expression})]}):null,(0,U.jsxs)(`p`,{className:`mt-2 text-base font-semibold text-[var(--color-text)]`,children:[`Try `,e.improved_expression]}),e.contextual_explanation?(0,U.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-[var(--color-text-soft)]`,children:e.contextual_explanation}):null,(0,U.jsxs)(`div`,{className:`mt-4 grid grid-cols-1 gap-2 sm:grid-cols-2`,children:[(0,U.jsx)(`button`,{type:`button`,disabled:!ee(e)||D!==null,onClick:()=>{!r||!i||typeof e.playback_start!=`number`||typeof e.playback_end!=`number`||j(`language-learner-${t}`,()=>W({sessionId:r,audioToken:i,start:e.playback_start,end:e.playback_end}))},className:`min-h-11 rounded-lg border border-[rgba(112,166,193,0.32)] px-3 py-2 text-sm font-semibold text-[var(--color-text)] disabled:cursor-not-allowed disabled:opacity-45`,children:D===`language-learner-${t}`?`Loading...`:T===`language-learner-${t}`?`Playing your recording`:`Hear your recording`}),(0,U.jsx)(`button`,{type:`button`,disabled:!a||D!==null,onClick:()=>{a&&j(`language-improved-${t}`,()=>ve({text:e.improved_expression,languageCode:a,sessionId:r}))},className:`min-h-11 rounded-lg border border-[rgba(112,166,193,0.42)] bg-[rgba(77,135,165,0.12)] px-3 py-2 text-sm font-semibold text-sky-200 disabled:cursor-not-allowed disabled:opacity-45`,children:D===`language-improved-${t}`?`Loading...`:T===`language-improved-${t}`?`Playing improved version`:`Hear improved expression`})]})]},`${e.token_ids.join(`-`)}-${t}`))}):null,k?(0,U.jsx)(`p`,{className:`mt-4 text-sm text-red-300`,children:k}):null,S?(0,U.jsxs)(`div`,{className:`mx-auto mt-6 max-w-2xl rounded-2xl border border-[rgba(210,137,69,0.22)] bg-[rgba(201,117,53,0.1)] p-4 text-left`,children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-[var(--color-text)]`,children:x?`More notes are available with Pro.`:`More pronunciation notes are available with Pro.`}),(0,U.jsx)(`button`,{type:`button`,onClick:m,className:`mt-3 rounded-full border border-[rgba(210,137,69,0.45)] px-4 py-2 text-sm font-semibold text-[var(--color-accent-soft)] transition hover:border-[var(--color-accent-soft)] hover:bg-[rgba(201,117,53,0.12)]`,children:`Try Pro free`})]}):null,(0,U.jsxs)(`div`,{className:`mt-8 flex flex-col justify-center gap-3 sm:flex-row`,children:[p&&g?(0,U.jsx)(`button`,{type:`button`,onClick:g,disabled:o,className:`rounded-full border border-[rgba(210,137,69,0.32)] px-8 py-3 text-sm font-semibold text-[var(--color-accent-soft)] transition hover:border-[var(--color-accent-soft)] hover:bg-[rgba(201,117,53,0.12)] disabled:cursor-not-allowed disabled:opacity-60`,children:`Redo guided retell`}):null,(0,U.jsx)(`button`,{type:`button`,onClick:h,disabled:o,className:`rounded-full bg-[linear-gradient(135deg,var(--color-accent),var(--color-accent-strong))] px-8 py-3 text-sm font-semibold text-[#1f1407] shadow-[0_18px_40px_rgba(201,117,53,0.28)] transition hover:-translate-y-0.5 hover:shadow-[0_24px_50px_rgba(201,117,53,0.35)] disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:translate-y-0`,children:`Continue to final pass`})]})]})})}function pi(e){return e.replaceAll(`_`,` `)}function mi(e,t,n=`${t}s`){return`${e} ${e===1?t:n}`}function hi(e,t){return e.trim()||t.map(e=>
9e.source_excerpt?.trim()||e.description.trim()).filter(Boolean).join(` `)||`No original story text was captured for this session.`}function gi(e){return e?.length?e.find(e=>e.severity===`high`)||e.find(e=>e.severity===`medium`)||e[0]:null}function _i(e){return new Map((e||[]).map(e=>[e.event_id,e]))}function vi(e){return e==null?null:`${Math.round(e*100)}%`}function yi(e,t){let n=e.length||t?.length||0;if(!n||!t?.length)return{value:`Not checked`,detail:`Story coverage needs a completed retell with event feedback.`};let r=(t||[]).filter(e=>e.status===`covered`).length,i=(t||[]).filter(e=>e.status===`partial`).length,a=i>0?`${mi(i,`beat`)} partially retold.`:r===n?`Every story beat came through.`:`Missing beats are good candidates for another guided retell.`;return{value:`${r}/${n} beats`,detail:a}}function bi({phase2TargetLanguagePct:e,phase3TargetLanguagePct:t,phase3Attempted:n}){let r=vi(t);if(r)return{value:r,detail:`of your final pass was in the target language.`};let i=vi(e);return i?{value:i,detail:`of your guided pass was in the target language.`}:{value:n?`Not measured`:`Final pass skipped`,detail:n?`Target-language percentage was not available for this attempt.`:`Do a final pass to see how much sticks without live help.`}}function xi({label:e,value:t,detail:n}){return(0,U.jsxs)(`div`,{className:`min-h-28 rounded-xl border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.045)] p-4`,children:[(0,U.jsx)(`p`,{className:`text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--color-muted)]`,children:e}),(0,U.jsx)(`p`,{className:`mt-2 text-xl font-semibold leading-7 text-[var(--color-text)]`,children:t}),n?(0,U.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-[var(--color-text-soft)]`,children:n}):null]})}function Si({events:e,feedback:t}){let n=_i(t);return e.length?(0,U.jsxs)(`section`,{className:`mt-6 text-left`,children:[(0,U.jsx)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-end sm:justify-between`,children:(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] text-[var(--color-accent-soft)]`,children:`Story Events`}),(0,U.jsxs)(`h3`,{className:`mt-2 text-lg font-semibold text-[var(--color-text)]`,children:[mi(e.length,`beat`),` from the story`]})]})}),(0,U.jsx)(`div`,{className:`mt-4 grid gap-3 md:grid-cols-2`,children:e.map((e,t)=>{let r=n.get(e.id),i=r?.status;return(0,U.jsxs)(`article`,{className:`rounded-xl border p-4 ${i===`covered`?`border-[rgba(125,211,252,0.22)] bg-[rgba(125,211,252,0.08)]`:i===`partial`?`border-[rgba(241,194,140,0.2)] bg-[rgba(241,194,140,0.08)]`:i===`missing`?`border-[rgba(248,113,113,0.18)] bg-[rgba(248,113,113,0.07)]`:`border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)]`}`,children:[(0,U.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,U.jsxs)(`p`,{className:`text-sm font-semibold text-[var(--color-text)]`,children:[`Beat `,t+1]}),i?(0,U.jsx)(`span`,{className:`rounded-full bg-[rgba(17,12,9,0.38)] px-2.5 py-1 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--color-text-soft)]`,children:i}):null]}),(0,U.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-[var(--color-text-soft)]`,children:e.description}),r?.note?(0,U.jsx)(`p`,{className:`mt-3 border-t border-[rgba(255,255,255,0.08)] pt-3 text-xs leading-5 text-[var(--color-muted)]`,children:r.note}):null]},e.id)})})]}):null}function Ci({title:e,description:t,transcript:n,audioUrl:r}){return(0,U.jsxs)(`details`,{className:`group rounded-xl border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-4 text-left`,children:[(0,U.jsxs)(`summary`,{className:`flex cursor-pointer list-none flex-col gap-3 sm:flex-row sm:items-center sm:justify-between`,children:[(0,U.jsxs)(`span`,{children:[(0,U.jsx)(`span`,{className:`block text-sm font-semibold text-[var(--color-text)]`,children:e}),(0,U.jsx)(`span`,{className:`mt-1 block text-xs leading-5 text-[var(--color-muted)]`,children:t})]}),(0,U.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-[0.16em] text-[var(--color-accent-soft)] group-open:hidden`,children:`Show transcript`}),(0,U.jsx)(`span`,{className:`hidden text-xs font-semibold uppercase tracking-[0.16em] text-[var(--color-accent-soft)] group-open:inline`,children:`Hide transcript`})]}),r?(0,U.jsx)(`audio`,{controls:!0,preload:`none`,className:`mt-4 w-full max-w-sm`,children:(0,U.jsx)(`source`,{src:r,type:`audio/wav`})}):null,(0,U.jsx)(`p`,{className:`mt-4 text-sm leading-6 text-[var(--color-text-soft)]`,children:n||`No transcript captured for this pass.`})]})}function wi({analysis:e,onUpgrade:t}){let n=e=>e.replaceAll(`_`,` `).replace(/\bpreterite\b/gi,`past tense`).replace(/\bser estar\b/gi,`ser / estar`),r=e?.next_story_suggestion,i=e?.focus_areas.map(e=>
9e.title).filter(Boolean).slice(0,2),a=r?.focus?.length?r.focus.slice(0,4):i?.length?i:[`Use a clear beginning, middle, and ending`,`Add one feeling or opinion`],o=r?.prompt||e?.next_attempt_prompt||`Tell a short story about something that happened today, then add one extra detail on the second pass.`;return(0,U.jsxs)(`section`,{className:`mt-6 grid gap-4 lg:grid-cols-[1fr_0.82fr]`,children:[(0,U.jsxs)(`div`,{className:`rounded-xl border border-[rgba(125,211,252,0.18)] bg-[rgba(125,211,252,0.07)] p-5 text-left`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] text-[#bae6fd]`,children:`Next Story`}),(0,U.jsx)(`p`,{className:`mt-3 text-lg font-semibold leading-7 text-[var(--color-text)]`,children:o}),r?.reason?(0,U.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:r.reason}):null]}),(0,U.jsxs)(`div`,{className:`rounded-xl border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-5 text-left`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] text-[var(--color-accent-soft)]`,children:`Try Next`}),(0,U.jsx)(`div`,{className:`mt-4 flex flex-wrap gap-2`,children:a.map(e=>(0,U.jsx)(`span`,{className:`rounded-full border border-[rgba(255,255,255,0.09)] bg-[rgba(17,12,9,0.34)] px-3 py-2 text-xs leading-5 text-[var(--color-text-soft)]`,children:n(e)},e))}),t?(0,U.jsx)(`button`,{type:`button`,onClick:t,className:`mt-5 rounded-full border border-[rgba(210,137,69,0.4)] px-4 py-2 text-sm font-semibold text-[var(--color-accent-soft)] transition hover:border-[var(--color-accent-soft)] hover:bg-[rgba(201,117,53,0.12)]`,children:`See Pro analysis`}):null]})]})}function Ti({title:e,items:t,emptyText:n,renderItem:r}){return(0,U.jsxs)(`section`,{className:`rounded-xl border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-5 text-left`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] text-[var(--color-accent-soft)]`,children:e}),(0,U.jsx)(`div`,{className:`mt-4 space-y-3`,children:t.length?t.map((e,t)=>(0,U.jsx)(l.Fragment,{children:r(e,t)},t)):(0,U.jsx)(`p`,{className:`text-sm leading-6 text-[var(--color-muted)]`,children:n})})]})}function Ei({strength:e}){return(0,U.jsxs)(`div`,{className:`border-b border-[rgba(255,255,255,0.07)] pb-3 last:border-b-0 last:pb-0`,children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-[var(--color-text)]`,children:e.title}),(0,U.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-[var(--color-text-soft)]`,children:e.detail}),e.example?(0,U.jsxs)(`p`,{className:`mt-2 text-xs leading-5 text-[var(--color-muted)]`,children:[`Example: `,e.example]}):null]})}function Di({area:e}){return(0,U.jsxs)(`div`,{className:`border-b border-[rgba(255,255,255,0.07)] pb-3 last:border-b-0 last:pb-0`,children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-[var(--color-text)]`,children:e.title}),(0,U.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-[var(--color-text-soft)]`,children:e.detail}),(0,U.jsx)(`p`,{className:`mt-2 text-xs leading-5 text-[var(--color-accent-soft)]`,children:e.practice_tip})]})}function K({correction:e,index:t}){return(0,U.jsxs)(`div`,{className:`border-b border-[rgba(255,255,255,0.07)] pb-4 last:border-b-0 last:pb-0`,children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,U.jsxs)(`p`,{className:`text-sm font-semibold text-[var(--color-text)]`,children:[`Correction `,t+1]}),(e.error_type||e.severity)&&(0,U.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-2`,children:[e.error_type?(0,U.jsx)(`span`,{className:`rounded-full bg-[rgba(125,211,252,0.11)] px-2 py-1 text-[10px] uppercase tracking-[0.14em] text-[#bae6fd]`,children:pi(e.error_type)}):null,e.severity?(0,U.jsx)(`span`,{className:`rounded-full bg-[rgba(255,255,255,0.06)] px-2 py-1 text-[10px] uppercase tracking-[0.14em] text-[var(--color-muted)]`,children:e.severity}):null]})]}),(0,U.jsxs)(`div`,{className:`mt-3 grid gap-3 sm:grid-cols-2`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-[11px] font-semibold uppercase tracking-[0.16em] text-[var(--color-muted)]`,children:`Before`}),(0,U.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-[var(--color-text-soft)]`,children:e.original})]}),(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-[11px] font-semibold uppercase tracking-[0.16em] text-[var(--color-muted)]`,children:`Better`}),(0,U.jsx)(`p`,{className:`mt-1 text-sm font-medium leading-6 text-[var(--color-text)]`,children:e.improved})]})]}),(0,U.jsx)(`p`,{className:`mt-3 text-xs leading-5 text-[var(--color-muted)]`,children:e.explanation})]})}function Oi({note:e}){return(0,U.jsxs)(`div`,{className:`border-b border-[rgba(255,255,255,0.07)] pb-3 last:border-b-0 last:pb-0`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-[var(--color-text)]`,children:e.target}),(0,U.jsx)(`span`,{className:`rounded-full bg-[rgba(134,239,172,0.1)] px-2 py-1 text-[10px] uppercase tracking-[0.14em] text-[#bbf7d0]`,children:e.severity})]}),(0,U.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-[var(--color-text-soft)]`,children:e.feedback}),e.heard_as?(0,U.jsxs)(`p`,{className:`mt-2 text-xs leading-5 text-[var(--color-muted)]`,children:[`Heard closer to: `,e.heard_as]}):null]})}function ki({analysis:e}){let t=e?.strengths?.slice(0,2)||[],n=e?.focus_areas?.slice(0,2)||[],r=e?.corrections?.slice(0,3)||[],i=(e?.phase2_cat
9chall?.review_projection?.notes??e?.pronunciation_notes)?.slice(0,2)||[];return(0,U.jsxs)(`section`,{className:`mt-6 text-left`,children:[(0,U.jsxs)(`div`,{className:`rounded-xl border border-[rgba(134,239,172,0.16)] bg-[rgba(134,239,172,0.06)] p-5`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] text-[#bbf7d0]`,children:`Pro Analysis`}),(0,U.jsx)(`h3`,{className:`mt-2 text-lg font-semibold text-[var(--color-text)]`,children:`A smaller set of coach notes`}),e?.summary?(0,U.jsx)(`p`,{className:`mt-3 max-w-3xl text-sm leading-6 text-[var(--color-text-soft)]`,children:e.summary}):null,e?.notable_improvement?(0,U.jsx)(`p`,{className:`mt-3 max-w-3xl text-sm leading-6 text-[var(--color-text-soft)]`,children:e.notable_improvement}):null]}),(0,U.jsxs)(`div`,{className:`mt-4 grid gap-4 lg:grid-cols-2`,children:[(0,U.jsx)(Ti,{title:`What Held Up`,items:t,emptyText:`No specific strengths were available for this session.`,renderItem:e=>(0,U.jsx)(Ei,{strength:e})}),(0,U.jsx)(Ti,{title:`Practice Next`,items:n,emptyText:`No focus areas were available for this session.`,renderItem:e=>(0,U.jsx)(Di,{area:e})})]}),(0,U.jsxs)(`div`,{className:`mt-4 grid gap-4 lg:grid-cols-[1.15fr_0.85fr]`,children:[(0,U.jsx)(Ti,{title:`Corrections`,items:r,emptyText:`No high-confidence correction examples yet.`,renderItem:(e,t)=>(0,U.jsx)(K,{correction:e,index:t})}),(0,U.jsx)(Ti,{title:`Pronunciation`,items:i,emptyText:`No high-confidence pronunciation reminder this round.`,renderItem:e=>(0,U.jsx)(Oi,{note:e})})]})]})}function Ai({sessionId:e,catchallAudioToken:t,assistCount:n,analysis:r,targetLanguage:i,authUser:a,storyEvents:o,phase1Transcript:s,phase2Transcript:c,phase3Transcript:l,phase2TargetLanguagePct:u,phase3TargetLanguagePct:d,phase2AudioUrl:f,phase3AudioUrl:p,onOpenReview:m,onUpgrade:h,onRetryPhase2:g,onAuthSuccess:_,onSignOut:v,onReset:y}){let b=a?.tier===`paid`,x=hi(s,o),S=gi(r?.phase2_catchall?.review_projection?.notes??r?.pronunciation_notes),C=yi(o,r?.event_feedback),w=bi({phase2TargetLanguagePct:u,phase3TargetLanguagePct:d,phase3Attempted:r?.phase3_attempted}),T=i||`your target language`;function E(){m?.(i||`es`)}return(0,U.jsx)(`div`,{className:`flex w-full max-w-5xl flex-1 flex-col items-center px-4 py-8`,children:(0,U.jsxs)(`div`,{className:`w-full rounded-3xl border border-[rgba(255,255,255,0.08)] bg-[linear-gradient(180deg,rgba(49,36,29,0.88),rgba(24,19,16,0.94))] p-5 shadow-2xl shadow-black/20 sm:p-8`,children:[(0,U.jsx)(`header`,{className:`text-left`,children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] text-[var(--color-accent-soft)]`,children:`Session Summary`}),(0,U.jsx)(`h2`,{className:`mt-3 text-3xl font-semibold leading-tight text-[var(--color-text)]`,children:r?.headline||`You finished the loop`})]}),(0,U.jsx)(`span`,{className:`w-fit rounded-full border border-[rgba(255,255,255,0.1)] bg-[rgba(255,248,240,0.04)] px-3 py-1.5 text-xs font-semibold uppercase tracking-[0.16em] text-[var(--color-text-soft)]`,children:b?`Pro`:`Free`})]})}),(0,U.jsx)(di,{envelope:r?.phase2_catchall,targetLanguage:i,sessionId:e,audioToken:t,audioUrl:f},r?.phase2_catchall?.attempt_scope),(0,U.jsxs)(`section`,{className:`mt-6 rounded-xl border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.045)] p-5 text-left`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] text-[var(--color-accent-soft)]`,children:`Full Story`}),(0,U.jsx)(`p`,{className:`mt-4 text-base leading-8 text-[var(--color-text)]`,children:x})]}),(0,U.jsxs)(`section`,{className:`mt-4 grid gap-3 md:grid-cols-2 xl:grid-cols-4`,children:[(0,U.jsx)(xi,{label:`Story Coverage`,value:C.value,detail:C.detail}),(0,U.jsx)(xi,{label:`Target Language`,value:w.value,detail:w.detail}),(0,U.jsx)(xi,{label:`Live Help`,value:mi(n,`assist`,`assists`),detail:n?`These were the moments where the app gave you a nudge.`:`You made it through without a live nudge.`}),(0,U.jsx)(xi,{label:`Pronunciation Focus`,value:S?.target||`No clear flag`,detail
9:S?S.feedback:`Nothing high-confidence surfaced from this pass.`})]}),(0,U.jsx)(Si,{events:o,feedback:r?.event_feedback}),b?(0,U.jsx)(ki,{analysis:r}):(0,U.jsx)(wi,{analysis:r,onUpgrade:h}),(0,U.jsxs)(`section`,{className:`mt-6 space-y-3`,children:[(0,U.jsx)(`p`,{className:`text-left text-xs font-semibold uppercase tracking-[0.22em] text-[var(--color-accent-soft)]`,children:`Replay`}),(0,U.jsx)(Ci,{title:`Guided retell`,description:`Your assisted pass in ${T}.`,transcript:c,audioUrl:f}),(0,U.jsx)(Ci,{title:`Independent retell`,description:`Your final attempt, without live help.`,transcript:l,audioUrl:p})]}),(0,U.jsxs)(`div`,{className:`mt-8 flex flex-col items-center justify-center gap-3 sm:flex-row`,children:[g?(0,U.jsx)(`button`,{type:`button`,onClick:g,className:`rounded-full bg-[linear-gradient(135deg,var(--color-accent),var(--color-accent-strong))] px-8 py-3 text-sm font-semibold text-[#1f1407] shadow-[0_18px_40px_rgba(201,117,53,0.2)] transition hover:-translate-y-0.5 hover:shadow-[0_24px_50px_rgba(201,117,53,0.28)]`,children:`Practice this story again`}):null,m?(0,U.jsx)(`button`,{type:`button`,onClick:E,className:`rounded-full border border-[rgba(210,137,69,0.28)] px-8 py-3 text-sm font-semibold text-[var(--color-accent-soft)] transition hover:border-[rgba(210,137,69,0.44)] hover:bg-[rgba(201,117,53,0.1)]`,children:`Review deck`}):null,(0,U.jsx)(`button`,{type:`button`,onClick:y,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-8 py-3 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`New session`})]}),(0,U.jsx)(_e,{authUser:a,onAuthSuccess:_,onSignOut:v})]})})}function ji({transcript:e,countdownSeconds:t,showTranscriptByDefault:n,onAccept:r}){let[i,a]=(0,l.useState)(!1),[o,s]=(0,l.useState)(n),[c,u]=(0,l.useState)(e),[d,f]=(0,l.useState)(t),p=(0,l.useRef)(!1),m=(0,l.useCallback)(e=>{p.current||(p.current=!0,r(e))},[r]);return(0,l.useEffect)(()=>{if(i)return;let t=window.setInterval(()=>{f(n=>n<=1?(window.clearInterval(t),m(e),0):n-1)},1e3);return()=>window.clearInterval(t)},[m,i,e]),(0,U.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:(0,U.jsxs)(`div`,{className:`w-full max-w-2xl space-y-5`,children:[(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`p`,{className:`mb-2 text-sm font-medium text-[var(--color-text-soft)]`,children:`Here's what we heard`}),(0,U.jsx)(`p`,{className:`mb-3 text-xs leading-5 text-[var(--color-muted)]`,children:`Fix names or transcription mistakes if you need to.`}),i?(0,U.jsx)(`textarea`,{value:c,onChange:e=>u(e.target.value),rows:8,autoFocus:!0,className:`w-full resize-y rounded-xl border border-[rgba(255,255,255,0.12)] bg-[rgba(36,27,22,0.72)] px-4 py-3 text-sm leading-6 text-[var(--color-text-soft)] outline-none transition focus:border-[rgba(210,137,69,0.48)] focus:ring-2 focus:ring-[rgba(201,117,53,0.18)]`}):o?(0,U.jsx)(`p`,{className:`rounded-xl border border-[rgba(255,255,255,0.08)] bg-[rgba(36,27,22,0.5)] px-4 py-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:e}):(0,U.jsx)(`button`,{type:`button`,onClick:()=>s(!0),className:`rounded-full border border-[rgba(255,255,255,0.12)] px-4 py-2 text-sm font-semibold text-[var(--color-text-soft)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Show transcript`})]}),i?(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-3 sm:flex-row`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:()=>m(c),className:`rounded-full bg-[linear-gradient(135deg,var(--color-accent),var(--color-accent-strong))] px-7 py-3 text-sm font-semibold text-[#1f1407] shadow-[0_18px_40px_rgba(201,117,53,0.28)] transition hover:-translate-y-0.5 hover:shadow-[0_24px_50px_rgba(201,117,53,0.35)]`,children:`Done`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>{a(!1),u(e)},className:`rounded-full border border-[rgba(255,255,255,0.12)] px-6 py-3 text-sm font-semibold text-[var(--color-text-soft)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Cancel edits`})]}):(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-3 sm:flex-row`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:()=>{s(!0),a(!0)},className:`rounded-full border border-[rgba(210,137,69,0.32)] bg-[rgba(201,117,53,0.11)] px-6 py-3 text-sm font-semibold text-[var(--color-accent-soft)] transition hover:bg-[rgba(201,117,53,0.16)]`,children:`Make edits`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>m(e),className:`rounded-full bg-[linear-gradient(135deg,var(--color-accent),var(--color-accent-strong))] px-7 py-3 text-sm font-semibold text-[#1f1407] shadow-[0_18px_40px_rgba(201,117,53,0.28)] transition hover:-translate-y-0.5 hover:shadow-[0_24px_50px_rgba(201,117,53,0.35)]`,children:`Continue now`}),(0,U.jsxs)(`p`,{className:`text-sm text-[var(--color-muted)]`,children:[`Continuing in `,d]})]})]})})}function Mi({finals:e,interim:t}){return(0,U.jsxs)(`div`,{className:`w-full max-w-lg space-y-1 text-left`,children:[e.map((e,t)=>(0,U.jsxs)(`span`,{className:`text-[var(--color-text)]`,children:[e,` `]},t)),t&&(0,U.jsx)(`span`,{className:`text-[var(--color-muted)] italic`,children:t}),e.length===0&&!t&&(0,U.jsx)(`p`,{className:`text-center text-sm text-[var(--color-muted)]`,children:`Start speaking...`})]})}function Ni(){return{native_pass:[],target_pass:[],phase3:[]}}function Pi(){return{native_pass:null,target_pass:null,phase3:null}}function Fi(){return{native_pass:[],target_pass:[],phase3:[]}}function Ii(e){return e===`native_pass`||e===`target_pass`||e===`phase3`}function Li(){let e=navigator.connection;return{networkType:e?.effectiveType,networkRttMs:e?.rtt}}function Ri(e){return e.source_excerpt?.trim()||e.description}function zi(e){return`${(e/60).toFixed(e%60==0?0:1)} min`}var Bi=`otravez_launch_audio_consent_v1`;function Vi(){try{return window.localStorage.getItem(Bi)===`true`}catch{return!1}}function Hi(){try{window.localStorage.setItem(Bi,`true`)}catch{}}function Ui({nativeLanguage:e,targetLanguage:t,languageCapabilitySummaryVersion:n=null,authUser:r,onAuthSuccess:i,onOpenHistory:a,onSignOut:o,onSessionComplete:s,onClearSessionSelection:c,onOpenAccount:u,onOpenPricing:d,onManageBilling:f,onOpenReview:p,onRetrySession:m,retrySourceSessionId:h=null,retryStoryTitle:g=null,billingBusy:_=!1,billingMessage:v=null}){let[y,b]=(0,l.useState)(()=>e&&t?{native:e,target:t,capabilitySummaryVersion:n}:null),[x,S]=(0,l.useState)(`idle`),[C,w]=(0,l.useState)(Ni),[T,E]=(0,l.useState)(Pi),[D,O]=(0,l.useState)([]),[k,A]=(0,l.useState)(!1),[j,M]=(0,l.useState)({}),[ee,N]=(0,l.useState)(null),[P,F]=(0,l.useState)(null),[I,te]=(0,l.useState)(null),[L,ne]=(0,l.useState)(!1),[re,R]=(0,l.useState)(0),[z,B]=(0,l.useState)({}),[ie,ae]=(0,l.useState)(null),[oe,se]=(0,l.useState)(null),[ce,le]=(0,l.useState)(null),ue=(0,l.useRef)(null),de=(0,l.useRef)(null),[H,fe]=(0,l.useState)(null),[pe,me]=(0,l.useState)(null),[he,ge]=(0,l.useState)(!1),[_e,ve]=(0,l.useState)(``),[ye,W]=(0,l.useState)(null),[Se,Ce]=(0,l.useState)(new Set),[we,Ee]=(0,l.useState)(null),[De,G]=(0,l.useState)(null),[Oe,ke]=(0,l.useState)(Vi),[Ae,je]=(0,l.useState)(!1),[Me,Ne]=(0,l.useState)(!1),Pe=!!r?.show_transcripts_by_default,Ie=!!r?.show_translation_hints_by_default,[Le,Re]=(0,l.useState)(Pe),{setPracticeSnapshot:ze,clearPracticeSnapshot:Be}=Fe(),Ve=(0,l.useRef)(`idle`),He=(0,l.useRef)(null),Ue=(0,l.useRef)(null),We=(0,l.useRef)(null),Ge=(0,l.useRef)({}),Ke=(0,l.useRef)({}),qe=(0,l.useRef)(Fi()),Je=(0,l.useRef)({}),Ye=(0,l.useRef)(null),Xe=(0,l.useRef)(new Map),Ze=(0,l.useRef)(null),Qe=(0,l.useRef)(0),$e=(0,l.useRef)(new Set),et=(0,l.useCallback)(()=>
9{Object.values(Je.current).forEach(e=>{e&&URL.revokeObjectURL(e)}),Je.current={},B({})},[]);(0,l.useEffect)(()=>et,[et]);let tt=y?.target??t;(0,l.useEffect)(()=>{ze({screen:`practice`,sessionId:De,phase:x,activeEventId:ye,assistCount:re,languagePair:y,currentAssist:I?{mode:I.mode,triggerType:I.trigger_type,storyEventId:I.story_event_id,confidence:I.confidence,text:ti(I)}:null,pronunciationReview:P?{resultState:P.resultState,resultReason:P.resultReason,skippedReason:P.skippedReason,noteCount:P.notes.length,moreNotesAvailable:P.moreNotesAvailable}:null})},[ye,re,I,y,x,P,De,ze]),(0,l.useEffect)(()=>Be,[Be]),(0,l.useEffect)(()=>{Re(Pe)},[x,_e,Pe]);let[nt]=(0,l.useState)(Te),rt=nt&&!!r?.tts_auto_play_enabled,{speak:it,speakingText:at,error:ot}=be(tt,null,De);(0,l.useEffect)(()=>{if(!I||!rt)return;let e=ni(I,$e.current).map($r).filter(Boolean).join(`. `);e&&it(e,{suppressAutoplayError:!0})},[rt,I,it]);let st=(0,l.useCallback)(e=>{Ce(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),ct=(0,l.useCallback)(()=>{Ve.current=`idle`,He.current=null,G(null),Ue.current=null,We.current=null,Ge.current={},Ke.current={},qe.current=Fi(),Ye.current?.abort(),Ye.current=null,et(),S(`idle`),w(Ni()),E(Pi()),O([]),ve(``),A(!1),M({}),N(null),F(null),te(null),Xe.current.clear(),Ze.current=null,Qe.current=0,$e.current.clear(),ne(!1),R(0),W(null),Ce(new Set),ae(null),fe(null),me(null),ge(!1),Ee(null)},[et]),lt=(0,l.useCallback)(e=>{let t=qe.current[e];return t.length===0?null:Rn(t)},[]),ut=(0,l.useCallback)(e=>{qe.current[e]=[]},[]),dt=(0,l.useCallback)(e=>{let t=Je.current[e];t&&URL.revokeObjectURL(t);let n={...Je.current};delete n[e],Je.current=n,B(n)},[]),ft=(0,l.useCallback)((e,t)=>{let n=t??lt(e);if(!n)return null;let r=URL.createObjectURL(n),i=Je.current[e];return i&&URL.revokeObjectURL(i),Je.current={...Je.current,[e]:r},B({...Je.current}),n},[lt]),pt=(0,l.useCallback)(async(e,t,n)=>{let r=He.current;if(!(!r||!t))try{await qr({sessionId:r,phase:e,audioBlob:t,signal:n})}catch(t){if(n?.aborted)return;Ee(t instanceof Error?t.message:`Audio upload failed for ${e}`)}},[]),{isConnected:mt,connect:ht,disconnect:gt,sendAudio:_t,sendClientLatencyMarker:vt,sendEndPhase:yt,sendAcceptTranscript:bt,sendStartPhase2:xt,sendStartPhase3:St,sendSkipPhase3:Ct,sendContinuePronunciationReview:wt,sendRepeatPhase2:Tt,sendConfigure:Et}=Gr({onEvent:(0,l.useCallback)(e=>{switch(e.type){case`phase_change`:Ve.current=e.phase,S(e.phase),(e.phase===`target_pass`||e.phase===`phase3`)&&(w(t=>({...t,[e.phase]:[]})),E(t=>({...t,[e.phase]:null}))),(e.phase===`pronunciation_review`||e.phase===`phase3_prompt`||e.phase===`phase3`||e.phase===`post_session_analysis`)&&(te(null),ne(!1)),e.phase===`target_pass`&&(fe(null),de.current=e.attempt_scope??null,ue.current=null,se(null),le(null)),e.phase===`processing`&&N(null),e.phase===`pronunciation_review`&&F({notes:[],languageNotes:[],audioToken:null,resultState:`skipped`,resultReason:null,skippedReason:null,reviewKind:null,moreNotesAvailable:!1,isLoading:!0}),e.phase===`complete`&&He.current&&Ue.current!==He.current&&(Ue.current=He.current,s?.(He.current));break;case`transcript`:{let t=Ii(e.phase)?e.phase:Ii(Ve.current)?Ve.current:null;if(!t)break;e.is_final?(w(n=>({...n,[t]:[...n[t],e.text]})),E(e=>({...e,[t]:null}))):E(n=>({...n,[t]:e.text}));break}case`story_graph`:O(e.events),ve(e.transcript);break;case`transcript_review_ready`:ve(e.transcript),N({transcript:e.transcript,countdownSeconds:e.countdown_seconds});break;case`phrase_set_ready`:A(!0),M(e.phrase_set);break;case`session_ready`:break;case`session_started`:He.current=e.session_id,G(e.session_id),de.current=null,ue.current=null,se(null),le(null);break;case`post_session_analysis_ready`:{let t=Jr(ue.current,e.analysis.phase2_catchall,He.current,de.current);ue.current=t,se(t),ae(t?{...e.analysis,phase2_catchall:t}:e.analysis);break}case`phase2_catchall_updated`:{let t=Jr(ue.current,e.phase2_catchall,He.current,de.current);if(t===ue.current)break;ue.current=t,se(t),e.audio_token&&le(e.audio_token),ae(e=>e&&t?{...e,phase2_catchall:t}:e),F(t=>t&&{...t,notes:e.notes??t.notes,languageNotes:e.language_notes??t.languageNotes,audioToken:e.audio_token??t.audioToken});break}case`guided_retell_limit_reached`:fe({phase2DailySeconds:e.phase2_daily_seconds,phase2ThresholdSeconds:e.phase2_threshold_seconds});break;case`pronunciation_review_ready`:{let t=Yr(ue.current,e,He.current,de.current);if(!t)break;
9ue.current=t.phase2_catchall??null,se(ue.current),t.audio_token&&le(t.audio_token),F({notes:t.notes,languageNotes:t.language_notes??[],audioToken:t.audio_token??null,resultState:t.result_state,resultReason:t.result_reason,skippedReason:t.skipped_reason,reviewKind:t.review_kind??null,moreNotesAvailable:t.more_notes_available,isLoading:!1});break}case`assist`:{ne(!1);let t=e.group_id?.trim(),n=Zr(e,t||`legacy-assist-${++Qe.current}`),r=Xe.current.get(n.group_id);if(r&&n.revision<=r.revision)break;let i=Qr(r,n);Xe.current.set(i.group_id,i);let a=!r||Ze.current===i.group_id;if(r?a&&te(i):(R(e=>e+1),Ze.current=i.group_id,te(i)),a){let e=i.story_event_id??i.items.find(e=>e.story_event_id)?.story_event_id;e&&W(e)}}break;case`position_update`:W(e.event_id);break;case`assist_loading`:ne(!0);break;case`segment`:break;case`error`:Ee(e.message);break}},[s]),onDisconnect:()=>{Ve.current!==`complete`&&(Ve.current=`idle`,S(`idle`))}}),{error:Dt,startCapture:Ot,stopCapture:kt}=In({onAudioData:(0,l.useCallback)(e=>{let t=We.current;if(t){if(!Ke.current[t]){let e=Ge.current[t],n=e===void 0?null:Date.now()-e,r=Li();vt(t,n,r.networkType,r.networkRttMs),Ke.current[t]=!0}_t(e.pcmBytes),qe.current[t].push(e.pcmBytes)}},[_t,vt])});function At(){if(!Ae||!Me){Ee(`Confirm the age and audio consent items before recording.`);return}Hi(),ke(!0),Ee(null)}function jt(){return Oe?!0:(Ee(`Confirm the age and audio consent items before recording.`),!1)}async function Mt(e={}){if(!y){Ee(`Choose your language pair before starting.`);return}if(jt()){if(!h&&!e.skipLimitCheck&&r?.tier!==`paid`){ge(!0),Ee(null);try{let e=await V();if(e.limit_reached){me(e);return}}catch(e){Ee(e instanceof Error?e.message:`Unable to check guided retell limit.`);return}finally{ge(!1)}}c?.(),ct(),await ht(),Et(y.native,y.target,h,y.capabilitySummaryVersion??null),!h&&(We.current=`native_pass`,Ge.current.native_pass=Date.now(),Ke.current.native_pass=!1,await Ot(`microphone`)||(We.current=null,gt()))}}async function Nt(){await kt(),We.current=null,yt();let e=lt(`native_pass`);ut(`native_pass`),pt(`phase1`,e)}function Pt(e){ve(e),N(null),bt(e)}function Ft(){de.current=null,ue.current=null,se(null),le(null),Ye.current?.abort(),Ye.current=null,We.current=`target_pass`,Ge.current.target_pass=Date.now(),Ke.current.target_pass=!1,ut(`target_pass`),dt(`target_pass`),w(e=>({...e,target_pass:[]})),E(e=>({...e,target_pass:null})),F(null),te(null),ne(!1),R(0),W(null),fe(null)}async function It(){await Ot(`microphone`)||(We.current=null,yt())}async function Lt(){y&&jt()&&(xt(y.target),Ft(),await It())}async function Rt(){if(!Qt){Ee(`Repeating guided retells is available with Pro.`);return}Tt(),Ft(),await It()}async function zt(){await kt(),We.current=null,yt();let e=lt(`target_pass`);ft(`target_pass`,e);let t=new AbortController;Ye.current=t,(async()=>{await pt(`phase2`,e,t.signal),Ye.current===t&&(Ye.current=null)})()}async function Bt(){jt()&&(St(),We.current=`phase3`,Ge.current.phase3=Date.now(),Ke.current.phase3=!1,await Ot(`microphone`)||(We.current=null,yt()))}async function Vt(){Ct()}function Ht(){wt()}async function Ut(){await kt(),We.current=null,yt();let e=lt(`phase3`);ft(`phase3`,e),pt(`phase3`,e)}function Wt(){c?.(),gt(),ct()}let Gt=Ii(x)?x:null,Kt=Gt?C[Gt]:[],qt=Gt?T[Gt]:null,Jt=C.target_pass.join(` `),Yt=C.phase3.join(` `),Xt=y?.target??t??`your target language`,Zt=y?`${y.native} â ${y.target}`:`Choose your language pair`,Qt=r?.tier===`paid`,$t=!!(r?.can_manage_billing&&r.access_source===`stripe_subscription`),en=$t?`Manage billing`:Qt&&r?.access_source===`app_trial`?`Subscribe`:`Try Pro free`,tn=Qt?`Live help follows these exact practice chunks. Tap one to reveal help.`:`Live help follows these main beats. You can still retell the full story.`;return(0,U.jsxs)(`div`,{className:`flex min-h-screen flex-col items-center bg-[radial-gradient(circle_at_top,_rgba(210,137,69,0.15),_transparent_30%),radial-gradient(circle_at_80%_18%,_rgba(126,82,56,0.14),_transparent_22%),linear-gradient(180deg,_#110c09_0%,_#15100d_45%,_#120d0b_100%)] px-4 py-8 text-[var(--color-text)]`,children:[(0,U.jsxs)(`div`,{className:`mb-6 flex w-full max-w-5xl items-start justify-between gap-4`,children:[(0,U.jsxs)(`div`,{className:`text-center sm:text-left`,children:[(0,U.jsx)(`h1`,{className:`font-display text-xl font-bold`,children:`OtraVez`}),(0,U.jsx)(`p`,{className:`text-sm text-[var(--color-muted)]`,children:Zt})]}),r?(0,U.jsx)(xe,{items:[{id:`account`,label:`Account`,onSelect:u},{id:`billing`,label:en,onSelect:$t?f:d},{id:`history`,label:`History`,onSelect:a},{id:`sign-out`,label:`Sign out`,onSelect:o}]}):null]}),v?(0,U.jsx)(`div`,{className:`mb-4 w-full max-w-5xl rounded-[1.25rem] border border-[rgba(210,137,69,0.22)] bg-[rgba(201,117,53,0.11)] px-4 py-3 text-sm text-[var(--color-text-soft)]`,children:v}):null,x===`idle`&&(0,U.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:y?(0,U.jsxs)(U.Fragment,{children:[h?(0,U.jsxs)(`div`,{className:`mb-6 w-full max-w-xl rounded-3xl border border-[rgba(210,137,69,0.22)] bg-[rgba(201,117,53,0.09)] p-5 text-center shadow-[0_24px_80px_rgba(0,0,0,0.18)]`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] text-[var(--color-accent-soft)]`,children:`Saved story`}),(0,U.jsx)(`h2`,{className:`mt-3 text-2xl font-semibold text-[var(--color-text)]`,children:g||`Practice this story again`}),(0,U.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:`We'll reload the story beats and take you straight to the guided retell.`})]}):(0,U.jsx)(`p`,{className:`mb-6 max-w-md text-center text-[var(--color-text-soft)]`,children:`Tell a story about your day in your native language. We'll turn it into a guided second pass and then give you one clean final try.`}),Oe?null:(0,U.jsxs)(`div`,{className:`mb-6 w-full max-w-xl rounded-3xl border border-[rgba(241,194,140,0.22)] bg-[rgba(255,248,240,0.05)] p-5 text-left shadow-[0_24px_80px_rgba(0,0,0,0.16)]`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] text-[var(--color-accent-soft)]`,children:`Before recording`}),(0,U.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:`OtraVez records your voice to run the practice session, generate transcripts and feedback, and improve the service. AI-generated feedback can be wrong and should not be used for medical, legal, financial, or safety decisions.`}),(0,U.jsxs)(`div`,{className:`mt-4 grid gap-3`,children:[(0,U.jsxs)(`label`,{className:`flex items-start gap-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:Ae,onChange:e=>je(e.target.checked),className:`mt-1 h-5 w-5 shrink-0 accent-[var(--color-accent)]`}),(0,U.jsx)(`span`,{children:`I am at least 13 years old.`})]}),(0,U.jsxs)(`label`,{className:`flex items-start gap-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:Me,onCh
9ange:e=>Ne(e.target.checked),className:`mt-1 h-5 w-5 shrink-0 accent-[var(--color-accent)]`}),(0,U.jsxs)(`span`,{children:[`I consent to voice recording and agree to the`,` `,(0,U.jsx)(`a`,{href:`/privacy-policy`,className:`font-semibold text-[var(--color-accent-soft)] underline underline-offset-2`,children:`Privacy Policy`}),` `,`and`,` `,(0,U.jsx)(`a`,{href:`/terms`,className:`font-semibold text-[var(--color-accent-soft)] underline underline-offset-2`,children:`Terms`}),`.`]})]})]}),(0,U.jsx)(`button`,{type:`button`,onClick:At,disabled:!Ae||!Me,className:`mt-5 rounded-full bg-[var(--color-accent)] px-5 py-3 text-sm font-bold text-[#1f1407] transition hover:bg-[var(--color-accent-strong)] disabled:cursor-not-allowed disabled:opacity-60`,children:`Save and continue`})]}),pe?(0,U.jsxs)(`div`,{className:`mb-6 w-full max-w-xl rounded-3xl border border-[rgba(210,137,69,0.24)] bg-[rgba(201,117,53,0.1)] p-5 text-left shadow-[0_24px_80px_rgba(0,0,0,0.18)]`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.22em] text-[var(--color-accent-soft)]`,children:`Guided retell limit`}),(0,U.jsx)(`h2`,{className:`mt-3 text-xl font-semibold text-[var(--color-text)]`,children:`Your live guided help is used up for today`}),(0,U.jsxs)(`p`,{className:`mt-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:[`You've used`,` `,zi(pe.phase2_daily_seconds),pe.phase2_threshold_seconds?` of ${zi(pe.phase2_threshold_seconds)}`:``,` `,`of guided retell time today. Pro removes this limit, or you can continue with an independent retell and still get notes afterward.`]}),(0,U.jsxs)(`div`,{className:`mt-5 flex flex-col gap-3 sm:flex-row`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:d,disabled:_,className:`rounded-full bg-[var(--color-accent)] px-5 py-3 text-sm font-bold text-[#1f1407] transition hover:bg-[var(--color-accent-strong)] disabled:cursor-not-allowed disabled:opacity-60`,children:`Try Pro free`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void Mt({skipLimitCheck:!0}),disabled:!Oe,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-5 py-3 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Continue without guided help`})]})]}):null,(0,U.jsxs)(`div`,{className:`flex flex-col items-center gap-3`,children:[(0,U.jsx)(`button`,{onClick:()=>void Mt(),disabled:_||he||!Oe,className:`rounded-full bg-[linear-gradient(135deg,var(--color-accent),var(--color-accent-strong))] px-8 py-4 text-lg font-semibold text-[#1f1407] shadow-[0_18px_40px_rgba(201,117,53,0.28)] transition hover:-translate-y-0.5 hover:shadow-[0_24px_50px_rgba(201,117,53,0.35)]`,children:he?`Checking limit...`:h?`Load story`:`Record`}),h?null:(0,U.jsx)(`button`,{onClick:()=>{me(null),b(null)},className:`rounded-full border border-[rgba(255,255,255,0.12)] px-6 py-3 text-sm font-semibold text-[var(--color-text-soft)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Change languages`})]})]}):(0,U.jsx)(`div`,{className:`w-full max-w-md`,children:(0,U.jsx)(Ir,{onSubmit:(e,t,n
9)=>{b({native:e,target:t,capabilitySummaryVersion:n??null}),me(null),Ee(null)},title:`Start speaking`,subtitle:`Choose the language you know and the language you want to practice.`,submitLabel:`Continue to recording`,helperText:``})})}),x===`native_pass`&&(0,U.jsxs)(`div`,{className:`flex flex-1 flex-col items-center`,children:[(0,U.jsxs)(`div`,{className:`mb-6 flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`h-3 w-3 animate-pulse rounded-full bg-[var(--color-accent)]`}),(0,U.jsx)(`span`,{className:`text-sm text-[var(--color-muted)]`,children:`Recording`})]}),(0,U.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,U.jsx)(Mi,{finals:Kt,interim:qt})}),(0,U.jsx)(`button`,{onClick:Nt,className:`mt-6 rounded-full bg-[linear-gradient(135deg,var(--color-accent),var(--color-accent-strong))] px-8 py-4 text-lg font-semibold text-[#1f1407] shadow-[0_18px_40px_rgba(201,117,53,0.28)] transition hover:-translate-y-0.5 hover:shadow-[0_24px_50px_rgba(201,117,53,0.35)]`,children:`Done`})]}),x===`transcript_review`&&(ee?(0,U.jsx)(ji,{transcript:ee.transcript,countdownSeconds:ee.countdownSeconds,showTranscriptByDefault:Pe,onAccept:Pt}):(0,U.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center`,children:[(0,U.jsx)(`div`,{className:`h-8 w-8 animate-spin rounded-full border-2 border-[rgba(255,255,255,0.2)] border-t-[var(--color-accent-soft)]`}),(0,U.jsx)(`p`,{className:`mt-4 text-[var(--color-text-soft)]`,children:`Preparing your transcript...`})]})),x===`processing`&&(0,U.jsx)(ui,{storyEvents:D,phraseSetReady:k,phraseSet:j,phase1Transcript:_e,isPaidTier:Qt,showTranscriptsByDefault:Pe,showTranslationHintsByDefault:Ie,onStartPhase2:Lt,onSpeakPhrase:it,speakingText:at}),x===`target_pass`&&(0,U.jsxs)(`div`,{className:`flex w-full max-w-lg flex-1 flex-col items-center`,children:[(0,U.jsxs)(`div`,{className:`mb-4 flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`h-3 w-3 animate-pulse rounded-full bg-[var(--color-accent)]`}),(0,U.jsxs)(`span`,{className:`text-sm text-[var(--color-muted)]`,children:[`Retelling with help â speak in `,Xt]}
9)]}),(0,U.jsxs)(`div`,{className:`mb-4 w-full flex-1 space-y-3 overflow-y-auto`,children:[(0,U.jsxs)(`section`,{children:[(0,U.jsx)(`p`,{className:`mb-2 text-xs font-semibold uppercase tracking-[0.18em] text-[var(--color-muted)]`,children:`Your story`}),Le?(0,U.jsx)(`p`,{className:`rounded-lg bg-[rgba(36,27,22,0.42)] px-4 py-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:_e}):(0,U.jsx)(`button`,{type:`button`,onClick:()=>Re(!0),className:`rounded-full border border-[rgba(255,255,255,0.12)] px-4 py-2 text-sm font-semibold text-[var(--color-text-soft)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Show my story`})]}),(0,U.jsxs)(`section`,{className:`space-y-2`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.18em] text-[var(--color-muted)]`,children:Qt?`Your story chunks`:`Practice outline`}),(0,U.jsx)(`p`,{className:`mt-1 text-xs leading-5 text-[var(--color-muted)]`,children:tn})]}),D.map((e,t)=>{let n=ye===e.id,r=Ie||Se.has(e.id),i=j[e.id];return(0,U.jsxs)(`div`,{id:`chunk-${e.id}`,onClick:()=>st(e.id),className:`cursor-pointer rounded-lg px-4 py-3 text-sm transition-all duration-500 ${n?`bg-[rgba(201,117,53,0.18)] ring-1 ring-[rgba(201,117,53,0.4)]`:`bg-[rgba(36,27,22,0.6)]`}`,children:[(0,U.jsxs)(`p`,{className:`text-[var(--color-text-soft)]`,children:[(0,U.jsx)(`span`,{className:`mr-2 text-xs font-semibold text-[var(--color-accent-soft)]`,children:t+1}),Ri(e)]}),r&&i&&(0,U.jsxs)(`div`,{className:`mt-2 space-y-2`,children:[i.full_sentences[0]?(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsx)(`p`,{className:`text-xs text-[rgba(241,194,140,0.7)]`,children:i.full_sentences[0]}),(0,U.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),it(i.full_sentences[0])},className:`rounded-full border border-[rgba(210,137,69,0.24)] px-2 py-1 text-xs font-semibold text-[var(--color-accent-soft)] transition hover:bg-[rgba(201,117,53,0.14)]`,children:at===i.full_sentences[0]?`Playing`:`Hear it`})]}):null,i.recall_targets&&i.recall_targets.length>0?(0,U.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:i.recall_targets.slice(0,6).map((t,n)=>(0,U.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),it(t.target)},className:`rounded-full border px-3 py-1 text-xs font-semibold transition ${at===t.target?`border-[rgba(210,137,69,0.48)] bg-[rgba(201,117,53,0.18)] text-[var(--color-accent-soft)]`:`border-[rgba(210,137,69,0.28)] bg-[rgba(36,27,22,0.4)] hover:bg-[rgba(201,117,53,0.14)]`}`,children:(0,U.jsx)(`span`,{className:`text-[var(--color-accent-soft)]`,children:t.target})},`${e.id}-chunk-${n}`))}):null,i.vocabulary.length>0?(0,U.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:i.vocabulary.slice(0,5).map((t,n)=>(0,U.jsx)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),it(t.word)},className:`rounded-full border px-3 py-1 text-xs font-semibold transition ${at===t.word?`border-[rgba(210,137,69,0.48)] bg-[rgba(201,117,53,0.18)] text-[var(--color-accent-soft)]`:`border-[rgba(210,137,69,0.28)] bg-[rgba(36,27,22,0.4)] hover:bg-[rgba(201,117,53,0.14)]`}`,children:(0,U.jsx)(`span`,{className:`text-[var(--color-accent-soft)]`,children:t.word})},`${e.id}-word-${n}`))}):null]})]},e.id)})]})]}),(0,U.jsx)(`div`,{className:`w-full flex-1 overflow-y-auto`,children:(0,U.jsx)(Mi,{finals:Kt,interim:qt})}),(0,U.jsx)(`button`,{onClick:zt,className:`mt-6 rounded-full bg-[linear-gradient(135deg,var(--color-accent),var(--color-accent-strong))] px-8 py-4 text-lg font-semibold text-[#1f1407] shadow-[0_18px_40px_rgba(201,117,53,0.28)] transition hover:-translate-y-0.5 hover:shadow-[0_24px_50px_rgba(201,117,53,0.35)]`,children:`Done`}),(0,U.jsx)(ai,{assist:I,loading:L,onSpeak:e=>void it(e),speakingText:at})]}),x===`pronunciation_review`&&(0,U.jsx)(fi,{catchall:oe,notes:P?.notes??[],languageNotes:P?.languageNotes??[],sessionId:De,audioToken:P?.audioToken??null,targetLanguage:tt,isLoading:P?.isLoading??!0,resultState:P?.resultState,resultReason:P?.resultReason,skippedReason:P?.skippedReason,reviewKind:P?.reviewKind,moreNotesAvailable:P?.moreNotesAvailable??!1,isPaidTier:Qt,onUpgrade:d,onContinue:Ht,onRepeatPhase2:Rt}),x===`phase3_prompt`&&(0,U.jsx)(ci,{targetLanguage:Xt,phase1Transcript:_e,isPaidTier:Qt,onStart:Bt,onSkip:Vt,onRepeatPhase2:Qt?Rt:void 0,storyEvents:D,phraseSet:j,guidedRetellLimit:H,showTranscriptsByDefault:Pe,showTranslationHintsByDefault:Ie}),x===`phase3`&&(0,U.jsxs)(`div`,{className:`flex w-full max-w-2xl flex-1 flex-col items-center`,children:[(0,U.jsxs)(`div`,{className:`mb-4 flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`h-3 w-3 animate-pulse rounded-full bg-[var(--color-accent)]`}),(0,U.jsxs)(`span`,{className:`text-sm text-[var(--color-muted)]`,children:[`Final pass â no help, just you and `,Xt]})]}),(0,U.jsx)(oi,{phase1Transcript:_e,storyEvents:D,isPaidTier:Qt,showByDefault:Pe,framed:!0,className:`mb-4`}),(0,U.jsx)(`div`,{className:`mb-4 w-full rounded-2xl border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-4 text-sm text-[var(--color-text-soft)]`,children:`We're only transcribing this round so you can focus on telling the whole story yourself.`}),(0,U.jsx)(`div`,{className:`w-full flex-1 overflow-y-auto rounded-3xl border border-[rgba(255,255,255,0.08)] bg-[rgba(36,27,22,0.42)] p-5`,children:(0,U.jsx)(Mi,{finals:Kt,interim:qt})}),(0,U.jsx)(`button`,{onClick:Ut,className:`mt-6 rounded-full bg-[linear-gradient(135deg,var(--color-accent),var(--color-accent-strong))] px-8 py-4 text-lg font-semibold text-[#1f1407] shadow-[0_18px_40px_rgba(201,117,53,0.28)] transition hover:-translate-y-0.5 hover:shadow-[0_24px_50px_rgba(201,117,53,0.35)]`,children:`Finish`})]}),x===`post_session_analysis`&&(0,U.jsx)(`div`,{className:`flex flex-1 flex-col items-center justify-center px-4 text-center`,children:(0,U.jsxs)(`div`,{className:`max-w-xl rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[linear-gradient(180deg,rgba(49,36,29,0.82),rgba(24,19,16,0.9))] p-8 shadow-2xl shadow-black/20`,children:[(0,U.jsx)(`div`,{className:`mx-auto h-10 w-10 animate-spin rounded-full border-2 border-[rgba(255,255,255,0.2)] border-t-[var(--color-accent-soft)]`}),(0,U.jsx)(`p`,{className:`mt-6 text-xs font-semibold uppercase tracking-[0.3em] text-[var(--color-accent-soft)]`,children:`Post-Session Analysis`}),(0,U.jsx)(`h2`,{className:`mt-3 text-2xl font-semibold text-[var(--color-text)]`,children:`Turning your retell into feedback`}),(0,U.jsx)(`p`,{className:`mt-4 text-sm leading-6 text-[var(--color-text-soft)]`,children:`We're comparing your guided pass, your final pass, and the original story structure to find what held up and what to practice next.`})]})}),x===`complete`&&(0,U.jsx)(Ai,{sessionId:De,catchallAudioToken:ce,assistCount:re,analysis:ie,targetLanguage:tt,authUser:r,storyEvents:D,phase1Transcript:_e,phase2Transcript:Jt,phase3Transcript:Yt,phase2TargetLanguagePct:ie?.phase2_target_language_pct,phase3TargetLanguagePct:ie?.phase3_target_language_pct,phase2AudioUrl:z.target_pass,phase3AudioUrl:z.phase3,onOpenReview:p,onUpgrade:d,onRetryPhase2:De&&y?()=>m?.(De,y.native,y.target,D[0]?.description):void 0,onAuthSuccess:i,onSignOut:o,onReset:Wt}),(we||Dt||ot)&&(0,U.jsx)(`p`,{className:`mt-4 text-sm text-red-400`,children:we||Dt||ot})]})}function Wi(e){window.history.pushState({},``,e),window.dispatchEvent(new PopStateEvent(`popstate`))}function Gi({eyebrow:e,title:t,summary:n,lastUpdated:r,sections:i}){return(0,U.jsxs)(`div`,{className:`relative min-h-screen overflow-hidden bg-[var(--color-bg)] text-[var(--color-text)]`,children:[(0,U.jsxs)(`div`,{className:`pointer-events-none absolute inset-0 overflow-hidden`,children:[(0,U.jsx)(`div`,{className:`absolute left-[-10rem] top-[-8rem] h-[24rem] w-[24rem] rounded-full bg-[radial-gradient(circle,_rgba(201,117,53,0.2)_0%,_rgba(201,117,53,0)_72%)] blur-3xl`}),(0,U.jsx)(`div`,{className:`absolute right-[-8rem] top-[10rem] h-[22rem] w-[22rem] rounded-full bg-[radial-gradient(circle,_rgba(118,76,53,0.18)_0%,_rgba(118,76,53,0)_72%)] blur-3xl`}),(0,U.jsx)(`div`,{className:`absolute inset-0 bg-[linear-gradient(180deg,rgba(14,10,8,0.84)_0%,rgba(10,8,7,0.96)_100%)]`})]}),(0,U.jsxs)(`main`,{className:`relative z-10`,children:[(0,U.jsx)(`section`,{className:`mx-auto w-full max-w-5xl px-6 py-10 sm:px-10 lg:px-12`,children:(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-4`,children:[(0,U.jsx)(`button`,{onClick:()=>Wi(`/`),className:`rounded-full border border-[rgba(255,255,255,0.12)] px-5 py-2 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Back home`}),(0,U.jsxs)(`p`,{className:`text-sm text-[var(--color-muted)]`,children:[`Last updated `,r]})]})}),(0,U.jsx)(`section`,{className:`mx-auto w-full max-w-5xl px-6 pb-10 pt-4 sm:px-10 lg:px-12`,children:(0,U.jsxs)(`div`,{className:`max-w-3xl`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:e}),(0,U.jsx)(`h1`,{className:`font-display mt-4 text-5xl leading-[0.96] text-[var(--color-text)] sm:text-6xl`,children:t}),(0,U.jsx)(`p`,{className:`mt-6 text-lg leading-8 text-[var(--color-text-soft)] sm:text-xl`,children:n})]})}),(0,U.jsx)(`section`,{className:`mx-auto w-full max-w-5xl px-6 pb-20 sm:px-10 lg:px-12`,children:(0,U.jsx)(`div`,{className:`grid gap-5`,children:i.map(e=>(0,U.jsxs)(`article`,{className:`rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[linear-gradient(180deg,rgba(41,30,24,0.78),rgba(22,17,14,0.88))] p-6 shadow-[0_20px_60px_rgba(0,0,0,0.18)] sm:p-8`,children:[(0,U.jsx)(`h2`,{className:`text-2xl font-semibold text-[var(--color-text)]`,children:e.title}),(0,U.jsx)(`div`,{className:`mt-4 grid gap-4 text-base leading-7 text-[var(--color-text-soft)]`,children:e.paragraphs.map(e=>(0,U.jsx)(`p`,{children:e},e))}),e.bullets&&e.bullets.length>0?(0,U.jsx)(`ul`,{className:`mt-5 grid gap-3 text-base leading-7 text-[var(--color-text-soft)]`,children:e.bullets.map(e=>(0,U.jsxs)(`li`,{className:`flex gap-3`,children:[(0,U.jsx)(`span`,{className:`mt-3 h-1.5 w-1.5 flex-none rounded-full bg-[var(--color-accent-soft)]`}),(0,U.jsx)(`span`,{children:e})]},e))}):null]},e.title))})})]})]})}var Ki=[`Tell real stories in your native language.`,`Retell the main story beats in your target language.`,`Get lightweight nudges from prepared words and phrases.`,`Use the review deck, including answer audio.`,`Guided retell limits may apply.`],qi=[`Practice exact chunks from your own story.`,`Help that can follow the full story, not only summarized beats.`,`Redo the guided retell before the final pass.`,`Get more complete pronunciation review for eligible words.`,`Choose more natural Neural2 and Polyglot spoken-help voices.`,`See your full story before the final pass.`],Ji=[{label:`Guided retell help`,free:`Prepared nudges for the main beats`,pro:`Live help across exact chunks from your story`},{label:`Story coverage`,free:`Story events and a practice outline`,pro:`Full-story guidance and a full-story reference before Phase 3`},{label:`Redo before final pass`,free:`One guided retell, then the final pass`,pro:`Repeat the guided retell before moving on`},{label:`Pronunciation review`,free:`Limited high-signal pronunciation notes`,pro:`More complete review across eligible story help`},{label:`Spoken help voices`,free:`Standard and WaveNet voices`,pro:`More natural Neural2 and Polyglot voices`}],Yi=[{question:`Do I need to sign in?`,answer:`Yes. Sign in is required for Pro so billing and your account stay connected.`},{question:`When am I charged?`,answer:`You are not charged for the no-card trial. You only pay if you choose to subscribe.`},{question:`Can I keep using Free?`,answer:`Yes. Free practice stays available without a card, including the core story loop and review deck.`},{question:`What happens if I cancel?`,answer:`If you cancel a paid subscription, Pro remains active until Str
9ipe ends the current billing period.`},{question:`How do refunds work?`,answer:`Send refund requests to [email protected]. Refund handling may depend on Stripe, applicable law, your subscription status, and the circumstances of the request.`},{question:`What does Pro add to the guided retell?`,answer:`Pro adds exact story chunks, fuller story-aware help, repeat guided retells before the final pass, and more complete pronunciation review.`},{question:`Is review deck audio Pro-only?`,answer:`No. Playable answer audio is part of the review deck experience today. Pro unlocks the more natural Neural2 and Polyglot voice options.`},{question:`Which voices are included?`,answer:`Free includes Standard and WaveNet voices. Pro adds Neural2 and Polyglot voices for spoken help.`}];function Xi({items:e}){return(0,U.jsx)(`ul`,{className:`mt-6 space-y-3`,children:e.map(e=>(0,U.jsxs)(`li`,{className:`flex gap-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:[(0,U.jsx)(`span`,{className:`mt-2 h-1.5 w-1.5 flex-none rounded-full bg-[var(--color-accent-soft)]`}),(0,U.jsx)(`span`,{children:e})]},e))})}function Zi({authUser:e,onAuthSuccess:t,onSignOut:n,onStartProTrial:r,onStartCheckout:i,onManageBilling:a,onKeepPracticing:o,onOpenAccount:s,billingBusy:c=!1,billingMessage:u=null}){let[d,f]=(0,l.useState)(!1),[p,m]=(0,l.useState)(null),[h,g]=(0,l.useState)(null),[_,v]=(0,l.useState)(null),y=(0,l.useCallback)(async()=>{if(!e)return m(null),null;try{let e=await oe();return m(e),g(null),e}catch(e){return g(e instanceof Error?e.message:`Unable to load billing status.`),null}},[e]);(0,l.useEffect)(()=>{let e=window.setTimeout(()=>{y()},0);return()=>window.clearTimeout(e)},[y]),(0,l.useEffect)(()=>{let n=p?.pro_trial_ends_at??e?.pro_trial_ends_at;if(!(p?.pro_trial_active??e?.pro_trial_active??!1)||!n)return;let r=!1,i=()=>{let e=Date.now();v(e);let i=Ce(n,e);!r&&i!==null&&i<=0&&(r=!0,(async()=>{let e=await B();e&&t(e),await y()})())},a=window.setTimeout(i,0),o=window.setInterval(i,6e4);return()=>{window.clearTimeout(a),window.clearInterval(o)}},[e?.pro_trial_active,e?.pro_trial_ends_at,p?.pro_trial_active,p?.pro_trial_ends_at,t,y]);let b=p?.tier??e?.tier??`free`,x=p?.access_source??e?.access_source??`free`,S=b===`paid`&&x===`stripe_subscription`,C=p?.active_subscriptions?.find(e=>e.provider===`app_store`)?.management_url,w=b===`paid`&&x===`app_trial`,T=p?.can_manage_billing??e?.can_manage_billing??!1,E=p?.pro_trial_available??e?.pro_trial_available??!1,D=p?.pro_trial_expired??!1,O=p?.pro_trial_ends_at??e?.pro_trial_ends_at??null,k=_===null?`Active`:we(O,_),A=u||h;function j(){return e?b===`paid`&&C?`Manage in App Store`:S&&T?`Manage billing`:w?`Keep practicing Pro`:E?`Start 7-day Pro trial`:`Subscribe to Pro`:`Sign in to start free Pro`}async function M(){if(!e){f(!0);return}if(b===`paid`&&C){window.open(C,`_blank`,`noopener,noreferrer`);return}if(S&&T){a();return}if(w){o();return}if(E){let e=await r();e&&m(e);return}i()}return(0,U.jsx)(`div`,{className:`min-h-screen bg-[var(--color-bg)] text-[var(--color-text)]`,children:(0,U.jsxs)(`main`,{className:`mx-auto w-full max-w-7xl px-6 py-8 sm:px-10 lg:px-12`,children:[(0,U.jsxs)(`header`,{className:`flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:o,className:`font-display text-left text-3xl text-[var(--color-text)] transition hover:text-[var(--color-accent-soft)]`,children:`OtraVez`}),(0,U.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-center`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:o,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-5 py-2 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Keep practicing free`}),e?(0,U.jsx)(`button`,{type:`button`,onClick:s,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-5 py-2 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Account`}):null,e?(0,U.jsx)(_e,{authUser:e,onAuthSuccess:t,onSignOut:n,mode:`compact`}):null]})]}),A?(0,U.jsx)(`div`,{className:`mt-6 rounded-[1.25rem] border border-[rgba(210,137,69,0.22)] bg-[rgba(201,117,53,0.11)] px-4 py-3 text-sm text-[var(--color-text-soft)]`,children:A}):null,(0,U.jsxs)(`section`,{className:`grid items-center gap-10 py-16 lg:grid-cols-[minmax(0,1fr)_minmax(340px,430px)]`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:`OtraVez Pro`}),(0,U.jsx)(`h1`,{className:`font-display mt-5 max-w-4xl text-5xl leading-[0.96] sm:text-6xl lg:text-7xl`,children:`Try OtraVez Pro free for 7 days`}),(0,U.jsx)(`p`,{className:`mt-6 max-w-2xl text-lg leading-8 text-[var(--color-text-soft)] sm:text-xl`,children:`No card. No automatic charge. After 7 days, keep practicing Free unless you subscribe.`}),(0,U.jsx)(`p`,{className:`mt-4 max-w-2xl text-base leading-7 text-[var(--color-text-soft)] sm:text-lg`,children:`Free gets you speaking. Pro gives you exact story chunks, fuller live help, more natural spoken-help voices, and another guided retell before the final pass.`}),(0,U.jsxs)(`div`,{className:`mt-8 flex flex-col gap-3 sm:flex-row`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:()=>
9void M(),disabled:c,className:`rounded-full bg-[linear-gradient(135deg,var(--color-accent),var(--color-accent-strong))] px-7 py-3 text-sm font-bold text-[#1f1407] shadow-[0_18px_40px_rgba(201,117,53,0.28)] transition hover:-translate-y-0.5 hover:shadow-[0_24px_50px_rgba(201,117,53,0.35)] disabled:cursor-not-allowed disabled:opacity-60`,children:j()}),(0,U.jsx)(`button`,{type:`button`,onClick:w?i:o,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-7 py-3 text-sm font-bold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:w?`Subscribe to keep Pro`:`Keep practicing free`})]}),(0,U.jsx)(`p`,{className:`mt-4 text-sm leading-6 text-[var(--color-muted)]`,children:`Add a payment method only if you choose to subscribe.`})]}),(0,U.jsxs)(`aside`,{className:`rounded-[2rem] border border-[rgba(210,137,69,0.22)] bg-[linear-gradient(180deg,rgba(64,44,33,0.88),rgba(24,18,15,0.95))] p-6 shadow-[0_30px_90px_rgba(0,0,0,0.3)]`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:`Pro plan`}),(0,U.jsxs)(`div`,{className:`mt-5 flex items-end gap-2`,children:[(0,U.jsx)(`p`,{className:`font-display text-5xl leading-none`,children:`$14.99`}),(0,U.jsx)(`p`,{className:`pb-2 text-sm font-semibold text-[var(--color-muted)]`,children:`/ month`})]}),(0,U.jsx)(`p`,{className:`mt-3 text-base font-semibold text-[var(--color-text)]`,children:`7 days free, no card required`}),(0,U.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:`Subscribe only when you want to keep Pro. Paid subscriptions are managed through Stripe and can be cancelled from the billing portal. Refund questions go to [email protected].`}),w?(0,U.jsxs)(`div`,{className:`mt-5 rounded-2xl border border-[rgba(241,194,140,0.22)] bg-[rgba(241,194,140,0.08)] px-4 py-3 text-sm text-[var(--color-accent-soft)]`,children:[`Pro trial active · `,k]}):D?(0,U.jsx)(`div`,{className:`mt-5 rounded-2xl border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] px-4 py-3 text-sm text-[var(--color-text-soft)]`,children:`Your no-card Pro trial has ended. Subscribe when you want Pro again.`}):null,(0,U.jsx)(`button`,{type:`button`,onClick:()=>void M(),disabled:c,className:`mt-6 w-full rounded-full bg-[var(--color-accent)] px-5 py-3 text-sm font-bold text-[#1f1407] transition hover:bg-[var(--color-accent-strong)] disabled:cursor-not-allowed disabled:opacity-60`,children:j()})]})]}),!e&&d?(0,U.jsx)(`section`,{className:`mx-auto mb-12 max-w-xl`,children:(0,U.jsx)(_e,{authUser:e,onAuthSuccess:e=>{f(!1),t(e)},mode:`compact`})}):null,(0,U.jsxs)(`section`,{className:`grid gap-5 lg:grid-cols-2`,children:[(0,U.jsxs)(`article`,{className:`rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-6`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-muted)]`,children:`Free`}),(0,U.jsx)(`h2`,{className:`mt-3 text-2xl font-semibold`,children:`Practice the core loop`}),(0,U.jsx)(Xi,{items:Ki})]}),(0,U.jsxs)(`article`,{className:`rounded-[2rem] border border-[rgba(210,137,69,0.22)] bg-[rgba(201,117,53,0.1)] p-6`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:`Pro`}),(0,U.jsx)(`h2`,{className:`mt-3 text-2xl font-semibold`,children:`Get sharper live help`}),(0,U.jsx)(Xi,{items:qi})]})]}),(0,U.jsxs)(`section`,{className:`py-16`,children:[(0,U.jsxs)(`div`,{className:`mb-6 flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:`Compare plans`}),(0,U.jsx)(`h2`,{className:`font-display mt-3 text-4xl`,children:`Free vs Pro`})]}),(0,U.jsx)(`p`,{className:`max-w-xl text-sm leading-6 text-[var(--color-muted)]`,children:`Both plans include the review deck with playable answer audio. Pro is for users who want more precision, more coverage, and a sharper spoken guide through the full story.`})]}),(0,U.jsxs)(`div`,{className:`overflow-hidden rounded-[2rem] border border-[rgba(255,255,255,0.08)]`,children:[(0,U.jsxs)(`div`,{className:`hidden bg-[rgba(255,248,240,0.06)] text-sm font-bold text-[var(--color-text)] sm:grid sm:grid-cols-[1.1fr_1fr_1fr]`,children:[(0,U.jsx)(`div`,{className:`px-4 py-4`,children:`Capability`}),(0,U.jsx)(`div`,{className:`px-4 py-4`,children:`Free`}),(0,U.jsx)(`div`,{className:`px-4 py-4`,children:`Pro`})]}),Ji.map(e=>(0,U.jsxs)(`div`,{className:`grid grid-cols-1 border-t border-[rgba(255,255,255,0.08)] text-sm leading-6 text-[var(--color-text-soft)] sm:grid-cols-[1.1fr_1fr_1fr]`,children:[(0,U.jsx)(`div`,{className:`bg-[rgba(255,248,240,0.035)] px-4 py-4 font-semibold text-[var(--color-text)]`,children:e.label}),(0,U.jsxs)(`div`,{className:`px-4 py-4`,children:[(0,U.jsx)(`span`,{className:`mb-1 block text-xs font-bold uppercase tracking-[0.18em] text-[var(--color-muted)] sm:hidden`,children:`Free`}),e.free]}),(0,U.jsxs)(`div`,{className:`px-4 py-4 text-[var(--color-accent-soft)]`,children:[(0,U.jsx)(`span`,{className:`mb-1 block text-xs font-bold uppercase tracking-[0.18em] text-[var(--color-muted)] sm:hidden`,children:`Pro`}),e.pro]})]},e.label))]})]}),(0,U.jsxs)(`section`,{className:`py-16`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:`FAQ`}),(0,U.jsx)(`div`,{className:`mt-6 grid gap-4 md:grid-cols-2`,children:Yi.map(e=>(0,U.jsxs)(`article`,{className:`rounded-[1.5rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-5`,children:[(0,U.jsx)(`h3`,{className:`text-base font-bold text-[var(--color-text)]`,children:e.question}),(0,U.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:e.answer})]},e.question))})]})]})})}var Qi={code_switched:`Code-switched words`,wrong_word:`Wrong words`,wrong_form:`Form repairs`,wrong_tense:`Tense repairs`,gender_agreement:`Gender or agreement`,missing_word:`Missing words`,recall_needed:`Recall gaps`,incorporated_repair:`Successful repairs`,pronunciation:`Pronunciation`};function $i(e){return Qi[e]||e.replaceAll(`_`,` `)}function ea(e){return e.review_count===0?`New`:e.interval_days<=0?`Again soon`:e.interval_days===1?`1 day`:`${e.interval_days} days`}function ta({authUser:e,initialTargetLanguage:t=`es`,onAuthSuccess:n,onSignOut:r,onBackToRecording:i,onOpenAccount:a,onOpenHistory:o,onOpenPricing:s,onManageBilling:c}){let[u,d]=(0,l.useState)(t),[f,p]=(0,l.useState)(null),[m,h]=(0,l.useState)(null),[g,_]=(0,l.useState)(!1),[v,y]=(0,l.useState)(!1),[b,x]=(0,l.useState)(!1),[S,C]=(0,l.useState)(!1),[w,T]=(0,l.useState)(null),E=e?.tier===`paid`,D=!!(e?.can_manage_billing&&e.access_source===`stripe_subscription`),O=D?`Manage billing`:E&&e?.access_source===`app_trial`?`Subscribe`:`Try Pro free`,{speak:k,speakingText:A,error:j}=be(m?.tts_language_code??u,m?.tts_voice_name??null);(0,l.useEffect)(()=>{let e=new URL(window.location.href);e.searchParams.set(`target_language`,u),window.history.replaceState({},``,e.toString())},[u]),(0,l.useEffect)(()=>{let e=!1;async function t(){_(!0),T(null),C(!1);try{let t=await fe(u);e||(p(t),h(t.settings))}catch(t){e||(p(null),h(null),T(t instanceof Error?t.message:`Unable to load review deck.`))}finally{e||_(!1)}}return t(),()=>{e=!0}},[u]);let M=f?.cards[0]??null,ee=f?.cards.length??0,N=A===(M?.answer.replace(/\s+/g,` `).trim()??``),P=(0,l.useMemo)(()=>new Set(m?.enabled_flags??[]),[m]);function F(e){if(!m)return;let t=P.has(e)?m.enabled_flags.filter(t=>t!==e):[...m.enabled_flags,e];h({...m,enabled_flags:t})}async function I(){if(m){y(!0),T(null);try{let e=await pe(m);p(await fe(u)),h(e),C(!1),T(`Review settings saved.`)}catch(e){T(e instanceof Error?e.message:`Unable to save settings.`)}finally{y(!1)}}}async function te(e){if(M){x(!0),T(null);try{if(await me(M.id,e),p(e=>{if(!e)return e;let t=e.cards.filter(e=>e.id!==M.id);
9return{...e,cards:t,summary:{...e.summary,due_count:Math.max(0,e.summary.due_count-1),review_due_count:M.review_count>0?Math.max(0,e.summary.review_due_count-1):e.summary.review_due_count,new_due_count:M.review_count===0?Math.max(0,e.summary.new_due_count-1):e.summary.new_due_count}}}),C(!1),ee<=1){let e=await fe(u);p(e),h(e.settings)}}catch(e){T(e instanceof Error?e.message:`Unable to save review.`)}finally{x(!1)}}}return(0,U.jsx)(`div`,{className:`min-h-screen bg-[var(--color-bg)] px-4 py-8 text-[var(--color-text)] sm:px-8 lg:px-12`,children:(0,U.jsxs)(`main`,{className:`mx-auto w-full max-w-6xl`,children:[(0,U.jsxs)(`header`,{className:`flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`button`,{type:`button`,onClick:i,className:`font-display text-left text-3xl text-[var(--color-text)] transition hover:text-[var(--color-accent-soft)]`,children:`OtraVez`}),(0,U.jsx)(`p`,{className:`mt-4 text-sm leading-6 text-[var(--color-text-soft)]`,children:`A universal deck for the words and forms that needed help during your retells.`})]}),(0,U.jsx)(xe,{items:[{id:`practice`,label:`New session`,onSelect:i},{id:`history`,label:`History`,onSelect:o},{id:`account`,label:`Account`,onSelect:a},{id:`billing`,label:O,onSelect:D?c:s},...e?[{id:`sign-out`,label:`Sign out`,onSelect:r}]:[]]})]}),(0,U.jsx)(`section`,{className:`py-10`,children:(0,U.jsxs)(`div`,{className:`flex flex-col gap-5 lg:flex-row lg:items-end lg:justify-between`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-[var(--color-accent-soft)]`,children:`Review Deck`}),(0,U.jsx)(`h1`,{className:`font-display mt-3 text-5xl leading-none sm:text-6xl`,children:`Practice what slipped`})]}),(0,U.jsxs)(`label`,{className:`block w-full max-w-xs`,children:[(0,U.jsx)(`span`,{className:`text-sm font-semibold text-[var(--color-text-soft)]`,children:`Learning`}),(0,U.jsx)(`select`,{value:u,onChange:e=>d(e.target.value),className:`mt-2 block w-full rounded-2xl border border-white/10 bg-[rgba(17,12,10,0.88)] px-4 py-3 text-[var(--color-text)] outline-none transition focus:border-[var(--color-accent)] focus:ring-2 focus:ring-[rgba(201,117,53,0.22)]`,children:De.map(e=>(0,U.jsx)(`option`,{value:e.code,children:e.name},e.code))})]})]})}),w?(0,U.jsx)(`div`,{className:`mb-5 rounded-[1.25rem] border border-[rgba(210,137,69,0.22)] bg-[rgba(201,117,53,0.11)] px-4 py-3 text-sm text-[var(--color-text-soft)]`,children:w}):null,(0,U.jsxs)(`div`,{className:`grid gap-5 lg:grid-cols-[minmax(0,1fr)_340px]`,children:[(0,U.jsx)(`section`,{className:`rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[linear-gradient(180deg,rgba(49,36,29,0.9),rgba(24,19,16,0.94))] p-6 shadow-2xl shadow-black/20 sm:p-8`,children:g?(0,U.jsx)(`div`,{className:`flex min-h-[420px] items-center justify-center`,children:(0,U.jsx)(`div`,{className:`h-10 w-10 animate-spin rounded-full border-2 border-[rgba(255,255,255,0.2)] border-t-[var(--color-accent-soft)]`})}):M?(0,U.jsxs)(`div`,{className:`flex min-h-[420px] flex-col`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,U.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:M.flags.map(e=>(0,U.jsx)(`span`,{className:`rounded-full bg-[rgba(201,117,53,0.12)] px-3 py-1 text-xs font-semibold text-[var(--color-accent-soft)]`,children:$i(e)},e))}),(0,U.jsx)(`span`,{className:`rounded-full border border-[rgba(255,255,255,0.1)] px-3 py-1 text-xs text-[var(--color-muted)]`,children:ea(M)})]}),(0,U.jsxs)(`div`,{className:`flex flex-1 flex-col justify-center py-10 text-center`,children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-[var(--color-muted)]`,children:M.card_type===`correction`?`Repair this`:`Recall this`}),(0,U.jsx)(`p`,{className:`mx-auto mt-5 max-w-2xl text-3xl font-semibold leading-tight text-[var(--color-text)] sm:text-4xl`,children:M.prompt}),M.context?(0,U.jsx)(`p`,{className:`mx-auto mt-5 max-w-2xl text-sm leading-6 text-[var(--color-text-soft)]`,children:M.context}):null,S?(0,U.jsxs)(`div`,{className:`mx-auto mt-8 w-full max-w-2xl rounded-[1.5rem] border border-[rgba(210,137,69,0.18)] bg-[rgba(201,117,53,0.08)] p-5`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-[var(--color-accent-soft)]`,children:`Answer`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void k(M.answer),className:`rounded-full border border-[rgba(210,137,69,0.35)] px-4 py-2 text-xs font-semibold text-[var(--color-accent-soft)] transition hover:border-[var(--color-accent-soft)] hover:bg-[rgba(201,117,53,0.12)]`,children:N?`Playing`:`Play audio`})]}),(0,U.jsx)(`p`,{className:`mt-3 text-2xl font-semibold text-[var(--color-text)]`,children:M.answer}),M.explanation?(0,U.jsx)(`p`,{className:`mt-3 text-sm leading-6 text-[var(--color-text-soft)]`,children:M.explanation}):null,j?(0,U.jsx)(`p`,{className:`mt-3 text-sm text-red-300`,children:j}):null]}):null]}),S?(0,U.jsx)(`div`,{className:`grid gap-3 sm:grid-cols-4`,children:[`again`,`hard`,`good`,`easy`].map(e=>(0,U.jsx)(`button`,{type:`button`,onClick:()=>void te(e),disabled:b,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-5 py-3 text-sm font-semibold capitalize text-[var(--color-text)] transition hover:border-[rgba(210,137,69,0.35)] hover:bg-[rgba(201,117,53,0.1)] disabled:cursor-not-allowed disabled:opacity-60`,children:e},e))}):(0,U.jsx)(`button`,{type:`button`,onClick:()=>C(!0),className:`mx-auto rounded-full bg-[var(--color-accent)] px-8 py-3 text-sm font-bold text-[#1f1407] transition hover:bg-[var(--color-accent-strong)]`,children:`Show answer`})]}):(0,U.jsxs)(`div`,{className:`flex min-h-[420px] flex-col items-center justify-center text-center`,children:[(0,U.jsx)(`p`,{className:`text-2xl font-semibold text-[var(--color-text)]`,children:`Nothing due right now`}),(0,U.jsx)(`p`,{className:`mt-3 max-w-md text-sm leading-6 text-[var(--color-text-soft)]`,children:`Finish a retell with code switches or corrections and the deck will fill from that evidence.`}),(0,U.jsx)(`button`,{type:`button`,onClick:i,className:`mt-6 rounded-full bg-[var(--color-accent)] px-7 py-3 text-sm font-bold text-[#1f1407] transition hover:bg-[var(--color-accent-strong)]`,children:`New session`})]})}),(0,U.jsxs)(`aside`,{className:`space-y-5`,children:[(0,U.jsxs)(`section`,{className:`rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-5`,children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-[var(--color-accent-soft)]`,children:`Today`}),(0,U.jsxs)(`div`,{className:`mt-4 grid grid-cols-2 gap-3 text-sm`,children:[(0,U.jsxs)(`div`,{className:`rounded-[1.25rem] bg-[rgba(36,27,22,0.42)] p-4`,children:[(0,U.jsx)(`p`,{className:`text-[var(--color-muted)]`,children:`Due`}),(0,U.jsx)(`p`,{className:`mt-2 text-2xl font-semibold text-[var(--color-text)]`,children:f?.summary.due_count??0})]}),(0,U.jsxs)(`div`,{className:`rounded-[1.25rem] bg-[rgba(36,27,22,0.42)] p-4`,children:[(0,U.jsx)(`p`,{className:`text-[var(--color-muted)]`,children:`New`}),(0,U.jsx)(`p`,{className:`mt-2 text-2xl font-semibold text-[var(--color-text)]`,children:f?.summary.new_due_count??0})]}),(0,U.jsxs)(`div`,{className:`rounded-[1.25rem] bg-[rgba(36,27,22,0.42)] p-4`,children:[(0,U.jsx)(`p`,{className:`text-[var(--color-muted)]`,children:`Review`}),(0,U.jsx)(`p`,{className:`mt-2 text-2xl font-semibold text-[var(--color-text)]`,children:f?.summary.review_due_count??0})]}),(0,U.jsxs)(`div`,{className:`rounded-[1.25rem] bg-[rgba(36,27,22,0.42)] p-4`,children:[(0,U.jsx)(`p`,{className:`text-[var(--color-muted)]`,children:`Active`}),(0,U.jsx)(`p`,{className:`mt-2 text-2xl font-semibold text-[var(--color-text)]`,children:f?.summary.enabled_count??0})]})]})]}),(0,U.jsxs)(`section`,{className:`rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-5`,children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-[var(--color-accent-soft)]`,children:`Deck Settings`}),m?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(`div`,{className:`mt-4 space-y-3`,children:(f?.flags??[]).map(e=>(0,U.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-[1rem] bg-[rgba(36,27,22,0.42)] px-3 py-2 text-sm text-[var(--color-text-soft)]`,children:[(0,U.jsx)(`span`,{children:$i(e)}),(0,U.jsx)(`input`,{type:`checkbox`,checked:P.has(e),onChange:()=>F(e),className:`h-4 w-4 accent-[var(--color-accent)]`})]},e))}),(0,U.jsxs)(`div`,{className:`mt-4 grid grid-cols-2 gap-3`,children:[(0,U.jsxs)(`label`,{className:`block`,children:[(0,U.jsx)(`span`,{className:`text-xs font-semibold text-[var(--color-muted)]`,children:`New/day`}),(0,U.jsx)(`input`,{type:`number`,min:0,max:50,value:m.new_cards_per_day,onChange:e=>h({...m,new_cards_per_day:Number(e.target.value)}),className:`mt-2 w-full rounded-xl border border-white/10 bg-[rgba(17,12,10,0.88)] px-3 py-2 text-[var(--color-text)] outline-none`})]}),(0,U.jsxs)(`label`,{className:`block`,children:[(0,U.jsx)(`span`,{className:`text-xs font-semibold text-[var(--color-muted)]`,children:`Reviews/day`}),(0,U.jsx)(`input`,{type:`number`,min:1,max:200,value:m.reviews_per_day,onChange:e=>h({...m,reviews_per_day:Number(e.target.value)}),className:`mt-2 w-full rounded-xl border border-white/10 bg-[rgba(17,12,10,0.88)] px-3 py-2 text-[var(--color-text)] outline-none`})]})]}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>void I(),disabled:v,className:`mt-4 w-full rounded-full border border-[rgba(210,137,69,0.28)] px-5 py-3 text-sm font-semibold text-[var(--color-accent-soft)] transition hover:border-[rgba(210,137,69,0.44)] hover:bg-[rgba(201,117,53,0.1)] disabled:cursor-not-allowed disabled:opacity-60`,children:`Save settings`})]}):(0,U.jsx)(`p`,{className:`mt-4 text-sm text-[var(--color-muted)]`,children:`Settings will appear when the deck loads.`})]}),e?null:(0,U.jsxs)(`section`,{className:`rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-5`,children:[(0,U.jsx)(`p`,{className:`text-sm leading-6 text-[var(--color-text-soft)]`,children:`Sign in to keep this deck attached to your account.`}),(0,U.jsx)(`div`,{className:`mt-4`,children:(0,U.jsx)(_e,{authUser:e,onAuthSuccess:n,mode:`compact`})})]})]})]})]})})}function na(e){return new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`}).format(new Date(e))}function ra(e){return e===null?`â`:`${Math.round(e*100)}%`}function ia(e){return`${e.native_language} to ${e.target_language}`}function aa({sessions:e,isLoading:t,onOpenSession:n}){let r=e.reduce((e,t)=>
9{let n=ia(t),r=e.find(e=>e.languagePair===n);return r?r.sessions.push(t):e.push({languagePair:n,sessions:[t]}),e},[]);return(0,U.jsxs)(`section`,{className:`w-full max-w-md rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[linear-gradient(180deg,rgba(49,36,29,0.82),rgba(24,19,16,0.9))] p-6 shadow-[0_24px_60px_rgba(0,0,0,0.24)]`,children:[(0,U.jsxs)(`div`,{className:`text-left`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:`Recent Sessions`}),(0,U.jsx)(`h3`,{className:`mt-3 text-xl font-semibold text-[var(--color-text)]`,children:`Your finished stories`}),(0,U.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-[var(--color-muted)]`,children:`Your finished sessions live here, so you can reopen feedback without replaying the full flow.`})]}),(0,U.jsx)(`div`,{className:`mt-5 space-y-3`,children:t?(0,U.jsx)(`div`,{className:`rounded-2xl border border-white/8 bg-[rgba(0,0,0,0.16)] p-4 text-sm text-[var(--color-muted)]`,children:`Loading your recent sessions...`}):r.length?r.map(e=>(0,U.jsxs)(`div`,{className:`space-y-2`,children:[(0,U.jsx)(`p`,{className:`px-1 text-xs font-semibold uppercase tracking-[0.18em] text-[var(--color-accent-soft)]`,children:e.languagePair}),e.sessions.map(e=>(0,U.jsxs)(`button`,{onClick:()=>n(e.id),className:`block w-full rounded-2xl border border-white/8 bg-[rgba(0,0,0,0.16)] p-4 text-left transition hover:border-[rgba(201,117,53,0.22)] hover:bg-[rgba(201,117,53,0.08)]`,children:[(0,U.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`p`,{className:`text-sm font-semibold text-[var(--color-text)]`,children:e.story_title||`Saved story`}),(0,U.jsx)(`p`,{className:`mt-1 text-sm leading-6 text-[var(--color-text-soft)]`,children:e.headline||`Open your saved summary`})]}),(0,U.jsxs)(`div`,{className:`text-right`,children:[(0,U.jsx)(`p`,{className:`text-xs uppercase tracking-[0.16em] text-[var(--color-muted)]`,children:`Target language`}),(0,U.jsx)(`p`,{className:`mt-1 text-lg font-semibold text-[var(--color-text)]`,children:ra(e.phase3_target_language_pct)})]})]}),(0,U.jsxs)(`div`,{className:`mt-3 flex items-center justify-between gap-4 text-xs uppercase tracking-[0.18em] text-[var(--color-muted)]`,children:[(0,U.jsx)(`span`,{children:na(e.created_at)}),(0,U.jsx)(`span`,{children:e.phase3_attempted?`Final pass`:`Guided pass`})]})]},e.id))]},e.languagePair)):(0,U.jsx)(`div`,{className:`rounded-2xl border border-white/8 bg-[rgba(0,0,0,0.16)] p-4 text-sm leading-6 text-[var(--color-muted)]`,children:`Your next finished session will show up here.`})})]})}function oa({authUser:e,sessions:t,isLoading:n,onOpenSession:r,onBackToRecording:i,onSignOut:a,onOpenAccount:o,onOpenReview:s,onOpenPricing:c,onManageBilling:l,billingBusy:u=!1,billingMessage:d=null}){let f=e.tier===`paid`,p=!!(e.can_manage_billing&&e.access_source===`stripe_subscription`),m=p?`Manage billing`:f&&e.access_source===`app_trial`?`Subscribe`:`Try Pro free`;return(0,U.jsxs)(`div`,{className:`flex min-h-screen flex-col items-center bg-[radial-gradient(circle_at_top,_rgba(210,137,69,0.15),_transparent_30%),radial-gradient(circle_at_80%_18%,_rgba(126,82,56,0.14),_transparent_22%),linear-gradient(180deg,_#110c09_0%,_#15100d_45%,_#120d0b_100%)] px-4 py-8 text-[var(--color-text)]`,children:[(0,U.jsxs)(`div`,{className:`mb-10 flex w-full max-w-5xl items-start justify-between gap-4`,children:[(0,U.jsxs)(`div`,{className:`text-center sm:text-left`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:`Session History`}),(0,U.jsx)(`h1`,{className:`font-display mt-3 text-3xl text-[var(--color-text)]`,children:`Your saved speaking sessions`}),(0,U.jsx)(`p`,{className:`mt-3 max-w-xl text-sm leading-6 text-[var(--color-text-soft)]`,children:`Reopen a finished retell to review the playback, transcript, and feedback you already earned.`})]}),(0,U.jsx)(xe,{items:[{id:`account`,label:`Account`,onSelect:o},{id:`review`,label:`Review deck`,onSelect:s},{id:`billing`,label:m,onSelect:p?l:c},{id:`record`,label:`New session`,onSelect:i},{id:`sign-out`,label:`Sign out`,onSelect:a}]})]}),(0,U.jsxs)(`div`,{className:`w-full max-w-5xl`,children:[d?(0,U.jsx)(`div`,{className:`mb-5 rounded-[1.25rem] border border-[rgba(210,137,69,0.22)] bg-[rgba(201,117,53,0.11)] px-4 py-3 text-sm text-[var(--color-text-soft)]`,children:d}):null,(0,U.jsx)(`div`,{className:`mb-5`,children:(0,U.jsx)(`button`,{onClick:i,disabled:u,className:`rounded-full border border-[rgba(255,255,255,0.12)] px-5 py-2 text-sm font-semibold text-[var(--color-text)] transition hover:border-[rgba(255,255,255,0.22)] hover:bg-[rgba(255,248,240,0.04)]`,children:`Back to recording`})}),(0,U.jsx)(aa,{sessions:t,isLoading:n,onOpenSession:r})]})]})}function sa({session:e,authUser:t,isLoading:n,error:r,onAuthSuccess:i,onSignOut:
9a,onOpenReview:o,onUpgrade:s,onRetryPhase2:c,onReset:l}){return(0,U.jsxs)(`div`,{className:`flex min-h-screen flex-col items-center bg-[radial-gradient(circle_at_top,_rgba(16,185,129,0.14),_transparent_34%),linear-gradient(180deg,_#050816_0%,_#090c16_50%,_#04060f_100%)] px-4 py-8 text-white`,children:[(0,U.jsxs)(`div`,{className:`mb-6 text-center`,children:[(0,U.jsx)(`h1`,{className:`text-xl font-bold`,children:`OtraVez`}),e&&(0,U.jsxs)(`p`,{className:`text-sm text-gray-400`,children:[e.native_language,` â `,e.target_language]})]}),n?(0,U.jsx)(`div`,{className:`flex flex-1 items-center`,children:(0,U.jsxs)(`div`,{className:`rounded-[2rem] border border-white/10 bg-white/5 px-8 py-10 text-center shadow-2xl shadow-black/20`,children:[(0,U.jsx)(`div`,{className:`mx-auto h-10 w-10 animate-spin rounded-full border-2 border-white/20 border-t-emerald-400`}),(0,U.jsx)(`p`,{className:`mt-5 text-sm text-gray-300`,children:`Loading session summary...`})]})}):r?(0,U.jsx)(`div`,{className:`flex flex-1 items-center`,children:(0,U.jsxs)(`div`,{className:`max-w-lg rounded-[2rem] border border-red-400/20 bg-red-500/10 px-8 py-10 text-center shadow-2xl shadow-black/20`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] text-red-300/80`,children:`Session Unavailable`}),(0,U.jsx)(`p`,{className:`mt-4 text-sm leading-6 text-red-50`,children:r}),t?null:(0,U.jsx)(`div`,{className:`mt-6`,children:(0,U.jsx)(_e,{authUser:t,onAuthSuccess:i,mode:`compact`})}),(0,U.jsx)(`button`,{onClick:l,className:`mt-6 rounded-full border border-white/15 px-6 py-3 text-sm font-semibold text-white transition hover:border-white/30 hover:bg-white/5`,children:`Back home`})]})}):e?(0,U.jsx)(Ai,{assistCount:e.assist_count,analysis:e.post_session_analysis,targetLanguage:e.target_language,authUser:t,storyEvents:e.story_events,phase1Transcript:e.phase1_transcript||``,phase2Transcript:e.phase2_transcript||``,phase3Transcript:e.phase3_transcript||``,phase2TargetLanguagePct:e.phase2_target_language_pct,phase3TargetLanguagePct:e.phase3_target_language_pct,phase2AudioUrl:e.phase2_audio_url||void 0,phase3AudioUrl:e.phase3_audio_url||void 0,onOpenReview:o,onUpgrade:s,onRetryPhase2:c,onAuthSuccess:i,onSignOut:a,onReset:l}):null]})}function ca(){return new URLSearchParams(window.location.search).get(`token`)||``}function la({onKeepPracticing:e}){let[t,n]=(0,l.useState)(`working`),[r,i]=(0,l.useState)(`Updating your email preferences...`);return(0,l.useEffect)(()=>{let e=!1;async function t(){let t=ca();if(!t){n(`error`),i(`This unsubscribe link is missing its token.`);return}try{let r=await ae(t);if(e)return;n(`done`),i(`${r.email_category===`practice`?`Practice reminders and progress emails`:r.email_category===`all_non_service`?`Non-service emails`:`Lifecycle emails`} are turned off for ${r.email}. You can still use OtraVez anytime.`)}catch(t){if(e)return;n(`error`),i(t instanceof Error?t.message:`Unable to update email preferences.`)}}return t(),()=>{e=!0}},[]),(0,U.jsx)(`div`,{className:`min-h-screen bg-[var(--color-bg)] px-6 py-10 text-[var(--color-text)] sm:px-10 lg:px-12`,children:(0,U.jsx)(`main`,{className:`mx-auto flex min-h-[72vh] w-full max-w-3xl items-center`,children:(0,U.jsxs)(`section`,{className:`w-full rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] p-7 shadow-[0_24px_80px_rgba(0,0,0,0.24)] sm:p-9`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.28em] text-[var(--color-accent-soft)]`,children:`Email`}),(0,U.jsx)(`h1`,{className:`font-display mt-4 text-5xl leading-none sm:text-6xl`,children:t===`done`?`You are unsubscribed`:`Email preferences`}),(0,U.jsx)(`p`,{className:`mt-5 text-base leading-7 text-[var(--color-text-soft)]`,children:r}),(0,U.jsx)(`button`,{type:`button`,onClick:e,className:`mt-7 rounded-full bg-[var(--color-accent)] px-6 py-3 text-sm font-bold text-[#1f1407] transition hover:bg-[var(--color-accent-strong)]`,children:`Open OtraVez`})]})})})}var ua={"/terms":{eyebrow:`Resources`,title:`Terms of Service`,summary:`These Terms explain the rules for using OtraVez, including voice recording, AI-generated language feedback, accounts, subscriptions, cancellation, and support.`,lastUpdated:`October 4, 2026`,sections:[{title:`Using OtraVez`,paragraphs:[`OtraVez is a voice-first language practice service. You may use it only if you are at least 13 years old and legally allowed to use online services where you live.`,`You are responsible for the stories, recordings, and other content you submit. Do not submit c
9ontent that is illegal, harmful, abusive, invasive of another person's privacy, or content you do not have the right to share.`]},{title:`Voice Recording And AI Feedback`,paragraphs:[`OtraVez records your voice when you start a speaking session so the service can transcribe your speech, generate story-based prompts, provide language feedback, and save session artifacts when applicable.`,`OtraVez uses AI to generate questions, translations, corrections, summaries, pronunciation notes, and feedback. AI output can be inaccurate or incomplete. Do not rely on generated content for medical, legal, financial, cooking, or other safety-critical decisions.`]},{title:`Improving OtraVez With Your Recordings`,paragraphs:[`By using OtraVez you agree that we may use your voice recordings, transcripts, and related session data to improve the service, including to train and evaluate our own speech and language models. You can opt out for future sessions at any time by emailing [email protected]. If you delete your account, we delete your recordings. The Privacy Policy explains what we collect and how we use it.`]},{title:`Accounts And Access`,paragraphs:[`Some features may work without sign-in, while account features require sign-in. You are responsible for keeping account access secure and for activity under your account.`,`We may suspend or terminate access if we believe the service is being abused, attacked, used unlawfully, or used in a way that creates risk for OtraVez or other users.`]},{title:`Subscriptions, Trials, And Billing`,paragraphs:[`Paid subscriptions are processed by Stripe. The pricing page shows the subscription price, billing cycle, trial terms, renewal behavior, and cancellation path before checkout.`,`A no-card trial does not automatically charge you. A paid subscription renews unless it is cancelled through the Stripe billing portal or another support-approved cancellation path. If you cancel, Pro access remains active until the end of the current billing period unless Stripe or applicable law requires otherwise.`,`Refund requests can be sent to [email protected]. Refund handling may depend on Stripe, applicable law, the subscription status, and the circumstances of the request.`]},{title:`Limitations`,paragraphs:[`OtraVez is provided as an early-stage language practice product. We try to keep it available and useful, but we do not guarantee uninterrupted access, perfect transcripts, perfect translations, or error-free feedback.`,`To the maximum extent allowed by law, OtraVez is not liable for indirect, incidental, special, consequential, or punitive damages, or for lost profits, lost data, or service interruption.`]},{title:`Changes, Governing Law, And Contact`,paragraphs:[`We may update these Terms as the product changes. The effective date on this page shows when the current version was last updated.`,`These Terms are governed by the laws of England and Wales, except for conflict-of-law rules. Questions, cancellation issues, data requests, or support requests should be sent to [email protected].`]}]},"/privacy-policy":{eyebrow:`Resources`,title:`Privacy Policy`,summary:`This Privacy Policy explains how OtraVez collects, uses, shares, and protects personal information when you use our website and language-learning services.`,lastUpdated:`October 4, 2026`,sections:[{title:`Scope`,paragraphs:[`This Privacy Policy applies to information collected through the OtraVez website, speaking sessions, sign-in flows, support interactions, and related product features.`,`OtraVez is operated as an early-stage voice-first language practice service. Questions and privacy requests can be sent to [email protected].`]},{title:`Information We Collect`,paragraphs:[`We may collect information you provide directly, such as sign-in details, contact information, language preferences, and messages you send to us.`,`When you start a speaking session, we collect voice recordings, transcripts, language settings, session metadata, generated story artifacts, feedback, pronunciation notes, and technical logs needed to operate and debug the service.`],bullets:[`Account and identity information`,`Language preferences and product settings`,`Email preferences and delivery events`,`Voice recordings, transcripts, utterance reports, and related learning artifacts`,`Audio files and metadata created during speaking sessions`,`Device, browser, network, and usage information`]},{title:`How We Use Information`,paragraphs:[`We use information to provide, maintain, personalize, secure, and improve OtraVez. That includes running speaking sessions, transcribing audio, generating story prompts and language feedback, saving session history, sending account and trial-related emails, preventing abuse, and supporting account security.`,`We may al
9so use de-identified or aggregated information, and limited review of session artifacts, for analytics, debugging, service quality, internal research, and product improvement. We also use your voice recordings, transcripts, and session data to improve OtraVez, including to train, tune, and evaluate our own speech and language models and to build language-learning benchmarks. We do this by default. You can opt out for future sessions at any time by emailing [email protected]. Opting out does not delete recordings already made; deleting your account does. We do not sell your recordings.`]},{title:`How We Share Information`,paragraphs:[`We may share information with service providers and vendors that help us operate the product, including Google Cloud for hosting/storage/model services, Deepgram for transcription, ElevenLabs or Google voice services for audio features, Stripe for payments, authentication providers, analytics providers, and email delivery providers acting on our behalf.`,`We may also disclose information when required by law, to protect the rights or safety of OtraVez or others, or in connection with a business transaction such as a merger, financing, or asset transfer.`]},{title:`Retention And Security`,paragraphs:[`We retain information for as long as reasonably necessary to operate the service, maintain records, improve the product, resolve disputes, and meet legal obligations. Audio retention may vary by environment and feature while the product is early-stage; launch retention evidence should be recorded in the public-link gate before public sharing.`,`We use technical and organizational measures designed to protect personal information, but no service can guarantee absolute security.`]},{title:`Your Choices And Data Requests`,paragraphs:[`Depending on your location, you may have rights to access, correct, delete, or export certain personal information, or to object to or restrict some processing.`,`Signed-in users can contact [email protected] to request account deletion, data deletion, or export. Anonymous users can request deletion when they can identify the relevant anonymous user ID, session ID, or other information that lets us locate the data.`]},{title:`Children, Updates, And Contact`,paragraphs:[`OtraVez is not intended for children under 13. Do not use OtraVez or submit voice recordings if you are under 13. If you believe a child has provided personal information inappropriately, contact us so we can review and delete it where appropriate.`,`We may update this Privacy Policy from time to time. When we do, we will update the effective date on this page. Questions about this policy should be directed to [email protected].`]}]},"/cookie-policy":{eyebrow:`Resources`,title:`Cookie Policy`,summary:`This Cookie Policy explains how OtraVez uses cookies and similar technologies to operate the site, keep the service secure, and understand how the product is used.`,lastUpdated:`June 7, 2026`,sections:[{title:`What Cookies Are`,paragraphs:[`Cookies are small data files placed on your device when you visit a website. Similar technologies can include local storage, pixels, and other identifiers used to remember settings or measure usage.`,`OtraVez may use both first-party technologies and tools provided by service providers acting on our behalf.`]},{title:`Why We Use Them`,paragraphs:[`Cookies and similar technologies help us keep you signed in, remember preferences, maintain security, understand performance, and improve the user experience.`],bullets:[`Essential site functionality and session continuity`,`Security, fraud prevention, and abuse detection`,`Performance monitoring and product analytics`,`Preference storage for language settings and user experience choices`,`Affiliate and referral attribution when a visitor arrives from a partner link`]},{title:`Third-Party Technologies`,paragraphs:[`Some cookies or similar technologies may be set or read by vend
9ors that support hosting, analytics, authentication, media delivery, referral attribution, or other operational functions.`,`Where required by law, non-essential technologies should only be used in accordance with the consent choices a user has made.`]},{title:`Managing Cookie Choices`,paragraphs:[`You can usually control cookies through your browser settings, including deleting existing cookies or blocking future ones. Some site features may not function properly if essential cookies are disabled.`,`OtraVez asks for your choice before loading non-essential analytics or referral tracking. If you reject non-essential tracking, the core speaking practice should remain available.`]},{title:`Updates To This Policy`,paragraphs:[`We may update this Cookie Policy from time to time to reflect changes in law, technology, or the way OtraVez operates. The effective date at the top of the page will show when the latest update took effect.`]}]},"/data-processing-agreement":{eyebrow:`Resources`,title:`Data Processing Agreement`,summary:`This Data Processing Agreement applies where OtraVez processes personal data on behalf of a customer or other controller under a written services agreement.`,lastUpdated:`March 30, 2026`,sections:[{title:`Scope And Roles`,paragraphs:[`This Data Processing Agreement forms part of the written agreement between OtraVez and the customer for the services covered by that agreement.`,`For data protected by applicable privacy law, the customer acts as controller or business, and OtraVez acts as processor or service provider except where OtraVez determines its own purposes and means for processing.`]},{title:`Processing Instructions`,paragraphs:[`OtraVez will process personal data only on documented instructions from the customer, except where applicable law requires otherwise.`,`The nature of processing may include collection, storage, organization, access, analysis, transmission, and deletion as necessary to provide and support the services.`]},{title:`Security And Confidentiality`,paragraphs:[`OtraVez will maintain reasonable technical and organizational safeguards designed to protect personal data against unauthorized access, use, loss, or disclosure.`,`Personnel with access to personal data will be subject to appropriate confidentiality obligations.`]},{title:`Subprocessors`,paragraphs:[`OtraVez may use subprocessors to deliver parts of the service, provided those subprocessors are bound by written obligations that are materially protective of the personal data they process.`,`Upon request and where appropriate, OtraVez may provide information about the categories of subprocessors involved in delivering the services.`]},{title:`Assistance And Incident Response`,paragraphs:[`Taking into account the nature of the processing, OtraVez will provide reasonable assistance to the customer with data subject requests, security obligations, impact assessments, and regulator inquiries where required by applicable law.`,`If OtraVez becomes aware of a confirmed personal data breach affecting customer-controlled personal data, OtraVez will notify the customer without undue delay.`]},{title:`Retention, Return, And Deletion`,paragraphs:[`At the end of the applicable services agreement, OtraVez will delete or return personal data as required by the agreement or applicable law, subject to any lawful retention obligations.`,`Backups or archival copies retained for security or legal reasons will remain protected under the confidentiality and security terms of this agreement.`]},{title:`Audits, Liability, And Order Of Terms`,paragraphs:[`Where required by law or contract, OtraVez will provide information reasonably necessary to demonstrate compliance with this Data Processing Agreement, subject to appropriate confidentiality and security protections.`,`If this Data Processing Agreement conflicts with the main services agreement on a data protection issue, this Data Processing Agreement will control for that issue.`]}]}},da=`G-FKKDBS3HFV`?.trim(),fa=`google-analytics-gtag`,pa=!1,ma=null;function ha(){if(!(!da||pa||typeof window>`u`||!S())){if(window.dataLayer=window.dataLayer||[],window.gtag=function(...e){window.dataLayer?.push(e)},!document.getElementById(fa)){let e=document.createElement(`script`);e.id=fa,e.async=!0,e.src=`https://www.googletagmanager.com/gtag/js?i
9d=${encodeURIComponent(da)}`,document.head.appendChild(e)}window.gtag(`js`,new Date),window.gtag(`config`,da,{send_page_view:!1}),pa=!0}}function ga(e,t=e){!da||typeof window>`u`||!S()||(ha(),ma!==t&&(ma=t,window.gtag?.(`event`,`page_view`,{page_location:`${window.location.origin}${e}`,page_path:e,page_title:document.title})))}function _a(e={BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,VITE_APPLE_CLIENT_ID:``,VITE_APP_ENVIRONMENT:`production`,VITE_APP_VERSION:`f0a923b1af70cb8d93271d1f8a49d74404fb0e93`,VITE_BACKEND_URL:`https://otravez-backend-prod-l7fxqdijia-uc.a.run.app`,VITE_ENABLE_QUALITY_WORKSPACE:`FALSE`,VITE_ENABLE_TESTER_FEEDBACK:`TRUE`,VITE_GA_MEASUREMENT_ID:`G-FKKDBS3HFV`,VITE_GOOGLE_CLIENT_ID:`559604509260-3fk0qj44drcb7dslfdugidauc845lva2.apps.googleusercontent.com`,VITE_PROMOTEKIT_CAMPAIGN_ID:`71d4ba29-1419-4b66-ad06-0adf441612da`,VITE_PROMOTEKIT_SCRIPT_SRC:`https://cdn.promotekit.com/pk.js`}){return e.DEV?!0:(e.VITE_ENABLE_QUALITY_WORKSPACE||``).toLowerCase()===`true`?[`local`,`staging`].includes((e.VITE_APP_ENVIRONMENT||``).toLowerCase()):!1}function va({hasLanguages:e,isSignedIn:t,pathname:n,selectedSessionId:r,signedInView:i}){return ua[n]?n:n===`/auth/magic`?`/auth/magic`:n===`/unsubscribe`?`/unsubscribe`:n===`/review`?`/review`:n===`/pricing`||n===`/account`?n:r?`/sessions/review`:t&&i===`history`?`/sessions`:e||t?`/practice`:n||`/`}function ya(e,t){return t?`${e}:${t}`:e}function ba({hasLanguages:e,isSignedIn:t,pathname:n,selectedSessionId:r,signedInView:i}){return ua[n]?`policy`:n===`/auth/magic`?`auth_magic`:n===`/unsubscribe`?`unsubscribe`:n===`/review`?`review`:n===`/pricing`?`pricing`:n===`/account`?`account`:n===`/lab/evaluate_and_improve`?`lab_evaluate_and_improve`:n===`/lab/phase2`?`lab_phase2`:r?`saved_session`:t&&i===`history`?`history`:e||t?`practice`:`landing`}function xa(){return new URLSearchParams(window.location.search).get(`session_id`)}function Sa(){return new URLSearchParams(window.location.search).get(`target_language`)||`es`}function Ca(){return window.location.pathname||`/`}function wa(e){let t=new URL(window.location.href);e?t.searchParams.set(`session_id`,e):t.searchParams.delete(`session_id`),window.history.replaceState({},``,t.toString())}function Ta(){let e=new URL(window.location.href);e.searchParams.delete(`billing`),window.history.replaceState({},``,e.toString())}function Ea(e){return new Promise(t=>window.setTimeout(t,e))}function Da(){let e=h(),[t,n]=(0,l.useState)(()=>Ca()),[r,i]=(0,l.useState)(`session`),[a,o]=(0,l.useState)(null),[s,c]=(0,l.useState)(null),[u,d]=(0,l.useState)(null),[f,p]=(0,l.useState)(()=>!e),[m,g]=(0,l.useState)([]),[v,y]=(0,l.useState)(!1),[b,S]=(0,l.useState)(()=>xa()),[C,w]=(0,l.useState)(null),[T,E]=(0,l.useState)(!1),[D,O]=(0,l.useState)(null),[k,A]=(0,l.useState)(!1),[j,M]=(0,l.useState)(!1),[ee,N]=(0,l.useState)(null),[I,te]=(0,l.useState)(x),L=!!u,ne=I===`accepted`,re=(0,l.useMemo)(()=>va({hasLanguages:!!a,isSignedIn:L,pathname:t,selectedSessionId:b,signedInView:r}),[L,a,t,b,r]),R=(0,l.useMemo)(()=>ya(re,b),[re,b]),z=(0,l.useMemo)(()=>ba({hasLanguages:!!a,isSignedIn:L,pathname:t,selectedSessionId:b,signedInView:r}),[L,a,t,b,r]),ie=(0,l.useMemo)(()=>({screen:z,pathname:t,selectedSessionId:b,tier:u?.tier??`free`,isSignedIn:L,languagePair:a??(C?{native:C.native_language,target:C.target_language}:null),clientVersion:`f0a923b1af70cb8d93271d1f8a49d74404fb0e93`}),[u?.tier,z,L,a,t,C,b]);function ae(e){return(0,U.jsxs)(ze,{baseContext:ie,children:[e,(0,U.jsx)(Re,{}),(0,U.jsx)(Ne,{onChoice:te})]})}(0,l.useEffect)(()=>{!f||!ne||(P(),ga(re,R))},[re,R,f,ne]);let V=(0,l.useCallback)(()=>{wa(null),S(null),w(null),O(null)},[]),ce=(0,l.useCallback)(e=>{let t=new URL(window.location.href);t.pathname=e,t.search=``,window.history.pushState({},``,t.toString()),n(e),window.scrollTo({top:0,left:0})},[]),fe=(0,l.useCallback)(async()=>{let e=await B();return d(e),e},[]),pe=(0,l.useCallback)(async()=>{if(!u){g([]),y(!1);return}y(!0);try{g(await de())}catch(e){e instanceof F&&e.status===401&&(_(),d(null),g([]))}finally{y(!1)}},[u]);(0,l.useEffect)(()=>{let e=!1;async function t(){if(!h()){p(!0);return}try{let t=await B();e||d(t)}catch{e||(_(),d(null))}finally{e||p(!0)}}return t(),()=>{e=!0}},[]),(0,l.useEffect)(()=>
9{if(!f)return;let e=new URLSearchParams(window.location.search).get(`billing`);if(!e)return;if(Ta(),e===`cancelled`){N(`Checkout was cancelled. You can subscribe anytime.`);return}if(e!==`success`)return;let t=!1;async function n(){M(!0),N(`Confirming your Pro subscription...`);try{for(let e=0;e<8;e+=1){let[e,n]=await Promise.all([oe(),fe()]);if(t)return;if(e.tier===`paid`||n?.tier===`paid`){N(`Your Pro subscription is active.`);return}await Ea(1500)}N(`Checkout finished. Pro may take a moment to activate while Stripe sends the confirmation.`)}catch(e){t||N(e instanceof Error?e.message:`Unable to confirm billing status.`)}finally{t||M(!1)}}return n(),()=>{t=!0}},[f,fe]),(0,l.useEffect)(()=>{!f||!u||pe()},[f,u,pe]),(0,l.useEffect)(()=>{function e(){n(Ca()),S(xa())}return window.addEventListener(`popstate`,e),()=>{window.removeEventListener(`popstate`,e)}},[]),(0,l.useEffect)(()=>{if(!f)return;if(!b){w(null),O(null),E(!1);return}let e=!1;E(!0),O(null);let t=b;async function n(){try{let n=await H(t);e||w(n)}catch(t){if(e)return;w(null),t instanceof F&&t.status===404?O(`That session could not be found from this browser or account.`):O(t instanceof Error?t.message:`Failed to load session`)}finally{e||E(!1)}}return n(),()=>{e=!0}},[f,b]);let me=(0,l.useCallback)((e,t,n)=>{V(),ce(`/`),c(null),o({native:e,target:t,capabilitySummaryVersion:n})},[V,ce]),he=(0,l.useCallback)(e=>{wa(e),S(e),w(null),O(null),o(null),c(null),A(r===`history`)},[r]),ge=(0,l.useCallback)(e=>{wa(e),S(e),A(!1),u&&pe()},[u,pe]),_e=(0,l.useCallback)(()=>{V(),c(null),ce(`/`),i(k?`history`:`session`)},[V,ce,k]),ve=(0,l.useCallback)((e,t,n,r)=>{V(),ce(`/`),i(`session`),A(!1),c({sessionId:e,title:r||`Saved story`}),o({native:t,target:n,capabilitySummaryVersion:null})},[V,ce]),ye=(0,l.useCallback)(e=>{ve(e.id,e.native_language,e.target_language,e.story_title||`Saved story`)},[ve]),W=(0,l.useCallback)(()=>{ce(`/pricing`)},[ce]),be=(0,l.useCallback)(()=>{ce(`/account`)},[ce]),xe=(0,l.useCallback)(()=>{V(),o(null),c(null),i(`history`),ce(`/`),pe()},[V,pe,ce]),Se=(0,l.useCallback)((e=`es`)=>{let t=e||`es`,r=new URL(window.location.href);r.pathname=`/review`,r.search=``,r.searchParams.set(`target_language`,t),window.history.pushState({},``,r.toString()),n(`/review`),S(null),w(null),O(null),o(null),A(!1),window.scrollTo({top:0,left:0})},[]),Ce=(0,l.useCallback)(()=>{ce(`/`),S(null),w(null),O(null),A(!1),c(null),i(`session`)},[ce]),we=(0,l.useCallback)(e=>{d(e),N(null),i(`session`)},[]),Te=(0,l.useCallback)(()=>{_(),d(null),o(null),g([]),i(`session`),A(!1),N(null),V()},[V]),Ee=(0,l.useCallback)(async()=>{if(!u){N(`Sign in to subscribe to Pro.`);return}M(!0),N(null);try{let e=await le();window.location.assign(e)}catch(e){N(e instanceof Error?e.message:`Unable to start checkout.`),M(!1)}},[u]),De=(0,l.useCallback)(async()=>{if(!u)return N(`Sign in to start your free Pro trial.`),null;M(!0),N(null);try{let e=await se();return d(e.user),N(`Your no-card Pro trial is active.`),e.billing}catch(e){return N(e instanceof Error?e.message:`Unable to start your Pro trial.`),null}finally{M(!1)}},[u]),G=(0,l.useCallback)(async()=>{if(!u){N(`Sign in to manage billing.`);return}M(!0),N(null);try{let e=await ue();window.location.assign(e)}catch(e){N(e instanceof Error?e.message:`Unable to open billing portal.`),M(!1)}},[u]);if(t===`/lab/phase2`&&_a())return ae((0,U.jsx)(jr,{}));if(t===`/lab/evaluate_and_improve`&&_a())return ae((0,U.jsx)(hn,{}));let Oe=ua[t];return ae(Oe?(0,U.jsx)(Gi,{...Oe}):t===`/unsubscribe`?(0,U.jsx)(la,{onKeepPracticing:Ce}):t===`/auth/magic`?(0,U.jsx)(Wr,{onAuthSuccess:we,onKeepPracticing:Ce}):f?t===`/pricing`?(0,U.jsx)(Zi,{authUser:u,onAuthSuccess:we,onSignOut:Te,onStartProTrial:De,onStartCheckout:Ee,onManageBilling:G,onKeepPracticing:Ce,onOpenAccount:be,billingBusy:j,billingMessage:ee}):t===`/account`?(0,U.jsx)(Me,{authUser:u,onAuthSuccess:we,onSignOut:Te,onOpenPricing:W,onManageBilling:G,onKeepPracticing:Ce,onOpenHistory:xe,onOpenReview:()=>Se(),billingBusy:j,billingMessage:ee}):t===`/review`?(0,U.jsx)(ta,{authUser:u,initialTargetLanguage:Sa(),onAuthSuccess:we,onSignOut:Te,onBackToRecording:Ce,onOpenAccount:be,onOpenHistory:xe,onOpenPricing:W,onManageBilling:G},Sa()):a?(0,U.jsx)(Ui,{nativeLanguage:a.native,targetLanguage:a.target,languageCapabilitySummaryVersion:a.capabilitySummaryVersion??null,authUser:u,onAuthSuccess:we,onOpenHistory:()=>{i(`history`),pe()},onSignOut:Te,onSessionComplete:ge,onClearSessionSelection:V,onOpenAccount:be,onOpenPricing:W,onManageBilling:G,onOpenReview:Se,onRetrySession:ve,retrySourceSessionId:s?.sessionId,retryStoryTitle:s?.title,billingBusy:j,billingMessage:ee}):b?(0,U.jsx)(sa,{session:C,authUser:u,isLoading:!f||T,error:D,onAuthSuccess:we,onSignOut:Te,onOpenReview:Se,onUpgrade:W,onRetryPhase2:C?()=>ye(C):void 0,onReset:_e}):u?r===`history`?(0,U.jsx)(oa,{authUser:u,sessions:m,isLoading:v,onOpenSession:he,onBackToRecording:()=>i(`session`),onSignOut:Te,onOpenAccount:be,onOpenReview:()=>Se(),onOpenPricing:W,onManageBilling:G,billingBusy:j,billingMessage:ee}):(0,U.jsx)(Ui,{nativeLanguage:null,targetLanguage:null,authUser:u,onAuthSuccess:we,onOpenHistory:()=>{i(`history`),pe()},onSignOut:Te,onSessionComplete:ge,onClearSessionSelection:V,onOpenAccount:be,onOpenPricing:W,onManageBilling:G,onOpenReview:Se,onRetrySession:ve,retrySourceSessionId:s?.sessionId,retryStoryTitle:s?.title,billingBusy:j,billingMessage:ee}):(0,U.jsx)(Hr,{onStart:me,authUser:u,onAuthSuccess:we,onSignOut:Te,onOpenSession:he,onOpenAccount:be,onOpenPricing:W,onManageBilling:G,billingBusy:j,billingMessage:ee}):(0,U.jsx)(`div`,{className:`min-h-screen bg-[var(--color-bg)] px-6 py-16 text-[var(--color-text)]`,children:(0,U.jsx)(`div`,{className:`mx-auto flex min-h-[70vh] w-full max-w-3xl items-center justify-center`,children:(0,U.jsxs)(`div`,{className:`rounded-[2rem] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,248,240,0.04)] px-8 py-6 text-center shadow-[0_24px_80px_rgba(0,0,0,0.24)]`,children:[(0,U.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.24em] text-[var(--color-accent-soft)]`,children:`Restoring Account`}),(0,U.jsx)(`p`,{className:`mt-3 text-base leading-7 text-[var(--color-text-soft)]`,children:`Checking your saved sign-in before loading the app.`})]})})}))}(0,c.createRoot)(document.getElementById(`root`)).render((0,U.jsx)(l.StrictMode,{children:(0,U.jsx)(Da,{})}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.